commit a7aa42621cbe11262f9a3685bb4420327b67bfc3 Author: array-in-a-matrix Date: Sat Jan 8 17:30:13 2022 -0500 added diff --git a/README.md b/README.md new file mode 100644 index 0000000..01a7186 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# Dotfiles + +I use 2 DE/WM on my Arch Linux system: + - KDE/kwin + - SwayWM/wlroots + +I also use `lightDM` as my display manager. + +## SwayWM +- Terminal: `Alacritty` +- File Manager: `LF` +- Bar: `Waybar` +- Launcher: `Rofi` + +## KDE +- Terminal: `Konsole` +- File Manager: `Dolphin` + +## Other Apps + - pywal + - unimatrix + - pywal + - pipes.sh + - pfetch + - gotop + - cava + - cmus + - neovim + - firefox + - vscode + - zsh + - radeontop + - lsd diff --git a/dot_zshenv b/dot_zshenv new file mode 100644 index 0000000..78dd8eb --- /dev/null +++ b/dot_zshenv @@ -0,0 +1,2 @@ +#!/bin/zsh +[ -f "$HOME/.config/zsh/env" ] && source "$HOME/.config/zsh/env" diff --git a/private_dot_config/Kvantum/kvantum.kvconfig b/private_dot_config/Kvantum/kvantum.kvconfig new file mode 100644 index 0000000..2203a7f --- /dev/null +++ b/private_dot_config/Kvantum/kvantum.kvconfig @@ -0,0 +1,2 @@ +[General] +theme=Monochrome diff --git a/private_dot_config/cava/config b/private_dot_config/cava/config new file mode 100644 index 0000000..d4fa402 --- /dev/null +++ b/private_dot_config/cava/config @@ -0,0 +1,166 @@ +## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting. + + +[general] + +# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0 +; mode = normal + +# Accepts only non-negative values. +; framerate = 60 + +# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off +# new as of 0.6.0 autosens of low values (dynamic range) +# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0 +; autosens = 1 +; overshoot = 20 + +# Manual sensitivity in %. If autosens is enabled, this will only be the initial value. +# 200 means double height. Accepts only non-negative values. +; sensitivity = 100 + +# The number of bars (0-200). 0 sets it to auto (fill up console). +# Bars' width and space between bars in number of characters. +; bars = 0 +; bar_width = 2 +; bar_spacing = 1 + + +# Lower and higher cutoff frequencies for lowest and highest bars +# the bandwidth of the visualizer. +# Note: there is a minimum total bandwidth of 43Mhz x number of bars. +# Cava will automatically increase the higher cutoff if a too low band is specified. +; lower_cutoff_freq = 50 +; higher_cutoff_freq = 10000 + + +# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and +# only check for input once per second. Cava will wake up once input is detected. 0 = disable. +; sleep_timer = 0 + + +[input] + +# Audio capturing method. Possible methods are: 'pulse', 'alsa', 'fifo', 'sndio' or 'shmem' +# Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with. +# +# All input methods uses the same config variable 'source' +# to define where it should get the audio. +# +# For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink +# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them). +# +# For alsa 'source' will be the capture device. +# For fifo 'source' will be the path to fifo-file. +# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address +; method = pulse +; source = auto + +; method = alsa +; source = hw:Loopback,1 + +; method = fifo +; source = /tmp/mpd.fifo +; sample_rate = 44100 +; sample_bits = 16 + +; method = shmem +; source = /squeezelite-AA:BB:CC:DD:EE:FF + +; method = portaudio +; source = auto + + +[output] + +# Output method. Can be 'ncurses', 'noncurses' or 'raw'. +# 'noncurses' uses a custom framebuffer technique and draws only changes +# from frame to frame. 'ncurses' is default if supported +# +# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data +# stream of the bar heights that can be used to send to other applications. +# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above. +; method = ncurses + +# Visual channels. Can be 'stereo' or 'mono'. +# 'stereo' mirrors both channels with low frequencies in center. +# 'mono' outputs left to right lowest to highest frequencies. +# 'mono_option' set mono to either take input from 'left', 'right' or 'average'. +channels = mono +; mono_option = average + +# Raw output target. A fifo will be created if target does not exist. +; raw_target = /dev/stdout + +# Raw data format. Can be 'binary' or 'ascii'. +; data_format = binary + +# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530). +; bit_format = 16bit + +# Ascii max value. In 'ascii' mode range will run from 0 to value specified here +; ascii_max_range = 1000 + +# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters. +# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)). +; bar_delimiter = 59 +; frame_delimiter = 10 + + + +[color] + +# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow. +# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires +# ncurses output method and a terminal that can change color definitions such as Gnome-terminal or rxvt. +# if supported, ncurses mode will be force on if user defined colors are used. +# default is to keep current terminal color +; background = default +; foreground = default + +# Gradient mode, only hex defined colors (and thereby ncurses mode) are supported, +# background must also be defined in hex or remain commented out. 1 = on, 0 = off. +# You can define as many as 8 different colors. They range from bottom to top of screen +;gradient = 1 +;gradient_count = 2 +;gradient_color_1 = '#fcfcfc' +;gradient_color_2 = '#e5edfb' +;gradient_color_3 = '#cedefa' +;gradient_color_4 = '#b5d0f9' +;gradient_color_5 = '#9bc2f8' +;gradient_color_6 = '#7eb4f6' +;gradient_color_7 = '#5aa6f5' +;gradient_color_2 = '#1d99f3' + + + +[smoothing] + +# Percentage value for integral smoothing. Takes values from 0 - 100. +# Higher values means smoother, but less precise. 0 to disable. + integral = 50 + +# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable. +; monstercat = 0 +; waves = 0 + +# Set gravity percentage for "drop off". Higher values means bars will drop faster. +# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off". + gravity = 250 + + +# In bar height, bars that would have been lower that this will not be drawn. +; ignore = 0 + + +[eq] + +# This one is tricky. You can have as much keys as you want. +# Remember to uncomment more then one key! More keys = more precision. +# Look at readme.md on github for further explanations and examples. +; 1 = 1 # bass +; 2 = 1 +; 3 = 1 # midtone +; 4 = 1 +; 5 = 1 # treble + diff --git a/private_dot_config/gotop/gotop.conf b/private_dot_config/gotop/gotop.conf new file mode 100644 index 0000000..4675d04 --- /dev/null +++ b/private_dot_config/gotop/gotop.conf @@ -0,0 +1,33 @@ +# Scale graphs to this level; 7 is the default, 2 is zoomed out. +graphhorizontalscale=7 +# If true, start the UI with the help visible +helpvisible=false +# The color scheme to use. See `--list colorschemes` +colorscheme=default +# How frequently to update the UI, in nanoseconds +updateinterval=1000000000 +# If true, show the average CPU load +averagecpu=false +# If true, show load per CPU +percpuload=true +# Temperature units. C for Celcius, F for Fahrenheit +tempscale=C +# If true, display a status bar +statusbar=true +# The network interface to monitor +netinterface=all +# A layout name. See `--list layouts` +layout=kitchensink +# The maximum log file size, in bytes +maxlogsize=5000000 +# If set, export data as Promethius metrics on the interface:port. +# E.g., `:8080` (colon is required, interface is not) +#metricsexportport= +# Display network IO in mpbs if true +mbps=true +# A list of enabled temp sensors. See `--list devices` +#temperatures= +# Enable NVidia GPU metrics. +nvidia=false +# To configure the NVidia refresh rate, set a duration: +#nvidiarefresh=30s diff --git a/private_dot_config/i3/config b/private_dot_config/i3/config new file mode 100644 index 0000000..c212e65 --- /dev/null +++ b/private_dot_config/i3/config @@ -0,0 +1,225 @@ +# This file has been auto-generated by i3-config-wizard(1). +# It will not be overwritten, so edit it as you like. +# +# Should you change your keyboard layout some time, delete +# this file and re-run i3-config-wizard(1). +# + +# i3 config file (v4) +# +# Please see https://i3wm.org/docs/userguide.html for a complete reference! + +set $mod Mod4 + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +font pango:monospace 8 + +# This font is widely installed, provides lots of unicode glyphs, right-to-left +# text rendering and scalability on retina/hidpi displays (thanks to pango). +#font pango:DejaVu Sans Mono 8 + +# Start XDG autostart .desktop files using dex. See also +# https://wiki.archlinux.org/index.php/XDG_Autostart +exec --no-startup-id dex --autostart --environment i3 + +# The combination of xss-lock, nm-applet and pactl is a popular choice, so +# they are included here as an example. Modify as you see fit. + +# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the +# screen before suspend. Use loginctl lock-session to lock your screen. +exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork + +# NetworkManager is the most popular way to manage wireless networks on Linux, +# and nm-applet is a desktop environment-independent system tray GUI for it. +exec --no-startup-id nm-applet + +# Use pactl to adjust volume in PulseAudio. +set $refresh_i3status killall -SIGUSR1 i3status +bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status +bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status +bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status +bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# start a terminal +bindsym $mod+Return exec alacritty #i3-sensible-terminal + +# kill focused window +bindsym $mod+Shift+q kill + +# start rofi +bindsym $mod+d exec --no-startup-id rofi -show drun -run-shell-command '{terminal} -e zsh -ic "{cmd} && read"' + +# start dmenu (a program launcher) +#bindsym $mod+d exec --no-startup-id dmenu_run +# A more modern dmenu replacement is rofi: +# bindcode $mod+40 exec "rofi -modi drun,run -show drun" +# There also is i3-dmenu-desktop which only displays applications shipping a +# .desktop file. It is a wrapper around dmenu, so you need that installed. +# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop + +# change focus +bindsym $mod+j focus left +bindsym $mod+k focus down +bindsym $mod+l focus up +bindsym $mod+semicolon focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+j move left +bindsym $mod+Shift+k move down +bindsym $mod+Shift+l move up +bindsym $mod+Shift+semicolon move right + +# alternatively, you can use the cursor keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# split in horizontal orientation +bindsym $mod+h split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +# focus the child container +#bindsym $mod+d focus child + +# Define names for default workspaces for which we configure key bindings later on. +# We use variables to avoid repeating the names in multiple places. +set $ws1 "1" +set $ws2 "2" +set $ws3 "3" +set $ws4 "4" +set $ws5 "5" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8" +set $ws9 "9" +set $ws10 "10" + +# switch to workspace +bindsym $mod+1 workspace number $ws1 +bindsym $mod+2 workspace number $ws2 +bindsym $mod+3 workspace number $ws3 +bindsym $mod+4 workspace number $ws4 +bindsym $mod+5 workspace number $ws5 +bindsym $mod+6 workspace number $ws6 +bindsym $mod+7 workspace number $ws7 +bindsym $mod+8 workspace number $ws8 +bindsym $mod+9 workspace number $ws9 +bindsym $mod+0 workspace number $ws10 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number $ws1 +bindsym $mod+Shift+2 move container to workspace number $ws2 +bindsym $mod+Shift+3 move container to workspace number $ws3 +bindsym $mod+Shift+4 move container to workspace number $ws4 +bindsym $mod+Shift+5 move container to workspace number $ws5 +bindsym $mod+Shift+6 move container to workspace number $ws6 +bindsym $mod+Shift+7 move container to workspace number $ws7 +bindsym $mod+Shift+8 move container to workspace number $ws8 +bindsym $mod+Shift+9 move container to workspace number $ws9 +bindsym $mod+Shift+0 move container to workspace number $ws10 + +# reload the configuration file +bindsym $mod+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart +# exit i3 (logs you out of your X session) +bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" + +# resize window (you can also use the mouse for that) +mode "resize" { + # These bindings trigger as soon as you enter the resize mode + + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym j resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym semicolon resize grow width 10 px or 10 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # back to normal: Enter or Escape or $mod+r + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + +bindsym $mod+r mode "resize" + +#PYWAL ENABLED THEME +set_from_resource $fg i3wm.color7 #f0f0f0 +set_from_resource $bg i3wm.color2 #f0f0f0 +# class border backgr. text indicator child_border +client.focused $bg $bg $fg $bg $bg +client.focused_inactive $bg $bg $fg $bg $bg +client.unfocused $bg $bg $fg $bg $bg +client.urgent $bg $bg $fg $bg $bg +client.placeholder $bg $bg $fg $bg $bg +client.background $bg + +client.focused $bg $bg #000000 + + +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) +#bar { + #colors { + #focused_workspace $bg $bg #000000 + #active_workspace $fg $fg #000000 + #inactive_workspace $fg $fg #000000 + #} + #mode hide + #hidden_state hide + #modifier none + #status_command i3status +#} + +# Autostart +exec "sh ~/.config/i3/autostart.sh" + +# set size of floating windows +for_window [floating] resize set 700 320 + +# You can also use any non-zero value if you'd like to have a border +for_window [class=".*"] border pixel 4 + +bindsym XF86MonBrightnessUp exec brightnessctl -q set +10 + +bindsym XF86MonBrightnessDown exec brightnessctl -q set 10- + diff --git a/private_dot_config/i3/executable_autostart.sh b/private_dot_config/i3/executable_autostart.sh new file mode 100644 index 0000000..60c13f1 --- /dev/null +++ b/private_dot_config/i3/executable_autostart.sh @@ -0,0 +1,15 @@ +# pywal colors + +image=$(find -L /home/linux/Pictures/Wallpapers/ -type f | shuf -n1) +wal -i $image +cat ~/.cache/wal/sequences +source ~/.cache/wal/colors-tty.sh +pywalfox update +feh --bg-fill "$image" + +# polybar +bash ~/.config/polybar/shapes/scripts/pywal.sh "$image" +bash ~/.config/polybar/launch.sh --shapes & + +# the gaps in i3-gaps +i3-msg gaps inner all set 20 diff --git a/private_dot_config/lf/executable_cleaner b/private_dot_config/lf/executable_cleaner new file mode 100644 index 0000000..a184d84 --- /dev/null +++ b/private_dot_config/lf/executable_cleaner @@ -0,0 +1,4 @@ +#!/bin/sh +if [ -n "$FIFO_UEBERZUG" ]; then + printf '{"action": "remove", "identifier": "PREVIEW"}\n' > "$FIFO_UEBERZUG" +fi diff --git a/private_dot_config/lf/executable_preview b/private_dot_config/lf/executable_preview new file mode 100644 index 0000000..cddcb60 --- /dev/null +++ b/private_dot_config/lf/executable_preview @@ -0,0 +1,71 @@ +#!/bin/sh + +image() { + if [ -n "$DISPLAY" ] && [ -z "$WAYLAND_DISPLAY" ]; then + printf '{"action": "add", "identifier": "PREVIEW", "x": "%s", "y": "%s", "width": "%s", "height": "%s", "scaler": "contain", "path": "%s"}\n' "$4" "$5" "$(($2-1))" "$(($3-1))" "$1" > "$FIFO_UEBERZUG" + exit 1 + else + chafa "$1" -s "$4x" + fi +} + +batorcat() { + file="$1" + shift + if command -v bat > /dev/null 2>&1 + then + bat --color=always --style=plain --pager=never "$file" "$@" + else + cat "$file" + fi +} + +CACHE="$HOME/.cache/lf/thumbnail.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | awk '{print $1}'))" + +case "$(printf "%s\n" "$(readlink -f "$1")" | awk '{print tolower($0)}')" in + *.tgz|*.tar.gz) tar tzf "$1" ;; + *.tar.bz2|*.tbz2) tar tjf "$1" ;; + *.tar.txz|*.txz) xz --list "$1" ;; + *.tar) tar tf "$1" ;; + *.zip|*.jar|*.war|*.ear|*.oxt) unzip -l "$1" ;; + *.rar) unrar l "$1" ;; + *.7z) 7z l "$1" ;; + *.[1-8]) man "$1" | col -b ;; + *.o) nm "$1";; + *.torrent) transmission-show "$1" ;; + *.iso) iso-info --no-header -l "$1" ;; + *.odt|*.ods|*.odp|*.sxw) odt2txt "$1" ;; + *.doc) catdoc "$1" ;; + *.docx) docx2txt "$1" - ;; + *.xls|*.xlsx) + ssconvert --export-type=Gnumeric_stf:stf_csv "$1" "fd://1" | batorcat --language=csv + ;; + *.wav|*.mp3|*.flac|*.m4a|*.wma|*.ape|*.ac3|*.og[agx]|*.spx|*.opus|*.as[fx]|*.mka) + exiftool "$1" + ;; + *.pdf) + [ ! -f "${CACHE}.jpg" ] && \ + pdftoppm -jpeg -f 1 -singlefile "$1" "$CACHE" + image "${CACHE}.jpg" "$2" "$3" "$4" "$5" + ;; + *.epub) + [ ! -f "$CACHE" ] && \ + epub-thumbnailer "$1" "$CACHE" 1024 + image "$CACHE" "$2" "$3" "$4" "$5" + ;; + *.avi|*.mp4|*.wmv|*.dat|*.3gp|*.ogv|*.mkv|*.mpg|*.mpeg|*.vob|*.fl[icv]|*.m2v|*.mov|*.webm|*.ts|*.mts|*.m4v|*.r[am]|*.qt|*.divx) + [ ! -f "${CACHE}.jpg" ] && \ + ffmpegthumbnailer -i "$1" -o "${CACHE}.jpg" -s 0 -q 5 + image "${CACHE}.jpg" "$2" "$3" "$4" "$5" + ;; + *.bmp|*.jpg|*.jpeg|*.png|*.xpm|*.webp|*.gif) + image "$1" "$2" "$3" "$4" "$5" + ;; + *.ino) + batorcat --language=cpp "$1" + ;; + *) + batorcat "$1" + ;; +esac +exit 0 diff --git a/private_dot_config/lf/lfrc b/private_dot_config/lf/lfrc new file mode 100644 index 0000000..5a2c0da --- /dev/null +++ b/private_dot_config/lf/lfrc @@ -0,0 +1,17 @@ +set previewer ~/.config/lf/preview +set cleaner ~/.config/lf/cleaner +set drawbox true +set icons true + +cmd git_branch ${{ + git branch | fzf | xargs git checkout + pwd_shell=$(pwd) + lf -remote "send $id updir" + lf -remote "send $id cd \"$pwd_shell\"" +}} +map gb :git_branch +map gp ${{clear; git pull --rebase || true; echo "press ENTER"; read ENTER}} +map gs ${{clear; git status; echo "press ENTER"; read ENTER}} +map gl ${{clear; git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit}} + +map D :delete diff --git a/private_dot_config/nvim/init.vim b/private_dot_config/nvim/init.vim new file mode 100644 index 0000000..7e7d2ff --- /dev/null +++ b/private_dot_config/nvim/init.vim @@ -0,0 +1,52 @@ +set showmatch " show matching +set mouse=v " middle-click paste with +set hlsearch " highlight search +set incsearch " incremental search +set tabstop=4 " number of columns occupied by a tab +set softtabstop=4 " see multiple spaces as tabstops so does the right thing +set expandtab " converts tabs to white space +set shiftwidth=4 " width for autoindents +set autoindent " indent a new line the same amount as the line just typed +set number " add line numbers +set wildmode=longest,list " get bash-like tab completions +syntax on " syntax highlighting +set mouse=a " enable mouse click +set clipboard=unnamedplus " using system clipboard +set ttyfast " Speed up scrolling in Vim +set encoding=utf-8 +set ruler +set wrap +set hlsearch +set smartindent +set showtabline=2 +set noshowmode + +call plug#begin() + Plug 'neoclide/coc.nvim', {'branch': 'release'} + Plug 'vim-airline/vim-airline' + Plug 'vim-airline/vim-airline-themes' + Plug 'dylanaraps/wal.vim' +call plug#end() + +" vim-airline costomization +if !exists('g:airline_symbols') + let g:airline_symbols = {} +endif + +colorscheme wal + +let g:airline_theme='custom' +let g:airline#extensions#tabline#enabled = 1 +let g:airline#extensions#whitespace#enabled = 0 +let t_Co=256 +let g:airline_powerline_fonts = 1 +let g:airline_left_sep = '' +let g:airline_left_alt_sep = '' +let g:airline_right_sep = '' +let g:airline_right_alt_sep = '' +let g:airline_symbols.branch = '' +let g:airline_symbols.colnr = ' :' +let g:airline_symbols.readonly = '' +let g:airline_symbols.linenr = ' :' +let g:airline_symbols.maxlinenr = '☰ ' +let g:airline_symbols.dirty='⚡' diff --git a/private_dot_config/nvim/plugged/coc.nvim/LICENSE.md b/private_dot_config/nvim/plugged/coc.nvim/LICENSE.md new file mode 100644 index 0000000..bee2bf1 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/LICENSE.md @@ -0,0 +1,7 @@ +Copyright 2018-2018 by Qiming Zhao aaa + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/private_dot_config/nvim/plugged/coc.nvim/Readme.md b/private_dot_config/nvim/plugged/coc.nvim/Readme.md new file mode 100644 index 0000000..aa5ed98 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/Readme.md @@ -0,0 +1,334 @@ +

+ + Coc Logo + +

Make your Vim/Neovim as smart as VSCode.

+

+ Software License + Actions + Codecov Coverage Status + Doc + Gitter +

+

+ +--- + +Gif + +_True snippet and additional text editing support_ + +## Why? + +- 🚀 **Fast**: [instant increment completion](https://github.com/neoclide/coc.nvim/wiki/Completion-with-sources), increment buffer sync using buffer update events. +- 💎 **Reliable**: typed language, tested with CI. +- 🌟 **Featured**: [full LSP support](https://github.com/neoclide/coc.nvim/wiki/Language-servers#supported-features) +- ❤️ **Flexible**: [configured like VSCode](https://github.com/neoclide/coc.nvim/wiki/Using-the-configuration-file), [extensions work like in VSCode](https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions) + +## Quick Start + +Install [nodejs](https://nodejs.org/en/download/) >= 12.12: + +```sh +curl -sL install-node.now.sh/lts | bash +``` + +For [vim-plug](https://github.com/junegunn/vim-plug) users: + +```vim +" Use release branch (recommend) +Plug 'neoclide/coc.nvim', {'branch': 'release'} + +" Or build from source code by using yarn: https://yarnpkg.com +Plug 'neoclide/coc.nvim', {'branch': 'master', 'do': 'yarn install --frozen-lockfile'} +``` + +in your `.vimrc` or `init.vim`, then restart Vim and run `:PlugInstall`. + +Checkout [Install +coc.nvim](https://github.com/neoclide/coc.nvim/wiki/Install-coc.nvim) for +more info. + +You **have to** install coc extension or configure language servers for +LSP support. + +Install extensions like: + + :CocInstall coc-json coc-tsserver + +Or configure language server in `coc-settings.json` opened by +`:CocConfig`, like: + +```json +{ + "languageserver": { + "go": { + "command": "gopls", + "rootPatterns": ["go.mod"], + "trace.server": "verbose", + "filetypes": ["go"] + } + } +} +``` + +Checkout wiki for more details: + +- [Completion with sources](https://github.com/neoclide/coc.nvim/wiki/Completion-with-sources) +- [Using the configuration file](https://github.com/neoclide/coc.nvim/wiki/Using-the-configuration-file) +- [Using coc extensions](https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions) +- [Configure language servers](https://github.com/neoclide/coc.nvim/wiki/Language-servers) +- [F.A.Q](https://github.com/neoclide/coc.nvim/wiki/F.A.Q) + +Checkout `:h coc-nvim` for vim interface. + +## Example vim configuration + +Configuration is required to make coc.nvim easier to work with, since it +doesn't change your key-mappings or Vim options. This is done as much as +possible to avoid conflict with your other plugins. + +**❗️Important**: Some Vim plugins could change key mappings. Please use +command like`:verbose imap ` to make sure that your keymap has taken effect. + +```vim +" Set internal encoding of vim, not needed on neovim, since coc.nvim using some +" unicode characters in the file autoload/float.vim +set encoding=utf-8 + +" TextEdit might fail if hidden is not set. +set hidden + +" Some servers have issues with backup files, see #649. +set nobackup +set nowritebackup + +" Give more space for displaying messages. +set cmdheight=2 + +" Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable +" delays and poor user experience. +set updatetime=300 + +" Don't pass messages to |ins-completion-menu|. +set shortmess+=c + +" Always show the signcolumn, otherwise it would shift the text each time +" diagnostics appear/become resolved. +if has("nvim-0.5.0") || has("patch-8.1.1564") + " Recently vim can merge signcolumn and number column into one + set signcolumn=number +else + set signcolumn=yes +endif + +" Use tab for trigger completion with characters ahead and navigate. +" NOTE: Use command ':verbose imap ' to make sure tab is not mapped by +" other plugin before putting this into your config. +inoremap + \ pumvisible() ? "\" : + \ check_back_space() ? "\" : + \ coc#refresh() +inoremap pumvisible() ? "\" : "\" + +function! s:check_back_space() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~# '\s' +endfunction + +" Use to trigger completion. +if has('nvim') + inoremap coc#refresh() +else + inoremap coc#refresh() +endif + +" Make auto-select the first completion item and notify coc.nvim to +" format on enter, could be remapped by other vim plugin +inoremap pumvisible() ? coc#_select_confirm() + \: "\u\\=coc#on_enter()\" + +" Use `[g` and `]g` to navigate diagnostics +" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. +nmap [g (coc-diagnostic-prev) +nmap ]g (coc-diagnostic-next) + +" GoTo code navigation. +nmap gd (coc-definition) +nmap gy (coc-type-definition) +nmap gi (coc-implementation) +nmap gr (coc-references) + +" Use K to show documentation in preview window. +nnoremap K :call show_documentation() + +function! s:show_documentation() + if (index(['vim','help'], &filetype) >= 0) + execute 'h '.expand('') + elseif (coc#rpc#ready()) + call CocActionAsync('doHover') + else + execute '!' . &keywordprg . " " . expand('') + endif +endfunction + +" Highlight the symbol and its references when holding the cursor. +autocmd CursorHold * silent call CocActionAsync('highlight') + +" Symbol renaming. +nmap rn (coc-rename) + +" Formatting selected code. +xmap f (coc-format-selected) +nmap f (coc-format-selected) + +augroup mygroup + autocmd! + " Setup formatexpr specified filetype(s). + autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') + " Update signature help on jump placeholder. + autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') +augroup end + +" Applying codeAction to the selected region. +" Example: `aap` for current paragraph +xmap a (coc-codeaction-selected) +nmap a (coc-codeaction-selected) + +" Remap keys for applying codeAction to the current buffer. +nmap ac (coc-codeaction) +" Apply AutoFix to problem on the current line. +nmap qf (coc-fix-current) + +" Map function and class text objects +" NOTE: Requires 'textDocument.documentSymbol' support from the language server. +xmap if (coc-funcobj-i) +omap if (coc-funcobj-i) +xmap af (coc-funcobj-a) +omap af (coc-funcobj-a) +xmap ic (coc-classobj-i) +omap ic (coc-classobj-i) +xmap ac (coc-classobj-a) +omap ac (coc-classobj-a) + +" Remap and for scroll float windows/popups. +if has('nvim-0.4.0') || has('patch-8.2.0750') + nnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" + nnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" + inoremap coc#float#has_scroll() ? "\=coc#float#scroll(1)\" : "\" + inoremap coc#float#has_scroll() ? "\=coc#float#scroll(0)\" : "\" + vnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" + vnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" +endif + +" Use CTRL-S for selections ranges. +" Requires 'textDocument/selectionRange' support of language server. +nmap (coc-range-select) +xmap (coc-range-select) + +" Add `:Format` command to format current buffer. +command! -nargs=0 Format :call CocAction('format') + +" Add `:Fold` command to fold current buffer. +command! -nargs=? Fold :call CocAction('fold', ) + +" Add `:OR` command for organize imports of the current buffer. +command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') + +" Add (Neo)Vim's native statusline support. +" NOTE: Please see `:h coc-status` for integrations with external plugins that +" provide custom statusline: lightline.vim, vim-airline. +set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} + +" Mappings for CoCList +" Show all diagnostics. +nnoremap a :CocList diagnostics +" Manage extensions. +nnoremap e :CocList extensions +" Show commands. +nnoremap c :CocList commands +" Find symbol of current document. +nnoremap o :CocList outline +" Search workspace symbols. +nnoremap s :CocList -I symbols +" Do default action for next item. +nnoremap j :CocNext +" Do default action for previous item. +nnoremap k :CocPrev +" Resume latest coc list. +nnoremap p :CocListResume +``` + +## Articles + +- [coc.nvim 插件体系介绍](https://zhuanlan.zhihu.com/p/65524706) +- [CocList 入坑指南](https://zhuanlan.zhihu.com/p/71846145) +- [Create coc.nvim extension to improve Vim experience](https://medium.com/@chemzqm/create-coc-nvim-extension-to-improve-vim-experience-4461df269173) +- [How to write a coc.nvim extension (and why)](https://samroeca.com/coc-plugin.html) + +## Trouble shooting + +Try these steps when you have problem with coc.nvim. + +- Make sure your Vim version >= 8.0 by command `:version`. +- If service failed to start, use command `:CocInfo` or `:checkhealth` on Neovim. +- Checkout the log of coc.nvim by command `:CocOpenLog`. +- When you have issues with the language server, it's recommended to [checkout + the output](https://github.com/neoclide/coc.nvim/wiki/Debug-language-server#using-output-channel). + +## Feedback + +- If you think Coc is useful, consider giving it a star. +- If you have a question, [ask on gitter](https://gitter.im/neoclide/coc.nvim) +- 中文用户请到 [中文 gitter](https://gitter.im/neoclide/coc-cn) 讨论 +- If something is not working, [create an + issue](https://github.com/neoclide/coc.nvim/issues/new). + +## Backers + +[Become a backer](https://opencollective.com/cocnvim#backer) and get your image on our README on Github with a link to your site. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## Support the project + +Buy cloud service from [www.vultr.com](https://www.vultr.com/?ref=8890170-6G) + +## License + +MIT diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc.vim new file mode 100644 index 0000000..e7bf2df --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc.vim @@ -0,0 +1,196 @@ +scriptencoding utf-8 +let g:coc#_context = {'start': 0, 'preselect': -1,'candidates': []} +let g:coc_user_config = get(g:, 'coc_user_config', {}) +let g:coc_global_extensions = get(g:, 'coc_global_extensions', []) +let g:coc_selected_text = '' +let g:coc_vim_commands = [] +let s:watched_keys = [] +let s:is_vim = !has('nvim') +let s:error_sign = get(g:, 'coc_status_error_sign', has('mac') ? '❌ ' : 'E') +let s:warning_sign = get(g:, 'coc_status_warning_sign', has('mac') ? '⚠️ ' : 'W') +let s:select_api = exists('*nvim_select_popupmenu_item') +let s:callbacks = {} + +function! coc#expandable() abort + return coc#rpc#request('snippetCheck', [1, 0]) +endfunction + +function! coc#jumpable() abort + return coc#rpc#request('snippetCheck', [0, 1]) +endfunction + +function! coc#expandableOrJumpable() abort + return coc#rpc#request('snippetCheck', [1, 1]) +endfunction + +" add vim command to CocCommand list +function! coc#add_command(id, cmd, ...) + let config = {'id':a:id, 'cmd':a:cmd, 'title': get(a:,1,'')} + call add(g:coc_vim_commands, config) + if !coc#rpc#ready() | return | endif + call coc#rpc#notify('addCommand', [config]) +endfunction + +function! coc#refresh() abort + return "\=coc#start()\" +endfunction + +function! coc#on_enter() + call coc#rpc#notify('CocAutocmd', ['Enter', bufnr('%')]) + return '' +endfunction + +function! coc#_insert_key(method, key, ...) abort + if get(a:, 1, 1) + call coc#_cancel() + endif + return "\=coc#rpc#".a:method."('doKeymap', ['".a:key."'])\" +endfunction + +function! coc#_complete() abort + let items = get(g:coc#_context, 'candidates', []) + let preselect = get(g:coc#_context, 'preselect', -1) + let startcol = g:coc#_context.start + 1 + if s:select_api && len(items) && preselect != -1 + noa call complete(startcol, items) + call nvim_select_popupmenu_item(preselect, v:false, v:false, {}) + " use specific key to preselect item at once + call feedkeys("\\" , 'i') + else + call complete(startcol, items) + endif + return '' +endfunction + +function! coc#_do_complete(start, items, preselect) + let g:coc#_context = { + \ 'start': a:start, + \ 'candidates': a:items, + \ 'preselect': a:preselect + \} + if mode() =~# 'i' && &paste != 1 + call feedkeys("\CocRefresh", 'i') + endif +endfunction + +function! coc#_select_confirm() abort + if !exists('*complete_info') + throw 'coc#_select_confirm requires complete_info function to work' + endif + let selected = complete_info()['selected'] + if selected != -1 + return "\" + elseif pumvisible() + return "\\" + endif + return '' +endfunction + +function! coc#_selected() + if !pumvisible() | return 0 | endif + return coc#rpc#request('hasSelected', []) +endfunction + +function! coc#_hide() abort + if !pumvisible() | return | endif + call feedkeys("\", 'in') +endfunction + +function! coc#_cancel() + " hack for close pum + if pumvisible() + let g:coc#_context = {'start': 0, 'preselect': -1,'candidates': []} + call feedkeys("\CocRefresh", 'i') + call coc#rpc#notify('stopCompletion', []) + endif +endfunction + +function! coc#_select() abort + if !pumvisible() | return | endif + call feedkeys("\", 'in') +endfunction + +function! coc#start(...) + let opt = coc#util#get_complete_option() + call CocActionAsync('startCompletion', extend(opt, get(a:, 1, {}))) + return '' +endfunction + +" used for statusline +function! coc#status() + let info = get(b:, 'coc_diagnostic_info', {}) + let msgs = [] + if !empty(info) && get(info, 'error', 0) + call add(msgs, s:error_sign . info['error']) + endif + if !empty(info) && get(info, 'warning', 0) + call add(msgs, s:warning_sign . info['warning']) + endif + return s:trim(join(msgs, ' ') . ' ' . get(g:, 'coc_status', '')) +endfunction + +function! s:trim(str) + if exists('*trim') + return trim(a:str) + endif + return substitute(a:str, '\s\+$', '', '') +endfunction + +function! coc#config(section, value) + let g:coc_user_config[a:section] = a:value + call coc#rpc#notify('updateConfig', [a:section, a:value]) +endfunction + +function! coc#add_extension(...) + if a:0 == 0 | return | endif + call extend(g:coc_global_extensions, a:000) +endfunction + +function! coc#_watch(key) + if s:is_vim | return | endif + if index(s:watched_keys, a:key) == -1 + call add(s:watched_keys, a:key) + call dictwatcheradd(g:, a:key, function('s:GlobalChange')) + endif +endfunction + +function! coc#_unwatch(key) + if s:is_vim | return | endif + let idx = index(s:watched_keys, a:key) + if idx != -1 + call remove(s:watched_keys, idx) + call dictwatcherdel(g:, a:key, function('s:GlobalChange')) + endif +endfunction + +function! s:GlobalChange(dict, key, val) + call coc#rpc#notify('GlobalChange', [a:key, get(a:val, 'old', v:null), get(a:val, 'new', v:null)]) +endfunction + +function! coc#_map() + if !s:select_api | return | endif + for i in range(1, 9) + exe 'inoremap '.i.' call nvim_select_popupmenu_item('.(i - 1).', v:true, v:true, {})' + endfor +endfunction + +function! coc#_unmap() + if !s:select_api | return | endif + for i in range(1, 9) + exe 'silent! iunmap '.i + endfor +endfunction + +function! coc#on_notify(id, method, Cb) + let key = a:id. '-'.a:method + let s:callbacks[key] = a:Cb + call coc#rpc#notify('registNotification', [a:id, a:method]) +endfunction + +function! coc#do_notify(id, method, result) + let key = a:id. '-'.a:method + let Fn = s:callbacks[key] + if !empty(Fn) + call Fn(a:result) + endif +endfunction diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/api.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/api.vim new file mode 100644 index 0000000..3dc4ae3 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/api.vim @@ -0,0 +1,634 @@ +" ============================================================================ +" Description: Client api used by vim8 +" Author: Qiming Zhao +" Licence: MIT licence +" Last Modified: Aug 10, 2021 +" ============================================================================ +if has('nvim') | finish | endif +scriptencoding utf-8 +let s:funcs = {} +let s:prop_offset = get(g:, 'coc_text_prop_offset', 1000) +let s:namespace_id = 1 +let s:namespace_cache = {} + +" helper {{ +function! s:buf_line_count(bufnr) abort + if bufnr('%') == a:bufnr + return line('$') + endif + if exists('*getbufinfo') + let info = getbufinfo(a:bufnr) + if empty(info) + return 0 + endif + return info[0]['linecount'] + endif + if exists('*getbufline') + let lines = getbufline(a:bufnr, 1, '$') + return len(lines) + endif + let curr = bufnr('%') + execute 'buffer '.a:bufnr + let n = line('$') + execute 'buffer '.curr + return n +endfunction + +function! s:execute(cmd) + if a:cmd =~# '^echo' + execute a:cmd + else + silent! execute a:cmd + endif +endfunction +" }}" + +" nvim client methods {{ +function! s:funcs.set_current_dir(dir) abort + execute 'cd '.a:dir +endfunction + +function! s:funcs.set_var(name, value) abort + execute 'let g:'.a:name.'= a:value' +endfunction + +function! s:funcs.del_var(name) abort + execute 'unlet g:'.a:name +endfunction + +function! s:funcs.set_option(name, value) abort + execute 'let &'.a:name.' = a:value' +endfunction + +function! s:funcs.set_current_buf(bufnr) abort + if !bufexists(a:bufnr) | return | endif + execute 'buffer '.a:bufnr +endfunction + +function! s:funcs.set_current_win(win_id) abort + let [tabnr, winnr] = win_id2tabwin(a:win_id) + if tabnr == 0 | return | endif + execute 'normal! '.tabnr.'gt' + execute winnr.' wincmd w' +endfunction + +function! s:funcs.set_current_tabpage(tabnr) abort + execute 'normal! '.a:tabnr.'gt' +endfunction + +function! s:funcs.list_wins() abort + return map(getwininfo(), 'v:val["winid"]') +endfunction + +function s:inspect_type(v) abort + let types = ['Number', 'String', 'Funcref', 'List', 'Dictionary', 'Float', 'Boolean', 'Null'] + return get(types, type(a:v), 'Unknown') +endfunction + +function! s:funcs.call_atomic(calls) + let res = [] + for i in range(len(a:calls)) + let [key, arglist] = a:calls[i] + let name = key[5:] + try + call add(res, call(s:funcs[name], arglist)) + catch /.*/ + return [res, [i, "VimException(".s:inspect_type(v:exception).")", v:exception]] + endtry + endfor + return [res, v:null] +endfunction + +function! s:funcs.set_client_info(...) abort +endfunction + +function! s:funcs.subscribe(...) abort +endfunction + +function! s:funcs.unsubscribe(...) abort +endfunction + +function! s:funcs.call_function(method, args) abort + return call(a:method, a:args) +endfunction + +function! s:funcs.call_dict_function(dict, method, args) abort + return call(a:method, a:args, a:dict) +endfunction + +function! s:funcs.command(command) abort + " command that could cause cursor vanish + if a:command =~# '^echo' || a:command =~# '^redraw' || a:command =~# '^sign place' + call timer_start(0, {-> s:execute(a:command)}) + else + execute a:command + let err = get(g:, 'errmsg', '') + " get error from python script run. + if !empty(err) + unlet g:errmsg + throw err + endif + endif +endfunction + +function! s:funcs.eval(expr) abort + return eval(a:expr) +endfunction + +function! s:funcs.get_api_info() + let names = coc#api#func_names() + return [1, {'functions': map(names, '{"name": "nvim_".v:val}')}] +endfunction + +function! s:funcs.list_bufs() + return map(getbufinfo({'bufloaded': 1}), 'v:val["bufnr"]') +endfunction + +function! s:funcs.feedkeys(keys, mode, escape_csi) + call feedkeys(a:keys, a:mode) +endfunction + +function! s:funcs.list_runtime_paths() + return split(&runtimepath, ',') +endfunction + +function! s:funcs.command_output(cmd) + return execute(a:cmd) +endfunction + +function! s:funcs.get_current_line() + return getline('.') +endfunction + +function! s:funcs.set_current_line(line) + call setline('.', a:line) +endfunction + +function! s:funcs.del_current_line(line) + execute 'normal! dd' +endfunction + +function! s:funcs.get_var(var) + return get(g:, a:var, v:null) +endfunction + +function! s:funcs.get_vvar(var) + return get(v:, a:var, v:null) +endfunction + +function! s:funcs.get_option(name) + return eval('&'.a:name) +endfunction + +function! s:funcs.get_current_buf() + return bufnr('%') +endfunction + +function! s:funcs.get_current_win() + return win_getid() +endfunction + +function! s:funcs.get_current_tabpage() + return tabpagenr() +endfunction + +function! s:funcs.list_tabpages() + return range(1, tabpagenr('$')) +endfunction + +function! s:funcs.get_mode() + return {'blocking': v:false, 'mode': mode()} +endfunction + +function! s:funcs.strwidth(str) + return strwidth(a:str) +endfunction + +function! s:funcs.out_write(str) + echon a:str + call timer_start(0, {-> s:execute('redraw')}) +endfunction + +function! s:funcs.err_write(str) + "echoerr a:str +endfunction + +function! s:funcs.err_writeln(str) + echohl ErrorMsg + echom a:str + echohl None + call timer_start(0, {-> s:execute('redraw')}) +endfunction + +function! s:funcs.create_namespace(name) abort + if empty(a:name) + let id = s:namespace_id + let s:namespace_id = s:namespace_id + 1 + return id + endif + let id = get(s:namespace_cache, a:name, 0) + if !id + let id = s:namespace_id + let s:namespace_id = s:namespace_id + 1 + let s:namespace_cache[a:name] = id + endif + return id +endfunction +" }} + +" buffer methods {{ +function! s:funcs.buf_set_option(bufnr, name, val) + let val = a:val + if val is v:true + let val = 1 + elseif val is v:false + let val = 0 + endif + return setbufvar(a:bufnr, '&'.a:name, val) +endfunction + +function! s:funcs.buf_get_changedtick(bufnr) + return getbufvar(a:bufnr, 'changedtick') +endfunction + +function! s:funcs.buf_is_valid(bufnr) + return bufloaded(a:bufnr) ? v:true : v:false +endfunction + +function! s:funcs.buf_get_mark(bufnr, name) + let nr = bufnr('%') + if a:bufnr != 0 || a:bufnr != nr + throw 'buf_get_mark support current buffer only' + endif + return [line("'" . a:name), col("'" . a:name)] +endfunction + +function! s:funcs.buf_add_highlight(bufnr, srcId, hlGroup, line, colStart, colEnd) abort + if !has('textprop') || !has('patch-8.1.1719') + return + endif + let bufnr = a:bufnr == 0 ? bufnr('%') : a:bufnr + let type = 'CocHighlight'.a:hlGroup + if empty(prop_type_get(type)) + call prop_type_add(type, {'highlight': a:hlGroup, 'combine': 1}) + endif + let total = strlen(getbufline(bufnr, a:line + 1)[0]) + let end = a:colEnd + if end == -1 + let end = total + else + let end = min([end, total]) + endif + if end <= a:colStart + return + endif + let srcId = a:srcId + if srcId == 0 + while v:true + let srcId = srcId + 1 + if empty(prop_find({'id': s:prop_offset + srcId, 'lnum' : 1})) + break + endif + endwhile + " generate srcId + endif + let id = srcId == -1 ? 0 : s:prop_offset + srcId + try + call prop_add(a:line + 1, a:colStart + 1, {'length': end - a:colStart, 'bufnr': bufnr, 'type': type, 'id': id}) + catch /^Vim\%((\a\+)\)\=:E967/ + " ignore 967 + endtry + if a:srcId == 0 + " return generated srcId + return srcId + endif +endfunction + +function! s:funcs.buf_clear_namespace(bufnr, srcId, startLine, endLine) abort + if !has('textprop') || !has('patch-8.1.1719') + return + endif + let bufnr = a:bufnr == 0 ? bufnr('%') : a:bufnr + let start = a:startLine + 1 + let end = a:endLine == -1 ? len(getbufline(bufnr, 1, '$')) : a:endLine + 1 + if a:srcId == -1 + call prop_clear(start, end, {'bufnr' : bufnr}) + else + try + call prop_remove({'bufnr': bufnr, 'all': 1, 'id': s:prop_offset + a:srcId}, start, end) + catch /^Vim\%((\a\+)\)\=:E968/ + " ignore 968 + endtry + endif +endfunction + +function! s:funcs.buf_line_count(bufnr) abort + return s:buf_line_count(a:bufnr) +endfunction + +function! s:funcs.buf_attach(...) + " not supported + return 1 +endfunction + +function! s:funcs.buf_detach() + " not supported + return 1 +endfunction + +function! s:funcs.buf_get_lines(bufnr, start, end, strict) abort + let lines = getbufline(a:bufnr, 1, '$') + let start = a:start < 0 ? a:start + 1 : a:start + let end = a:end < 0 ? a:end + 1 : a:end + if a:strict && end > len(lines) + throw 'line number out of range: '. end + endif + return lines[start : end - 1] +endfunction + +function! s:funcs.buf_set_lines(bufnr, start, end, strict, ...) abort + if !bufloaded(a:bufnr) + return + endif + let replacement = get(a:, 1, []) + let lineCount = s:buf_line_count(a:bufnr) + let startLnum = a:start >= 0 ? a:start + 1 : lineCount + a:start + 1 + let end = a:end >= 0 ? a:end : lineCount + a:end + 1 + if end == lineCount + 1 + let end = lineCount + endif + let delCount = end - (startLnum - 1) + let changeBuffer = 0 + let curr = bufnr('%') + if a:bufnr != curr && !exists('*setbufline') + let changeBuffer = 1 + exe 'buffer '.a:bufnr + endif + if a:bufnr == curr || changeBuffer + " replace + let storeView = winsaveview() + if delCount == len(replacement) + call setline(startLnum, replacement) + else + if len(replacement) + call append(startLnum - 1, replacement) + endif + if delCount + let start = startLnum + len(replacement) + let saved_reg = @" + silent execute start . ','.(start + delCount - 1).'d' + let @" = saved_reg + endif + endif + call winrestview(storeView) + if changeBuffer + exe 'buffer '.curr + endif + elseif exists('*setbufline') + " replace + if delCount == len(replacement) + " 8.0.1039 + call setbufline(a:bufnr, startLnum, replacement) + else + if len(replacement) + " 8.10037 + call appendbufline(a:bufnr, startLnum - 1, replacement) + endif + if delCount + let start = startLnum + len(replacement) + "8.1.0039 + silent call deletebufline(a:bufnr, start, start + delCount - 1) + endif + endif + endif +endfunction + +function! s:funcs.buf_set_name(bufnr, name) abort + let nr = bufnr('%') + if a:bufnr != nr + throw 'buf_set_name support current buffer only' + else + execute '0f' + execute 'file '.fnameescape(a:name) + endif +endfunction + +function! s:funcs.buf_get_var(bufnr, name) + return getbufvar(a:bufnr, a:name) +endfunction + +function! s:funcs.buf_set_var(bufnr, name, val) + if !bufloaded(a:bufnr) | return | endif + call setbufvar(a:bufnr, a:name, a:val) +endfunction + +function! s:funcs.buf_del_var(bufnr, name) + call coc#compat#buf_del_var(a:bufnr, a:name) +endfunction + +function! s:funcs.buf_get_option(bufnr, name) + return getbufvar(a:bufnr, '&'.a:name) +endfunction + +function! s:funcs.buf_get_name(bufnr) + return bufname(a:bufnr) +endfunction +" }} + +" window methods {{ +function! s:funcs.win_get_buf(winid) + return winbufnr(a:winid) +endfunction + +function! s:funcs.win_get_position(win_id) abort + let [row, col] = win_screenpos(a:win_id) + if row == 0 && col == 0 + throw 'Invalid window '.a:win_id + endif + return [row - 1, col - 1] +endfunction + +function! s:funcs.win_get_height(win_id) abort + return winheight(a:win_id) +endfunction + +function! s:funcs.win_get_width(win_id) abort + return winwidth(a:win_id) +endfunction + +if exists('*win_execute') + function! s:win_execute(win_id, cmd, ...) abort + let ref = get(a:000, 0, v:null) + let cmd = ref is v:null ? a:cmd : 'let ref["out"] = ' . a:cmd + call win_execute(a:win_id, cmd) + endfunction +else + function! s:win_execute(win_id, cmd, ...) abort + let ref = get(a:000, 0, v:null) + let cmd = ref is v:null ? a:cmd : 'let ref["out"] = ' . a:cmd + let winid = win_getid() + if winid == a:win_id + execute cmd + else + let goto_status = win_gotoid(a:win_id) + if !goto_status + return + endif + execute cmd + call win_gotoid(winid) + endif + endfunction +endif + +function! s:get_tabnr(winid) abort + let ref = {} + call s:win_execute(a:winid, 'tabpagenr()', ref) + return get(ref, 'out', 0) +endfunction + +function! s:funcs.win_get_cursor(win_id) abort + let ref = {} + call s:win_execute(a:win_id, "[line('.'), col('.')-1]", ref) + return get(ref, 'out', 0) +endfunction + +function! s:funcs.win_get_var(win_id, name) abort + let tabnr = s:get_tabnr(a:win_id) + if tabnr + return gettabwinvar(tabnr, a:win_id, a:name) + endif + throw 'window '.a:win_id. ' not a valid window' +endfunction + +function! s:funcs.win_set_width(win_id, width) abort + call s:win_execute(a:win_id, 'vertical resize '.a:width) +endfunction + +function! s:funcs.win_set_buf(win_id, buf_id) abort + call s:win_execute(a:win_id, 'buffer '.a:buf_id) +endfunction + +function! s:funcs.win_get_option(win_id, name) abort + let tabnr = s:get_tabnr(a:win_id) + if tabnr + return gettabwinvar(tabnr, a:win_id, '&'.a:name) + endif + throw 'window '.a:win_id. ' not a valid window' +endfunction + +function! s:funcs.win_set_height(win_id, height) abort + return s:win_execute(a:win_id, 'resize '.a:height) +endfunction + +function! s:funcs.win_set_option(win_id, name, value) abort + let val = a:value + if val is v:true + let val = 1 + elseif val is v:false + let val = 0 + endif + let tabnr = s:get_tabnr(a:win_id) + if tabnr + call settabwinvar(tabnr, a:win_id, '&'.a:name, val) + else + throw 'window '.a:win_id. ' not a valid window' + endif +endfunction + +function! s:funcs.win_set_var(win_id, name, value) abort + let tabnr = s:get_tabnr(a:win_id) + if tabnr + call settabwinvar(tabnr, a:win_id, a:name, a:value) + else + throw 'window '.a:win_id. ' not a valid window' + endif +endfunction + +function! s:funcs.win_del_var(win_id, name) abort + call s:win_execute(a:win_id, 'unlet! w:'.a:name) +endfunction + +function! s:funcs.win_is_valid(win_id) abort + let info = getwininfo(a:win_id) + return empty(info) ? v:false : v:true +endfunction + +function! s:funcs.win_get_number(win_id) abort + let info = getwininfo(a:win_id) + if empty(info) + throw 'Invalid window id '.a:win_id + endif + return info[0]['winnr'] +endfunction + +function! s:funcs.win_set_cursor(win_id, pos) abort + let [line, col] = a:pos + call s:win_execute(a:win_id, 'call cursor('.line.','.(col + 1).')') +endfunction + +function! s:funcs.win_close(win_id, ...) abort + let force = get(a:, 1, 0) + call s:win_execute(a:win_id, 'close'.(force ? '!' : '')) +endfunction + +function! s:funcs.win_get_tabpage(win_id) abort + let tabnr = s:get_tabnr(a:win_id) + if !tabnr + throw 'Invalid window id '.a:win_id + endif + return tabnr +endfunction +" }} + +" tabpage methods {{ +function! s:funcs.tabpage_get_number(id) + return a:id +endfunction + +function! s:funcs.tabpage_list_wins(tabnr) + let info = getwininfo() + return map(filter(info, 'v:val["tabnr"] == a:tabnr'), 'v:val["winid"]') +endfunction + +function! s:funcs.tabpage_get_var(tabnr, name) + return gettabvar(a:tabnr, a:name, v:null) +endfunction + +function! s:funcs.tabpage_set_var(tabnr, name, value) + call settabvar(a:tabnr, a:name, a:value) +endfunction + +function! s:funcs.tabpage_del_var(tabnr, name) + call settabvar(a:tabnr, a:name, v:null) +endfunction + +function! s:funcs.tabpage_is_valid(tabnr) + let max = tabpagenr('$') + return a:tabnr <= max +endfunction + +function! s:funcs.tabpage_get_win(tabnr) + let wnr = tabpagewinnr(a:tabnr) + return win_getid(wnr, a:tabnr) +endfunction +" }} + +function! coc#api#func_names() abort + return keys(s:funcs) +endfunction + +function! coc#api#call(method, args) abort + let err = v:null + let res = v:null + try + let res = call(s:funcs[a:method], a:args) + catch /.*/ + let err = v:exception + endtry + return [err, res] +endfunction + +function! coc#api#notify(method, args) abort + call call(s:funcs[a:method], a:args) +endfunction +" vim: set sw=2 ts=2 sts=2 et tw=78 foldmarker={{,}} foldmethod=marker foldlevel=0: diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/client.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/client.vim new file mode 100644 index 0000000..6987ebb --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/client.vim @@ -0,0 +1,331 @@ +scriptencoding utf-8 +let s:root = expand(':h:h:h') +let s:is_vim = !has('nvim') +let s:is_win = has("win32") || has("win64") +let s:clients = {} + +if get(g:, 'node_client_debug', 0) + let $NODE_CLIENT_LOG_LEVEL = 'debug' + if exists('$NODE_CLIENT_LOG_FILE') + let s:logfile = resolve($NODE_CLIENT_LOG_FILE) + else + let s:logfile = tempname() + let $NODE_CLIENT_LOG_FILE = s:logfile + endif +endif + +" create a client +function! coc#client#create(name, command) + let client = {} + let client['command'] = a:command + let client['name'] = a:name + let client['running'] = 0 + let client['async_req_id'] = 1 + let client['async_callbacks'] = {} + " vim only + let client['channel'] = v:null + " neovim only + let client['chan_id'] = 0 + let client['start'] = function('s:start', [], client) + let client['request'] = function('s:request', [], client) + let client['notify'] = function('s:notify', [], client) + let client['request_async'] = function('s:request_async', [], client) + let client['on_async_response'] = function('s:on_async_response', [], client) + let s:clients[a:name] = client + return client +endfunction + +function! s:start() dict + if self.running | return | endif + if !isdirectory(getcwd()) + echohl Error | echon '[coc.nvim] Current cwd is not a valid directory.' | echohl None + return + endif + let timeout = string(get(g:, 'coc_channel_timeout', 30)) + let disable_warning = string(get(g:, 'coc_disable_startup_warning', 0)) + let tmpdir = fnamemodify(tempname(), ':p:h') + if s:is_vim + let options = { + \ 'in_mode': 'json', + \ 'out_mode': 'json', + \ 'err_mode': 'nl', + \ 'err_cb': {channel, message -> s:on_stderr(self.name, split(message, "\n"))}, + \ 'exit_cb': {channel, code -> s:on_exit(self.name, code)}, + \ 'env': { + \ 'NODE_NO_WARNINGS': '1', + \ 'VIM_NODE_RPC': '1', + \ 'COC_NVIM': '1', + \ 'COC_CHANNEL_TIMEOUT': timeout, + \ 'TMPDIR': tmpdir, + \ } + \} + if has("patch-8.1.350") + let options['noblock'] = 1 + endif + let job = job_start(self.command, options) + let status = job_status(job) + if status !=# 'run' + let self.running = 0 + echohl Error | echom 'Failed to start '.self.name.' service' | echohl None + return + endif + let self['running'] = 1 + let self['channel'] = job_getchannel(job) + else + let original = {} + let opts = { + \ 'rpc': 1, + \ 'on_stderr': {channel, msgs -> s:on_stderr(self.name, msgs)}, + \ 'on_exit': {channel, code -> s:on_exit(self.name, code)}, + \ } + if has('nvim-0.5.0') + " could use env option + let opts['env'] = { + \ 'NODE_NO_WARNINGS': '1', + \ 'COC_CHANNEL_TIMEOUT': timeout, + \ 'TMPDIR': tmpdir + \ } + else + let original = { + \ 'NODE_NO_WARNINGS': getenv('NODE_NO_WARNINGS'), + \ 'TMPDIR': getenv('TMPDIR'), + \ } + if exists('*setenv') + call setenv('NODE_NO_WARNINGS', '1') + call setenv('COC_CHANNEL_TIMEOUT', timeout) + call setenv('TMPDIR', tmpdir) + else + let $NODE_NO_WARNINGS = 1 + let $TMPDIR = tmpdir + endif + endif + let chan_id = jobstart(self.command, opts) + if !empty(original) + if exists('*setenv') + for key in keys(original) + call setenv(key, original[key]) + endfor + else + let $TMPDIR = original['TMPDIR'] + endif + endif + if chan_id <= 0 + echohl Error | echom 'Failed to start '.self.name.' service' | echohl None + return + endif + let self['chan_id'] = chan_id + let self['running'] = 1 + endif +endfunction + +function! s:on_stderr(name, msgs) + if get(g:, 'coc_vim_leaving', 0) | return | endif + if get(g:, 'coc_disable_uncaught_error', 0) | return | endif + let data = filter(copy(a:msgs), '!empty(v:val)') + if empty(data) | return | endif + let client = a:name ==# 'coc' ? '[coc.nvim]' : '['.a:name.']' + let data[0] = client.': '.data[0] + call coc#util#echo_messages('Error', data) +endfunction + +function! s:on_exit(name, code) abort + if get(g:, 'coc_vim_leaving', 0) | return | endif + let client = get(s:clients, a:name, v:null) + if empty(client) | return | endif + if client['running'] != 1 | return | endif + let client['running'] = 0 + let client['chan_id'] = 0 + let client['channel'] = v:null + let client['async_req_id'] = 1 + if a:code != 0 && a:code != 143 + echohl Error | echom 'client '.a:name. ' abnormal exit with: '.a:code | echohl None + endif +endfunction + +function! coc#client#get_client(name) abort + return get(s:clients, a:name, v:null) +endfunction + +function! coc#client#get_channel(client) + if s:is_vim + return a:client['channel'] + endif + return a:client['chan_id'] +endfunction + +function! s:request(method, args) dict + let channel = coc#client#get_channel(self) + if empty(channel) | return '' | endif + try + if s:is_vim + let res = ch_evalexpr(channel, [a:method, a:args], {'timeout': 60 * 1000}) + if type(res) == 1 && res ==# '' + throw 'request '.a:method. ' '.string(a:args).' timeout after 60s' + endif + let [l:errmsg, res] = res + if !empty(l:errmsg) + throw l:errmsg + else + return res + endif + else + return call('rpcrequest', [channel, a:method] + a:args) + endif + catch /.*/ + if v:exception =~# 'E475' + if get(g:, 'coc_vim_leaving', 0) | return | endif + echohl Error | echom '['.self.name.'] server connection lost' | echohl None + let name = self.name + call s:on_exit(name, 0) + execute 'silent do User ConnectionLost'.toupper(name[0]).name[1:] + elseif v:exception =~# 'E12' + " neovim's bug, ignore it + else + echohl Error | echo 'Error on request ('.a:method.'): '.v:exception | echohl None + endif + endtry +endfunction + +function! s:notify(method, args) dict + let channel = coc#client#get_channel(self) + if empty(channel) + return '' + endif + try + if s:is_vim + call ch_sendraw(channel, json_encode([0, [a:method, a:args]])."\n") + else + call call('rpcnotify', [channel, a:method] + a:args) + endif + catch /.*/ + if v:exception =~# 'E475' + if get(g:, 'coc_vim_leaving', 0) + return + endif + echohl Error | echom '['.self.name.'] server connection lost' | echohl None + let name = self.name + call s:on_exit(name, 0) + execute 'silent do User ConnectionLost'.toupper(name[0]).name[1:] + elseif v:exception =~# 'E12' + " neovim's bug, ignore it + else + echohl Error | echo 'Error on notify ('.a:method.'): '.v:exception | echohl None + endif + endtry +endfunction + +function! s:request_async(method, args, cb) dict + let channel = coc#client#get_channel(self) + if empty(channel) | return '' | endif + if type(a:cb) != 2 + echohl Error | echom '['.self['name'].'] Callback should be function' | echohl None + return + endif + let id = self.async_req_id + let self.async_req_id = id + 1 + let self.async_callbacks[id] = a:cb + call self['notify']('nvim_async_request_event', [id, a:method, a:args]) +endfunction + +function! s:on_async_response(id, resp, isErr) dict + let Callback = get(self.async_callbacks, a:id, v:null) + if empty(Callback) + " should not happen + echohl Error | echom 'callback not found' | echohl None + return + endif + call remove(self.async_callbacks, a:id) + if a:isErr + call call(Callback, [a:resp, v:null]) + else + call call(Callback, [v:null, a:resp]) + endif +endfunction + +function! coc#client#is_running(name) abort + let client = get(s:clients, a:name, v:null) + if empty(client) | return 0 | endif + if !client['running'] | return 0 | endif + if s:is_vim + let status = job_status(ch_getjob(client['channel'])) + return status ==# 'run' + else + let chan_id = client['chan_id'] + let [code] = jobwait([chan_id], 10) + return code == -1 + endif +endfunction + +function! coc#client#stop(name) abort + let client = get(s:clients, a:name, v:null) + if empty(client) | return 1 | endif + let running = coc#client#is_running(a:name) + if !running + echohl WarningMsg | echom 'client '.a:name. ' not running.' | echohl None + return 1 + endif + if s:is_vim + call job_stop(ch_getjob(client['channel']), 'term') + else + call jobstop(client['chan_id']) + endif + sleep 200m + if coc#client#is_running(a:name) + echohl Error | echom 'client '.a:name. ' stop failed.' | echohl None + return 0 + endif + call s:on_exit(a:name, 0) + echohl MoreMsg | echom 'client '.a:name.' stopped!' | echohl None + return 1 +endfunction + +function! coc#client#request(name, method, args) + let client = get(s:clients, a:name, v:null) + if !empty(client) + return client['request'](a:method, a:args) + endif +endfunction + +function! coc#client#notify(name, method, args) + let client = get(s:clients, a:name, v:null) + if !empty(client) + call client['notify'](a:method, a:args) + endif +endfunction + +function! coc#client#request_async(name, method, args, cb) + let client = get(s:clients, a:name, v:null) + if !empty(client) + call client['request_async'](a:method, a:args, a:cb) + endif +endfunction + +function! coc#client#on_response(name, id, resp, isErr) + let client = get(s:clients, a:name, v:null) + if !empty(client) + call client['on_async_response'](a:id, a:resp, a:isErr) + endif +endfunction + +function! coc#client#restart(name) abort + let stopped = coc#client#stop(a:name) + if !stopped | return | endif + let client = get(s:clients, a:name, v:null) + if !empty(client) + call client['start']() + endif +endfunction + +function! coc#client#restart_all() + for key in keys(s:clients) + call coc#client#restart(key) + endfor +endfunction + +function! coc#client#open_log() + if !get(g:, 'node_client_debug', 0) + echohl Error | echon '[coc.nvim] use let g:node_client_debug = 1 in your vimrc to enabled debug mode.' | echohl None + return + endif + execute 'vs '.s:logfile +endfunction diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/color.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/color.vim new file mode 100644 index 0000000..3ef527e --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/color.vim @@ -0,0 +1,192 @@ +scriptencoding utf-8 +" Returns an approximate grey index for the given grey level +fun! s:grey_number(x) + if &t_Co == 88 + if a:x < 23 + return 0 + elseif a:x < 69 + return 1 + elseif a:x < 103 + return 2 + elseif a:x < 127 + return 3 + elseif a:x < 150 + return 4 + elseif a:x < 173 + return 5 + elseif a:x < 196 + return 6 + elseif a:x < 219 + return 7 + elseif a:x < 243 + return 8 + else + return 9 + endif + else + if a:x < 14 + return 0 + else + let l:n = (a:x - 8) / 10 + let l:m = (a:x - 8) % 10 + if l:m < 5 + return l:n + else + return l:n + 1 + endif + endif + endif +endfun + +" Returns the actual grey level represented by the grey index +fun! s:grey_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 46 + elseif a:n == 2 + return 92 + elseif a:n == 3 + return 115 + elseif a:n == 4 + return 139 + elseif a:n == 5 + return 162 + elseif a:n == 6 + return 185 + elseif a:n == 7 + return 208 + elseif a:n == 8 + return 231 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 8 + (a:n * 10) + endif + endif +endfun + +" Returns the palette index for the given grey index +fun! s:grey_colour(n) + if &t_Co == 88 + if a:n == 0 + return 16 + elseif a:n == 9 + return 79 + else + return 79 + a:n + endif + else + if a:n == 0 + return 16 + elseif a:n == 25 + return 231 + else + return 231 + a:n + endif + endif +endfun + +" Returns an approximate colour index for the given colour level +fun! s:rgb_number(x) + if &t_Co == 88 + if a:x < 69 + return 0 + elseif a:x < 172 + return 1 + elseif a:x < 230 + return 2 + else + return 3 + endif + else + if a:x < 75 + return 0 + else + let l:n = (a:x - 55) / 40 + let l:m = (a:x - 55) % 40 + if l:m < 20 + return l:n + else + return l:n + 1 + endif + endif + endif +endfun + +" Returns the palette index for the given R/G/B colour indices +fun! s:rgb_colour(x, y, z) + if &t_Co == 88 + return 16 + (a:x * 16) + (a:y * 4) + a:z + else + return 16 + (a:x * 36) + (a:y * 6) + a:z + endif +endfun + +" Returns the actual colour level for the given colour index +fun! s:rgb_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 139 + elseif a:n == 2 + return 205 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 55 + (a:n * 40) + endif + endif +endfun + +" Returns the palette index to approximate the given R/G/B colour levels +fun! s:colour(r, g, b) + " Get the closest grey + let l:gx = s:grey_number(a:r) + let l:gy = s:grey_number(a:g) + let l:gz = s:grey_number(a:b) + + " Get the closest colour + let l:x = s:rgb_number(a:r) + let l:y = s:rgb_number(a:g) + let l:z = s:rgb_number(a:b) + + if l:gx == l:gy && l:gy == l:gz + " There are two possibilities + let l:dgr = s:grey_level(l:gx) - a:r + let l:dgg = s:grey_level(l:gy) - a:g + let l:dgb = s:grey_level(l:gz) - a:b + let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) + let l:dr = s:rgb_level(l:gx) - a:r + let l:dg = s:rgb_level(l:gy) - a:g + let l:db = s:rgb_level(l:gz) - a:b + let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) + if l:dgrey < l:drgb + " Use the grey + return s:grey_colour(l:gx) + else + " Use the colour + return s:rgb_colour(l:x, l:y, l:z) + endif + else + " Only one possibility + return s:rgb_colour(l:x, l:y, l:z) + endif +endfun + +function! coc#color#rgb2term(rgb) + let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 + let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 + let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 + return s:colour(l:r, l:g, l:b) +endfun diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/compat.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/compat.vim new file mode 100644 index 0000000..d53c109 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/compat.vim @@ -0,0 +1,190 @@ +scriptencoding utf-8 +let s:is_vim = !has('nvim') + +" first window id for bufnr +" builtin bufwinid returns window of current tab only +function! coc#compat#buf_win_id(bufnr) abort + let info = filter(getwininfo(), 'v:val["bufnr"] =='.a:bufnr) + if empty(info) + return -1 + endif + return info[0]['winid'] +endfunction + +function! coc#compat#buf_set_lines(bufnr, start, end, replacement) abort + if s:is_vim + call coc#api#notify('buf_set_lines', [a:bufnr, a:start, a:end, 0, a:replacement]) + else + call nvim_buf_set_lines(a:bufnr, a:start, a:end, 0, a:replacement) + endif +endfunction + +function! coc#compat#win_is_valid(winid) abort + if exists('*nvim_win_is_valid') + return nvim_win_is_valid(a:winid) + endif + return !empty(getwininfo(a:winid)) +endfunction + +" clear matches by window id, not throw on none exists window. +" may not work on vim < 8.1.1084 & neovim < 0.4.0 +function! coc#compat#clear_matches(winid) abort + if !coc#compat#win_is_valid(a:winid) + return + endif + let curr = win_getid() + if curr == a:winid + call clearmatches() + return + endif + if s:is_vim + if has('patch-8.1.1084') + call clearmatches(a:winid) + endif + else + if exists('*nvim_set_current_win') + noa call nvim_set_current_win(a:winid) + call clearmatches() + noa call nvim_set_current_win(curr) + endif + endif +endfunction + +function! coc#compat#matchaddpos(group, pos, priority, winid) abort + let curr = win_getid() + if curr == a:winid + call matchaddpos(a:group, a:pos, a:priority, -1) + else + if s:is_vim + if has('patch-8.1.0218') + call matchaddpos(a:group, a:pos, a:priority, -1, {'window': a:winid}) + endif + else + if has('nvim-0.4.0') + call matchaddpos(a:group, a:pos, a:priority, -1, {'window': a:winid}) + elseif exists('*nvim_set_current_win') + noa call nvim_set_current_win(a:winid) + call matchaddpos(a:group, a:pos, a:priority, -1) + noa call nvim_set_current_win(curr) + endif + endif + endif +endfunction + +function! coc#compat#buf_del_var(bufnr, name) abort + if !bufloaded(a:bufnr) + return + endif + if exists('*nvim_buf_del_var') + silent! call nvim_buf_del_var(a:bufnr, a:name) + else + if bufnr == bufnr('%') + execute 'unlet! b:'.a:name + elseif exists('*win_execute') + let winid = coc#compat#buf_win_id(a:bufnr) + if winid != -1 + call win_execute(winid, 'unlet! b:'.a:name) + endif + endif + endif +endfunction + +" hlGroup, pos, priority +function! coc#compat#matchaddgroups(winid, groups) abort + " add by winid + if has('patch-8.1.0218') || has('nvim-0.4.0') + for group in a:groups + call matchaddpos(group['hlGroup'], [group['pos']], group['priority'], -1, {'window': a:winid}) + endfor + return + endif + let curr = win_getid() + if curr == a:winid + for group in a:groups + call matchaddpos(group['hlGroup'], [group['pos']], group['priority'], -1) + endfor + elseif exists('*nvim_set_current_win') + noa call nvim_set_current_win(a:winid) + for group in a:groups + call matchaddpos(group['hlGroup'], [group['pos']], group['priority'], -1) + endfor + noa call nvim_set_current_win(curr) + endif +endfunction + +" remove keymap for specific buffer +function! coc#compat#buf_del_keymap(bufnr, mode, lhs) abort + if !bufloaded(a:bufnr) + return + endif + if exists('*nvim_buf_del_keymap') + try + call nvim_buf_del_keymap(a:bufnr, a:mode, a:lhs) + catch /^Vim\%((\a\+)\)\=:E5555/ + " ignore keymap not exists. + endtry + return + endif + if bufnr == a:bufnr + execute 'silent! '.a:mode.'unmap '.a:lhs + return + endif + if exists('*win_execute') + let winid = coc#compat#buf_win_id(a:bufnr) + if winid != -1 + call win_execute(winid, 'silent! '.a:mode.'unmap '.a:lhs) + endif + endif +endfunction + +function! coc#compat#buf_add_keymap(bufnr, mode, lhs, rhs, opts) abort + if !bufloaded(a:bufnr) + return + endif + if exists('*nvim_buf_set_keymap') + call nvim_buf_set_keymap(a:bufnr, a:mode, a:lhs, a:rhs, a:opts) + else + let cmd = a:mode . 'noremap ' + for key in keys(a:opts) + if get(a:opts, key, 0) + let cmd .= '<'.key.'>' + endif + endfor + let cmd .= ' '.a:lhs.' '.a:rhs + if bufnr('%') == a:bufnr + execute cmd + elseif exists('*win_execute') + let winid = coc#compat#buf_win_id(a:bufnr) + if winid != -1 + call win_execute(winid, cmd) + endif + endif + endif +endfunction + +" execute command or list of commands in window +function! coc#compat#execute(winid, command, ...) abort + if exists('*win_execute') + if type(a:command) == v:t_string + keepalt call win_execute(a:winid, a:command, get(a:, 1, '')) + elseif type(a:command) == v:t_list + keepalt call win_execute(a:winid, join(a:command, "\n"), get(a:, 1, '')) + endif + elseif has('nvim') + if !nvim_win_is_valid(a:winid) + return + endif + let curr = nvim_get_current_win() + noa keepalt call nvim_set_current_win(a:winid) + if type(a:command) == v:t_string + exe get(a:, 1, '').' '.a:command + elseif type(a:command) == v:t_list + for cmd in a:command + exe get(a:, 1, '').' '.cmd + endfor + endif + noa keepalt call nvim_set_current_win(curr) + else + throw 'win_execute not exists, please upgrade vim.' + endif +endfunc diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/cursor.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/cursor.vim new file mode 100644 index 0000000..f5ba66a --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/cursor.vim @@ -0,0 +1,41 @@ +scriptencoding utf-8 + +" Position of cursor relative to screen cell +function! coc#cursor#screen_pos() abort + let nr = winnr() + let [row, col] = win_screenpos(nr) + return [row + winline() - 2, col + wincol() - 2] +endfunction + +function! coc#cursor#move_by_col(delta) + let pos = getcurpos() + call cursor(pos[1], pos[2] + a:delta) +endfunction + +" Get cursor position. +function! coc#cursor#position() + return [line('.') - 1, strchars(strpart(getline('.'), 0, col('.') - 1))] +endfunction + +" Move cursor to position. +function! coc#cursor#move_to(line, character) abort + let content = getline(a:line + 1) + let pre = strcharpart(content, 0, a:character) + let col = strlen(pre) + 1 + call cursor(a:line + 1, col) +endfunction + +" Character offset of current cursor, vim provide bytes offset only. +function! coc#cursor#char_offset() abort + let offset = 0 + let lnum = line('.') + for i in range(1, lnum) + if i == lnum + let offset += strchars(strpart(getline('.'), 0, col('.')-1)) + else + let offset += strchars(getline(i)) + 1 + endif + endfor + return offset +endfunction + diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/float.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/float.vim new file mode 100644 index 0000000..4d5801e --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/float.vim @@ -0,0 +1,1866 @@ +scriptencoding utf-8 +let s:is_vim = !has('nvim') +let s:root = expand(':h:h:h') +let s:progresschars = get(g:, 'coc_progress_chars', ['░', '▇']) +let s:borderchars = get(g:, 'coc_borderchars', ['─', '│', '─', '│', '┌', '┐', '┘', '└']) +let s:borderjoinchars = get(g:, 'coc_border_joinchars', ['┬', '┤', '┴', '├']) +let s:prompt_win_width = get(g:, 'coc_prompt_win_width', 32) +let s:prompt_win_bufnr = 0 +let s:float_supported = exists('*nvim_open_win') || has('patch-8.1.1719') +let s:popup_list_api = exists('*popup_list') +" Popup ids, used when popup_list() not exists +let s:popup_list = [] +" winvar: border array of numbers, button boolean + +" Check visible float/popup exists. +function! coc#float#has_float(...) abort + return len(coc#float#get_float_win_list(get(a:, 1, 0))) > 0 +endfunction + +function! coc#float#close_all(...) abort + let winids = coc#float#get_float_win_list(get(a:, 1, 0)) + for id in winids + try + call coc#float#close(id) + catch /E5555:/ + " ignore + endtry + endfor +endfunction + +function! coc#float#jump() abort + if s:is_vim + return + endif + let winids = coc#float#get_float_win_list() + if !empty(winids) + call win_gotoid(winids[0]) + endif +endfunction + +" create or config float window, returns [winid, bufnr], config including: +" - relative: could be 'editor' 'cursor' +" - row: line count relative to editor/cursor, nagetive number means abover cursor. +" - col: column count relative to editor/cursor, nagetive number means left of cursor. +" - width: content width without border and title. +" - height: content height without border and title. +" - lines: (optional) lines to insert, default to v:null. +" - title: (optional) title. +" - border: (optional) border as number list, like [1, 1, 1 ,1]. +" - cursorline: (optional) enable cursorline when is 1. +" - autohide: (optional) window should be closed on CursorMoved when is 1. +" - highlight: (optional) highlight of window, default to 'CocFloating' +" - borderhighlight: (optional) should be array for border highlights, +" highlight all borders with first value. +" - close: (optional) show close button when is 1. +" - buttons: (optional) array of button text for create buttons at bottom. +" - codes: (optional) list of CodeBlock. +" - winblend: winblend option for float window, neovim only. +" - shadow: use shadow as border style, neovim only. +" - focusable: neovim only, default to true. +function! coc#float#create_float_win(winid, bufnr, config) abort + let lines = get(a:config, 'lines', v:null) + let bufnr = coc#float#create_buf(a:bufnr, lines, 'hide') + " use exists + if a:winid && coc#float#valid(a:winid) + if s:is_vim + let [line, col] = s:popup_position(a:config) + let opts = { + \ 'firstline': 1, + \ 'line': line, + \ 'col': col, + \ 'minwidth': a:config['width'], + \ 'minheight': a:config['height'], + \ 'maxwidth': a:config['width'], + \ 'maxheight': a:config['height'], + \ 'cursorline': get(a:config, 'cursorline', 0), + \ 'title': get(a:config, 'title', ''), + \ } + if !s:empty_border(get(a:config, 'border', [])) + let opts['border'] = a:config['border'] + endif + call popup_setoptions(a:winid, opts) + call coc#float#vim_buttons(a:winid, a:config) + call s:add_highlights(a:winid, a:config, 0) + return [a:winid, winbufnr(a:winid)] + else + let config = s:convert_config_nvim(a:config) + call nvim_win_set_buf(a:winid, bufnr) + call nvim_win_set_config(a:winid, config) + call nvim_win_set_cursor(a:winid, [1, 0]) + call coc#float#nvim_create_related(a:winid, config, a:config) + call s:add_highlights(a:winid, a:config, 0) + return [a:winid, bufnr] + endif + endif + let winid = 0 + if s:is_vim + let [line, col] = s:popup_position(a:config) + let title = get(a:config, 'title', '') + let buttons = get(a:config, 'buttons', []) + let hlgroup = get(a:config, 'highlight', 'CocFloating') + let opts = { + \ 'title': title, + \ 'line': line, + \ 'col': col, + \ 'fixed': 1, + \ 'padding': empty(title) ? [0, 1, 0, 1] : [0, 0, 0, 0], + \ 'borderchars': s:borderchars, + \ 'highlight': hlgroup, + \ 'cursorline': get(a:config, 'cursorline', 0), + \ 'minwidth': a:config['width'], + \ 'minheight': a:config['height'], + \ 'maxwidth': a:config['width'], + \ 'maxheight': a:config['height'] + \ } + if get(a:config, 'close', 0) + let opts['close'] = 'button' + endif + if !empty(get(a:config, 'borderhighlight', v:null)) + let borderhighlight = a:config['borderhighlight'] + let opts['borderhighlight'] = type(borderhighlight) == 3 + \ ? map(borderhighlight, 'coc#highlight#compose_hlgroup(v:val,"'.hlgroup.'")') + \ : [coc#highlight#compose_hlgroup(borderhighlight, hlgroup)] + endif + if !s:empty_border(get(a:config, 'border', [])) + let opts['border'] = a:config['border'] + endif + let winid = popup_create(bufnr, opts) + if !s:popup_list_api + call add(s:popup_list, winid) + endif + if winid == 0 + return [] + endif + call coc#float#vim_buttons(winid, a:config) + if has("patch-8.1.2281") + call setwinvar(winid, '&showbreak', 'NONE') + endif + else + let config = s:convert_config_nvim(a:config) + let border = get(a:config, 'border', []) + if has('nvim-0.5.0') && get(a:config, 'shadow', 0) && empty(get(a:config, 'buttons', v:null)) && empty(get(border, 2, 0)) + let config['border'] = 'shadow' + endif + noa let winid = nvim_open_win(bufnr, 0, config) + if winid == 0 + return [] + endif + let hlgroup = get(a:config, 'highlight', 'CocFloating') + call setwinvar(winid, '&winhl', 'Normal:'.hlgroup.',NormalNC:'.hlgroup.',FoldColumn:'.hlgroup) + call setwinvar(winid, '&signcolumn', 'no') + call setwinvar(winid, '&foldenable', 0) + " cursorline highlight not work on old neovim + call setwinvar(winid, '&cursorline', 0) + call setwinvar(winid, 'border', get(a:config, 'border', [])) + if get(a:config, 'winblend', 0) + call setwinvar(winid, '&winblend', a:config['winblend']) + endif + " no left border + if s:empty_border(get(a:config, 'border', [])) || a:config['border'][3] == 0 + call setwinvar(winid, '&foldcolumn', 1) + else + call setwinvar(winid, '&foldcolumn', 0) + endif + call nvim_win_set_cursor(winid, [1, 0]) + call coc#float#nvim_create_related(winid, config, a:config) + endif + if get(a:config, 'autohide', 0) + call setwinvar(winid, 'autohide', 1) + endif + if s:is_vim || has('nvim-0.5.0') + call setwinvar(winid, '&scrolloff', 0) + endif + call setwinvar(winid, 'float', 1) + call setwinvar(winid, '&list', 0) + call setwinvar(winid, '&number', 0) + call setwinvar(winid, '&relativenumber', 0) + call setwinvar(winid, '&cursorcolumn', 0) + call setwinvar(winid, '&colorcolumn', 0) + call setwinvar(winid, '&wrap', 1) + call setwinvar(winid, '&linebreak', 1) + call setwinvar(winid, '&conceallevel', 0) + call s:add_highlights(winid, a:config, 0) + let g:coc_last_float_win = winid + call coc#util#do_autocmd('CocOpenFloat') + return [winid, bufnr] +endfunction + +function! coc#float#valid(winid) abort + if a:winid <= 0 + return 0 + endif + if has('nvim') + return nvim_win_is_valid(a:winid) ? 1 : 0 + endif + return s:popup_visible(a:winid) +endfunction + +function! coc#float#nvim_create_related(winid, config, opts) abort + let related = getwinvar(a:winid, 'related', []) + let exists = !empty(related) + let border = get(a:opts, 'border', []) + let highlights = get(a:opts, 'borderhighlight', []) + let hlgroup = get(a:opts, 'highlight', 'CocFloating') + let borderhighlight = type(highlights) == 1 ? highlights : get(highlights, 0, 'CocFloating') + let borderhighlight = coc#highlight#compose_hlgroup(borderhighlight, hlgroup) + let title = get(a:opts, 'title', '') + let buttons = get(a:opts, 'buttons', []) + let pad = empty(border) || get(border, 1, 0) == 0 + let winblend = get(a:opts, 'winblend', 0) + let shadow = get(a:opts, 'shadow', 0) + if get(a:opts, 'close', 0) + call coc#float#nvim_close_btn(a:config, a:winid, border, borderhighlight, winblend, related) + elseif exists + call coc#float#close_related(a:winid, 'close') + endif + if !empty(buttons) + call coc#float#nvim_buttons(a:config, a:winid, buttons, get(border, 2, 0), pad, hlgroup, borderhighlight, winblend, shadow, related) + elseif exists + call coc#float#close_related(a:winid, 'buttons') + endif + if !s:empty_border(border) + call coc#float#nvim_border_win(a:config, a:winid, border, title, !empty(buttons), borderhighlight, winblend, shadow, related) + elseif exists + call coc#float#close_related(a:winid, 'border') + endif + " Check right border + if pad + call coc#float#nvim_right_pad(a:config, a:winid, hlgroup, winblend, related) + elseif exists + call coc#float#close_related(a:winid, 'pad') + endif + call setwinvar(a:winid, 'related', filter(related, 'nvim_win_is_valid(v:val)')) +endfunction + +" border window for neovim, content config with border +function! coc#float#nvim_border_win(config, winid, border, title, hasbtn, hlgroup, winblend, shadow, related) abort + let winid = coc#float#get_related(a:winid, 'border') + let row = a:border[0] ? a:config['row'] - 1 : a:config['row'] + let col = a:border[3] ? a:config['col'] - 1 : a:config['col'] + let width = a:config['width'] + a:border[1] + a:border[3] + let height = a:config['height'] + a:border[0] + a:border[2] + (a:hasbtn ? 2 : 0) + let lines = coc#float#create_border_lines(a:border, a:title, a:config['width'], a:config['height'], a:hasbtn) + let bufnr = winid ? winbufnr(winid) : 0 + let bufnr = coc#float#create_buf(bufnr, lines) + let opt = { + \ 'relative': a:config['relative'], + \ 'width': width, + \ 'height': height, + \ 'row': row, + \ 'col': col, + \ 'focusable': v:false, + \ 'style': 'minimal', + \ } + if has('nvim-0.5.0') && a:shadow && !a:hasbtn && a:border[2] + let opt['border'] = 'shadow' + endif + if winid + call nvim_win_set_config(winid, opt) + call setwinvar(winid, '&winhl', 'Normal:'.a:hlgroup.',NormalNC:'.a:hlgroup) + else + noa let winid = nvim_open_win(bufnr, 0, opt) + if winid + if a:winblend + call setwinvar(winid, '&winblend', a:winblend) + endif + call setwinvar(winid, '&winhl', 'Normal:'.a:hlgroup.',NormalNC:'.a:hlgroup) + call setwinvar(winid, 'target_winid', a:winid) + call setwinvar(winid, 'kind', 'border') + call add(a:related, winid) + endif + endif +endfunction + +" neovim only +function! coc#float#nvim_close_btn(config, winid, border, hlgroup, winblend, related) abort + let winid = coc#float#get_related(a:winid, 'close') + let config = { + \ 'relative': a:config['relative'], + \ 'width': 1, + \ 'height': 1, + \ 'row': get(a:border, 0, 0) ? a:config['row'] - 1 : a:config['row'], + \ 'col': a:config['col'] + a:config['width'], + \ 'focusable': v:true, + \ 'style': 'minimal', + \ } + if has('nvim-0.5.0') + let config['zindex'] = 300 + endif + if winid + call nvim_win_set_config(winid, config) + else + let bufnr = coc#float#create_buf(0, ['X']) + noa let winid = nvim_open_win(bufnr, 0, config) + if winid + call setwinvar(winid, '&winhl', 'Normal:'.a:hlgroup.',NormalNC:'.a:hlgroup) + call setwinvar(winid, 'target_winid', a:winid) + call setwinvar(winid, 'kind', 'close') + if a:winblend + call setwinvar(winid, '&winblend', a:winblend) + endif + call add(a:related, winid) + endif + call s:nvim_create_keymap(winid) + endif +endfunction + +" Create padding window by config of current window & border config +function! coc#float#nvim_right_pad(config, winid, hlgroup, winblend, related) abort + let winid = coc#float#get_related(a:winid, 'pad') + let bufnr = 0 + let config = { + \ 'relative': a:config['relative'], + \ 'width': 1, + \ 'height': a:config['height'], + \ 'row': a:config['row'], + \ 'col': a:config['col'] + a:config['width'], + \ 'focusable': v:false, + \ 'style': 'minimal', + \ } + if has('nvim-0.5.0') + let config['zindex'] = 300 + endif + if winid && nvim_win_is_valid(winid) + let bufnr = nvim_win_get_buf(winid) + noa call nvim_win_close(winid, 1) + endif + let bufnr = coc#float#create_buf(bufnr, repeat([''], a:config['height'])) + noa let winid = nvim_open_win(bufnr, 0, config) + if winid + " minimal not work + if !has('nvim-0.4.3') + call setwinvar(winid, '&colorcolumn', 0) + call setwinvar(winid, '&number', 0) + call setwinvar(winid, '&relativenumber', 0) + call setwinvar(winid, '&foldcolumn', 0) + call setwinvar(winid, '&signcolumn', 0) + endif + if a:winblend + call setwinvar(winid, '&winblend', a:winblend) + endif + call setwinvar(winid, '&winhl', 'Normal:'.a:hlgroup.',NormalNC:'.a:hlgroup) + call setwinvar(winid, 'target_winid', a:winid) + call setwinvar(winid, 'kind', 'pad') + call add(a:related, winid) + endif +endfunction + +" draw buttons window for window with config +function! coc#float#nvim_buttons(config, winid, buttons, borderbottom, pad, hlgroup, borderhighlight, winblend, shadow, related) abort + let winid = coc#float#get_related(a:winid, 'buttons') + let width = a:config['width'] + (a:pad ? 1 : 0) + let config = { + \ 'row': a:config['row'] + a:config['height'], + \ 'col': a:config['col'], + \ 'width': width, + \ 'height': 2 + (a:borderbottom ? 1 : 0), + \ 'relative': a:config['relative'], + \ 'focusable': 1, + \ 'style': 'minimal', + \ } + if has('nvim-0.5.0') + let config['zindex'] = 300 + if a:shadow + let config['border'] = 'shadow' + endif + endif + if winid + let bufnr = winbufnr(winid) + call s:create_btns_buffer(bufnr, width, a:buttons, a:borderbottom) + call nvim_win_set_config(winid, config) + else + let bufnr = s:create_btns_buffer(0, width, a:buttons, a:borderbottom) + noa let winid = nvim_open_win(bufnr, 0, config) + if winid + call setwinvar(winid, '&winhl', 'Normal:'.a:hlgroup.',NormalNC:'.a:hlgroup) + call setwinvar(winid, 'target_winid', a:winid) + call setwinvar(winid, 'kind', 'buttons') + if a:winblend + call setwinvar(winid, '&winblend', a:winblend) + endif + call add(a:related, winid) + call s:nvim_create_keymap(winid) + endif + endif + if bufnr && a:hlgroup != a:borderhighlight + call nvim_buf_clear_namespace(bufnr, -1, 0, -1) + call nvim_buf_add_highlight(bufnr, 1, a:borderhighlight, 0, 0, -1) + if a:borderbottom + call nvim_buf_add_highlight(bufnr, 1, a:borderhighlight, 2, 0, -1) + endif + let vcols = getbufvar(bufnr, 'vcols', []) + " TODO need change vol to col + for col in vcols + call nvim_buf_add_highlight(bufnr, 1, a:borderhighlight, 1, col, col + 3) + endfor + endif +endfunction + +" Create or refresh scrollbar for winid +" Need called on create, config, buffer change, scrolled +function! coc#float#nvim_scrollbar(winid) abort + if !has('nvim-0.4.0') || getwinvar(a:winid, 'target_winid', 0) + return + endif + let winids = nvim_tabpage_list_wins(nvim_get_current_tabpage()) + if index(winids, a:winid) == -1 + return + endif + let config = nvim_win_get_config(a:winid) + let [row, column] = nvim_win_get_position(a:winid) + let relative = 'editor' + if row == 0 && column == 0 + " fix bad value when ext_multigrid is enabled. https://github.com/neovim/neovim/issues/11935 + let [row, column] = [config.row, config.col] + let relative = config.relative + endif + let width = nvim_win_get_width(a:winid) + let height = nvim_win_get_height(a:winid) + let bufnr = winbufnr(a:winid) + let cw = getwinvar(a:winid, '&foldcolumn', 0) ? width - 1 : width + let ch = coc#float#content_height(bufnr, cw, getwinvar(a:winid, '&wrap')) + let closewin = coc#float#get_related(a:winid, 'close') + let border = getwinvar(a:winid, 'border', []) + let winblend = getwinvar(a:winid, '&winblend', 0) + let move_down = closewin && !get(border, 0, 0) + let id = coc#float#get_related(a:winid, 'scrollbar') + if ch <= height || height <= 1 + " no scrollbar, remove exists + if id + call s:close_win(id) + endif + return + endif + if move_down + let height = height - 1 + endif + call coc#float#close_related(a:winid, 'pad') + let sbuf = id ? winbufnr(id) : 0 + let sbuf = coc#float#create_buf(sbuf, repeat([' '], height)) + let opts = { + \ 'row': move_down ? row + 1 : row, + \ 'col': column + width, + \ 'relative': relative, + \ 'width': 1, + \ 'height': height, + \ 'focusable': v:false, + \ 'style': 'minimal', + \ } + if has('nvim-0.5.0') + let opts['zindex'] = 300 + endif + if id + call nvim_win_set_config(id, opts) + else + noa let id = nvim_open_win(sbuf, 0 , opts) + if id == 0 + return + endif + if winblend + call setwinvar(id, '&winblend', winblend) + endif + call setwinvar(id, 'kind', 'scrollbar') + call setwinvar(id, 'target_winid', a:winid) + call s:add_related(id, a:winid) + endif + call coc#float#nvim_scroll_adjust(a:winid) + let thumb_height = max([1, float2nr(floor(height * (height + 0.0)/ch))]) + let wininfo = getwininfo(a:winid)[0] + let start = 0 + if wininfo['topline'] != 1 + " needed for correct getwininfo + let firstline = wininfo['topline'] + let lastline = s:nvim_get_botline(firstline, height, cw, bufnr) + let linecount = nvim_buf_line_count(winbufnr(a:winid)) + if lastline >= linecount + let start = height - thumb_height + else + let start = max([1, float2nr(round((height - thumb_height + 0.0)*(firstline - 1.0)/(ch - height)))]) + endif + endif + " add highlights + call nvim_buf_clear_namespace(sbuf, -1, 0, -1) + for idx in range(0, height - 1) + if idx >= start && idx < start + thumb_height + call nvim_buf_add_highlight(sbuf, -1, 'PmenuThumb', idx, 0, 1) + else + call nvim_buf_add_highlight(sbuf, -1, 'PmenuSbar', idx, 0, 1) + endif + endfor +endfunction + +function! coc#float#create_border_lines(border, title, width, height, hasbtn) abort + let list = [] + if a:border[0] + let top = (a:border[3] ? s:borderchars[4]: '') + \.repeat(s:borderchars[0], a:width) + \.(a:border[1] ? s:borderchars[5] : '') + if !empty(a:title) + let top = coc#helper#str_compose(top, 1, a:title.' ') + endif + call add(list, top) + endif + let mid = (a:border[3] ? s:borderchars[3]: '') + \.repeat(' ', a:width) + \.(a:border[1] ? s:borderchars[1] : '') + call extend(list, repeat([mid], a:height + (a:hasbtn ? 2 : 0))) + if a:hasbtn + let list[len(list) - 2] = (a:border[3] ? s:borderjoinchars[3]: '') + \.repeat(' ', a:width) + \.(a:border[1] ? s:borderjoinchars[1] : '') + endif + if a:border[2] + let bot = (a:border[3] ? s:borderchars[7]: '') + \.repeat(s:borderchars[2], a:width) + \.(a:border[1] ? s:borderchars[6] : '') + call add(list, bot) + endif + return list +endfunction + +" Get config, convert lines, create window, add highlights +function! coc#float#create_cursor_float(winid, bufnr, lines, config) abort + if !s:float_supported + return v:null + endif + if s:is_blocking() + return v:null + endif + let pumAlignTop = get(a:config, 'pumAlignTop', 0) + let modes = get(a:config, 'modes', ['n', 'i', 'ic', 's']) + let mode = mode() + let currbuf = bufnr('%') + let pos = [line('.'), col('.')] + if index(modes, mode) == -1 + return v:null + endif + if has('nvim') && mode ==# 'i' + " helps to fix undo issue, don't know why. + call feedkeys("\u", 'n') + endif + let dimension = coc#float#get_config_cursor(a:lines, a:config) + if empty(dimension) + return v:null + endif + if pumvisible() && ((pumAlignTop && dimension['row'] <0)|| (!pumAlignTop && dimension['row'] > 0)) + return v:null + endif + let width = dimension['width'] + let lines = map(a:lines, {_, s -> s =~# '^─' ? repeat('─', width) : s}) + let config = extend(extend({'lines': lines, 'relative': 'cursor'}, a:config), dimension) + call coc#float#close_auto_hide_wins(a:winid) + let res = coc#float#create_float_win(a:winid, a:bufnr, config) + if empty(res) + return v:null + endif + let alignTop = dimension['row'] < 0 + let winid = res[0] + let bufnr = res[1] + redraw + if has('nvim') + call coc#float#nvim_scrollbar(winid) + endif + return [currbuf, pos, winid, bufnr, alignTop] +endfunction + +" Create float window for input +function! coc#float#create_prompt_win(title, default, opts) abort + call coc#float#close_auto_hide_wins() + " Calculate col + let curr = win_screenpos(winnr())[1] + wincol() - 2 + let width = coc#helper#min(max([strdisplaywidth(a:default) + 2, s:prompt_win_width]), &columns - 2) + if width == &columns - 2 + let col = 0 - curr + else + let col = curr + width <= &columns - 2 ? 0 : &columns - s:prompt_win_width + endif + let [lineIdx, colIdx] = coc#cursor#screen_pos() + let bufnr = 0 + if has('nvim') + let bufnr = s:prompt_win_bufnr + else + execute 'hi link CocPopupTerminal '.get(a:opts, 'highlight', 'CocFloating') + let node = expand(get(g:, 'coc_node_path', 'node')) + let bufnr = term_start([node, s:root . '/bin/prompt.js', a:default], { + \ 'term_highlight': 'CocPopupTerminal', + \ 'hidden': 1, + \ 'term_finish': 'close' + \ }) + call term_setapi(bufnr, "Coc") + endif + let res = coc#float#create_float_win(0, bufnr, { + \ 'relative': 'cursor', + \ 'row': lineIdx == 0 ? 1 : 0, + \ 'col': colIdx == 0 ? 0 : col - 1, + \ 'width': width, + \ 'height': 1, + \ 'style': 'minimal', + \ 'border': [1,1,1,1], + \ 'prompt': 1, + \ 'title': a:title, + \ 'lines': s:is_vim ? v:null : [a:default], + \ 'highlight': get(a:opts, 'highlight', 'CocFloating'), + \ 'borderhighlight': [get(a:opts, 'borderhighlight', 'CocFloating')], + \ }) + if empty(res) || res[0] == 0 + return + endif + let winid = res[0] + let bufnr = res[1] + if has('nvim') + let s:prompt_win_bufnr = res[1] + execute 'sign unplace 6 buffer='.s:prompt_win_bufnr + call nvim_set_current_win(winid) + inoremap + inoremap pumvisible() ? "\" : "\" + exe 'imap ' + exe 'nnoremap :call coc#float#close('.winid.')' + exe 'inoremap "\=coc#float#prompt_insert(getline(''.''))\\"' + call feedkeys('A', 'in') + endif + return [bufnr, winid] +endfunction + +function! coc#float#prompt_insert(text) abort + call coc#rpc#notify('PromptInsert', [a:text]) + return '' +endfunction + +" Close float window by id +function! coc#float#close(winid) abort + call coc#float#close_related(a:winid) + call s:close_win(a:winid) + return 1 +endfunction + +" Float window id on current tab. +" return 0 if not found, used by test only +function! coc#float#get_float_win() abort + if has('nvim') + for i in range(1, winnr('$')) + let id = win_getid(i) + let config = nvim_win_get_config(id) + if (!empty(config) && config['focusable'] == v:true && !empty(config['relative'])) + if !getwinvar(id, 'button', 0) + return id + endif + endif + endfor + else + let ids = s:popup_list_api ? popup_list() : s:popup_list + return get(filter(ids, 's:popup_visible(v:val)'), 0, 0) + endif + return 0 +endfunction + +function! coc#float#get_float_win_list(...) abort + let res = [] + let all = get(a:, 1, 0) + if s:is_vim + if s:popup_list_api + return filter(popup_list(), 'popup_getpos(v:val)["visible"]'.(all ? '' : '&& getwinvar(v:val, "float", 0)')) + endif + return filter(s:popup_list, 's:popup_visible(v:val)') + elseif has('nvim') && exists('*nvim_win_get_config') + let res = [] + for i in range(1, winnr('$')) + let id = win_getid(i) + let config = nvim_win_get_config(id) + if empty(config) || empty(config['relative']) + continue + endif + " ignore border & button window & others + if !all && !getwinvar(id, 'float', 0) + continue + endif + call add(res, id) + endfor + return res + endif + return [] +endfunction + +" Check if a float window is scrollable +function! coc#float#scrollable(winid) abort + let bufnr = winbufnr(a:winid) + if bufnr == -1 + return 0 + endif + if s:is_vim + let pos = popup_getpos(a:winid) + if get(popup_getoptions(a:winid), 'scrollbar', 0) + return get(pos, 'scrollbar', 0) + endif + let ch = coc#float#content_height(bufnr, pos['core_width'], getwinvar(a:winid, '&wrap')) + return ch > pos['core_height'] + else + let height = nvim_win_get_height(a:winid) + let width = nvim_win_get_width(a:winid) + if width > 1 && getwinvar(a:winid, '&foldcolumn', 0) + " since we use foldcolumn for left pading + let width = width - 1 + endif + let ch = coc#float#content_height(bufnr, width, getwinvar(a:winid, '&wrap')) + return ch > height + endif +endfunction + +function! coc#float#has_scroll() abort + let win_ids = filter(coc#float#get_float_win_list(), 'coc#float#scrollable(v:val)') + return !empty(win_ids) +endfunction + +function! coc#float#scroll(forward, ...) + if !has('nvim-0.4.0') && !has('patch-8.2.0750') + throw 'coc#float#scroll() requires nvim >= 0.4.0 or vim >= 8.2.0750' + endif + let amount = get(a:, 1, 0) + let winids = filter(coc#float#get_float_win_list(), 'coc#float#scrollable(v:val)') + if empty(winids) + return '' + endif + for winid in winids + if s:is_vim + call coc#float#scroll_win(winid, a:forward, amount) + else + call timer_start(0, { -> coc#float#scroll_win(winid, a:forward, amount)}) + endif + endfor + return mode() =~ '^i' || mode() ==# 'v' ? "" : "\" +endfunction + +function! coc#float#scroll_win(winid, forward, amount) abort + let opts = s:get_options(a:winid) + let lines = getbufline(winbufnr(a:winid), 1, '$') + let maxfirst = s:max_firstline(lines, opts['height'], opts['width']) + let topline = opts['topline'] + let height = opts['height'] + let width = opts['width'] + let scrolloff = getwinvar(a:winid, '&scrolloff', 0) + if a:forward && topline >= maxfirst + return + endif + if !a:forward && topline == 1 + return + endif + if a:amount == 0 + let topline = s:get_topline(opts['topline'], lines, a:forward, height, width) + else + let topline = topline + (a:forward ? a:amount : - a:amount) + endif + let topline = a:forward ? min([maxfirst, topline]) : max([1, topline]) + let lnum = s:get_cursorline(topline, lines, scrolloff, width, height) + call s:win_setview(a:winid, topline, lnum) + let top = s:get_options(a:winid)['topline'] + " not changed + if top == opts['topline'] + if a:forward + call s:win_setview(a:winid, topline + 1, lnum + 1) + else + call s:win_setview(a:winid, topline - 1, lnum - 1) + endif + endif +endfunction + +function! s:popup_visible(id) abort + let pos = popup_getpos(a:id) + if !empty(pos) && get(pos, 'visible', 0) + return 1 + endif + return 0 +endfunction + +function! s:convert_config_nvim(config) abort + let valids = ['relative', 'win', 'anchor', 'width', 'height', 'bufpos', 'col', 'row', 'focusable', 'style'] + let result = coc#helper#dict_pick(a:config, valids) + let border = get(a:config, 'border', []) + if !s:empty_border(border) + if result['relative'] ==# 'cursor' && result['row'] < 0 + " move top when has bottom border + if get(border, 2, 0) + let result['row'] = result['row'] - 1 + endif + else + " move down when has top border + if get(border, 0, 0) && !get(a:config, 'prompt', 0) + let result['row'] = result['row'] + 1 + endif + endif + " move right when has left border + if get(border, 3, 0) + let result['col'] = result['col'] + 1 + endif + let result['width'] = float2nr(result['width'] + 1 - get(border,3, 0)) + else + let result['width'] = float2nr(result['width'] + 1) + endif + let result['height'] = float2nr(result['height']) + return result +endfunction + +" Close windows that could auto hide +function! coc#float#close_auto_hide_wins(...) abort + let winids = coc#float#get_float_win_list() + let except = get(a:, 1, 0) + for id in winids + if except && id == except + continue + endif + if getwinvar(id, 'autohide', 0) + call coc#float#close(id) + endif + endfor +endfunction + +function! coc#float#content_height(bufnr, width, wrap) abort + if !bufloaded(a:bufnr) + return 0 + endif + if !a:wrap + return has('nvim') ? nvim_buf_line_count(a:bufnr) : len(getbufline(a:bufnr, 1, '$')) + endif + let lines = has('nvim') ? nvim_buf_get_lines(a:bufnr, 0, -1, 0) : getbufline(a:bufnr, 1, '$') + let total = 0 + for line in lines + let dw = max([1, strdisplaywidth(line)]) + let total += float2nr(ceil(str2float(string(dw))/a:width)) + endfor + return total +endfunction + +function! coc#float#nvim_refresh_scrollbar(winid) abort + let id = coc#float#get_related(a:winid, 'scrollbar') + if id && nvim_win_is_valid(id) + call coc#float#nvim_scrollbar(a:winid) + endif +endfunction + +" Close related windows, or specific kind +function! coc#float#close_related(winid, ...) abort + let tabnr = coc#window#tabnr(a:winid) + if tabnr != -1 + let timer = gettabwinvar(tabnr, a:winid, 'timer', 0) + if timer + call timer_stop(timer) + endif + let kind = get(a:, 1, '') + let winids = gettabwinvar(tabnr, a:winid, 'related', []) + for id in winids + if s:is_vim + " vim doesn't throw + noa call popup_close(id) + else + if empty(kind) || gettabwinvar(tabnr, id, 'kind', '') ==# kind + if nvim_win_is_valid(id) + noa call nvim_win_close(id, 1) + endif + endif + endif + endfor + endif +endfunction + +" Close related windows if target window is not visible. +function! coc#float#check_related() abort + let invalids = [] + let ids = coc#float#get_float_win_list(1) + for id in ids + let target = getwinvar(id, 'target_winid', 0) + if (target && index(ids, target) == -1) || getwinvar(id, 'kind', '') == 'pum' + call add(invalids, id) + endif + endfor + if !s:popup_list_api + let s:popup_list = filter(ids, "index(invalids, v:val) == -1") + endif + for id in invalids + call coc#float#close(id) + endfor +endfunction + +" Dimension of window with lines relative to cursor +" Width & height excludes border & padding +function! coc#float#get_config_cursor(lines, config) abort + let preferTop = get(a:config, 'preferTop', 0) + let title = get(a:config, 'title', '') + let border = get(a:config, 'border', [0, 0, 0, 0]) + if s:empty_border(border) && len(title) + let border = [1, 1, 1, 1] + endif + let bh = get(border, 0, 0) + get(border, 2, 0) + let vh = &lines - &cmdheight - 1 + if vh <= 0 + return v:null + endif + let maxWidth = coc#helper#min(get(a:config, 'maxWidth', &columns - 1), &columns - 1) + if maxWidth < 3 + return v:null + endif + let maxHeight = coc#helper#min(get(a:config, 'maxHeight', vh), vh) + let ch = 0 + let width = coc#helper#min(40, strdisplaywidth(title)) + 3 + for line in a:lines + let dw = max([1, strdisplaywidth(line)]) + let width = max([width, dw + 2]) + let ch += float2nr(ceil(str2float(string(dw))/(maxWidth - 2))) + endfor + let width = coc#helper#min(maxWidth, width) + let [lineIdx, colIdx] = coc#cursor#screen_pos() + " How much we should move left + let offsetX = coc#helper#min(get(a:config, 'offsetX', 0), colIdx) + let showTop = 0 + let hb = vh - lineIdx -1 + if lineIdx > bh + 2 && (preferTop || (lineIdx > hb && hb < ch + bh)) + let showTop = 1 + endif + let height = coc#helper#min(maxHeight, ch + bh, showTop ? lineIdx - 1 : hb) + if height <= bh + return v:null + endif + let col = - max([offsetX, colIdx - (&columns - 1 - width)]) + let row = showTop ? - height + bh : 1 + return { + \ 'row': row, + \ 'col': col, + \ 'width': width - 2, + \ 'height': height - bh + \ } +endfunction + +function! coc#float#create_pum_float(winid, bufnr, lines, config) abort + if !pumvisible() || !s:float_supported + return v:null + endif + let pumbounding = a:config['pumbounding'] + let pw = pumbounding['width'] + get(pumbounding, 'scrollbar', 0) + let rp = &columns - pumbounding['col'] - pw + let showRight = pumbounding['col'] > rp ? 0 : 1 + let maxWidth = showRight ? coc#helper#min(rp - 1, a:config['maxWidth']) : coc#helper#min(pumbounding['col'] - 1, a:config['maxWidth']) + let border = get(a:config, 'border', []) + let bh = get(border, 0 ,0) + get(border, 2, 0) + let maxHeight = &lines - pumbounding['row'] - &cmdheight - 1 - bh + if maxWidth <= 2 || maxHeight < 1 + return v:null + endif + let ch = 0 + let width = 0 + for line in a:lines + let dw = max([1, strdisplaywidth(line)]) + let width = max([width, dw + 2]) + let ch += float2nr(ceil(str2float(string(dw))/(maxWidth - 2))) + endfor + let width = float2nr(coc#helper#min(maxWidth, width)) + let height = float2nr(coc#helper#min(maxHeight, ch)) + let lines = map(a:lines, {_, s -> s =~# '^─' ? repeat('─', width - 2 + (s:is_vim && ch > height ? -1 : 0)) : s}) + let opts = { + \ 'lines': lines, + \ 'relative': 'editor', + \ 'col': showRight ? pumbounding['col'] + pw : pumbounding['col'] - width - 1, + \ 'row': pumbounding['row'], + \ 'height': height, + \ 'width': width - 2 + (s:is_vim && ch > height ? -1 : 0), + \ 'codes': get(a:config, 'codes', []), + \ } + for key in ['border', 'highlight', 'borderhighlight', 'winblend', 'focusable', 'shadow'] + if has_key(a:config, key) + let opts[key] = a:config[key] + endif + endfor + call coc#float#close_auto_hide_wins(a:winid) + let res = coc#float#create_float_win(a:winid, a:bufnr, opts) + if empty(res) + return v:null + endif + call setwinvar(res[0], 'kind', 'pum') + if has('nvim') + call coc#float#nvim_scrollbar(res[0]) + endif + return res +endfunction + +function! s:empty_border(border) abort + if empty(a:border) + return 1 + endif + if a:border[0] == 0 && a:border[1] == 0 && a:border[2] == 0 && a:border[3] == 0 + return 1 + endif + return 0 +endfunction + +" Show float window/popup for user confirm. +function! coc#float#prompt_confirm(title, cb) abort + if s:is_vim && exists('*popup_dialog') + try + call popup_dialog(a:title. ' (y/n)?', { + \ 'highlight': 'Normal', + \ 'filter': 'popup_filter_yesno', + \ 'callback': {id, res -> a:cb(v:null, res)}, + \ 'borderchars': s:borderchars, + \ 'borderhighlight': ['MoreMsg'] + \ }) + catch /.*/ + call a:cb(v:exception) + endtry + return + endif + if has('nvim-0.4.0') + let text = ' '. a:title . ' (y/n)? ' + let maxWidth = coc#helper#min(78, &columns - 2) + let width = coc#helper#min(maxWidth, strdisplaywidth(text)) + let maxHeight = &lines - &cmdheight - 1 + let height = coc#helper#min(maxHeight, float2nr(ceil(str2float(string(strdisplaywidth(text)))/width))) + call coc#float#close_auto_hide_wins() + let arr = coc#float#create_float_win(0, s:prompt_win_bufnr, { + \ 'col': &columns/2 - width/2 - 1, + \ 'row': maxHeight/2 - height/2 - 1, + \ 'width': width, + \ 'height': height, + \ 'border': [1,1,1,1], + \ 'focusable': v:false, + \ 'relative': 'editor', + \ 'highlight': 'Normal', + \ 'borderhighlight': ['MoreMsg'], + \ 'style': 'minimal', + \ 'lines': [text], + \ }) + if empty(arr) + call a:cb('Window create failed!') + return + endif + let winid = arr[0] + let s:prompt_win_bufnr = arr[1] + let res = 0 + redraw + " same result as vim + while 1 + let key = nr2char(getchar()) + if key == "\" + let res = -1 + break + elseif key == "\" || key == 'n' || key == 'N' + let res = 0 + break + elseif key == 'y' || key == 'Y' + let res = 1 + break + endif + endw + call coc#float#close(winid) + call a:cb(v:null, res) + " use relative editor since neovim doesn't support center position + elseif exists('*confirm') + let choice = confirm(a:title, "&Yes\n&No") + call a:cb(v:null, choice == 1) + else + echohl MoreMsg + echom a:title.' (y/n)' + echohl None + let confirm = nr2char(getchar()) + redraw! + if !(confirm ==? "y" || confirm ==? "\r") + echohl Moremsg | echo 'Cancelled.' | echohl None + return 0 + call a:cb(v:null, 0) + end + call a:cb(v:null, 1) + endif +endfunction + +" Create buttons popup on vim +function! coc#float#vim_buttons(winid, config) abort + if !has('patch-8.2.0750') + return + endif + let related = getwinvar(a:winid, 'related', []) + let winid = coc#float#get_related(a:winid, 'buttons') + let btns = get(a:config, 'buttons', []) + if empty(btns) + if winid + call s:close_win(winid) + " fix padding + let opts = popup_getoptions(a:winid) + let padding = get(opts, 'padding', v:null) + if !empty(padding) + let padding[2] = padding[2] - 2 + endif + call popup_setoptions(a:winid, {'padding': padding}) + endif + return + endif + let border = get(a:config, 'border', v:null) + if !winid + " adjusting popup padding + let opts = popup_getoptions(a:winid) + let padding = get(opts, 'padding', v:null) + if type(padding) == 7 + let padding = [0, 0, 2, 0] + elseif len(padding) == 0 + let padding = [1, 1, 3, 1] + else + let padding[2] = padding[2] + 2 + endif + call popup_setoptions(a:winid, {'padding': padding}) + endif + let borderhighlight = get(get(a:config, 'borderhighlight', []), 0, '') + let pos = popup_getpos(a:winid) + let bw = empty(border) ? 0 : get(border, 1, 0) + get(border, 3, 0) + let borderbottom = empty(border) ? 0 : get(border, 2, 0) + let borderleft = empty(border) ? 0 : get(border, 3, 0) + let width = pos['width'] - bw + get(pos, 'scrollbar', 0) + let bufnr = s:create_btns_buffer(winid ? winbufnr(winid): 0,width, btns, borderbottom) + let height = 2 + (borderbottom ? 1 : 0) + let keys = s:gen_filter_keys(getbufline(bufnr, 2)[0]) + let options = { + \ 'filter': {id, key -> coc#float#vim_filter(id, key, keys[1])}, + \ 'highlight': get(opts, 'highlight', 'CocFloating') + \ } + let config = { + \ 'line': pos['line'] + pos['height'] - height, + \ 'col': pos['col'] + borderleft, + \ 'minwidth': width, + \ 'minheight': height, + \ 'maxwidth': width, + \ 'maxheight': height, + \ } + if winid != 0 + call popup_move(winid, config) + call popup_setoptions(winid, options) + call win_execute(winid, 'call clearmatches()') + else + let options = extend({ + \ 'filtermode': 'nvi', + \ 'padding': [0, 0, 0, 0], + \ 'fixed': 1, + \ 'zindex': 99, + \ }, options) + call extend(options, config) + let winid = popup_create(bufnr, options) + if !s:popup_list_api + call add(s:popup_list, winid) + endif + endif + if winid != 0 + if !empty(borderhighlight) + call coc#highlight#add_highlight(bufnr, -1, borderhighlight, 0, 0, -1) + call coc#highlight#add_highlight(bufnr, -1, borderhighlight, 2, 0, -1) + call win_execute(winid, 'call matchadd("'.borderhighlight.'", "'.s:borderchars[1].'")') + endif + call setwinvar(winid, 'kind', 'buttons') + call setwinvar(winid, 'target_winid', a:winid) + call add(related, winid) + call setwinvar(a:winid, 'related', related) + call matchaddpos('MoreMsg', map(keys[0], "[2,v:val]"), 99, -1, {'window': winid}) + endif +endfunction + +function! coc#float#nvim_float_click() abort + let kind = getwinvar(win_getid(), 'kind', '') + if kind == 'buttons' + if line('.') != 2 + return + endif + let vw = strdisplaywidth(strpart(getline('.'), 0, col('.') - 1)) + let vcols = getbufvar(bufnr('%'), 'vcols', []) + if index(vcols, vw) >= 0 + return + endif + let idx = 0 + if !empty(vcols) + let filtered = filter(vcols, 'v:val < vw') + let idx = idx + len(filtered) + endif + let winid = win_getid() + let target = getwinvar(winid, 'target_winid', 0) + if target + call coc#rpc#notify('FloatBtnClick', [winbufnr(target), idx]) + call coc#float#close(target) + endif + elseif kind == 'close' + let target = getwinvar(win_getid(), 'target_winid', 0) + call coc#float#close(target) + endif +endfunction + +" Add mapping if necessary +function! coc#float#nvim_win_enter(winid) abort + let kind = getwinvar(a:winid, 'kind', '') + if kind == 'buttons' || kind == 'close' + if empty(maparg('', 'n')) + nnoremap :call coc#float#nvim_float_click() + endif + endif +endfunction + +function! coc#float#vim_filter(winid, key, keys) abort + let key = tolower(a:key) + let idx = index(a:keys, key) + let target = getwinvar(a:winid, 'target_winid', 0) + if target && idx >= 0 + call coc#rpc#notify('FloatBtnClick', [winbufnr(target), idx]) + call coc#float#close(target) + return 1 + endif + return 0 +endfunction + +" Create dialog at center +function! coc#float#create_dialog(lines, config) abort + " dialog always have borders + let title = get(a:config, 'title', '') + let buttons = get(a:config, 'buttons', []) + let highlight = get(a:config, 'highlight', 'CocFloating') + let borderhighlight = get(a:config, 'borderhighlight', [highlight]) + let maxheight = coc#helper#min(get(a:config, 'maxHeight', 78), &lines - &cmdheight - 6) + let maxwidth = coc#helper#min(get(a:config, 'maxWidth', 78), &columns - 2) + let close = get(a:config, 'close', 1) + let minwidth = s:min_btns_width(buttons) + if maxheight <= 0 || maxwidth <= 0 || minwidth > maxwidth + throw 'Not enough spaces for dialog' + endif + let ch = 0 + let width = coc#helper#min(strdisplaywidth(title) + 1, maxwidth) + for line in a:lines + let dw = max([1, strdisplaywidth(line)]) + if dw < maxwidth && dw > width + let width = dw + elseif dw > maxwidth + let width = maxwidth + endif + let ch += float2nr(ceil(str2float(string(dw))/maxwidth)) + endfor + let width = max([minwidth, width]) + let height = coc#helper#min(ch ,maxheight) + let opts = { + \ 'relative': 'editor', + \ 'col': &columns/2 - (width + 2)/2, + \ 'row': &lines/2 - (height + 4)/2, + \ 'width': width, + \ 'height': height, + \ 'border': [1,1,1,1], + \ 'title': title, + \ 'close': close, + \ 'highlight': highlight, + \ 'buttons': buttons, + \ 'borderhighlight': borderhighlight, + \ } + if get(a:config, 'cursorline', 0) + let opts['cursorline'] = 1 + endif + let bufnr = coc#float#create_buf(0, a:lines) + call coc#float#close_auto_hide_wins() + let res = coc#float#create_float_win(0, bufnr, opts) + if empty(res) + return + endif + if has('nvim') + if get(a:config, 'cursorline', 0) + execute 'sign place 6 line=1 name=CocCurrentLine buffer='.bufnr + endif + redraw + call coc#float#nvim_scrollbar(res[0]) + endif + return res +endfunction + +function! coc#float#get_related(winid, kind) abort + for winid in getwinvar(a:winid, 'related', []) + if getwinvar(winid, 'kind', '') ==# a:kind + return winid + endif + endfor + return 0 +endfunction + +" Create temporarily buffer with optional lines and &bufhidden +function! coc#float#create_buf(bufnr, ...) abort + if a:bufnr > 0 && bufloaded(a:bufnr) + let bufnr = a:bufnr + else + if s:is_vim + noa let bufnr = bufadd('') + noa call bufload(bufnr) + call setbufvar(bufnr, '&buflisted', 0) + else + noa let bufnr = nvim_create_buf(v:false, v:true) + endif + let bufhidden = get(a:, 2, 'wipe') + call setbufvar(bufnr, '&buftype', 'nofile') + call setbufvar(bufnr, '&bufhidden', bufhidden) + call setbufvar(bufnr, '&swapfile', 0) + call setbufvar(bufnr, '&undolevels', -1) + " neovim's bug + call setbufvar(bufnr, '&modifiable', 1) + endif + let lines = get(a:, 1, v:null) + if type(lines) != 7 + if has('nvim') + call nvim_buf_set_lines(bufnr, 0, -1, v:false, lines) + else + silent call deletebufline(bufnr, 1, '$') + silent call setbufline(bufnr, 1, lines) + endif + endif + return bufnr +endfunction + +function! coc#float#create_menu(lines, config) abort + let highlight = get(a:config, 'highlight', 'CocFloating') + let borderhighlight = get(a:config, 'borderhighlight', [highlight]) + let opts = { + \ 'lines': a:lines, + \ 'highlight': highlight, + \ 'title': get(a:config, 'title', ''), + \ 'borderhighlight': borderhighlight, + \ 'maxWidth': get(a:config, 'maxWidth', 80), + \ 'maxHeight': get(a:config, 'maxHeight', 80), + \ 'border': [1, 1, 1, 1], + \ 'relative': 'cursor', + \ } + if s:is_vim + let opts['cursorline'] = 1 + endif + let dimension = coc#float#get_config_cursor(a:lines, opts) + call extend(opts, dimension) + call coc#float#close_auto_hide_wins() + let res = coc#float#create_float_win(0, s:prompt_win_bufnr, opts) + if empty(res) + return + endif + let s:prompt_win_bufnr = res[1] + redraw + if has('nvim') + call coc#float#nvim_scrollbar(res[0]) + execute 'sign unplace 6 buffer='.s:prompt_win_bufnr + execute 'sign place 6 line=1 name=CocCurrentLine buffer='.s:prompt_win_bufnr + endif + return res +endfunction + +" Notification always have border +" config including: +" - title: optional title. +" - close: default to 1 +" - borderhighlight: highlight group string +" - timeout: timeout in miniseconds +" - buttons: array of button text for create buttons at bottom. +" - top: default to 1 +" - right: default to 1 +" - maxHeight: default to 10 +" - maxWidth: default to 60 +" - highlight: highlight of window, default to 'CocFloating' +function! coc#float#create_notification(lines, config) abort + let close = get(a:config, 'close', 1) + let timeout = get(a:config, 'timeout', 0) + let borderhighlight = get(a:config, 'borderhighlight', 'CocFloating') + let highlight = get(a:config, 'highlight', 'CocFloating') + let title = get(a:config, 'title', '') + let top = get(a:config, 'top', 1) + let right = get(a:config, 'right', 1) + let buttons = get(a:config, 'buttons', []) + let maxHeight = get(a:config, 'maxHeight', 10) + let maxWidth = min([&columns - right - 10, get(a:config, 'maxWidth', 60)]) + let progress = get(a:config, 'progress', 0) + let minWidth = get(a:config, 'minWidth', 1) + let minWidth = max([minWidth, s:min_btns_width(buttons)]) + if &columns < right + 10 || minWidth > maxWidth + throw 'no enough spaces for notification' + endif + let width = min([maxWidth, max(map(a:lines + [title + ' '], "strdisplaywidth(v:val)"))]) + let width = max([minWidth, width]) + let height = 0 + for line in a:lines + let w = max([1, strdisplaywidth(line)]) + let height += float2nr(ceil(str2float(string(w))/width)) + endfor + let height = min([maxHeight, height, &lines - &cmdheight - 1]) + let col = &columns - right - width - 2 + let opts = { + \ 'row': top, + \ 'col': col, + \ 'lines': a:lines, + \ 'relative': 'editor', + \ 'width': width, + \ 'height': height, + \ 'highlight': highlight, + \ 'borderhighlight': [borderhighlight], + \ 'border': [1, 1, 1, 1], + \ 'title': title, + \ 'close': close, + \ 'buttons': buttons, + \ } + call coc#float#reflow(top + height + 2 + (empty(buttons) ? 0 : 2)) + let res = coc#float#create_float_win(0, 0, opts) + if empty(res) + return + endif + let [winid, bufnr] = res + call setwinvar(winid, 'kind', 'notification') + redraw + if has('nvim') + call coc#float#nvim_scrollbar(winid) + endif + if timeout + call timer_start(timeout, { -> coc#float#close(winid)}) + endif + if progress + let start = reltime() + let timer = timer_start(16, { -> s:update_progress(bufnr, width, reltimefloat(reltime(start)))}, { + \ 'repeat': -1 + \ }) + call setwinvar(winid, 'timer', timer) + endif + return res +endfunction + +" adjust position for notification windows +function! coc#float#reflow(top) abort + let winids = coc#float#get_float_win_list() + let optlist = [] + for winid in winids + if getwinvar(winid, 'kind', '') !=# 'notification' + continue + endif + call add(optlist, s:get_win_opts(winid)) + endfor + call sort(optlist, {a, b -> a['row'] - b['row']}) + "echo optlist + let top = a:top + for opts in optlist + if opts['row'] <= top + let changed = top + 1 - opts['row'] + let opts['row'] = top + 1 + call s:adjust_win_row(opts['winid'], changed) + endif + " adjust top + let top = opts['row'] + opts['height'] + endfor +endfunction + +" float/popup relative to current cursor position +function! coc#float#cursor_relative(winid) abort + if !coc#float#valid(a:winid) + return v:null + endif + let winid = win_getid() + if winid == a:winid + return v:null + endif + let [cursorLine, cursorCol] = coc#cursor#screen_pos() + if has('nvim') + let [row, col] = nvim_win_get_position(a:winid) + return {'row' : row - cursorLine, 'col' : col - cursorCol} + endif + let pos = popup_getpos(a:winid) + return {'row' : pos['line'] - cursorLine - 1, 'col' : pos['col'] - cursorCol - 1} +endfunction + +" Change border window & close window when scrollbar is shown. +function! coc#float#nvim_scroll_adjust(winid) abort + let winid = coc#float#get_related(a:winid, 'border') + if !winid + return + endif + let bufnr = winbufnr(winid) + let lines = nvim_buf_get_lines(bufnr, 0, -1, 0) + if len(lines) > 2 && coc#helper#last_character(lines[1]) ==# s:borderchars[1] + let cw = nvim_win_get_width(a:winid) + let width = nvim_win_get_width(winid) + if width - cw != 1 + (strcharpart(lines[1], 0, 1) ==# s:borderchars[3] ? 1 : 0) + return + endif + call nvim_win_set_width(winid, width + 1) + let lastline = len(lines) - 1 + for i in range(0, lastline) + let line = lines[i] + if i == 0 && strcharpart(lines[0], 0, 1) ==# s:borderchars[4] + let add = s:borderchars[0] + elseif i == lastline && strcharpart(lines[i], 0, 1) ==# s:borderchars[7] + let add = s:borderchars[2] + else + let add = ' ' + endif + let prev = strcharpart(line, 0, strchars(line) - 1) + let lines[i] = prev . add . coc#helper#last_character(line) + endfor + call nvim_buf_set_lines(bufnr, 0, -1, 0, lines) + let id = coc#float#get_related(a:winid, 'close') + if id + let [row, col] = nvim_win_get_position(id) + call nvim_win_set_config(id, { + \ 'relative': 'editor', + \ 'row': row, + \ 'col': col + 1, + \ }) + endif + endif +endfunction + +" move winid include relative windows. +function! s:adjust_win_row(winid, changed) abort + let ids = getwinvar(a:winid, 'related', []) + if s:is_vim + let pos = popup_getpos(a:winid) + if pos['line'] - 1 + a:changed + pos['height'] > &lines - &cmdheight + call coc#float#close(a:winid) + return + endif + call popup_move(a:winid, { + \ 'line': pos['line'] + a:changed + \ }) + for winid in ids + let winpos = popup_getpos(winid) + call popup_move(winid, { + \ 'line': winpos['line'] + a:changed + \ }) + endfor + else + let ids = [a:winid] + ids + " close it if it's fully shown + let borderwin = coc#float#get_related(a:winid, 'border') + let winid = borderwin == 0 ? a:winid : borderwin + let height = nvim_win_get_height(winid) + let pos = nvim_win_get_position(winid) + if pos[0] + a:changed + height > &lines - &cmdheight + call coc#float#close(a:winid) + return + endif + for winid in ids + let [row, col] = nvim_win_get_position(winid) + call nvim_win_set_config(winid, { + \ 'relative': 'editor', + \ 'row': row + a:changed, + \ 'col': col, + \ }) + endfor + endif +endfunction + +" winid, width, height, row, col (0 based). +" works on vim & neovim, check relative window +function! s:get_win_opts(winid) abort + if s:is_vim + let pos = popup_getpos(a:winid) + return { + \ 'winid': a:winid, + \ 'row': pos['line'] - 1, + \ 'col': pos['col'] - 1, + \ 'width': pos['width'], + \ 'height': pos['height'], + \ } + else + let borderwin = coc#float#get_related(a:winid, 'border') + let winid = borderwin == 0 ? a:winid : borderwin + let [row, col] = nvim_win_get_position(winid) + return { + \ 'winid': a:winid, + \ 'row': row, + \ 'col': col, + \ 'width': nvim_win_get_width(winid), + \ 'height': nvim_win_get_height(winid) + \ } + endif +endfunction + +function! s:create_btns_buffer(bufnr, width, buttons, borderbottom) abort + let n = len(a:buttons) + let spaces = a:width - n + 1 + let tw = 0 + for txt in a:buttons + let tw += strdisplaywidth(txt) + endfor + if spaces < tw + throw 'window is too small for buttons.' + endif + let ds = (spaces - tw)/n + let dl = ds/2 + let dr = ds%2 == 0 ? ds/2 : ds/2 + 1 + let btnline = '' + let idxes = [] + for idx in range(0, n - 1) + let txt = toupper(a:buttons[idx][0]).a:buttons[idx][1:] + let btnline .= repeat(' ', dl).txt.repeat(' ', dr) + if idx != n - 1 + call add(idxes, strdisplaywidth(btnline)) + let btnline .= s:borderchars[1] + endif + endfor + let lines = [repeat(s:borderchars[0], a:width), btnline] + if a:borderbottom + call add(lines, repeat(s:borderchars[0], a:width)) + endif + for idx in idxes + let lines[0] = strcharpart(lines[0], 0, idx).s:borderjoinchars[0].strcharpart(lines[0], idx + 1) + if a:borderbottom + let lines[2] = strcharpart(lines[0], 0, idx).s:borderjoinchars[2].strcharpart(lines[0], idx + 1) + endif + endfor + let bufnr = coc#float#create_buf(a:bufnr, lines) + call setbufvar(bufnr, 'vcols', idxes) + return bufnr +endfunction + +function! s:gen_filter_keys(line) abort + let cols = [] + let used = [] + let next = 1 + for idx in range(0, strchars(a:line) - 1) + let ch = strcharpart(a:line, idx, 1) + let nr = char2nr(ch) + if next + if (nr >= 65 && nr <= 90) || (nr >= 97 && nr <= 122) + let lc = tolower(ch) + if index(used, lc) < 0 && empty(maparg(lc, 'n')) + let col = len(strcharpart(a:line, 0, idx)) + 1 + call add(used, lc) + call add(cols, col) + let next = 0 + endif + endif + else + if ch == s:borderchars[1] + let next = 1 + endif + endif + endfor + return [cols, used] +endfunction + +function! s:close_win(winid) abort + if a:winid <= 0 + return + endif + " vim not throw for none exists winid + if s:is_vim + call popup_close(a:winid) + else + if nvim_win_is_valid(a:winid) + call nvim_win_close(a:winid, 1) + endif + endif +endfunction + +function! s:nvim_create_keymap(winid) abort + if a:winid == 0 + return + endif + if exists('*nvim_buf_set_keymap') + let bufnr = winbufnr(a:winid) + call nvim_buf_set_keymap(bufnr, 'n', '', ':call coc#float#nvim_float_click()', { + \ 'silent': v:true, + \ 'nowait': v:true + \ }) + else + let curr = win_getid() + let m = mode() + if m == 'n' || m == 'i' || m == 'ic' + noa call win_gotoid(a:winid) + nnoremap :call coc#float#nvim_float_click() + noa call win_gotoid(curr) + endif + endif +endfunction + +" getwininfo is buggy on neovim, use topline, width & height should for content +function! s:nvim_get_botline(topline, height, width, bufnr) abort + let lines = getbufline(a:bufnr, a:topline, a:topline + a:height - 1) + let botline = a:topline + let count = 0 + for i in range(0, len(lines) - 1) + let w = coc#helper#max(1, strdisplaywidth(lines[i])) + let lh = float2nr(ceil(str2float(string(w))/a:width)) + let count = count + lh + let botline = a:topline + i + if count >= a:height + break + endif + endfor + return botline +endfunction + +" get popup position for vim8 based on config of neovim float window +function! s:popup_position(config) abort + let relative = get(a:config, 'relative', 'editor') + if relative ==# 'cursor' + return [s:popup_cursor(a:config['row']), s:popup_cursor(a:config['col'])] + endif + return [a:config['row'] + 1, a:config['col'] + 1] +endfunction + +function! s:add_related(winid, target) abort + let arr = getwinvar(a:target, 'related', []) + if index(arr, a:winid) >= 0 + return + endif + call add(arr, a:winid) + call setwinvar(a:target, 'related', arr) +endfunction + +function! s:popup_cursor(n) abort + if a:n == 0 + return 'cursor' + endif + if a:n < 0 + return 'cursor'.a:n + endif + return 'cursor+'.a:n +endfunction + +function! s:is_blocking() abort + if coc#prompt#activated() + return 1 + endif + return 0 +endfunction + +" max firstline of lines, height > 0, width > 0 +function! s:max_firstline(lines, height, width) abort + let max = len(a:lines) + let remain = a:height + for line in reverse(copy(a:lines)) + let w = max([1, strdisplaywidth(line)]) + let dh = float2nr(ceil(str2float(string(w))/a:width)) + if remain - dh < 0 + break + endif + let remain = remain - dh + let max = max - 1 + endfor + return min([len(a:lines), max + 1]) +endfunction + +" Get best lnum by topline +function! s:get_cursorline(topline, lines, scrolloff, width, height) abort + let lastline = len(a:lines) + if a:topline == lastline + return lastline + endif + let bottomline = a:topline + let used = 0 + for lnum in range(a:topline, lastline) + let w = max([1, strdisplaywidth(a:lines[lnum - 1])]) + let dh = float2nr(ceil(str2float(string(w))/a:width)) + if used + dh >= a:height || lnum == lastline + let bottomline = lnum + break + endif + let used += dh + endfor + let cursorline = a:topline + a:scrolloff + if cursorline + a:scrolloff > bottomline + " unable to satisfy scrolloff + let cursorline = (a:topline + bottomline)/2 + endif + return cursorline +endfunction + +" Get firstline for full scroll +function! s:get_topline(topline, lines, forward, height, width) abort + let used = 0 + let lnums = a:forward ? range(a:topline, len(a:lines)) : reverse(range(1, a:topline)) + let topline = a:forward ? len(a:lines) : 1 + for lnum in lnums + let w = max([1, strdisplaywidth(a:lines[lnum - 1])]) + let dh = float2nr(ceil(str2float(string(w))/a:width)) + if used + dh >= a:height + let topline = lnum + break + endif + let used += dh + endfor + if topline == a:topline + if a:forward + let topline = min([len(a:lines), topline + 1]) + else + let topline = max([1, topline - 1]) + endif + endif + return topline +endfunction + +" topline content_height content_width +function! s:get_options(winid) abort + if has('nvim') + let width = nvim_win_get_width(a:winid) + if getwinvar(a:winid, '&foldcolumn', 0) + let width = width - 1 + endif + let info = getwininfo(a:winid)[0] + return { + \ 'topline': info['topline'], + \ 'height': nvim_win_get_height(a:winid), + \ 'width': width + \ } + else + let pos = popup_getpos(a:winid) + return { + \ 'topline': pos['firstline'], + \ 'width': pos['core_width'], + \ 'height': pos['core_height'] + \ } + endif +endfunction + +function! s:win_setview(winid, topline, lnum) abort + if has('nvim') + call coc#compat#execute(a:winid, 'call winrestview({"lnum":'.a:lnum.',"topline":'.a:topline.'})') + call timer_start(10, { -> coc#float#nvim_refresh_scrollbar(a:winid) }) + else + call coc#compat#execute(a:winid, 'exe '.a:lnum) + call popup_setoptions(a:winid, { + \ 'firstline': a:topline, + \ }) + endif +endfunction + +function! s:min_btns_width(buttons) abort + if empty(a:buttons) + return 0 + endif + let minwidth = len(a:buttons)*3 - 1 + for txt in a:buttons + let minwidth = minwidth + strdisplaywidth(txt) + endfor + return minwidth +endfunction + +function! s:update_progress(bufnr, width, ts) abort + let duration = 5000 + " count of blocks + let width = float2nr((a:width + 0.0)/4) + let percent = (float2nr(a:ts*1000)%duration + 0.0)/duration + let line = repeat(s:progresschars[0], a:width) + let startIdx = float2nr(round(a:width * percent)) + let endIdx = startIdx + width + let delta = a:width - endIdx + if delta > 0 + let line = s:str_compose(line, startIdx, repeat(s:progresschars[1], width)) + else + let inserted = repeat(s:progresschars[1], width + delta) + let line = s:str_compose(line, startIdx, inserted) + let line = s:str_compose(line, 0, repeat(s:progresschars[1], - delta)) + endif + call setbufline(a:bufnr, 1, line) +endfunction + +function! s:str_compose(line, idx, text) abort + let first = strcharpart(a:line, 0, a:idx) + return first.a:text.strcharpart(a:line, a:idx + strwidth(a:text)) +endfunction + +function! s:add_highlights(winid, config, create) abort + let codes = get(a:config, 'codes', []) + let highlights = get(a:config, 'highlights', []) + if empty(codes) && empty(highlights) && a:create + return + endif + let bgGroup = get(a:config, 'highlight', 'CocFloating') + for obj in codes + let hlGroup = get(obj, 'hlGroup', v:null) + if !empty(hlGroup) + let obj['hlGroup'] = coc#highlight#compose_hlgroup(hlGroup, bgGroup) + endif + endfor + call coc#highlight#add_highlights(a:winid, codes, highlights) +endfunction diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/helper.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/helper.vim new file mode 100644 index 0000000..8bdc9b8 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/helper.vim @@ -0,0 +1,148 @@ +scriptencoding utf-8 +" Helper methods for viml + +function! coc#helper#get_charactor(line, col) abort + return strchars(strpart(a:line, 0, a:col - 1)) +endfunction + +function! coc#helper#last_character(line) abort + return strcharpart(a:line, strchars(a:line) - 1, 1) +endfunction + +function! coc#helper#obj_equal(one, two) abort + for key in keys(a:one) + if a:one[key] != a:two[key] + return 0 + endif + endfor + return 1 +endfunction + +" get change between two lines +function! coc#helper#str_diff(curr, previous, col) abort + let end = strpart(a:curr, a:col - 1) + let start = strpart(a:curr, 0, a:col -1) + let endOffset = 0 + let startOffset = 0 + let currLen = strchars(a:curr) + let prevLen = strchars(a:previous) + if len(end) + let endLen = strchars(end) + for i in range(min([prevLen, endLen])) + if strcharpart(end, endLen - 1 - i, 1) ==# strcharpart(a:previous, prevLen -1 -i, 1) + let endOffset = endOffset + 1 + else + break + endif + endfor + endif + let remain = endOffset == 0 ? a:previous : strcharpart(a:previous, 0, prevLen - endOffset) + if len(remain) + for i in range(min([strchars(remain), strchars(start)])) + if strcharpart(remain, i, 1) ==# strcharpart(start, i ,1) + let startOffset = startOffset + 1 + else + break + endif + endfor + endif + return { + \ 'start': startOffset, + \ 'end': prevLen - endOffset, + \ 'text': strcharpart(a:curr, startOffset, currLen - startOffset - endOffset) + \ } +endfunction + +function! coc#helper#str_apply(content, diff) abort + let totalLen = strchars(a:content) + let endLen = totalLen - a:diff['end'] + return strcharpart(a:content, 0, a:diff['start']).a:diff['text'].strcharpart(a:content, a:diff['end'], endLen) +endfunction + +" insert inserted to line at position, use ... when result is too long +" line should only contains character has strwidth equals 1 +function! coc#helper#str_compose(line, position, inserted) abort + let width = strwidth(a:line) + let text = a:inserted + let res = a:line + let need_truncate = a:position + strwidth(text) + 1 > width + if need_truncate + let remain = width - a:position - 3 + if remain < 2 + " use text for full line, use first & end of a:line, ignore position + let res = strcharpart(a:line, 0, 1) + let w = strwidth(res) + for i in range(strchars(text)) + let c = strcharpart(text, i, 1) + let a = strwidth(c) + if w + a <= width - 1 + let w = w + a + let res = res.c + endif + endfor + let res = res.strcharpart(a:line, w) + else + let res = strcharpart(a:line, 0, a:position) + let w = strwidth(res) + for i in range(strchars(text)) + let c = strcharpart(text, i, 1) + let a = strwidth(c) + if w + a <= width - 3 + let w = w + a + let res = res.c + endif + endfor + let res = res.'..' + let w = w + 2 + let res = res.strcharpart(a:line, w) + endif + else + let first = strcharpart(a:line, 0, a:position) + let res = first.text.strcharpart(a:line, a:position + strwidth(text)) + endif + return res +endfunction + +" Return new dict with keys removed +function! coc#helper#dict_omit(dict, keys) abort + let res = {} + for key in keys(a:dict) + if index(a:keys, key) == -1 + let res[key] = a:dict[key] + endif + endfor + return res +endfunction + +" Return new dict with keys only +function! coc#helper#dict_pick(dict, keys) abort + let res = {} + for key in keys(a:dict) + if index(a:keys, key) != -1 + let res[key] = a:dict[key] + endif + endfor + return res +endfunction + +" support for float values +function! coc#helper#min(first, ...) abort + let val = a:first + for i in range(0, len(a:000) - 1) + if a:000[i] < val + let val = a:000[i] + endif + endfor + return val +endfunction + +" support for float values +function! coc#helper#max(first, ...) abort + let val = a:first + for i in range(0, len(a:000) - 1) + if a:000[i] > val + let val = a:000[i] + endif + endfor + return val +endfunction diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/highlight.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/highlight.vim new file mode 100644 index 0000000..1d77c56 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/highlight.vim @@ -0,0 +1,523 @@ +scriptencoding utf-8 +let s:is_vim = !has('nvim') +let s:clear_match_by_window = has('nvim-0.5.0') || has('patch-8.1.1084') +let s:prop_offset = get(g:, 'coc_text_prop_offset', 1000) +let s:namespace_map = {} +let s:ns_id = 1 + +if has('nvim-0.5.0') + try + call getmatches(0) + catch /^Vim\%((\a\+)\)\=:E118/ + let s:clear_match_by_window = 0 + endtry +endif + +" Get namespaced coc highlights from range of bufnr +" start - 0 based start line index +" end - 0 based end line index, could be -1 for last line (exclusive) +function! coc#highlight#get(bufnr, key, start, end) abort + if !has('nvim-0.5.0') && !exists('*prop_list') + throw 'Get highlights requires neovim 0.5.0 or vim support prop_list()' + endif + if !has_key(s:namespace_map, a:key) || !bufloaded(a:bufnr) + return {} + endif + let ns = coc#highlight#create_namespace(a:key) + let current = {} + if has('nvim-0.5.0') + let end = a:end == -1 ? [-1, -1] : [a:end - 1, 0] + let markers = nvim_buf_get_extmarks(a:bufnr, ns, [a:start, 0], end, {'details': v:true}) + for [_, row, start_col, details] in markers + let delta = details['end_row'] - row + if delta > 1 || (delta == 1 && details['end_col'] != 0) + " Don't known neovim's api for multiple lines markers. + continue + endif + let lines = getbufline(a:bufnr, row + 1) + if empty(lines) + " It's possible that markers exceeded last line. + continue + endif + let text = lines[0] + let curr = get(current, string(row), []) + call add(curr, { + \ 'hlGroup': details['hl_group'], + \ 'lnum': row, + \ 'colStart': start_col, + \ 'colEnd': delta == 1 ? strlen(text) : details['end_col'] + \ }) + let current[string(row)] = curr + endfor + else + let id = s:prop_offset + ns + " we could only get textprops line by line + let end = a:end == -1 ? getbufinfo(a:bufnr)[0]['linecount'] : a:end + for line in range(a:start + 1, end) + let items = [] + for prop in prop_list(line, {'bufnr': a:bufnr, 'id': id}) + " vim have support for cross line text props, but we're not using + call add(items, { + \ 'hlGroup': s:prop_type_hlgroup(prop['type']), + \ 'lnum': line - 1, + \ 'colStart': prop['col'] - 1, + \ 'colEnd': prop['col'] - 1 + prop['length'] - (prop['end'] == 0 ? 1 : 0), + \ }) + endfor + if !empty(items) + let current[string(line - 1)] = items + endif + endfor + endif + return current +endfunction + +" Update highlights by check exists highlights. +function! coc#highlight#update_highlights(bufnr, key, highlights, ...) abort + let bufnr = a:bufnr + if a:bufnr == 0 + let bufnr = bufnr('%') + endif + if !bufloaded(bufnr) + return + endif + let start = get(a:, 1, 0) + let end = get(a:, 2, -1) + if empty(a:highlights) + call coc#highlight#clear_highlight(bufnr, a:key, start, end) + return + endif + let total = len(a:highlights) + " index list that exists with current highlights + let exists = [] + let ns = coc#highlight#create_namespace(a:key) + let currIndex = 0 + if has('nvim-0.5.0') || exists('*prop_list') + let current = coc#highlight#get(bufnr, a:key, start, end) + for lnum in sort(map(keys(current), 'str2nr(v:val)'), {a, b -> a - b}) + let items = current[lnum] + let indexes = [] + let nextIndex = currIndex + if currIndex != total + for item in items + for i in range(currIndex, total - 1) + let hi = a:highlights[i] + if hi['lnum'] > item['lnum'] + let nextIndex = i + break + endif + if coc#helper#obj_equal(item, hi) + call add(indexes, i) + let nextIndex = max([nextIndex, i + 1]) + endif + endfor + endfor + endif + let currIndex = nextIndex + " all highlights of current line exists, not clear. + if len(indexes) == len(items) + let exists = exists + indexes + else + if has('nvim') + call nvim_buf_clear_namespace(bufnr, ns, lnum, lnum + 1) + else + call coc#api#call('buf_clear_namespace', [bufnr, ns, lnum, lnum + 1]) + endif + endif + endfor + if has('nvim') && end == -1 + let count = nvim_buf_line_count(bufnr) + " remove highlights exceed last line. + call nvim_buf_clear_namespace(bufnr, ns, count, -1) + endif + else + call coc#highlight#clear_highlight(bufnr, a:key, start, end) + endif + let indexes = range(0, total - 1) + if !empty(exists) + let indexes = filter(indexes, 'index(exists, v:val) == -1') + endif + for i in indexes + let hi = a:highlights[i] + call coc#highlight#add_highlight(bufnr, ns, hi['hlGroup'], hi['lnum'], hi['colStart'], hi['colEnd']) + endfor +endfunction + +function! coc#highlight#get_highlights(bufnr, key) abort + if !has_key(s:namespace_map, a:key) || !bufloaded(a:bufnr) + return [] + endif + let res = [] + let ns = s:namespace_map[a:key] + if exists('*prop_list') + let lines = getbufline(a:bufnr, 1, '$') + let linecount = len(lines) + for line in range(1, linecount) + for prop in prop_list(line, {'bufnr': a:bufnr, 'id': s:prop_offset + ns}) + if prop['start'] == 0 || prop['end'] == 0 + " multi line tokens are not supported; simply ignore it + continue + endif + let text = lines[line - 1] + call add(res, { + \ 'hlGroup': s:prop_type_hlgroup(prop['type']), + \ 'lnum': line - 1, + \ 'colStart': coc#helper#get_charactor(text, prop['col']), + \ 'colEnd': coc#helper#get_charactor(text, prop['col'] + prop['length']) + \ }) + endfor + endfor + elseif has('nvim-0.5.0') + let markers = nvim_buf_get_extmarks(a:bufnr, ns, 0, -1, {'details': v:true}) + let lines = getbufline(a:bufnr, 1, '$') + let total = len(lines) + for [_, line, start_col, details] in markers + if line >= total + " Could be markers exceed end of line + continue + endif + let text = lines[line] + let delta = details['end_row'] - line + if delta > 1 || (delta == 1 && details['end_col'] != 0) + " can't handle, single line only + continue + endif + call add(res, { + \ 'hlGroup': details['hl_group'], + \ 'lnum': line, + \ 'colStart': coc#helper#get_charactor(text, start_col + 1), + \ 'colEnd': delta == 1 ? strchars(text) : coc#helper#get_charactor(text, details['end_col'] + 1) + \ }) + endfor + else + throw 'Get highlights requires neovim 0.5.0 or vim support prop_list' + endif + return res +endfunction + +" highlight LSP range, +function! coc#highlight#ranges(bufnr, key, hlGroup, ranges) abort + let bufnr = a:bufnr == 0 ? bufnr('%') : a:bufnr + if !bufloaded(bufnr) || !exists('*getbufline') + return + endif + let synmaxcol = getbufvar(a:bufnr, '&synmaxcol', 1000) + if synmaxcol == 0 + let synmaxcol = 1000 + endif + let synmaxcol = min([synmaxcol, 1000]) + let srcId = coc#highlight#create_namespace(a:key) + for range in a:ranges + let start = range['start'] + let end = range['end'] + for lnum in range(start['line'] + 1, end['line'] + 1) + let arr = getbufline(bufnr, lnum) + let line = empty(arr) ? '' : arr[0] + if empty(line) + continue + endif + if start['character'] > synmaxcol || end['character'] > synmaxcol + continue + endif + " TODO don't know how to count UTF16 code point, should work most cases. + let colStart = lnum == start['line'] + 1 ? strlen(strcharpart(line, 0, start['character'])) : 0 + let colEnd = lnum == end['line'] + 1 ? strlen(strcharpart(line, 0, end['character'])) : -1 + if colStart == colEnd + continue + endif + call coc#highlight#add_highlight(bufnr, srcId, a:hlGroup, lnum - 1, colStart, colEnd) + endfor + endfor +endfunction + +function! coc#highlight#add_highlight(bufnr, src_id, hl_group, line, col_start, col_end) abort + if has('nvim') + call nvim_buf_add_highlight(a:bufnr, a:src_id, a:hl_group, a:line, a:col_start, a:col_end) + else + call coc#api#call('buf_add_highlight', [a:bufnr, a:src_id, a:hl_group, a:line, a:col_start, a:col_end]) + endif +endfunction + +function! coc#highlight#clear_highlight(bufnr, key, start_line, end_line) abort + let bufnr = a:bufnr == 0 ? bufnr('%') : a:bufnr + if !bufloaded(bufnr) + return + endif + let src_id = coc#highlight#create_namespace(a:key) + if has('nvim') + call nvim_buf_clear_namespace(a:bufnr, src_id, a:start_line, a:end_line) + else + call coc#api#call('buf_clear_namespace', [a:bufnr, src_id, a:start_line, a:end_line]) + endif +endfunction + +" highlight buffer in winid with CodeBlock &HighlightItems +" export interface HighlightItem { +" lnum: number // 0 based +" hlGroup: string +" colStart: number // 0 based +" colEnd: number +" } +" export interface CodeBlock { +" filetype?: string +" hlGroup?: string +" startLine: number // 0 based +" endLine: number +" } +function! coc#highlight#add_highlights(winid, codes, highlights) abort + " clear highlights + call coc#compat#execute(a:winid, 'syntax clear') + let bufnr = winbufnr(a:winid) + call coc#highlight#clear_highlight(bufnr, -1, 0, -1) + if !empty(a:codes) + call coc#highlight#highlight_lines(a:winid, a:codes) + endif + if !empty(a:highlights) + for item in a:highlights + call coc#highlight#add_highlight(bufnr, -1, item['hlGroup'], item['lnum'], item['colStart'], item['colEnd']) + endfor + endif +endfunction + + +" Add highlights to line groups of winid, support hlGroup and filetype +" config should have startLine, endLine (0 based, end excluded) and filetype or hlGroup +" endLine should > startLine and endLine is excluded +" +" export interface CodeBlock { +" filetype?: string +" hlGroup?: string +" startLine: number // 0 based +" endLine: number +" } +function! coc#highlight#highlight_lines(winid, blocks) abort + let region_id = 1 + let defined = [] + let cmds = [] + for config in a:blocks + let start = config['startLine'] + 1 + let end = config['endLine'] == -1 ? len(getbufline(winbufnr(a:winid), 1, '$')) + 1 : config['endLine'] + 1 + let filetype = get(config, 'filetype', '') + let hlGroup = get(config, 'hlGroup', '') + if !empty(hlGroup) + call add(cmds, 'syntax region '.hlGroup.' start=/\%'.start.'l/ end=/\%'.end.'l/') + else + let filetype = matchstr(filetype, '\v^\w+') + if empty(filetype) || filetype == 'txt' || index(get(g:, 'coc_markdown_disabled_languages', []), filetype) != -1 + continue + endif + if index(defined, filetype) == -1 + call add(cmds, 'syntax include @'.toupper(filetype).' syntax/'.filetype.'.vim') + call add(cmds, 'unlet! b:current_syntax') + call add(defined, filetype) + endif + call add(cmds, 'syntax region CodeBlock'.region_id.' start=/\%'.start.'l/ end=/\%'.end.'l/ contains=@'.toupper(filetype).' keepend') + let region_id = region_id + 1 + endif + endfor + if !empty(cmds) + call coc#compat#execute(a:winid, cmds, 'silent!') + endif +endfunction + +" Copmpose hlGroups with foreground and background colors. +function! coc#highlight#compose_hlgroup(fgGroup, bgGroup) abort + let hlGroup = 'Fg'.a:fgGroup.'Bg'.a:bgGroup + if a:fgGroup ==# a:bgGroup + return a:fgGroup + endif + if hlexists(hlGroup) + return hlGroup + endif + let fgId = synIDtrans(hlID(a:fgGroup)) + let bgId = synIDtrans(hlID(a:bgGroup)) + let guifg = synIDattr(fgId, 'reverse', 'gui') !=# '1' ? synIDattr(fgId, 'fg', 'gui') : synIDattr(fgId, 'bg', 'gui') + let guibg = synIDattr(bgId, 'reverse', 'gui') !=# '1' ? synIDattr(bgId, 'bg', 'gui') : synIDattr(bgId, 'fg', 'gui') + let ctermfg = synIDattr(fgId, 'reverse', 'cterm') !=# '1' ? synIDattr(fgId, 'fg', 'cterm') : synIDattr(fgId, 'bg', 'cterm') + let ctermbg = synIDattr(bgId, 'reverse', 'cterm') !=# '1' ? synIDattr(bgId, 'bg', 'cterm') : synIDattr(bgId, 'fg', 'cterm') + let bold = synIDattr(fgId, 'bold') ==# '1' + let italic = synIDattr(fgId, 'italic') ==# '1' + let underline = synIDattr(fgId, 'underline') ==# '1' + let cmd = 'silent hi ' . hlGroup + if !empty(guifg) + let cmd .= ' guifg=' . guifg + endif + if !empty(ctermfg) + let cmd .= ' ctermfg=' . ctermfg + elseif guifg =~# '^#' + let cmd .= ' ctermfg=' . coc#color#rgb2term(strpart(guifg, 1)) + endif + if !empty(guibg) + let cmd .= ' guibg=' . guibg + endif + if !empty(ctermbg) + let cmd .= ' ctermbg=' . ctermbg + elseif guibg =~# '^#' + let cmd .= ' ctermbg=' . coc#color#rgb2term(strpart(guibg, 1)) + endif + if bold + let cmd .= ' cterm=bold gui=bold' + elseif italic + let cmd .= ' cterm=italic gui=italic' + elseif underline + let cmd .= ' cterm=underline gui=underline' + endif + execute cmd + return hlGroup +endfunction + +" add matches for winid, use 0 for current window. +function! coc#highlight#match_ranges(winid, bufnr, ranges, hlGroup, priority) abort + let winid = a:winid == 0 ? win_getid() : a:winid + let bufnr = a:bufnr == 0 ? winbufnr(winid) : a:bufnr + if empty(getwininfo(winid)) || (a:bufnr != 0 && winbufnr(a:winid) != a:bufnr) + " not valid + return [] + endif + if !s:clear_match_by_window + let curr = win_getid() + if has('nvim') + noa call nvim_set_current_win(winid) + else + noa call win_gotoid(winid) + endif + endif + let ids = [] + for range in a:ranges + let pos = [] + let start = range['start'] + let end = range['end'] + for lnum in range(start['line'] + 1, end['line'] + 1) + let arr = getbufline(bufnr, lnum) + let line = empty(arr) ? '' : arr[0] + if empty(line) + continue + endif + let colStart = lnum == start['line'] + 1 ? strlen(strcharpart(line, 0, start['character'])) + 1 : 1 + let colEnd = lnum == end['line'] + 1 ? strlen(strcharpart(line, 0, end['character'])) + 1 : strlen(line) + 1 + if colStart == colEnd + continue + endif + call add(pos, [lnum, colStart, colEnd - colStart]) + endfor + if !empty(pos) + let opts = s:clear_match_by_window ? {'window': a:winid} : {} + let i = 1 + let l = [] + for p in pos + call add(l, p) + if i % 8 == 0 + let id = matchaddpos(a:hlGroup, l, a:priority, -1, opts) + call add(ids, id) + let l = [] + endif + let i += 1 + endfor + if !empty(l) + let id = matchaddpos(a:hlGroup, l, a:priority, -1, opts) + call add(ids, id) + endif + endif + endfor + if !s:clear_match_by_window + if has('nvim') + noa call nvim_set_current_win(curr) + else + noa call win_gotoid(curr) + endif + endif + return ids +endfunction + +" Clear matches by hlGroup regexp. +function! coc#highlight#clear_match_group(winid, match) abort + let winid = a:winid == 0 ? win_getid() : a:winid + if empty(getwininfo(winid)) + " not valid + return + endif + if s:clear_match_by_window + let arr = filter(getmatches(winid), 'v:val["group"] =~# "'.a:match.'"') + for item in arr + call matchdelete(item['id'], winid) + endfor + else + let curr = win_getid() + let switch = exists('*nvim_set_current_win') && curr != winid + if switch + noa call nvim_set_current_win(a:winid) + endif + if win_getid() == winid + let arr = filter(getmatches(), 'v:val["group"] =~# "'.a:match.'"') + for item in arr + call matchdelete(item['id']) + endfor + endif + if switch + noa call nvim_set_current_win(curr) + endif + endif +endfunction + +" Clear matches by match ids, use 0 for current win. +function! coc#highlight#clear_matches(winid, ids) + let winid = a:winid == 0 ? win_getid() : a:winid + if empty(getwininfo(winid)) + " not valid + return + endif + if s:clear_match_by_window + for id in a:ids + try + call matchdelete(id, winid) + catch /^Vim\%((\a\+)\)\=:E803/ + " ignore + endtry + endfor + else + let curr = win_getid() + let switch = exists('*nvim_set_current_win') && curr != winid + if switch + noa call nvim_set_current_win(a:winid) + endif + if win_getid() == winid + for id in a:ids + try + call matchdelete(id) + catch /^Vim\%((\a\+)\)\=:E803/ + " ignore + endtry + endfor + endif + if switch + noa call nvim_set_current_win(curr) + endif + endif +endfunction + +function! s:prop_type_hlgroup(type) abort + if a:type=~# '^CocHighlight' + return a:type[12:] + endif + return prop_type_get(a:type)['highlight'] +endfunction + +function! coc#highlight#create_namespace(key) abort + if type(a:key) == 0 + return a:key + endif + if has_key(s:namespace_map, a:key) + return s:namespace_map[a:key] + endif + if has('nvim') + let s:namespace_map[a:key] = nvim_create_namespace('coc-'.a:key) + else + let s:namespace_map[a:key] = s:ns_id + let s:ns_id = s:ns_id + 1 + endif + return s:namespace_map[a:key] +endfunction + +function! coc#highlight#get_syntax_name(lnum, col) + return synIDattr(synIDtrans(synID(a:lnum,a:col,1)),"name") +endfunction diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/list.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/list.vim new file mode 100644 index 0000000..21f2bb3 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/list.vim @@ -0,0 +1,314 @@ +scriptencoding utf-8 +let s:is_vim = !has('nvim') +let s:prefix = '[List Preview]' +" filetype detect could be slow. +let s:filetype_map = { + \ 'vim': 'vim', + \ 'ts': 'typescript', + \ 'js': 'javascript', + \ 'html': 'html', + \ 'css': 'css' + \ } + +function! coc#list#getchar() abort + return coc#prompt#getchar() +endfunction + +function! coc#list#setlines(bufnr, lines, append) + if a:append + silent call appendbufline(a:bufnr, '$', a:lines) + else + if exists('*deletebufline') + silent call deletebufline(a:bufnr, len(a:lines) + 1, '$') + else + let n = len(a:lines) + 1 + let saved_reg = @" + silent execute n.',$d' + let @" = saved_reg + endif + silent call setbufline(a:bufnr, 1, a:lines) + endif +endfunction + +function! coc#list#options(...) + let list = ['--top', '--tab', '--normal', '--no-sort', '--input', '--strict', + \ '--regex', '--interactive', '--number-select', '--auto-preview', + \ '--ignore-case', '--no-quit', '--first'] + if get(g:, 'coc_enabled', 0) + let names = coc#rpc#request('listNames', []) + call extend(list, names) + endif + return join(list, "\n") +endfunction + +function! coc#list#names(...) abort + let names = coc#rpc#request('listNames', []) + return join(names, "\n") +endfunction + +function! coc#list#status(name) + if !exists('b:list_status') | return '' | endif + return get(b:list_status, a:name, '') +endfunction + +function! coc#list#create(position, height, name, numberSelect) + if a:position ==# 'tab' + execute 'silent tabe list:///'.a:name + else + execute 'silent keepalt '.(a:position ==# 'top' ? '' : 'botright').a:height.'sp list:///'.a:name + execute 'resize '.a:height + endif + if a:numberSelect + setl norelativenumber + setl number + else + setl nonumber + setl norelativenumber + setl signcolumn=yes + endif + return [bufnr('%'), win_getid()] +endfunction + +" close list windows +function! coc#list#clean_up() abort + for i in range(1, winnr('$')) + let bufname = bufname(winbufnr(i)) + if bufname =~# 'list://' + execute i.'close!' + endif + endfor +endfunction + +function! coc#list#setup(source) + let b:list_status = {} + setl buftype=nofile nobuflisted nofen nowrap + setl norelativenumber bufhidden=wipe cursorline winfixheight + setl tabstop=1 nolist nocursorcolumn undolevels=-1 + setl signcolumn=auto + if has('nvim-0.5.0') || has('patch-8.1.0864') + setl scrolloff=0 + endif + if exists('&cursorlineopt') + setl cursorlineopt=both + endif + setl filetype=list + syntax case ignore + let source = a:source[8:] + let name = toupper(source[0]).source[1:] + execute 'syntax match Coc'.name.'Line /\v^.*$/' + nnoremap c +endfunction + +" Check if previewwindow exists on current tab. +function! coc#list#has_preview() + for i in range(1, winnr('$')) + let preview = getwinvar(i, 'previewwindow', getwinvar(i, '&previewwindow', 0)) + if preview + return i + endif + endfor + return 0 +endfunction + +" Get previewwindow from tabnr, use 0 for current tab +function! coc#list#get_preview(...) abort + let tabnr = get(a:, 1, 0) == 0 ? tabpagenr() : a:1 + let info = gettabinfo(tabnr) + if !empty(info) + for win in info[0]['windows'] + if getwinvar(win, 'previewwindow', 0) + return win + endif + endfor + endif + return -1 +endfunction + +function! coc#list#scroll_preview(dir) abort + let winnr = coc#list#has_preview() + if !winnr + return + endif + let winid = win_getid(winnr) + if exists('*win_execute') + call win_execute(winid, "normal! ".(a:dir ==# 'up' ? "\" : "\")) + else + let id = win_getid() + noa call win_gotoid(winid) + execute "normal! ".(a:dir ==# 'up' ? "\" : "\") + noa call win_gotoid(id) + endif +endfunction + +function! coc#list#restore(winid, height) + if has('nvim') && nvim_win_is_valid(a:winid) + call nvim_win_set_height(a:winid, a:height) + elseif s:is_vim && exists('*win_execute') + call win_execute(a:winid, 'noa resize '.a:height, 'silent!') + redraw + endif +endfunction + +function! coc#list#set_height(height) abort + if winnr('$') == 1| return | endif + execute 'resize '.a:height +endfunction + +function! coc#list#hide(original, height, winid) abort + let arr = win_id2tabwin(a:winid) + " close preview window + if !empty(arr) && arr[0] != 0 + silent! pclose! + let previewwin = coc#list#get_preview(arr[0]) + call coc#window#close(previewwin) + endif + if !empty(getwininfo(a:original)) + call win_gotoid(a:original) + endif + if a:winid + silent! call coc#window#close(a:winid) + endif + if !empty(a:height) && win_getid() == a:original + if exists('*nvim_win_set_height') + call nvim_win_set_height(a:original, a:height) + elseif win_getid() == a:original + execute 'resize '.a:height + endif + endif +endfunction + +" Improve preview performance by reused window & buffer. +" lines - list of lines +" config.position - could be 'below' 'top' 'tab'. +" config.winid - id of original window. +" config.name - (optional )name of preview buffer. +" config.splitRight - (optional) split to right when 1. +" config.lnum - (optional) current line number +" config.filetype - (optional) filetype of lines. +" config.hlGroup - (optional) highlight group. +" config.maxHeight - (optional) max height of window, valid for 'below' & 'top' position. +function! coc#list#preview(lines, config) abort + if s:is_vim && !exists('*win_execute') + throw 'win_execute function required for preview, please upgrade your vim.' + return + endif + let name = fnamemodify(get(a:config, 'name', ''), ':.') + let lines = a:lines + if empty(lines) + if get(a:config, 'scheme', 'file') != 'file' + let bufnr = s:load_buffer(name) + if bufnr != 0 + let lines = getbufline(bufnr, 1, '$') + else + let lines = [''] + endif + else + " Show empty lines so not close window. + let lines = [''] + endif + endif + let winid = coc#list#get_preview(0) + let bufnr = winid == -1 ? 0 : winbufnr(winid) + " Try reuse buffer & window + let bufnr = coc#float#create_buf(bufnr, lines) + if bufnr == 0 + return + endif + call setbufvar(bufnr, '&synmaxcol', 500) + let filetype = get(a:config, 'filetype', '') + let extname = matchstr(name, '\.\zs[^.]\+$') + if empty(filetype) && !empty(extname) + let filetype = get(s:filetype_map, extname, '') + endif + let range = get(a:config, 'range', v:null) + let hlGroup = get(a:config, 'hlGroup', 'Search') + let lnum = get(a:config, 'lnum', 1) + let position = get(a:config, 'position', 'below') + let original = get(a:config, 'winid', -1) + if winid == -1 + let change = position != 'tab' && get(a:config, 'splitRight', 0) + let curr = win_getid() + if change + if original && win_id2win(original) + noa call win_gotoid(original) + else + noa wincmd t + endif + execute 'noa belowright vert sb '.bufnr + let winid = win_getid() + elseif position == 'tab' || get(a:config, 'splitRight', 0) + execute 'noa belowright vert sb '.bufnr + let winid = win_getid() + else + let mod = position == 'top' ? 'below' : 'above' + let height = s:get_height(lines, a:config) + execute 'noa '.mod.' sb +resize\ '.height.' '.bufnr + let winid = win_getid() + endif + noa call winrestview({"lnum": lnum ,"topline":max([1, lnum - 3])}) + call setwinvar(winid, '&signcolumn', 'no') + call setwinvar(winid, '&number', 1) + call setwinvar(winid, '&cursorline', 0) + call setwinvar(winid, '&relativenumber', 0) + call setwinvar(winid, 'previewwindow', 1) + noa call win_gotoid(curr) + else + let height = s:get_height(lines, a:config) + if height > 0 + if s:is_vim + let curr = win_getid() + noa call win_gotoid(winid) + execute 'silent! noa resize '.height + noa call win_gotoid(curr) + else + call nvim_win_set_height(winid, height) + endif + endif + call coc#compat#execute(winid, ['syntax clear', 'noa call winrestview({"lnum":'.lnum.',"topline":'.max([1, lnum - 3]).'})']) + endif + call setwinvar(winid, '&foldenable', 0) + if s:prefix.' '.name != bufname(bufnr) + if s:is_vim + call win_execute(winid, 'noa file '.fnameescape(s:prefix.' '.name), 'silent!') + else + silent! noa call nvim_buf_set_name(bufnr, s:prefix.' '.name) + endif + endif + " highlights + if !empty(filetype) + let start = max([0, lnum - 300]) + let end = min([len(lines), lnum + 300]) + call coc#highlight#highlight_lines(winid, [{'filetype': filetype, 'startLine': start, 'endLine': end}]) + call coc#compat#execute(winid, 'syn sync fromstart') + else + call coc#compat#execute(winid, 'filetype detect') + let ft = getbufvar(bufnr, '&filetype', '') + if !empty(extname) && !empty(ft) + let s:filetype_map[extname] = ft + endif + endif + call sign_unplace('coc', {'buffer': bufnr}) + call coc#compat#execute(winid, 'call clearmatches()') + if !empty(range) + call sign_place(1, 'coc', 'CocCurrentLine', bufnr, {'lnum': lnum}) + call coc#highlight#match_ranges(winid, bufnr, [range], hlGroup, 10) + endif + redraw +endfunction + +function! s:get_height(lines, config) abort + if get(a:config, 'splitRight', 0) || get(a:config, 'position', 'below') == 'tab' + return 0 + endif + let height = min([get(a:config, 'maxHeight', 10), len(a:lines), &lines - &cmdheight - 2]) + return height +endfunction + +function! s:load_buffer(name) abort + if exists('*bufadd') && exists('*bufload') + let bufnr = bufadd(a:name) + call bufload(bufnr) + return bufnr + endif + return 0 +endfunction diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/prompt.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/prompt.vim new file mode 100644 index 0000000..cbe4a97 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/prompt.vim @@ -0,0 +1,210 @@ +scriptencoding utf-8 +let s:is_vim = !has('nvim') +let s:activated = 0 +let s:session_names = [] +let s:saved_ve = &t_ve +let s:saved_cursor = &guicursor +let s:gui = has('gui_running') || has('nvim') + +let s:char_map = { + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\":'' , + \ "\":'' , + \ "\":'', + \ "\":'', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\<2-LeftMouse>": '<2-LeftMouse>', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ "\": '', + \ } + +function! coc#prompt#getc() abort + let c = getchar() + return type(c) == type(0) ? nr2char(c) : c +endfunction + +function! coc#prompt#getchar() abort + let input = coc#prompt#getc() + if 1 != &iminsert + return input + endif + "a language keymap is activated, so input must be resolved to the mapped values. + let partial_keymap = mapcheck(input, "l") + while partial_keymap !=# "" + let full_keymap = maparg(input, "l") + if full_keymap ==# "" && len(input) >= 3 "HACK: assume there are no keymaps longer than 3. + return input + elseif full_keymap ==# partial_keymap + return full_keymap + endif + let c = coc#prompt#getc() + if c ==# "\" || c ==# "\" + "if the short sequence has a valid mapping, return that. + if !empty(full_keymap) + return full_keymap + endif + return input + endif + let input .= c + let partial_keymap = mapcheck(input, "l") + endwhile + return input +endfunction + +function! coc#prompt#start_prompt(session) abort + let s:session_names = s:filter(s:session_names, a:session) + call add(s:session_names, a:session) + if s:activated | return | endif + if s:is_vim + call s:start_prompt_vim() + else + call s:start_prompt() + endif +endfunction + +function! s:start_prompt_vim() abort + call timer_start(10, {-> s:start_prompt()}) +endfunction + +function! s:start_prompt() + if s:activated | return | endif + if !get(g:, 'coc_disable_transparent_cursor', 0) + if s:gui + if has('nvim-0.5.0') && !empty(s:saved_cursor) + set guicursor+=a:ver1-CocCursorTransparent/lCursor + endif + elseif s:is_vim + set t_ve= + endif + endif + let s:activated = 1 + try + while s:activated + let ch = coc#prompt#getchar() + if ch ==# "\" || ch ==# "\" || ch ==# "\" + continue + else + let curr = s:current_session() + let mapped = get(s:char_map, ch, ch) + if !empty(curr) + call coc#rpc#notify('InputChar', [curr, mapped, getcharmod()]) + endif + if mapped == '' + let s:session_names = [] + call s:reset() + break + endif + endif + endwhile + catch /^Vim:Interrupt$/ + let s:activated = 0 + call coc#rpc#notify('InputChar', [s:current_session(), '']) + return + endtry + let s:activated = 0 +endfunction + +function! coc#prompt#stop_prompt(session) + let s:session_names = s:filter(s:session_names, a:session) + if len(s:session_names) + return + endif + if s:activated + let s:activated = 0 + call s:reset() + call feedkeys("\", 'int') + endif +endfunction + +function! coc#prompt#activated() abort + return s:activated +endfunction + +function! s:reset() abort + if !get(g:, 'coc_disable_transparent_cursor',0) + " neovim has bug with revert empty &guicursor + if s:gui && !empty(s:saved_cursor) + if has('nvim-0.5.0') + set guicursor+=a:ver1-Cursor/lCursor + let &guicursor = s:saved_cursor + endif + elseif s:is_vim + let &t_ve = s:saved_ve + endif + endif + echo "" +endfunction + +function! s:current_session() abort + if empty(s:session_names) + return v:null + endif + return s:session_names[len(s:session_names) - 1] +endfunction + +function! s:filter(list, id) abort + return filter(copy(a:list), 'v:val !=# a:id') +endfunction diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/rpc.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/rpc.vim new file mode 100644 index 0000000..d985a56 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/rpc.vim @@ -0,0 +1,128 @@ +scriptencoding utf-8 +let s:is_win = has("win32") || has("win64") +let s:client = v:null +let s:name = 'coc' +let s:is_vim = !has('nvim') + +function! coc#rpc#start_server() + if get(g:, 'coc_node_env', '') ==# 'test' + " server already started + let s:client = coc#client#create(s:name, []) + let s:client['running'] = 1 + let s:client['chan_id'] = get(g:, 'coc_node_channel_id', 0) + call dictwatcheradd(g:, 'coc_node_channel_id', function('s:ChannelSet')) + return + endif + if empty(s:client) + let cmd = coc#util#job_command() + if empty(cmd) | return | endif + let $COC_VIMCONFIG = coc#util#get_config_home() + let $COC_DATA_HOME = coc#util#get_data_home() + let s:client = coc#client#create(s:name, cmd) + endif + if !coc#client#is_running('coc') + call s:client['start']() + endif +endfunction + +function! coc#rpc#started() abort + return !empty(s:client) +endfunction + +function! coc#rpc#ready() + if empty(s:client) || s:client['running'] == 0 + return 0 + endif + return 1 +endfunction + +function! s:ChannelSet(dict, key, val) + let chan_id = get(a:val, 'new', 0) + if empty(s:client) | return | endif + let s:client['running'] = 1 + let s:client['chan_id'] = chan_id + call dictwatcherdel(g:, 'coc_node_channel_id', function('s:ChannelSet')) +endfunction + +function! coc#rpc#kill() + let pid = get(g:, 'coc_process_pid', 0) + if !pid | return | endif + if s:is_win + call system('taskkill /PID '.pid) + else + call system('kill -9 '.pid) + endif +endfunction + +function! coc#rpc#get_errors() + return split(execute('messages'), "\n") +endfunction + +function! coc#rpc#stop() + if empty(s:client) + return + endif + try + if s:is_vim + call job_stop(ch_getjob(s:client['channel']), 'term') + else + call jobstop(s:client['chan_id']) + endif + catch /.*/ + " ignore + endtry +endfunction + +function! coc#rpc#restart() + if empty(s:client) + call coc#rpc#start_server() + else + call coc#float#close_all() + call coc#rpc#request('detach', []) + sleep 100m + let s:client['command'] = coc#util#job_command() + call coc#client#restart(s:name) + echohl MoreMsg | echom 'starting coc.nvim service' | echohl None + endif +endfunction + +function! coc#rpc#request(method, args) abort + if !coc#rpc#ready() + return '' + endif + return s:client['request'](a:method, a:args) +endfunction + +function! coc#rpc#notify(method, args) abort + if !coc#rpc#ready() + return '' + endif + call s:client['notify'](a:method, a:args) + return '' +endfunction + +function! coc#rpc#request_async(method, args, cb) abort + if !coc#rpc#ready() + return cb('coc.nvim service not started.') + endif + call s:client['request_async'](a:method, a:args, a:cb) +endfunction + +" receive async response +function! coc#rpc#async_response(id, resp, isErr) abort + if empty(s:client) + return + endif + call coc#client#on_response(s:name, a:id, a:resp, a:isErr) +endfunction + +" send async response to server +function! coc#rpc#async_request(id, method, args) + let l:Cb = {err, ... -> coc#rpc#notify('nvim_async_response_event', [a:id, err, get(a:000, 0, v:null)])} + let args = a:args + [l:Cb] + try + call call(a:method, args) + catch /.*/ + call coc#rpc#notify('nvim_async_response_event', [a:id, v:exception, v:null]) + endtry +endfunction diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/snippet.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/snippet.vim new file mode 100644 index 0000000..bb63637 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/snippet.vim @@ -0,0 +1,69 @@ +scriptencoding utf-8 +let s:is_vim = !has('nvim') +let s:map_next = 1 + +function! coc#snippet#_select_mappings() + if !get(g:, 'coc_selectmode_mapping', 1) + return + endif + + redir => mappings + silent! smap + redir END + + for map in map(filter(split(mappings, '\n'), + \ "v:val !~# '^s' && v:val !~# '^\\a*\\s*<\\S\\+>'"), + \ "matchstr(v:val, '^\\a*\\s*\\zs\\S\\+')") + silent! execute 'sunmap' map + silent! execute 'sunmap ' map + endfor + + " same behaviour of ultisnips + snoremap c + snoremap c + snoremap c + snoremap "_c +endfunction + +function! coc#snippet#show_choices(lnum, col, len, values) abort + let m = mode() + call cursor(a:lnum, a:col + a:len) + if m !=# 'i' | startinsert | endif + call timer_start(20, { -> coc#_do_complete(a:col - 1, a:values, 0)}) + redraw +endfunction + +function! coc#snippet#enable() + if get(b:, 'coc_snippet_active', 0) == 1 + return + endif + let b:coc_snippet_active = 1 + silent! unlet g:coc_selected_text + call coc#snippet#_select_mappings() + let nextkey = get(g:, 'coc_snippet_next', '') + let prevkey = get(g:, 'coc_snippet_prev', '') + if maparg(nextkey, 'i') =~# 'expand-jump' + let s:map_next = 0 + endif + if s:map_next + execute 'inoremap '.nextkey." =coc#rpc#request('snippetNext', [])" + endif + execute 'inoremap '.prevkey." =coc#rpc#request('snippetPrev', [])" + execute 'snoremap '.prevkey." :call coc#rpc#request('snippetPrev', [])" + execute 'snoremap '.nextkey." :call coc#rpc#request('snippetNext', [])" +endfunction + +function! coc#snippet#disable() + if get(b:, 'coc_snippet_active', 0) == 0 + return + endif + let b:coc_snippet_active = 0 + let nextkey = get(g:, 'coc_snippet_next', '') + let prevkey = get(g:, 'coc_snippet_prev', '') + if s:map_next + silent! execute 'iunmap '.nextkey + endif + silent! execute 'iunmap '.prevkey + silent! execute 'sunmap '.prevkey + silent! execute 'sunmap '.nextkey +endfunction diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/task.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/task.vim new file mode 100644 index 0000000..d5b6e1e --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/task.vim @@ -0,0 +1,179 @@ +" ============================================================================ +" Description: Manage long running tasks. +" Author: Qiming Zhao +" Licence: MIT licence +" Version: 0.1 +" Last Modified: Dec 12, 2020 +" ============================================================================ +scriptencoding utf-8 + +let s:is_vim = !has('nvim') +let s:running_task = {} +" neovim emit strings that part of lines. +let s:out_remain_text = {} +let s:err_remain_text = {} + +function! coc#task#start(id, opts) + if coc#task#running(a:id) + call coc#task#stop(a:id) + endif + let cmd = [a:opts['cmd']] + get(a:opts, 'args', []) + let cwd = get(a:opts, 'cwd', getcwd()) + let env = get(a:opts, 'env', {}) + " cmd args cwd pty + if s:is_vim + let options = { + \ 'cwd': cwd, + \ 'err_mode': 'nl', + \ 'out_mode': 'nl', + \ 'err_cb': {channel, message -> s:on_stderr(a:id, [message])}, + \ 'out_cb': {channel, message -> s:on_stdout(a:id, [message])}, + \ 'exit_cb': {channel, code -> s:on_exit(a:id, code)}, + \ 'env': env, + \} + if has("patch-8.1.350") + let options['noblock'] = 1 + endif + if get(a:opts, 'pty', 0) + let options['pty'] = 1 + endif + let job = job_start(cmd, options) + let status = job_status(job) + if status !=# 'run' + echohl Error | echom 'Failed to start '.a:id.' task' | echohl None + return v:false + endif + let s:running_task[a:id] = job + else + let options = { + \ 'cwd': cwd, + \ 'on_stderr': {channel, msgs -> s:on_stderr(a:id, msgs)}, + \ 'on_stdout': {channel, msgs -> s:on_stdout(a:id, msgs)}, + \ 'on_exit': {channel, code -> s:on_exit(a:id, code)}, + \ 'detach': get(a:opts, 'detach', 0), + \} + let original = {} + if !empty(env) + if has('nvim-0.5.0') + let options['env'] = env + elseif exists('*setenv') && exists('*getenv') + for key in keys(env) + let original[key] = getenv(key) + call setenv(key, env[key]) + endfor + endif + endif + if get(a:opts, 'pty', 0) + let options['pty'] = 1 + endif + let chan_id = jobstart(cmd, options) + if !empty(original) + for key in keys(original) + call setenv(key, original[key]) + endfor + endif + if chan_id <= 0 + echohl Error | echom 'Failed to start '.a:id.' task' | echohl None + return v:false + endif + let s:running_task[a:id] = chan_id + endif + return v:true +endfunction + +function! coc#task#stop(id) + let job = get(s:running_task, a:id, v:null) + if !job | return | endif + if s:is_vim + call job_stop(job, 'term') + else + call jobstop(job) + endif + sleep 50m + let running = coc#task#running(a:id) + if running + echohl Error | echom 'job '.a:id. ' stop failed.' | echohl None + endif +endfunction + +function! s:on_exit(id, code) abort + if get(g:, 'coc_vim_leaving', 0) | return | endif + if has('nvim') + let s:out_remain_text[a:id] = '' + let s:err_remain_text[a:id] = '' + endif + if has_key(s:running_task, a:id) + call remove(s:running_task, a:id) + endif + call coc#rpc#notify('TaskExit', [a:id, a:code]) +endfunction + +function! s:on_stderr(id, msgs) + if get(g:, 'coc_vim_leaving', 0) | return | endif + if empty(a:msgs) + return + endif + if s:is_vim + call coc#rpc#notify('TaskStderr', [a:id, a:msgs]) + else + let remain = get(s:err_remain_text, a:id, '') + let eof = (a:msgs == ['']) + let msgs = copy(a:msgs) + if len(remain) > 0 + if msgs[0] == '' + let msgs[0] = remain + else + let msgs[0] = remain . msgs[0] + endif + endif + let last = msgs[len(msgs) - 1] + let s:err_remain_text[a:id] = len(last) > 0 ? last : '' + " all lines from 0 to n - 2 + if len(msgs) > 1 + call coc#rpc#notify('TaskStderr', [a:id, msgs[:len(msgs)-2]]) + elseif eof && len(msgs[0]) > 0 + call coc#rpc#notify('TaskStderr', [a:id, msgs]) + endif + endif +endfunction + +function! s:on_stdout(id, msgs) + if empty(a:msgs) + return + endif + if s:is_vim + call coc#rpc#notify('TaskStdout', [a:id, a:msgs]) + else + let remain = get(s:out_remain_text, a:id, '') + let eof = (a:msgs == ['']) + let msgs = copy(a:msgs) + if len(remain) > 0 + if msgs[0] == '' + let msgs[0] = remain + else + let msgs[0] = remain . msgs[0] + endif + endif + let last = msgs[len(msgs) - 1] + let s:out_remain_text[a:id] = len(last) > 0 ? last : '' + " all lines from 0 to n - 2 + if len(msgs) > 1 + call coc#rpc#notify('TaskStdout', [a:id, msgs[:len(msgs)-2]]) + elseif eof && len(msgs[0]) > 0 + call coc#rpc#notify('TaskStdout', [a:id, msgs]) + endif + endif +endfunction + +function! coc#task#running(id) + if !has_key(s:running_task, a:id) == 1 + return v:false + endif + let job = s:running_task[a:id] + if s:is_vim + let status = job_status(job) + return status ==# 'run' + endif + let [code] = jobwait([job], 10) + return code == -1 +endfunction diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/terminal.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/terminal.vim new file mode 100644 index 0000000..87423ef --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/terminal.vim @@ -0,0 +1,115 @@ +scriptencoding utf-8 +let s:is_vim = !has('nvim') +let s:channel_map = {} +let s:is_win = has('win32') || has('win64') + +" start terminal, return [bufnr, pid] +function! coc#terminal#start(cmd, cwd, env) abort + if s:is_vim && !has('terminal') + throw 'terminal feature not supported by current vim.' + endif + let cwd = empty(a:cwd) ? getcwd() : a:cwd + execute 'belowright 8new +setl\ buftype=nofile' + setl winfixheight + setl norelativenumber + setl nonumber + setl bufhidden=hide + if exists('#User#CocTerminalOpen') + exe 'doautocmd User CocTerminalOpen' + endif + let bufnr = bufnr('%') + let env = {} + let original = {} + if !empty(a:env) + " use env option when possible + if s:is_vim + let env = copy(a:env) + elseif exists('*setenv') + for key in keys(a:env) + let original[key] = getenv(key) + call setenv(key, a:env[key]) + endfor + endif + endif + + function! s:OnExit(status) closure + if a:status == 0 + execute 'silent! bd! '.bufnr + endif + endfunction + + if has('nvim') + let job_id = termopen(a:cmd, { + \ 'cwd': cwd, + \ 'pty': 1, + \ 'on_exit': {job, status -> s:OnExit(status)}, + \ 'env': env, + \ }) + if !empty(original) && exists('*setenv') + for key in keys(original) + call setenv(key, original[key]) + endfor + endif + if job_id == 0 + throw 'create terminal job failed' + endif + wincmd p + let s:channel_map[bufnr] = job_id + return [bufnr, jobpid(job_id)] + else + let cmd = s:is_win ? join(a:cmd, ' ') : a:cmd + let res = term_start(cmd, { + \ 'cwd': cwd, + \ 'term_kill': s:is_win ? 'kill' : 'term', + \ 'term_finish': 'close', + \ 'exit_cb': {job, status -> s:OnExit(status)}, + \ 'curwin': 1, + \ 'env': env, + \}) + if res == 0 + throw 'create terminal job failed' + endif + let job = term_getjob(bufnr) + let s:channel_map[bufnr] = job_getchannel(job) + wincmd p + return [bufnr, job_info(job).process] + endif +endfunction + +function! coc#terminal#send(bufnr, text, add_new_line) abort + let chan = get(s:channel_map, a:bufnr, v:null) + if empty(chan) | return| endif + if has('nvim') + let lines = split(a:text, '\v\r?\n') + if a:add_new_line && !empty(lines[len(lines) - 1]) + if s:is_win + call add(lines, "\r\n") + else + call add(lines, '') + endif + endif + call chansend(chan, lines) + let winnr = bufwinnr(a:bufnr) + if winnr != -1 + exe 'noa '.winnr.'wincmd w' + exe 'noa normal! G' + exe 'noa '.wincmd p + endif + else + if !a:add_new_line + call ch_sendraw(chan, a:text) + else + call ch_sendraw(chan, a:text.(s:is_win ? "\r\n" : "\n")) + endif + endif +endfunction + +function! coc#terminal#close(bufnr) abort + if has('nvim') + let job_id = get(s:channel_map, a:bufnr, 0) + if !empty(job_id) + silent! call chanclose(job_id) + endif + endif + exe 'silent! bd! '.a:bufnr +endfunction diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/util.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/util.vim new file mode 100644 index 0000000..f2b8ec1 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/util.vim @@ -0,0 +1,876 @@ +scriptencoding utf-8 +let s:root = expand(':h:h:h') +let s:is_win = has('win32') || has('win64') +let s:is_vim = !has('nvim') +let s:clear_match_by_id = has('nvim-0.5.0') || has('patch-8.1.1084') +let s:vim_api_version = 10 +let s:activate = "" +let s:quit = "" + +if has("gui_macvim") && has('gui_running') + let s:app = "MacVim" +elseif $TERM_PROGRAM ==# "Apple_Terminal" + let s:app = "Terminal" +elseif $TERM_PROGRAM ==# "iTerm.app" + let s:app = "iTerm2" +elseif has('mac') + let s:app = "System Events" + let s:quit = "quit" + let s:activate = 'activate' +endif + +function! coc#util#api_version() abort + return s:vim_api_version +endfunction + +" get cursor position +function! coc#util#cursor() + return [line('.') - 1, strchars(strpart(getline('.'), 0, col('.') - 1))] +endfunction + +function! coc#util#has_preview() + for i in range(1, winnr('$')) + if getwinvar(i, '&previewwindow') + return i + endif + endfor + return 0 +endfunction + +function! coc#util#jumpTo(line, character) abort + echohl WarningMsg | echon 'coc#util#jumpTo is deprecated, use coc#cursor#move_to instead.' | echohl None + call coc#cursor#move_to(a:line, a:character) +endfunction + +function! coc#util#path_replace_patterns() abort + if has('win32unix') && exists('g:coc_cygqwin_path_prefixes') + echohl WarningMsg + echon 'g:coc_cygqwin_path_prefixes is deprecated, use g:coc_uri_prefix_replace_patterns instead' + echohl None + return g:coc_cygqwin_path_prefixes + endif + if exists('g:coc_uri_prefix_replace_patterns') + return g:coc_uri_prefix_replace_patterns + endif + return v:null +endfunction + +function! coc#util#version() + if s:is_vim + return string(v:versionlong) + endif + let c = execute('silent version') + let lines = split(matchstr(c, 'NVIM v\zs[^\n-]*')) + return lines[0] +endfunction + +function! coc#util#check_refresh(bufnr) + if !bufloaded(a:bufnr) + return 0 + endif + if getbufvar(a:bufnr, 'coc_diagnostic_disable', 0) + return 0 + endif + if get(g: , 'EasyMotion_loaded', 0) + return EasyMotion#is_active() != 1 + endif + return 1 +endfunction + +function! coc#util#diagnostic_info(bufnr, checkInsert) abort + let checked = coc#util#check_refresh(a:bufnr) + if !checked + return v:null + endif + if a:checkInsert && mode() =~# '^i' + return v:null + endif + let locationlist = '' + let winid = -1 + for info in getwininfo() + if info['bufnr'] == a:bufnr + let winid = info['winid'] + let locationlist = get(getloclist(winid, {'title': 1}), 'title', '') + break + endif + endfor + return { + \ 'bufnr': bufnr('%'), + \ 'winid': winid, + \ 'lnum': line('.'), + \ 'locationlist': locationlist + \ } +endfunction + +function! coc#util#open_file(cmd, file) + let file = fnameescape(a:file) + execute a:cmd .' '.file +endfunction + +function! coc#util#remote_fns(name) + let fns = ['init', 'complete', 'should_complete', 'refresh', 'get_startcol', 'on_complete', 'on_enter'] + let res = [] + for fn in fns + if exists('*coc#source#'.a:name.'#'.fn) + call add(res, fn) + endif + endfor + return res +endfunction + +function! coc#util#job_command() + if (has_key(g:, 'coc_node_path')) + let node = expand(g:coc_node_path) + else + let node = $COC_NODE_PATH == '' ? 'node' : $COC_NODE_PATH + endif + if !executable(node) + echohl Error | echom '[coc.nvim] "'.node.'" is not executable, checkout https://nodejs.org/en/download/' | echohl None + return + endif + if !filereadable(s:root.'/build/index.js') + if isdirectory(s:root.'/src') + echohl Error | echom '[coc.nvim] build/index.js not found, please install dependencies and compile coc.nvim by: yarn install' | echohl None + else + echohl Error | echon '[coc.nvim] your coc.nvim is broken.' | echohl None + endif + return + endif + return [node] + get(g:, 'coc_node_args', ['--no-warnings']) + [s:root.'/build/index.js'] +endfunction + +function! coc#util#echo_hover(msg) + echohl MoreMsg + echo a:msg + echohl None + let g:coc_last_hover_message = a:msg +endfunction + +function! coc#util#jump(cmd, filepath, ...) abort + if a:cmd != 'pedit' + silent! normal! m' + endif + let path = a:filepath + if (has('win32unix')) + let path = substitute(a:filepath, '\v\\', '/', 'g') + endif + let file = fnamemodify(path, ":~:.") + if a:cmd == 'pedit' + let extra = empty(get(a:, 1, [])) ? '' : '+'.(a:1[0] + 1) + exe 'pedit '.extra.' '.fnameescape(file) + return + else + exe a:cmd.' '.fnameescape(file) + endif + if !empty(get(a:, 1, [])) + let line = getline(a:1[0] + 1) + " TODO need to use utf16 here + let col = byteidx(line, a:1[1]) + 1 + if col == 0 + let col = 999 + endif + call cursor(a:1[0] + 1, col) + endif + if &filetype ==# '' + filetype detect + endif + if s:is_vim + redraw + endif +endfunction + +function! coc#util#echo_messages(hl, msgs) + if a:hl !~# 'Error' && (mode() !~# '\v^(i|n)$') + return + endif + let msgs = filter(copy(a:msgs), '!empty(v:val)') + if empty(msgs) + return + endif + execute 'echohl '.a:hl + echom a:msgs[0] + redraw + echo join(msgs, "\n") + echohl None +endfunction + +function! coc#util#echo_lines(lines) + echo join(a:lines, "\n") +endfunction + +function! coc#util#timer(method, args) + call timer_start(0, { -> s:Call(a:method, a:args)}) +endfunction + +function! s:Call(method, args) + try + call call(a:method, a:args) + redraw + catch /.*/ + return 0 + endtry +endfunction + +function! coc#util#get_bufoptions(bufnr, maxFileSize) abort + if !bufloaded(a:bufnr) | return v:null | endif + let bufname = bufname(a:bufnr) + let buftype = getbufvar(a:bufnr, '&buftype') + let winid = bufwinid(a:bufnr) + let size = -1 + if bufnr('%') == a:bufnr + let size = line2byte(line("$") + 1) + elseif !empty(bufname) + let size = getfsize(bufname) + endif + let lines = [] + if getbufvar(a:bufnr, 'coc_enabled', 1) && (buftype == '' || buftype == 'acwrite') && size < a:maxFileSize + let lines = getbufline(a:bufnr, 1, '$') + endif + return { + \ 'bufname': bufname, + \ 'size': size, + \ 'buftype': buftype, + \ 'winid': winid, + \ 'previewwindow': v:false, + \ 'variables': s:variables(a:bufnr), + \ 'fullpath': empty(bufname) ? '' : fnamemodify(bufname, ':p'), + \ 'eol': getbufvar(a:bufnr, '&eol'), + \ 'filetype': getbufvar(a:bufnr, '&filetype'), + \ 'iskeyword': getbufvar(a:bufnr, '&iskeyword'), + \ 'changedtick': getbufvar(a:bufnr, 'changedtick'), + \ 'lines': lines, + \} +endfunction + +function! s:variables(bufnr) abort + let info = getbufinfo(a:bufnr) + let variables = empty(info) ? {} : copy(info[0]['variables']) + for key in keys(variables) + if key !~# '\v^coc' + unlet variables[key] + endif + endfor + return variables +endfunction + +function! coc#util#root_patterns() abort + return coc#rpc#request('rootPatterns', [bufnr('%')]) +endfunction + +function! coc#util#get_config(key) abort + return coc#rpc#request('getConfig', [a:key]) +endfunction + +function! coc#util#preview_info(info, filetype, ...) abort + pclose + keepalt new +setlocal\ previewwindow|setlocal\ buftype=nofile|setlocal\ noswapfile|setlocal\ wrap [Document] + setl bufhidden=wipe + setl nobuflisted + setl nospell + exe 'setl filetype='.a:filetype + setl conceallevel=0 + setl nofoldenable + for command in a:000 + execute command + endfor + let lines = a:info + call append(0, lines) + exe "normal! z" . len(lines) . "\" + exe "normal! gg" + wincmd p +endfunction + +function! coc#util#get_config_home() + if !empty(get(g:, 'coc_config_home', '')) + return resolve(expand(g:coc_config_home)) + endif + if exists('$VIMCONFIG') + return resolve($VIMCONFIG) + endif + if has('nvim') + if exists('$XDG_CONFIG_HOME') + return resolve($XDG_CONFIG_HOME."/nvim") + endif + if s:is_win + return resolve($HOME.'/AppData/Local/nvim') + endif + return resolve($HOME.'/.config/nvim') + else + if s:is_win + return resolve($HOME."/vimfiles") + endif + return resolve($HOME.'/.vim') + endif +endfunction + +function! coc#util#get_data_home() + if !empty(get(g:, 'coc_data_home', '')) + let dir = resolve(expand(g:coc_data_home)) + else + if exists('$XDG_CONFIG_HOME') + let dir = resolve($XDG_CONFIG_HOME."/coc") + else + if s:is_win + let dir = resolve(expand('~/AppData/Local/coc')) + else + let dir = resolve(expand('~/.config/coc')) + endif + endif + endif + if !isdirectory(dir) + echohl MoreMsg | echom '[coc.nvim] creating data directory: '.dir | echohl None + call mkdir(dir, "p", 0755) + endif + return dir +endfunction + +function! coc#util#get_input() + let before = strpart(getline('.'), 0, col('.')-1) + if len(before) == 0 + return '' + endif + return matchstr(before, '\k*$') +endfunction + +function! coc#util#get_complete_option() + let pos = getcurpos() + let line = getline(pos[1]) + let input = matchstr(strpart(line, 0, pos[2] - 1), '\k*$') + let col = pos[2] - strlen(input) + let synname = synIDattr(synID(pos[1], col, 1), 'name') + return { + \ 'word': matchstr(strpart(line, col - 1), '^\k\+'), + \ 'input': empty(input) ? '' : input, + \ 'line': line, + \ 'filetype': &filetype, + \ 'filepath': expand('%:p'), + \ 'bufnr': bufnr('%'), + \ 'linenr': pos[1], + \ 'colnr' : pos[2], + \ 'col': col - 1, + \ 'synname': synname, + \ 'changedtick': b:changedtick, + \ 'blacklist': get(b:, 'coc_suggest_blacklist', []), + \} +endfunction + +function! coc#util#with_callback(method, args, cb) + function! s:Cb() closure + try + let res = call(a:method, a:args) + call a:cb(v:null, res) + catch /.*/ + call a:cb(v:exception) + endtry + endfunction + let timeout = s:is_vim ? 10 : 0 + call timer_start(timeout, {-> s:Cb() }) +endfunction + +function! coc#util#quickpick(title, items, cb) abort + if exists('*popup_menu') + function! s:QuickpickHandler(id, result) closure + call a:cb(v:null, a:result) + endfunction + function! s:QuickpickFilter(id, key) closure + for i in range(1, len(a:items)) + if a:key == string(i) + call popup_close(a:id, i) + return 1 + endif + endfor + " No shortcut, pass to generic filter + return popup_filter_menu(a:id, a:key) + endfunction + try + call popup_menu(a:items, { + \ 'title': a:title, + \ 'filter': function('s:QuickpickFilter'), + \ 'callback': function('s:QuickpickHandler'), + \ }) + redraw + catch /.*/ + call a:cb(v:exception) + endtry + else + let res = inputlist([a:title] + a:items) + call a:cb(v:null, res) + endif +endfunction + +function! coc#util#echo_signatures(signatures) abort + if pumvisible() | return | endif + echo "" + for i in range(len(a:signatures)) + call s:echo_signature(a:signatures[i]) + if i != len(a:signatures) - 1 + echon "\n" + endif + endfor +endfunction + +function! s:echo_signature(parts) + for part in a:parts + let hl = get(part, 'type', 'Normal') + let text = get(part, 'text', '') + if !empty(text) + execute 'echohl '.hl + execute "echon '".substitute(text, "'", "''", 'g')."'" + echohl None + endif + endfor +endfunction + +function! coc#util#setline(lnum, line) + keepjumps call setline(a:lnum, a:line) +endfunction + +" cmd, cwd +function! coc#util#open_terminal(opts) abort + if s:is_vim && !exists('*term_start') + echohl WarningMsg | echon "Your vim doesn't have terminal support!" | echohl None + return + endif + if get(a:opts, 'position', 'bottom') ==# 'bottom' + let p = '5new' + else + let p = 'vnew' + endif + execute 'belowright '.p.' +setl\ buftype=nofile ' + setl buftype=nofile + setl winfixheight + setl norelativenumber + setl nonumber + setl bufhidden=wipe + let cmd = get(a:opts, 'cmd', '') + let autoclose = get(a:opts, 'autoclose', 1) + if empty(cmd) + throw 'command required!' + endif + let cwd = get(a:opts, 'cwd', getcwd()) + let keepfocus = get(a:opts, 'keepfocus', 0) + let bufnr = bufnr('%') + let Callback = get(a:opts, 'Callback', v:null) + + function! s:OnExit(status) closure + let content = join(getbufline(bufnr, 1, '$'), "\n") + if a:status == 0 && autoclose == 1 + execute 'silent! bd! '.bufnr + endif + if !empty(Callback) + call call(Callback, [a:status, bufnr, content]) + endif + endfunction + + if has('nvim') + call termopen(cmd, { + \ 'cwd': cwd, + \ 'on_exit': {job, status -> s:OnExit(status)}, + \}) + else + if s:is_win + let cmd = 'cmd.exe /C "'.cmd.'"' + endif + call term_start(cmd, { + \ 'cwd': cwd, + \ 'exit_cb': {job, status -> s:OnExit(status)}, + \ 'curwin': 1, + \}) + endif + if keepfocus + wincmd p + endif + return bufnr +endfunction + +" run command in terminal +function! coc#util#run_terminal(opts, cb) + let cmd = get(a:opts, 'cmd', '') + if empty(cmd) + return a:cb('command required for terminal') + endif + let opts = { + \ 'cmd': cmd, + \ 'cwd': get(a:opts, 'cwd', getcwd()), + \ 'keepfocus': get(a:opts, 'keepfocus', 0), + \ 'Callback': {status, bufnr, content -> a:cb(v:null, {'success': status == 0 ? v:true : v:false, 'bufnr': bufnr, 'content': content})} + \} + call coc#util#open_terminal(opts) +endfunction + +function! coc#util#getpid() + if !has('win32unix') + return getpid() + endif + let cmd = 'cat /proc/' . getpid() . '/winpid' + return substitute(system(cmd), '\v\n', '', 'gi') +endfunction + +function! coc#util#vim_info() + return { + \ 'apiversion': s:vim_api_version, + \ 'mode': mode(), + \ 'floating': has('nvim') && exists('*nvim_open_win') ? v:true : v:false, + \ 'extensionRoot': coc#util#extension_root(), + \ 'globalExtensions': get(g:, 'coc_global_extensions', []), + \ 'config': get(g:, 'coc_user_config', {}), + \ 'pid': coc#util#getpid(), + \ 'columns': &columns, + \ 'lines': &lines, + \ 'cmdheight': &cmdheight, + \ 'filetypeMap': get(g:, 'coc_filetype_map', {}), + \ 'version': coc#util#version(), + \ 'completeOpt': &completeopt, + \ 'pumevent': exists('##MenuPopupChanged') || exists('##CompleteChanged'), + \ 'isVim': has('nvim') ? v:false : v:true, + \ 'isCygwin': has('win32unix') ? v:true : v:false, + \ 'isMacvim': has('gui_macvim') ? v:true : v:false, + \ 'isiTerm': $TERM_PROGRAM ==# "iTerm.app", + \ 'colorscheme': get(g:, 'colors_name', ''), + \ 'workspaceFolders': get(g:, 'WorkspaceFolders', v:null), + \ 'background': &background, + \ 'runtimepath': &runtimepath, + \ 'locationlist': get(g:,'coc_enable_locationlist', 1), + \ 'progpath': v:progpath, + \ 'guicursor': &guicursor, + \ 'updateHighlight': has('nvim-0.5.0') || exists('*prop_list') ? v:true : v:false, + \ 'vimCommands': get(g:, 'coc_vim_commands', []), + \ 'sign': exists('*sign_place') && exists('*sign_unplace'), + \ 'textprop': has('textprop') && has('patch-8.1.1719') && !has('nvim') ? v:true : v:false, + \ 'dialog': has('nvim-0.4.0') || has('patch-8.2.0750') ? v:true : v:false, + \ 'disabledSources': get(g:, 'coc_sources_disable_map', {}), + \} +endfunction + +function! coc#util#highlight_options() + return { + \ 'colorscheme': get(g:, 'colors_name', ''), + \ 'background': &background, + \ 'runtimepath': &runtimepath, + \} +endfunction + +function! coc#util#set_lines(bufnr, changedtick, original, replacement, start, end) abort + if !bufloaded(a:bufnr) + return + endif + if getbufvar(a:bufnr, 'changedtick') != a:changedtick && bufnr('%') == a:bufnr + " try apply current line change + let lnum = line('.') + let idx = a:start - lnum + 1 + let previous = get(a:original, idx, 0) + if type(previous) == 1 + let content = getline('.') + if previous !=# content + let diff = coc#helper#str_diff(content, previous, col('.')) + let changed = get(a:replacement, idx, 0) + if type(changed) == 1 && strcharpart(previous, 0, diff['end']) ==# strcharpart(changed, 0, diff['end']) + let applied = coc#helper#str_apply(changed, diff) + let replacement = copy(a:replacement) + let replacement[idx] = applied + call coc#compat#buf_set_lines(a:bufnr, a:start, a:end, replacement) + return + endif + endif + endif + endif + call coc#compat#buf_set_lines(a:bufnr, a:start, a:end, a:replacement) +endfunction + +function! coc#util#change_lines(bufnr, list) abort + if !bufloaded(a:bufnr) | return v:null | endif + undojoin + if exists('*setbufline') + for [lnum, line] in a:list + call setbufline(a:bufnr, lnum + 1, line) + endfor + elseif a:bufnr == bufnr('%') + for [lnum, line] in a:list + call setline(lnum + 1, line) + endfor + else + let bufnr = bufnr('%') + exe 'noa buffer '.a:bufnr + for [lnum, line] in a:list + call setline(lnum + 1, line) + endfor + exe 'noa buffer '.bufnr + endif +endfunction + + +" used by vim +function! coc#util#get_buf_lines(bufnr, changedtick) + if !bufloaded(a:bufnr) + return v:null + endif + let changedtick = getbufvar(a:bufnr, 'changedtick') + if changedtick == a:changedtick + return v:null + endif + return { + \ 'lines': getbufline(a:bufnr, 1, '$'), + \ 'changedtick': getbufvar(a:bufnr, 'changedtick') + \ } +endfunction + +" used for TextChangedI with InsertCharPre +function! coc#util#get_changeinfo() + return { + \ 'lnum': line('.'), + \ 'line': getline('.'), + \ 'changedtick': b:changedtick, + \} +endfunction + +function! coc#util#open_url(url) + if has('mac') && executable('open') + call system('open '.a:url) + return + endif + if executable('xdg-open') + call system('xdg-open '.a:url) + return + endif + call system('cmd /c start "" /b '. substitute(a:url, '&', '^&', 'g')) + if v:shell_error + echohl Error | echom 'Failed to open '.a:url | echohl None + return + endif +endfunction + +function! coc#util#install() abort + let yarncmd = get(g:, 'coc_install_yarn_cmd', executable('yarnpkg') ? 'yarnpkg' : 'yarn') + call coc#util#open_terminal({ + \ 'cwd': s:root, + \ 'cmd': yarncmd.' install --frozen-lockfile --ignore-engines', + \ 'autoclose': 0, + \ }) +endfunction + +function! coc#util#do_complete(name, opt, cb) abort + let handler = 'coc#source#'.a:name.'#complete' + let l:Cb = {res -> a:cb(v:null, res)} + let args = [a:opt, l:Cb] + call call(handler, args) +endfunction + +function! coc#util#extension_root() abort + if get(g:, 'coc_node_env', '') ==# 'test' + return s:root.'/src/__tests__/extensions' + endif + if !empty(get(g:, 'coc_extension_root', '')) + echohl Error | echon 'g:coc_extension_root not used any more, use g:coc_data_home instead' | echohl None + endif + return coc#util#get_data_home().'/extensions' +endfunction + +function! coc#util#update_extensions(...) abort + let async = get(a:, 1, 0) + if async + call coc#rpc#notify('updateExtensions', []) + else + call coc#rpc#request('updateExtensions', [v:true]) + endif +endfunction + +function! coc#util#install_extension(args) abort + let names = filter(copy(a:args), 'v:val !~# "^-"') + let isRequest = index(a:args, '-sync') != -1 + if isRequest + call coc#rpc#request('installExtensions', names) + else + call coc#rpc#notify('installExtensions', names) + endif +endfunction + +function! coc#util#do_autocmd(name) abort + if exists('#User#'.a:name) + exe 'doautocmd User '.a:name + endif +endfunction + +function! coc#util#rebuild() + let dir = coc#util#extension_root() + if !isdirectory(dir) | return | endif + call coc#util#open_terminal({ + \ 'cwd': dir, + \ 'cmd': 'npm rebuild', + \ 'keepfocus': 1, + \}) +endfunction + +" [r, g, b] ['255', '255', '255'] +" return ['65535', '65535', '65535'] or return v:false to cancel +function! coc#util#pick_color(default_color) + if has('mac') + let default_color = map(a:default_color, {idx, val -> str2nr(val) * 65535 / 255 }) + " This is the AppleScript magic: + let s:ascrpt = ['-e "tell application \"' . s:app . '\""', + \ '-e "' . s:activate . '"', + \ "-e \"set AppleScript's text item delimiters to {\\\",\\\"}\"", + \ '-e "set theColor to (choose color default color {' . default_color[0] . ", " . default_color[1] . ", " . default_color[2] . '}) as text"', + \ '-e "' . s:quit . '"', + \ '-e "end tell"', + \ '-e "return theColor"'] + let res = trim(system("osascript " . join(s:ascrpt, ' ') . " 2>/dev/null")) + if empty(res) + return v:false + else + return split(trim(res), ',') + endif + endif + + let hex_color = printf('#%02x%02x%02x', a:default_color[0], a:default_color[1], a:default_color[2]) + + if has('unix') + if executable('zenity') + let res = trim(system('zenity --title="Select a color" --color-selection --color="' . hex_color . '" 2> /dev/null')) + if empty(res) + return v:false + else + " res format is rgb(255,255,255) + return map(split(res[4:-2], ','), {idx, val -> string(str2nr(trim(val)) * 65535 / 255)}) + endif + endif + endif + + let rgb = v:false + if !has('python') + echohl Error | echom 'python support required, checkout :echo has(''python'')' | echohl None + return + endif + try + execute 'py import gtk' + catch /.*/ + echohl Error | echom 'python gtk module not found' | echohl None + return + endtry +python << endpython + +import vim +import gtk, sys + +# message strings +wnd_title_insert = "Insert a color" + +csd = gtk.ColorSelectionDialog(wnd_title_insert) +cs = csd.colorsel + +cs.set_current_color(gtk.gdk.color_parse(vim.eval("hex_color"))) + +cs.set_current_alpha(65535) +cs.set_has_opacity_control(False) +# cs.set_has_palette(int(vim.eval("s:display_palette"))) + +if csd.run()==gtk.RESPONSE_OK: + c = cs.get_current_color() + s = [str(int(c.red)),',',str(int(c.green)),',',str(int(c.blue))] + thecolor = ''.join(s) + vim.command(":let rgb = split('%s',',')" % thecolor) + +csd.destroy() + +endpython + return rgb +endfunction + +function! coc#util#iterm_open(dir) + return s:osascript( + \ 'if application "iTerm2" is not running', + \ 'error', + \ 'end if') && s:osascript( + \ 'tell application "iTerm2"', + \ 'tell current window', + \ 'create tab with default profile', + \ 'tell current session', + \ 'write text "cd ' . a:dir . '"', + \ 'write text "clear"', + \ 'activate', + \ 'end tell', + \ 'end tell', + \ 'end tell') +endfunction + +function! s:osascript(...) abort + let args = join(map(copy(a:000), '" -e ".shellescape(v:val)'), '') + call s:system('osascript'. args) + return !v:shell_error +endfunction + +function! s:system(cmd) + let output = system(a:cmd) + if v:shell_error && output !=# "" + echohl Error | echom output | echohl None + return + endif + return output +endfunction + +function! coc#util#unmap(bufnr, keys) abort + if bufnr('%') == a:bufnr + for key in a:keys + exe 'silent! nunmap '.key + endfor + endif +endfunction + +function! coc#util#open_files(files) + let bufnrs = [] + " added on latest vim8 + if exists('*bufadd') && exists('*bufload') + for file in a:files + let file = fnamemodify(file, ':.') + if bufloaded(file) + call add(bufnrs, bufnr(file)) + else + let bufnr = bufadd(file) + call bufload(file) + call add(bufnrs, bufnr) + call setbufvar(bufnr, '&buflisted', 1) + endif + endfor + else + noa keepalt 1new +setl\ bufhidden=wipe + for file in a:files + let file = fnamemodify(file, ':.') + execute 'noa edit +setl\ bufhidden=hide '.fnameescape(file) + if &filetype ==# '' + filetype detect + endif + call add(bufnrs, bufnr('%')) + endfor + noa close + endif + doautocmd BufEnter + return bufnrs +endfunction + +function! coc#util#refactor_foldlevel(lnum) abort + if a:lnum <= 2 | return 0 | endif + let line = getline(a:lnum) + if line =~# '^\%u3000\s*$' | return 0 | endif + return 1 +endfunction + +function! coc#util#refactor_fold_text(lnum) abort + let range = '' + let info = get(b:line_infos, a:lnum, []) + if !empty(info) + let range = info[0].':'.info[1] + endif + return trim(getline(a:lnum)[3:]).' '.range +endfunction + +" get tabsize & expandtab option +function! coc#util#get_format_opts(bufnr) abort + if a:bufnr && bufloaded(a:bufnr) + let tabsize = getbufvar(a:bufnr, '&shiftwidth') + if tabsize == 0 + let tabsize = getbufvar(a:bufnr, '&tabstop') + endif + return [tabsize, getbufvar(a:bufnr, '&expandtab')] + endif + let tabsize = &shiftwidth == 0 ? &tabstop : &shiftwidth + return [tabsize, &expandtab] +endfunction diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/window.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/window.vim new file mode 100644 index 0000000..1b8fb41 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/coc/window.vim @@ -0,0 +1,56 @@ +function! coc#window#tabnr(winid) abort + if exists('*win_execute') + let ref = {} + call win_execute(a:winid, 'let ref["out"] = tabpagenr()') + return get(ref, 'out', -1) + elseif has('nvim') + let info = getwininfo(a:winid) + return empty(info) ? -1 : info[0]['tabnr'] + else + throw 'win_execute() not exists, please upgrade your vim.' + endif +endfunction + +" Get single window by window variable, current tab only +function! coc#window#find(key, val) abort + for i in range(1, winnr('$')) + let res = getwinvar(i, a:key) + if res == a:val + return win_getid(i) + endif + endfor + return -1 +endfunction + +" Make sure window exists +function! coc#window#gotoid(winid) abort + noa let res = win_gotoid(a:winid) + if res == 0 + throw 'Invalid window number' + endif +endfunction + +" Avoid autocmd & errors +function! coc#window#close(winid) abort + if empty(a:winid) || a:winid == -1 + return + endif + if exists('*nvim_win_is_valid') && exists('*nvim_win_close') + if nvim_win_is_valid(a:winid) + noa call nvim_win_close(a:winid, 1) + endif + elseif exists('*win_execute') + call coc#compat#execute(a:winid, 'noa close!', 'silent!') + else + let curr = win_getid() + if curr == a:winid + noa silent! close! + else + let res = win_gotoid(a:winid) + if res + noa silent! close! + noa call win_gotoid(curr) + endif + endif + endif +endfunction diff --git a/private_dot_config/nvim/plugged/coc.nvim/autoload/health/coc.vim b/private_dot_config/nvim/plugged/coc.nvim/autoload/health/coc.vim new file mode 100644 index 0000000..8daa6b8 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/autoload/health/coc.vim @@ -0,0 +1,86 @@ +scriptencoding utf-8 +let s:root = expand(':h:h:h') + +function! s:checkEnvironment() abort + let valid = 1 + if !has('nvim-0.3.0') + let valid = 0 + call health#report_error('Neovim version not satisfied, 0.3.0 and above required') + endif + let node = get(g:, 'coc_node_path', $COC_NODE_PATH == '' ? 'node' : $COC_NODE_PATH) + if !executable(node) + let valid = 0 + call health#report_error('Executable node.js not found, install node.js from http://nodejs.org/') + endif + let output = system(node . ' --version') + if v:shell_error && output !=# "" + let valid = 0 + call health#report_error(output) + endif + let ms = matchlist(output, 'v\(\d\+\).\(\d\+\).\(\d\+\)') + if empty(ms) + let valid = 0 + call health#report_error('Unable to detect version of node, make sure your node executable is http://nodejs.org/') + elseif str2nr(ms[1]) < 12 || (str2nr(ms[1]) == 12 && str2nr(ms[2]) < 12) + let valid = 0 + call health#report_warn('Node.js version '.trim(output).' < 12.12.0, please upgrade node.js') + endif + if valid + call health#report_ok('Environment check passed') + endif + if has('pythonx') + try + silent pyx print("") + catch /.*/ + call health#report_warn('pyx command not work, some extensions may fail to work, checkout ":h pythonx"') + endtry + endif + return valid +endfunction + +function! s:checkCommand() + let file = s:root.'/build/index.js' + if filereadable(file) + call health#report_ok('Javascript bundle build/index.js found') + else + call health#report_error('Javascript entry not found, please compile coc.nvim by esbuild.') + endif +endfunction + +function! s:checkAutocmd() + let cmds = ['CursorHold', 'CursorHoldI', 'CursorMovedI', 'InsertCharPre', 'TextChangedI'] + for cmd in cmds + let lines = split(execute('verbose autocmd '.cmd), '\n') + let n = 0 + for line in lines + if line =~# 'CocAction(' && n < len(lines) - 1 + let next = lines[n + 1] + let ms = matchlist(next, 'Last set from \(.*\)') + if !empty(ms) + call health#report_warn('Use CocActionAsync to replace CocAction for better performance on '.cmd) + call health#report_warn('Checkout the file '.ms[1]) + endif + endif + let n = n + 1 + endfor + endfor +endfunction + +function! s:checkInitailize() abort + if coc#client#is_running('coc') + call health#report_ok('Service started') + return 1 + endif + call health#report_error('service could not be initialized', [ + \ 'Use command ":messages" to get error messages.', + \ 'Open a issue at https://github.com/neoclide/coc.nvim/issues for feedback.' + \]) + return 0 +endfunction + +function! health#coc#check() abort + call s:checkEnvironment() + call s:checkCommand() + call s:checkInitailize() + call s:checkAutocmd() +endfunction diff --git a/private_dot_config/nvim/plugged/coc.nvim/bin/executable_terminateProcess.sh b/private_dot_config/nvim/plugged/coc.nvim/bin/executable_terminateProcess.sh new file mode 100644 index 0000000..513068d --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/bin/executable_terminateProcess.sh @@ -0,0 +1,12 @@ +#!/bin/bash +terminateTree() { + for cpid in $(pgrep -P $1); do + terminateTree $cpid + done + kill -9 $1 > /dev/null 2>&1 +} + +for pid in $*; do + terminateTree $pid +done + diff --git a/private_dot_config/nvim/plugged/coc.nvim/bin/prompt.js b/private_dot_config/nvim/plugged/coc.nvim/bin/prompt.js new file mode 100644 index 0000000..2361a58 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/bin/prompt.js @@ -0,0 +1,73 @@ +/* + * Used for prompt popup on vim + */ +const readline = require("readline") +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + escapeCodeTimeout: 0 +}) +rl.setPrompt('') +let value = process.argv[2] +if (value) { + rl.write(value) +} +rl.on('line', input => { + let text = input.replace(/"/g, '\\"') + console.log(createSequences(JSON.stringify(['call', 'CocPopupCallback', ['confirm', text]]))) + process.exit() +}) + +function createSequences(str) { + return '\033]51;' + str + '\x07' +} + +process.stdin.on('keypress', (_, key) => { + if (key) { + let k = getKey(key) + if (k == '') { + return + } + if (k == '') { + process.exit() + return + } + if (k == '') { + console.log(createSequences(JSON.stringify(['call', 'CocPopupCallback', ['exit', '']]))) + process.exit() + return + } + if (k) { + console.log(createSequences(JSON.stringify(['call', 'CocPopupCallback', ['send', k]]))) + } + } +}) + +function getKey(key) { + if (key.sequence == '\u001b') { + return '' + } + if (key.sequence == '\r') { + return '' + } + if (key.sequence == '\t') { + return key.shift ? '' : '' + } + // handle them can cause bug with terminal + // if (key.name == 'backspace') { + // return '' + // } + // if (key.name == 'left') { + // return '' + // } + // if (key.name == 'right') { + // return '' + // } + if (key.name == 'up') { + return '' + } + if (key.name == 'down') { + return '' + } + return '' +} diff --git a/private_dot_config/nvim/plugged/coc.nvim/build/index.js b/private_dot_config/nvim/plugged/coc.nvim/build/index.js new file mode 100644 index 0000000..9740c5c --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/build/index.js @@ -0,0 +1,341 @@ +(function () { + var v = process.version + var parts = v.slice(1).split('.') + var major = parseInt(parts[0], 10) + var minor = parseInt(parts[1], 10) + if (major < 12 || (major == 12 && minor < 12)) { + throw new Error('coc.nvim requires node >= v12.12.0, current version: ' + v) + } +})(); +var x9=Object.create;var Al=Object.defineProperty,S9=Object.defineProperties,ZD=Object.getOwnPropertyDescriptor,C9=Object.getOwnPropertyDescriptors,_9=Object.getOwnPropertyNames,QD=Object.getOwnPropertySymbols,E9=Object.getPrototypeOf,eR=Object.prototype.hasOwnProperty,T9=Object.prototype.propertyIsEnumerable;var tR=(r,e,t)=>e in r?Al(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ut=(r,e)=>{for(var t in e||(e={}))eR.call(e,t)&&tR(r,t,e[t]);if(QD)for(var t of QD(e))T9.call(e,t)&&tR(r,t,e[t]);return r},ff=(r,e)=>S9(r,C9(e)),iR=r=>Al(r,"__esModule",{value:!0});var R=(r,e)=>()=>(r&&(e=r(r=0)),e);var x=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Bn=(r,e)=>{iR(r);for(var t in e)Al(r,t,{get:e[t],enumerable:!0})},D9=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _9(e))!eR.call(r,i)&&i!=="default"&&Al(r,i,{get:()=>e[i],enumerable:!(t=ZD(e,i))||t.enumerable});return r},E=r=>D9(iR(Al(r!=null?x9(E9(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r),Nw=(r,e,t,i)=>{for(var n=i>1?void 0:i?ZD(e,t):e,s=r.length-1,o;s>=0;s--)(o=r[s])&&(n=(i?o(e,t,n):o(n))||n);return i&&n&&Al(e,t,n),n};var nR=x((_ge,rR)=>{var Fl=1e3,Ml=Fl*60,Nl=Ml*60,ca=Nl*24,R9=ca*7,P9=ca*365.25;rR.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return k9(r);if(t==="number"&&isFinite(r))return e.long?O9(r):I9(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function k9(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(!!e){var t=parseFloat(e[1]),i=(e[2]||"ms").toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return t*P9;case"weeks":case"week":case"w":return t*R9;case"days":case"day":case"d":return t*ca;case"hours":case"hour":case"hrs":case"hr":case"h":return t*Nl;case"minutes":case"minute":case"mins":case"min":case"m":return t*Ml;case"seconds":case"second":case"secs":case"sec":case"s":return t*Fl;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function I9(r){var e=Math.abs(r);return e>=ca?Math.round(r/ca)+"d":e>=Nl?Math.round(r/Nl)+"h":e>=Ml?Math.round(r/Ml)+"m":e>=Fl?Math.round(r/Fl)+"s":r+"ms"}function O9(r){var e=Math.abs(r);return e>=ca?Cp(r,e,ca,"day"):e>=Nl?Cp(r,e,Nl,"hour"):e>=Ml?Cp(r,e,Ml,"minute"):e>=Fl?Cp(r,e,Fl,"second"):r+" ms"}function Cp(r,e,t,i){var n=e>=t*1.5;return Math.round(r/t)+" "+i+(n?"s":"")}});var qw=x((Ege,sR)=>{function L9(r){t.debug=t,t.default=t,t.coerce=l,t.disable=s,t.enable=n,t.enabled=o,t.humanize=nR(),t.destroy=c,Object.keys(r).forEach(u=>{t[u]=r[u]}),t.names=[],t.skips=[],t.formatters={};function e(u){let f=0;for(let d=0;d{if($==="%%")return"%";_++;let W=t.formatters[I];if(typeof W=="function"){let A=b[_];$=W.call(y,A),b.splice(_,1),_--}return $}),t.formatArgs.call(y,b),(y.log||t.log).apply(y,b)}return g.namespace=u,g.useColors=t.useColors(),g.color=t.selectColor(u),g.extend=i,g.destroy=t.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==t.namespaces&&(h=t.namespaces,p=t.enabled(u)),p),set:b=>{d=b}}),typeof t.init=="function"&&t.init(g),g}function i(u,f){let d=t(this.namespace+(typeof f=="undefined"?":":f)+u);return d.log=this.log,d}function n(u){t.save(u),t.namespaces=u,t.names=[],t.skips=[];let f,d=(typeof u=="string"?u:"").split(/[\s,]+/),h=d.length;for(f=0;f"-"+f)].join(",");return t.enable(""),u}function o(u){if(u[u.length-1]==="*")return!0;let f,d;for(f=0,d=t.skips.length;f{gr.formatArgs=F9;gr.save=M9;gr.load=N9;gr.useColors=A9;gr.storage=q9();gr.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();gr.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function A9(){return typeof window!="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function F9(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+_p.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,i=0;r[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(t++,n==="%c"&&(i=t))}),r.splice(i,0,e)}gr.log=console.debug||console.log||(()=>{});function M9(r){try{r?gr.storage.setItem("debug",r):gr.storage.removeItem("debug")}catch(e){}}function N9(){let r;try{r=gr.storage.getItem("debug")}catch(e){}return!r&&typeof process!="undefined"&&"env"in process&&(r=process.env.DEBUG),r}function q9(){try{return localStorage}catch(r){}}_p.exports=qw()(gr);var{formatters:$9}=_p.exports;$9.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var lR=x((Tge,aR)=>{"use strict";aR.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",i=e.indexOf(t+r),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var B9=require("os"),cR=require("tty"),Or=lR(),{env:ei}=process,no;Or("no-color")||Or("no-colors")||Or("color=false")||Or("color=never")?no=0:(Or("color")||Or("colors")||Or("color=true")||Or("color=always"))&&(no=1);"FORCE_COLOR"in ei&&(ei.FORCE_COLOR==="true"?no=1:ei.FORCE_COLOR==="false"?no=0:no=ei.FORCE_COLOR.length===0?1:Math.min(parseInt(ei.FORCE_COLOR,10),3));function $w(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function Bw(r,e){if(no===0)return 0;if(Or("color=16m")||Or("color=full")||Or("color=truecolor"))return 3;if(Or("color=256"))return 2;if(r&&!e&&no===void 0)return 0;let t=no||0;if(ei.TERM==="dumb")return t;if(process.platform==="win32"){let i=B9.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in ei)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(i=>i in ei)||ei.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in ei)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ei.TEAMCITY_VERSION)?1:0;if(ei.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ei){let i=parseInt((ei.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ei.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ei.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ei.TERM)||"COLORTERM"in ei?1:t}function j9(r){let e=Bw(r,r&&r.isTTY);return $w(e)}uR.exports={supportsColor:j9,stdout:$w(Bw(!0,cR.isatty(1))),stderr:$w(Bw(!0,cR.isatty(2)))}});var hR=x((ai,Tp)=>{var U9=require("tty"),Ep=require("util");ai.init=J9;ai.log=V9;ai.formatArgs=W9;ai.save=G9;ai.load=K9;ai.useColors=H9;ai.destroy=Ep.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");ai.colors=[6,2,3,4,5,1];try{let r=fR();r&&(r.stderr||r).level>=2&&(ai.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(r){}ai.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(n,s)=>s.toUpperCase()),i=process.env[e];return/^(yes|on|true|enabled)$/i.test(i)?i=!0:/^(no|off|false|disabled)$/i.test(i)?i=!1:i==="null"?i=null:i=Number(i),r[t]=i,r},{});function H9(){return"colors"in ai.inspectOpts?Boolean(ai.inspectOpts.colors):U9.isatty(process.stderr.fd)}function W9(r){let{namespace:e,useColors:t}=this;if(t){let i=this.color,n="[3"+(i<8?i:"8;5;"+i),s=` ${n};1m${e} `;r[0]=s+r[0].split(` +`).join(` +`+s),r.push(n+"m+"+Tp.exports.humanize(this.diff)+"")}else r[0]=z9()+e+" "+r[0]}function z9(){return ai.inspectOpts.hideDate?"":new Date().toISOString()+" "}function V9(...r){return process.stderr.write(Ep.format(...r)+` +`)}function G9(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function K9(){return process.env.DEBUG}function J9(r){r.inspectOpts={};let e=Object.keys(ai.inspectOpts);for(let t=0;te.trim()).join(" ")};dR.O=function(r){return this.inspectOpts.colors=this.useColors,Ep.inspect(r,this.inspectOpts)}});var Bt=x((Rge,jw)=>{typeof process=="undefined"||process.type==="renderer"||process.browser===!0||process.__nwjs?jw.exports=oR():jw.exports=hR()});var mR=x((Pge,pR)=>{"use strict";pR.exports=Y9;function ql(r){return r instanceof Buffer?Buffer.from(r):new r.constructor(r.buffer.slice(),r.byteOffset,r.length)}function Y9(r){if(r=r||{},r.circles)return X9(r);return r.proto?i:t;function e(n,s){for(var o=Object.keys(n),a=new Array(o.length),l=0;l{var Z9=require("util"),ua=Bt()("log4js:configuration"),Dp=[],Rp=[],gR=r=>!r,vR=r=>r&&typeof r=="object"&&!Array.isArray(r),Q9=r=>/^[A-Za-z][A-Za-z0-9_]*$/g.test(r),eK=r=>r&&typeof r=="number"&&Number.isInteger(r),tK=r=>{Rp.push(r),ua(`Added listener, now ${Rp.length} listeners`)},iK=r=>{Dp.push(r),ua(`Added pre-processing listener, now ${Dp.length} listeners`)},bR=(r,e,t)=>{(Array.isArray(e)?e:[e]).forEach(n=>{if(n)throw new Error(`Problem with log4js configuration: (${Z9.inspect(r,{depth:5})}) - ${t}`)})},rK=r=>{ua("New configuration to be validated: ",r),bR(r,gR(vR(r)),"must be an object."),ua(`Calling pre-processing listeners (${Dp.length})`),Dp.forEach(e=>e(r)),ua("Configuration pre-processing finished."),ua(`Calling configuration listeners (${Rp.length})`),Rp.forEach(e=>e(r)),ua("Configuration finished.")};yR.exports={configure:rK,addListener:tK,addPreProcessingListener:iK,throwExceptionIf:bR,anObject:vR,anInteger:eK,validIdentifier:Q9,not:gR}});var SR=x((Ige,Lr)=>{"use strict";function wR(r,e){for(var t=r.toString();t.length-1?n:s,a=da(e.getHours()),l=da(e.getMinutes()),c=da(e.getSeconds()),u=wR(e.getMilliseconds(),3),f=nK(e.getTimezoneOffset()),d=r.replace(/dd/g,t).replace(/MM/g,i).replace(/y{1,4}/g,o).replace(/hh/g,a).replace(/mm/g,l).replace(/ss/g,c).replace(/SSS/g,u).replace(/O/g,f);return d}function ha(r,e,t,i){r["set"+(i?"":"UTC")+e](t)}function sK(r,e,t){var i=r.indexOf("O")<0,n=[{pattern:/y{1,4}/,regexp:"\\d{1,4}",fn:function(u,f){ha(u,"FullYear",f,i)}},{pattern:/MM/,regexp:"\\d{1,2}",fn:function(u,f){ha(u,"Month",f-1,i)}},{pattern:/dd/,regexp:"\\d{1,2}",fn:function(u,f){ha(u,"Date",f,i)}},{pattern:/hh/,regexp:"\\d{1,2}",fn:function(u,f){ha(u,"Hours",f,i)}},{pattern:/mm/,regexp:"\\d\\d",fn:function(u,f){ha(u,"Minutes",f,i)}},{pattern:/ss/,regexp:"\\d\\d",fn:function(u,f){ha(u,"Seconds",f,i)}},{pattern:/SSS/,regexp:"\\d\\d\\d",fn:function(u,f){ha(u,"Milliseconds",f,i)}},{pattern:/O/,regexp:"[+-]\\d{3,4}|Z",fn:function(u,f){f==="Z"&&(f=0);var d=Math.abs(f),h=(f>0?-1:1)*(d%100+Math.floor(d/100)*60);u.setUTCMinutes(u.getUTCMinutes()+h)}}],s=n.reduce(function(u,f){return f.pattern.test(u.regexp)?(f.index=u.regexp.match(f.pattern).index,u.regexp=u.regexp.replace(f.pattern,"("+f.regexp+")")):f.index=-1,u},{regexp:r,index:[]}),o=n.filter(function(u){return u.index>-1});o.sort(function(u,f){return u.index-f.index});var a=new RegExp(s.regexp),l=a.exec(e);if(l){var c=t||Lr.exports.now();return o.forEach(function(u,f){u.fn(c,l[f+1])}),c}throw new Error("String '"+e+"' could not be parsed as '"+r+"'")}function oK(r,e,t){if(!r)throw new Error("pattern must be supplied");return sK(r,e,t)}function aK(){return new Date}Lr.exports=xR;Lr.exports.asString=xR;Lr.exports.parse=oK;Lr.exports.now=aK;Lr.exports.ISO8601_FORMAT="yyyy-MM-ddThh:mm:ss.SSS";Lr.exports.ISO8601_WITH_TZ_OFFSET_FORMAT="yyyy-MM-ddThh:mm:ss.SSSO";Lr.exports.DATETIME_FORMAT="dd MM yyyy hh:mm:ss.SSS";Lr.exports.ABSOLUTETIME_FORMAT="hh:mm:ss.SSS"});var Hw=x((Oge,LR)=>{var so=SR(),CR=require("os"),df=require("util"),_R=require("path"),ER={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[90,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[91,39],yellow:[33,39]};function TR(r){return r?`[${ER[r][0]}m`:""}function DR(r){return r?`[${ER[r][1]}m`:""}function lK(r,e){return TR(e)+r+DR(e)}function RR(r,e){return lK(df.format("[%s] [%s] %s - ",so.asString(r.startTime),r.level.toString(),r.categoryName),e)}function PR(r){return RR(r)+df.format(...r.data)}function Pp(r){return RR(r,r.level.colour)+df.format(...r.data)}function kR(r){return df.format(...r.data)}function IR(r){return r.data[0]}function OR(r,e){let t="%r %p %c - %m%n",i=/%(-?[0-9]+)?(\.?-?[0-9]+)?([[\]cdhmnprzxXyflos%])(\{([^}]+)\})?|([^%]+)/;r=r||t;function n(k,F){let j=k.categoryName;if(F){let X=parseInt(F,10),ae=j.split(".");XX&&(j=ae.slice(-X).join(_R.sep))}return j}function w(k){return k.lineNumber?`${k.lineNumber}`:""}function _(k){return k.columnNumber?`${k.columnNumber}`:""}function L(k){return k.callStack||""}let $={c:n,d:s,h:o,m:a,n:l,p:c,r:u,"[":f,"]":d,y:g,z:p,"%":h,x:b,X:y,f:S,l:w,o:_,s:L};function I(k,F,j){return $[k](F,j)}function W(k,F){let j;return k?(j=parseInt(k.substr(1),10),j>0?F.slice(0,j):F.slice(j)):F}function A(k,F){let j;if(k)if(k.charAt(0)==="-")for(j=parseInt(k.substr(1),10);F.length{var jt=fa(),AR=["white","grey","black","blue","cyan","green","magenta","red","yellow"],Xt=class{constructor(e,t,i){this.level=e,this.levelStr=t,this.colour=i}toString(){return this.levelStr}static getLevel(e,t){return e?e instanceof Xt?e:(e instanceof Object&&e.levelStr&&(e=e.levelStr),Xt[e.toString().toUpperCase()]||t):t}static addLevels(e){e&&(Object.keys(e).forEach(i=>{let n=i.toUpperCase();Xt[n]=new Xt(e[i].value,n,e[i].colour);let s=Xt.levels.findIndex(o=>o.levelStr===n);s>-1?Xt.levels[s]=Xt[n]:Xt.levels.push(Xt[n])}),Xt.levels.sort((i,n)=>i.level-n.level))}isLessThanOrEqualTo(e){return typeof e=="string"&&(e=Xt.getLevel(e)),this.level<=e.level}isGreaterThanOrEqualTo(e){return typeof e=="string"&&(e=Xt.getLevel(e)),this.level>=e.level}isEqualTo(e){return typeof e=="string"&&(e=Xt.getLevel(e)),this.level===e.level}};Xt.levels=[];Xt.addLevels({ALL:{value:Number.MIN_VALUE,colour:"grey"},TRACE:{value:5e3,colour:"blue"},DEBUG:{value:1e4,colour:"cyan"},INFO:{value:2e4,colour:"green"},WARN:{value:3e4,colour:"yellow"},ERROR:{value:4e4,colour:"red"},FATAL:{value:5e4,colour:"magenta"},MARK:{value:9007199254740992,colour:"grey"},OFF:{value:Number.MAX_VALUE,colour:"grey"}});jt.addListener(r=>{let e=r.levels;e&&(jt.throwExceptionIf(r,jt.not(jt.anObject(e)),"levels must be an object"),Object.keys(e).forEach(i=>{jt.throwExceptionIf(r,jt.not(jt.validIdentifier(i)),`level name "${i}" is not a valid identifier (must start with a letter, only contain A-Z,a-z,0-9,_)`),jt.throwExceptionIf(r,jt.not(jt.anObject(e[i])),`level "${i}" must be an object`),jt.throwExceptionIf(r,jt.not(e[i].value),`level "${i}" must have a 'value' property`),jt.throwExceptionIf(r,jt.not(jt.anInteger(e[i].value)),`level "${i}".value must have an integer value`),jt.throwExceptionIf(r,jt.not(e[i].colour),`level "${i}" must have a 'colour' property`),jt.throwExceptionIf(r,jt.not(AR.indexOf(e[i].colour)>-1),`level "${i}".colour must be one of ${AR.join(", ")}`)}))});jt.addListener(r=>{Xt.addLevels(r.levels)});FR.exports=Xt});var MR={};Bn(MR,{default:()=>cK,parse:()=>uK,stringify:()=>fK});var Ww,cK,uK,fK,NR=R(()=>{Ww=function(r,e){var t={parse:function(c,u){var f=JSON.parse(c,a).map(o),d=f[0],h=u||i,p=typeof d=="object"&&d?n(f,new Set,d,h):d;return h.call({"":p},"",p)},stringify:function(c,u,f){for(var d,h=new Map,p=[],g=[],b=u&&typeof u==typeof p?function(w,_){if(w===""||-1{var qR=(NR(),MR),$R=pa(),hf=class{constructor(e,t,i,n,s){this.startTime=new Date,this.categoryName=e,this.data=i,this.level=t,this.context=Object.assign({},n),this.pid=process.pid,s&&(this.functionName=s.functionName,this.fileName=s.fileName,this.lineNumber=s.lineNumber,this.columnNumber=s.columnNumber,this.callStack=s.callStack)}serialise(){let e=this.data.map(t=>(t&&t.message&&t.stack&&(t=Object.assign({message:t.message,stack:t.stack},t)),t));return this.data=e,qR.stringify(this)}static deserialise(e){let t;try{let i=qR.parse(e);i.data=i.data.map(n=>{if(n&&n.message&&n.stack){let s=new Error(n);Object.keys(n).forEach(o=>{s[o]=n[o]}),n=s}return n}),t=new hf(i.categoryName,$R.getLevel(i.level.levelStr),i.data,i.context),t.startTime=new Date(i.startTime),t.pid=i.pid,t.cluster=i.cluster}catch(i){t=new hf("log4js",$R.ERROR,["Unable to parse log:",e,"because: ",i])}return t}};BR.exports=hf});var Ip=x((Fge,HR)=>{var Ar=Bt()("log4js:clustering"),dK=zw(),hK=fa(),$l=!1,jn=null;try{jn=require("cluster")}catch(r){Ar("cluster module not present"),$l=!0}var Vw=[],pf=!1,mf="NODE_APP_INSTANCE",jR=()=>pf&&process.env[mf]==="0",Gw=()=>$l||jn.isMaster||jR(),UR=r=>{Vw.forEach(e=>e(r))},kp=(r,e)=>{if(Ar("cluster message received from worker ",r,": ",e),r.topic&&r.data&&(e=r,r=void 0),e&&e.topic&&e.topic==="log4js:message"){Ar("received message: ",e.data);let t=dK.deserialise(e.data);UR(t)}};$l||hK.addListener(r=>{Vw.length=0,{pm2:pf,disableClustering:$l,pm2InstanceVar:mf="NODE_APP_INSTANCE"}=r,Ar(`clustering disabled ? ${$l}`),Ar(`cluster.isMaster ? ${jn&&jn.isMaster}`),Ar(`pm2 enabled ? ${pf}`),Ar(`pm2InstanceVar = ${mf}`),Ar(`process.env[${mf}] = ${process.env[mf]}`),pf&&process.removeListener("message",kp),jn&&jn.removeListener&&jn.removeListener("message",kp),$l||r.disableClustering?Ar("Not listening for cluster messages, because clustering disabled."):jR()?(Ar("listening for PM2 broadcast messages"),process.on("message",kp)):jn.isMaster?(Ar("listening for cluster messages"),jn.on("message",kp)):Ar("not listening for messages, because we are not a master process")});HR.exports={onlyOnMaster:(r,e)=>Gw()?r():e,isMaster:Gw,send:r=>{Gw()?UR(r):(pf||(r.cluster={workerId:jn.worker.id,worker:process.pid}),process.send({topic:"log4js:message",data:r.serialise()}))},onMessage:r=>{Vw.push(r)}}});var GR=x((Mge,VR)=>{function pK(r){if(typeof r=="number"&&Number.isInteger(r))return r;let e={K:1024,M:1024*1024,G:1024*1024*1024},t=Object.keys(e),i=r.substr(r.length-1).toLocaleUpperCase(),n=r.substring(0,r.length-1).trim();if(t.indexOf(i)<0||!Number.isInteger(Number(n)))throw Error(`maxLogSize: "${r}" is invalid`);return n*e[i]}function mK(r,e){let t=Object.assign({},e);return Object.keys(r).forEach(i=>{t[i]&&(t[i]=r[i](e[i]))}),t}function WR(r){return mK({maxLogSize:pK},r)}var zR={file:WR,fileSync:WR};VR.exports.modifyConfig=r=>zR[r.type]?zR[r.type](r):r});var JR=x((Nge,KR)=>{var gK=console.log.bind(console);function vK(r,e){return t=>{gK(r(t,e))}}function bK(r,e){let t=e.colouredLayout;return r.layout&&(t=e.layout(r.layout.type,r.layout)),vK(t,r.timezoneOffset)}KR.exports.configure=bK});var XR=x(YR=>{function yK(r,e){return t=>{process.stdout.write(`${r(t,e)} +`)}}function wK(r,e){let t=e.colouredLayout;return r.layout&&(t=e.layout(r.layout.type,r.layout)),yK(t,r.timezoneOffset)}YR.configure=wK});var QR=x(($ge,ZR)=>{function xK(r,e){return t=>{process.stderr.write(`${r(t,e)} +`)}}function SK(r,e){let t=e.colouredLayout;return r.layout&&(t=e.layout(r.layout.type,r.layout)),xK(t,r.timezoneOffset)}ZR.exports.configure=SK});var tP=x((Bge,eP)=>{function CK(r,e,t,i){let n=i.getLevel(r),s=i.getLevel(e,i.FATAL);return o=>{let a=o.level;a.isGreaterThanOrEqualTo(n)&&a.isLessThanOrEqualTo(s)&&t(o)}}function _K(r,e,t,i){let n=t(r.appender);return CK(r.level,r.maxLevel,n,i)}eP.exports.configure=_K});var nP=x((jge,rP)=>{var iP=Bt()("log4js:categoryFilter");function EK(r,e){return typeof r=="string"&&(r=[r]),t=>{iP(`Checking ${t.categoryName} against ${r}`),r.indexOf(t.categoryName)===-1&&(iP("Not excluded, sending to appender"),e(t))}}function TK(r,e,t){let i=t(r.appender);return EK(r.exclude,i)}rP.exports.configure=TK});var aP=x((Uge,oP)=>{var sP=Bt()("log4js:noLogFilter");function DK(r){return r.filter(t=>t!=null&&t!=="")}function RK(r,e){return t=>{sP(`Checking data: ${t.data} against filters: ${r}`),typeof r=="string"&&(r=[r]),r=DK(r);let i=new RegExp(r.join("|"),"i");(r.length===0||t.data.findIndex(n=>i.test(n))<0)&&(sP("Not excluded, sending to appender"),e(t))}}function PK(r,e,t){let i=t(r.appender);return RK(r.exclude,i)}oP.exports.configure=PK});var Ki=x(Kw=>{"use strict";Kw.fromCallback=function(r){return Object.defineProperty(function(){if(typeof arguments[arguments.length-1]=="function")r.apply(this,arguments);else return new Promise((e,t)=>{arguments[arguments.length]=(i,n)=>{if(i)return t(i);e(n)},arguments.length++,r.apply(this,arguments)})},"name",{value:r.name})};Kw.fromPromise=function(r){return Object.defineProperty(function(){let e=arguments[arguments.length-1];if(typeof e!="function")return r.apply(this,arguments);r.apply(this,arguments).then(t=>e(null,t),e)},"name",{value:r.name})}});var cP=x((Wge,lP)=>{var oo=require("constants"),kK=process.cwd,Op=null,IK=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return Op||(Op=kK.call(process)),Op};try{process.cwd()}catch(r){}typeof process.chdir=="function"&&(Jw=process.chdir,process.chdir=function(r){Op=null,Jw.call(process,r)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,Jw));var Jw;lP.exports=OK;function OK(r){oo.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&e(r),r.lutimes||t(r),r.chown=s(r.chown),r.fchown=s(r.fchown),r.lchown=s(r.lchown),r.chmod=i(r.chmod),r.fchmod=i(r.fchmod),r.lchmod=i(r.lchmod),r.chownSync=o(r.chownSync),r.fchownSync=o(r.fchownSync),r.lchownSync=o(r.lchownSync),r.chmodSync=n(r.chmodSync),r.fchmodSync=n(r.fchmodSync),r.lchmodSync=n(r.lchmodSync),r.stat=a(r.stat),r.fstat=a(r.fstat),r.lstat=a(r.lstat),r.statSync=l(r.statSync),r.fstatSync=l(r.fstatSync),r.lstatSync=l(r.lstatSync),r.lchmod||(r.lchmod=function(u,f,d){d&&process.nextTick(d)},r.lchmodSync=function(){}),r.lchown||(r.lchown=function(u,f,d,h){h&&process.nextTick(h)},r.lchownSync=function(){}),IK==="win32"&&(r.rename=function(u){return function(f,d,h){var p=Date.now(),g=0;u(f,d,function b(y){if(y&&(y.code==="EACCES"||y.code==="EPERM")&&Date.now()-p<6e4){setTimeout(function(){r.stat(d,function(S,w){S&&S.code==="ENOENT"?u(f,d,b):h(y)})},g),g<100&&(g+=10);return}h&&h(y)})}}(r.rename)),r.read=function(u){function f(d,h,p,g,b,y){var S;if(y&&typeof y=="function"){var w=0;S=function(_,L,$){if(_&&_.code==="EAGAIN"&&w<10)return w++,u.call(r,d,h,p,g,b,S);y.apply(this,arguments)}}return u.call(r,d,h,p,g,b,S)}return Object.setPrototypeOf&&Object.setPrototypeOf(f,u),f}(r.read),r.readSync=function(u){return function(f,d,h,p,g){for(var b=0;;)try{return u.call(r,f,d,h,p,g)}catch(y){if(y.code==="EAGAIN"&&b<10){b++;continue}throw y}}}(r.readSync);function e(u){u.lchmod=function(f,d,h){u.open(f,oo.O_WRONLY|oo.O_SYMLINK,d,function(p,g){if(p){h&&h(p);return}u.fchmod(g,d,function(b){u.close(g,function(y){h&&h(b||y)})})})},u.lchmodSync=function(f,d){var h=u.openSync(f,oo.O_WRONLY|oo.O_SYMLINK,d),p=!0,g;try{g=u.fchmodSync(h,d),p=!1}finally{if(p)try{u.closeSync(h)}catch(b){}else u.closeSync(h)}return g}}function t(u){oo.hasOwnProperty("O_SYMLINK")?(u.lutimes=function(f,d,h,p){u.open(f,oo.O_SYMLINK,function(g,b){if(g){p&&p(g);return}u.futimes(b,d,h,function(y){u.close(b,function(S){p&&p(y||S)})})})},u.lutimesSync=function(f,d,h){var p=u.openSync(f,oo.O_SYMLINK),g,b=!0;try{g=u.futimesSync(p,d,h),b=!1}finally{if(b)try{u.closeSync(p)}catch(y){}else u.closeSync(p)}return g}):(u.lutimes=function(f,d,h,p){p&&process.nextTick(p)},u.lutimesSync=function(){})}function i(u){return u&&function(f,d,h){return u.call(r,f,d,function(p){c(p)&&(p=null),h&&h.apply(this,arguments)})}}function n(u){return u&&function(f,d){try{return u.call(r,f,d)}catch(h){if(!c(h))throw h}}}function s(u){return u&&function(f,d,h,p){return u.call(r,f,d,h,function(g){c(g)&&(g=null),p&&p.apply(this,arguments)})}}function o(u){return u&&function(f,d,h){try{return u.call(r,f,d,h)}catch(p){if(!c(p))throw p}}}function a(u){return u&&function(f,d,h){typeof d=="function"&&(h=d,d=null);function p(g,b){b&&(b.uid<0&&(b.uid+=4294967296),b.gid<0&&(b.gid+=4294967296)),h&&h.apply(this,arguments)}return d?u.call(r,f,d,p):u.call(r,f,p)}}function l(u){return u&&function(f,d){var h=d?u.call(r,f,d):u.call(r,f);return h.uid<0&&(h.uid+=4294967296),h.gid<0&&(h.gid+=4294967296),h}}function c(u){if(!u||u.code==="ENOSYS")return!0;var f=!process.getuid||process.getuid()!==0;return!!(f&&(u.code==="EINVAL"||u.code==="EPERM"))}}});var dP=x((zge,fP)=>{var uP=require("stream").Stream;fP.exports=LK;function LK(r){return{ReadStream:e,WriteStream:t};function e(i,n){if(!(this instanceof e))return new e(i,n);uP.call(this);var s=this;this.path=i,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=64*1024,n=n||{};for(var o=Object.keys(n),a=0,l=o.length;athis.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){s._read()});return}r.open(this.path,this.flags,this.mode,function(u,f){if(u){s.emit("error",u),s.readable=!1;return}s.fd=f,s.emit("open",f),s._read()})}function t(i,n){if(!(this instanceof t))return new t(i,n);uP.call(this),this.path=i,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,n=n||{};for(var s=Object.keys(n),o=0,a=s.length;o= zero");this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=r.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}});var pP=x((Vge,hP)=>{"use strict";hP.exports=FK;var AK=Object.getPrototypeOf||function(r){return r.__proto__};function FK(r){if(r===null||typeof r!="object")return r;if(r instanceof Object)var e={__proto__:AK(r)};else var e=Object.create(null);return Object.getOwnPropertyNames(r).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}),e}});var Le=x((Gge,Xw)=>{var li=require("fs"),MK=cP(),NK=dP(),qK=pP(),Lp=require("util"),dn,Ap;typeof Symbol=="function"&&typeof Symbol.for=="function"?(dn=Symbol.for("graceful-fs.queue"),Ap=Symbol.for("graceful-fs.previous")):(dn="___graceful-fs.queue",Ap="___graceful-fs.previous");function $K(){}function mP(r,e){Object.defineProperty(r,dn,{get:function(){return e}})}var gf=$K;Lp.debuglog?gf=Lp.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&(gf=function(){var r=Lp.format.apply(Lp,arguments);r="GFS4: "+r.split(/\n/).join(` +GFS4: `),console.error(r)});li[dn]||(gP=global[dn]||[],mP(li,gP),li.close=function(r){function e(t,i){return r.call(li,t,function(n){n||ao(),typeof i=="function"&&i.apply(this,arguments)})}return Object.defineProperty(e,Ap,{value:r}),e}(li.close),li.closeSync=function(r){function e(t){r.apply(li,arguments),ao()}return Object.defineProperty(e,Ap,{value:r}),e}(li.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",function(){gf(li[dn]),require("assert").equal(li[dn].length,0)}));var gP;global[dn]||mP(global,li[dn]);Xw.exports=Yw(qK(li));process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!li.__patched&&(Xw.exports=Yw(li),li.__patched=!0);function Yw(r){MK(r),r.gracefulify=Yw,r.createReadStream=L,r.createWriteStream=$;var e=r.readFile;r.readFile=t;function t(A,M,k){return typeof M=="function"&&(k=M,M=null),F(A,M,k);function F(j,X,ae){return e(j,X,function(Pe){Pe&&(Pe.code==="EMFILE"||Pe.code==="ENFILE")?Bl([F,[j,X,ae]]):(typeof ae=="function"&&ae.apply(this,arguments),ao())})}}var i=r.writeFile;r.writeFile=n;function n(A,M,k,F){return typeof k=="function"&&(F=k,k=null),j(A,M,k,F);function j(X,ae,Pe,ke){return i(X,ae,Pe,function(Qe){Qe&&(Qe.code==="EMFILE"||Qe.code==="ENFILE")?Bl([j,[X,ae,Pe,ke]]):(typeof ke=="function"&&ke.apply(this,arguments),ao())})}}var s=r.appendFile;s&&(r.appendFile=o);function o(A,M,k,F){return typeof k=="function"&&(F=k,k=null),j(A,M,k,F);function j(X,ae,Pe,ke){return s(X,ae,Pe,function(Qe){Qe&&(Qe.code==="EMFILE"||Qe.code==="ENFILE")?Bl([j,[X,ae,Pe,ke]]):(typeof ke=="function"&&ke.apply(this,arguments),ao())})}}var a=r.copyFile;a&&(r.copyFile=l);function l(A,M,k,F){return typeof k=="function"&&(F=k,k=0),a(A,M,k,function(j){j&&(j.code==="EMFILE"||j.code==="ENFILE")?Bl([a,[A,M,k,F]]):(typeof F=="function"&&F.apply(this,arguments),ao())})}var c=r.readdir;r.readdir=u;function u(A,M,k){var F=[A];return typeof M!="function"?F.push(M):k=M,F.push(j),f(F);function j(X,ae){ae&&ae.sort&&ae.sort(),X&&(X.code==="EMFILE"||X.code==="ENFILE")?Bl([f,[F]]):(typeof k=="function"&&k.apply(this,arguments),ao())}}function f(A){return c.apply(r,A)}if(process.version.substr(0,4)==="v0.8"){var d=NK(r);y=d.ReadStream,w=d.WriteStream}var h=r.ReadStream;h&&(y.prototype=Object.create(h.prototype),y.prototype.open=S);var p=r.WriteStream;p&&(w.prototype=Object.create(p.prototype),w.prototype.open=_),Object.defineProperty(r,"ReadStream",{get:function(){return y},set:function(A){y=A},enumerable:!0,configurable:!0}),Object.defineProperty(r,"WriteStream",{get:function(){return w},set:function(A){w=A},enumerable:!0,configurable:!0});var g=y;Object.defineProperty(r,"FileReadStream",{get:function(){return g},set:function(A){g=A},enumerable:!0,configurable:!0});var b=w;Object.defineProperty(r,"FileWriteStream",{get:function(){return b},set:function(A){b=A},enumerable:!0,configurable:!0});function y(A,M){return this instanceof y?(h.apply(this,arguments),this):y.apply(Object.create(y.prototype),arguments)}function S(){var A=this;W(A.path,A.flags,A.mode,function(M,k){M?(A.autoClose&&A.destroy(),A.emit("error",M)):(A.fd=k,A.emit("open",k),A.read())})}function w(A,M){return this instanceof w?(p.apply(this,arguments),this):w.apply(Object.create(w.prototype),arguments)}function _(){var A=this;W(A.path,A.flags,A.mode,function(M,k){M?(A.destroy(),A.emit("error",M)):(A.fd=k,A.emit("open",k))})}function L(A,M){return new r.ReadStream(A,M)}function $(A,M){return new r.WriteStream(A,M)}var I=r.open;r.open=W;function W(A,M,k,F){return typeof k=="function"&&(F=k,k=null),j(A,M,k,F);function j(X,ae,Pe,ke){return I(X,ae,Pe,function(Qe,St){Qe&&(Qe.code==="EMFILE"||Qe.code==="ENFILE")?Bl([j,[X,ae,Pe,ke]]):(typeof ke=="function"&&ke.apply(this,arguments),ao())})}}return r}function Bl(r){gf("ENQUEUE",r[0].name,r[1]),li[dn].push(r)}function ao(){var r=li[dn].shift();r&&(gf("RETRY",r[0].name,r[1]),r[0].apply(null,r[1]))}});var Zw=x(ma=>{"use strict";var vP=Ki().fromCallback,Fr=Le(),BK=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchown","lchmod","link","lstat","mkdir","mkdtemp","open","readFile","readdir","readlink","realpath","rename","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter(r=>typeof Fr[r]=="function");Object.keys(Fr).forEach(r=>{r!=="promises"&&(ma[r]=Fr[r])});BK.forEach(r=>{ma[r]=vP(Fr[r])});ma.exists=function(r,e){return typeof e=="function"?Fr.exists(r,e):new Promise(t=>Fr.exists(r,t))};ma.read=function(r,e,t,i,n,s){return typeof s=="function"?Fr.read(r,e,t,i,n,s):new Promise((o,a)=>{Fr.read(r,e,t,i,n,(l,c,u)=>{if(l)return a(l);o({bytesRead:c,buffer:u})})})};ma.write=function(r,e,...t){return typeof t[t.length-1]=="function"?Fr.write(r,e,...t):new Promise((i,n)=>{Fr.write(r,e,...t,(s,o,a)=>{if(s)return n(s);i({bytesWritten:o,buffer:a})})})};typeof Fr.realpath.native=="function"&&(ma.realpath.native=vP(Fr.realpath.native))});var ex=x((Jge,yP)=>{"use strict";var Qw=require("path");function bP(r){return r=Qw.normalize(Qw.resolve(r)).split(Qw.sep),r.length>0?r[0]:null}var jK=/[<>:"|?*]/;function UK(r){let e=bP(r);return r=r.replace(e,""),jK.test(r)}yP.exports={getRootPath:bP,invalidWin32Path:UK}});var xP=x((Yge,wP)=>{"use strict";var HK=Le(),tx=require("path"),WK=ex().invalidWin32Path,zK=parseInt("0777",8);function ix(r,e,t,i){if(typeof e=="function"?(t=e,e={}):(!e||typeof e!="object")&&(e={mode:e}),process.platform==="win32"&&WK(r)){let o=new Error(r+" contains invalid WIN32 path characters.");return o.code="EINVAL",t(o)}let n=e.mode,s=e.fs||HK;n===void 0&&(n=zK&~process.umask()),i||(i=null),t=t||function(){},r=tx.resolve(r),s.mkdir(r,n,o=>{if(!o)return i=i||r,t(null,i);switch(o.code){case"ENOENT":if(tx.dirname(r)===r)return t(o);ix(tx.dirname(r),e,(a,l)=>{a?t(a,l):ix(r,e,t,l)});break;default:s.stat(r,(a,l)=>{a||!l.isDirectory()?t(o,i):t(null,i)});break}})}wP.exports=ix});var CP=x((Xge,SP)=>{"use strict";var VK=Le(),rx=require("path"),GK=ex().invalidWin32Path,KK=parseInt("0777",8);function nx(r,e,t){(!e||typeof e!="object")&&(e={mode:e});let i=e.mode,n=e.fs||VK;if(process.platform==="win32"&&GK(r)){let s=new Error(r+" contains invalid WIN32 path characters.");throw s.code="EINVAL",s}i===void 0&&(i=KK&~process.umask()),t||(t=null),r=rx.resolve(r);try{n.mkdirSync(r,i),t=t||r}catch(s){if(s.code==="ENOENT"){if(rx.dirname(r)===r)throw s;t=nx(rx.dirname(r),e,t),nx(r,e,t)}else{let o;try{o=n.statSync(r)}catch(a){throw s}if(!o.isDirectory())throw s}}return t}SP.exports=nx});var vr=x((Zge,_P)=>{"use strict";var JK=Ki().fromCallback,sx=JK(xP()),ox=CP();_P.exports={mkdirs:sx,mkdirsSync:ox,mkdirp:sx,mkdirpSync:ox,ensureDir:sx,ensureDirSync:ox}});var ax=x((Qge,TP)=>{"use strict";var yi=Le(),EP=require("os"),Fp=require("path");function YK(){let r=Fp.join("millis-test-sync"+Date.now().toString()+Math.random().toString().slice(2));r=Fp.join(EP.tmpdir(),r);let e=new Date(1435410243862);yi.writeFileSync(r,"https://github.com/jprichardson/node-fs-extra/pull/141");let t=yi.openSync(r,"r+");return yi.futimesSync(t,e,e),yi.closeSync(t),yi.statSync(r).mtime>1435410243e3}function XK(r){let e=Fp.join("millis-test"+Date.now().toString()+Math.random().toString().slice(2));e=Fp.join(EP.tmpdir(),e);let t=new Date(1435410243862);yi.writeFile(e,"https://github.com/jprichardson/node-fs-extra/pull/141",i=>{if(i)return r(i);yi.open(e,"r+",(n,s)=>{if(n)return r(n);yi.futimes(s,t,t,o=>{if(o)return r(o);yi.close(s,a=>{if(a)return r(a);yi.stat(e,(l,c)=>{if(l)return r(l);r(null,c.mtime>1435410243e3)})})})})})}function ZK(r){if(typeof r=="number")return Math.floor(r/1e3)*1e3;if(r instanceof Date)return new Date(Math.floor(r.getTime()/1e3)*1e3);throw new Error("fs-extra: timeRemoveMillis() unknown parameter type")}function QK(r,e,t,i){yi.open(r,"r+",(n,s)=>{if(n)return i(n);yi.futimes(s,e,t,o=>{yi.close(s,a=>{i&&i(o||a)})})})}function e7(r,e,t){let i=yi.openSync(r,"r+");return yi.futimesSync(i,e,t),yi.closeSync(i)}TP.exports={hasMillisRes:XK,hasMillisResSync:YK,timeRemoveMillis:ZK,utimesMillis:QK,utimesMillisSync:e7}});var yf=x((eve,OP)=>{"use strict";var Mr=Le(),Ji=require("path"),DP=10,RP=5,t7=0,lx=process.versions.node.split("."),PP=Number.parseInt(lx[0],10),kP=Number.parseInt(lx[1],10),i7=Number.parseInt(lx[2],10);function vf(){if(PP>DP)return!0;if(PP===DP){if(kP>RP)return!0;if(kP===RP&&i7>=t7)return!0}return!1}function r7(r,e,t){vf()?Mr.stat(r,{bigint:!0},(i,n)=>{if(i)return t(i);Mr.stat(e,{bigint:!0},(s,o)=>s?s.code==="ENOENT"?t(null,{srcStat:n,destStat:null}):t(s):t(null,{srcStat:n,destStat:o}))}):Mr.stat(r,(i,n)=>{if(i)return t(i);Mr.stat(e,(s,o)=>s?s.code==="ENOENT"?t(null,{srcStat:n,destStat:null}):t(s):t(null,{srcStat:n,destStat:o}))})}function n7(r,e){let t,i;vf()?t=Mr.statSync(r,{bigint:!0}):t=Mr.statSync(r);try{vf()?i=Mr.statSync(e,{bigint:!0}):i=Mr.statSync(e)}catch(n){if(n.code==="ENOENT")return{srcStat:t,destStat:null};throw n}return{srcStat:t,destStat:i}}function s7(r,e,t,i){r7(r,e,(n,s)=>{if(n)return i(n);let{srcStat:o,destStat:a}=s;return a&&a.ino&&a.dev&&a.ino===o.ino&&a.dev===o.dev?i(new Error("Source and destination must not be the same.")):o.isDirectory()&&ux(r,e)?i(new Error(bf(r,e,t))):i(null,{srcStat:o,destStat:a})})}function o7(r,e,t){let{srcStat:i,destStat:n}=n7(r,e);if(n&&n.ino&&n.dev&&n.ino===i.ino&&n.dev===i.dev)throw new Error("Source and destination must not be the same.");if(i.isDirectory()&&ux(r,e))throw new Error(bf(r,e,t));return{srcStat:i,destStat:n}}function cx(r,e,t,i,n){let s=Ji.resolve(Ji.dirname(r)),o=Ji.resolve(Ji.dirname(t));if(o===s||o===Ji.parse(o).root)return n();vf()?Mr.stat(o,{bigint:!0},(a,l)=>a?a.code==="ENOENT"?n():n(a):l.ino&&l.dev&&l.ino===e.ino&&l.dev===e.dev?n(new Error(bf(r,t,i))):cx(r,e,o,i,n)):Mr.stat(o,(a,l)=>a?a.code==="ENOENT"?n():n(a):l.ino&&l.dev&&l.ino===e.ino&&l.dev===e.dev?n(new Error(bf(r,t,i))):cx(r,e,o,i,n))}function IP(r,e,t,i){let n=Ji.resolve(Ji.dirname(r)),s=Ji.resolve(Ji.dirname(t));if(s===n||s===Ji.parse(s).root)return;let o;try{vf()?o=Mr.statSync(s,{bigint:!0}):o=Mr.statSync(s)}catch(a){if(a.code==="ENOENT")return;throw a}if(o.ino&&o.dev&&o.ino===e.ino&&o.dev===e.dev)throw new Error(bf(r,t,i));return IP(r,e,s,i)}function ux(r,e){let t=Ji.resolve(r).split(Ji.sep).filter(n=>n),i=Ji.resolve(e).split(Ji.sep).filter(n=>n);return t.reduce((n,s,o)=>n&&i[o]===s,!0)}function bf(r,e,t){return`Cannot ${t} '${r}' to a subdirectory of itself, '${e}'.`}OP.exports={checkPaths:s7,checkPathsSync:o7,checkParentPaths:cx,checkParentPathsSync:IP,isSrcSubdir:ux}});var AP=x((tve,LP)=>{"use strict";LP.exports=function(r){if(typeof Buffer.allocUnsafe=="function")try{return Buffer.allocUnsafe(r)}catch(e){return new Buffer(r)}return new Buffer(r)}});var $P=x((ive,qP)=>{"use strict";var mt=Le(),wf=require("path"),a7=vr().mkdirsSync,l7=ax().utimesMillisSync,xf=yf();function c7(r,e,t){typeof t=="function"&&(t={filter:t}),t=t||{},t.clobber="clobber"in t?!!t.clobber:!0,t.overwrite="overwrite"in t?!!t.overwrite:t.clobber,t.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended; + + see https://github.com/jprichardson/node-fs-extra/issues/269`);let{srcStat:i,destStat:n}=xf.checkPathsSync(r,e,"copy");return xf.checkParentPathsSync(r,i,e,"copy"),u7(n,r,e,t)}function u7(r,e,t,i){if(i.filter&&!i.filter(e,t))return;let n=wf.dirname(t);return mt.existsSync(n)||a7(n),FP(r,e,t,i)}function FP(r,e,t,i){if(!(i.filter&&!i.filter(e,t)))return f7(r,e,t,i)}function f7(r,e,t,i){let s=(i.dereference?mt.statSync:mt.lstatSync)(e);if(s.isDirectory())return m7(s,r,e,t,i);if(s.isFile()||s.isCharacterDevice()||s.isBlockDevice())return d7(s,r,e,t,i);if(s.isSymbolicLink())return b7(r,e,t,i)}function d7(r,e,t,i,n){return e?h7(r,t,i,n):MP(r,t,i,n)}function h7(r,e,t,i){if(i.overwrite)return mt.unlinkSync(t),MP(r,e,t,i);if(i.errorOnExist)throw new Error(`'${t}' already exists`)}function MP(r,e,t,i){return typeof mt.copyFileSync=="function"?(mt.copyFileSync(e,t),mt.chmodSync(t,r.mode),i.preserveTimestamps?l7(t,r.atime,r.mtime):void 0):p7(r,e,t,i)}function p7(r,e,t,i){let n=64*1024,s=AP()(n),o=mt.openSync(e,"r"),a=mt.openSync(t,"w",r.mode),l=0;for(;lv7(i,r,e,t))}function v7(r,e,t,i){let n=wf.join(e,r),s=wf.join(t,r),{destStat:o}=xf.checkPathsSync(n,s,"copy");return FP(o,n,s,i)}function b7(r,e,t,i){let n=mt.readlinkSync(e);if(i.dereference&&(n=wf.resolve(process.cwd(),n)),r){let s;try{s=mt.readlinkSync(t)}catch(o){if(o.code==="EINVAL"||o.code==="UNKNOWN")return mt.symlinkSync(n,t);throw o}if(i.dereference&&(s=wf.resolve(process.cwd(),s)),xf.isSrcSubdir(n,s))throw new Error(`Cannot copy '${n}' to a subdirectory of itself, '${s}'.`);if(mt.statSync(t).isDirectory()&&xf.isSrcSubdir(s,n))throw new Error(`Cannot overwrite '${s}' with '${n}'.`);return y7(n,t)}else return mt.symlinkSync(n,t)}function y7(r,e){return mt.unlinkSync(e),mt.symlinkSync(r,e)}qP.exports=c7});var fx=x((rve,BP)=>{"use strict";BP.exports={copySync:$P()}});var Un=x((nve,UP)=>{"use strict";var w7=Ki().fromPromise,jP=Zw();function x7(r){return jP.access(r).then(()=>!0).catch(()=>!1)}UP.exports={pathExists:w7(x7),pathExistsSync:jP.existsSync}});var XP=x((sve,YP)=>{"use strict";var ci=Le(),Sf=require("path"),S7=vr().mkdirs,C7=Un().pathExists,_7=ax().utimesMillis,Cf=yf();function E7(r,e,t,i){typeof t=="function"&&!i?(i=t,t={}):typeof t=="function"&&(t={filter:t}),i=i||function(){},t=t||{},t.clobber="clobber"in t?!!t.clobber:!0,t.overwrite="overwrite"in t?!!t.overwrite:t.clobber,t.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended; + + see https://github.com/jprichardson/node-fs-extra/issues/269`),Cf.checkPaths(r,e,"copy",(n,s)=>{if(n)return i(n);let{srcStat:o,destStat:a}=s;Cf.checkParentPaths(r,o,e,"copy",l=>l?i(l):t.filter?WP(HP,a,r,e,t,i):HP(a,r,e,t,i))})}function HP(r,e,t,i,n){let s=Sf.dirname(t);C7(s,(o,a)=>{if(o)return n(o);if(a)return dx(r,e,t,i,n);S7(s,l=>l?n(l):dx(r,e,t,i,n))})}function WP(r,e,t,i,n,s){Promise.resolve(n.filter(t,i)).then(o=>o?r(e,t,i,n,s):s(),o=>s(o))}function dx(r,e,t,i,n){return i.filter?WP(zP,r,e,t,i,n):zP(r,e,t,i,n)}function zP(r,e,t,i,n){(i.dereference?ci.stat:ci.lstat)(e,(o,a)=>{if(o)return n(o);if(a.isDirectory())return P7(a,r,e,t,i,n);if(a.isFile()||a.isCharacterDevice()||a.isBlockDevice())return T7(a,r,e,t,i,n);if(a.isSymbolicLink())return O7(r,e,t,i,n)})}function T7(r,e,t,i,n,s){return e?D7(r,t,i,n,s):VP(r,t,i,n,s)}function D7(r,e,t,i,n){if(i.overwrite)ci.unlink(t,s=>s?n(s):VP(r,e,t,i,n));else return i.errorOnExist?n(new Error(`'${t}' already exists`)):n()}function VP(r,e,t,i,n){return typeof ci.copyFile=="function"?ci.copyFile(e,t,s=>s?n(s):GP(r,t,i,n)):R7(r,e,t,i,n)}function R7(r,e,t,i,n){let s=ci.createReadStream(e);s.on("error",o=>n(o)).once("open",()=>{let o=ci.createWriteStream(t,{mode:r.mode});o.on("error",a=>n(a)).on("open",()=>s.pipe(o)).once("close",()=>GP(r,t,i,n))})}function GP(r,e,t,i){ci.chmod(e,r.mode,n=>n?i(n):t.preserveTimestamps?_7(e,r.atime,r.mtime,i):i())}function P7(r,e,t,i,n,s){return e?e&&!e.isDirectory()?s(new Error(`Cannot overwrite non-directory '${i}' with directory '${t}'.`)):KP(t,i,n,s):k7(r,t,i,n,s)}function k7(r,e,t,i,n){ci.mkdir(t,s=>{if(s)return n(s);KP(e,t,i,o=>o?n(o):ci.chmod(t,r.mode,n))})}function KP(r,e,t,i){ci.readdir(r,(n,s)=>n?i(n):JP(s,r,e,t,i))}function JP(r,e,t,i,n){let s=r.pop();return s?I7(r,s,e,t,i,n):n()}function I7(r,e,t,i,n,s){let o=Sf.join(t,e),a=Sf.join(i,e);Cf.checkPaths(o,a,"copy",(l,c)=>{if(l)return s(l);let{destStat:u}=c;dx(u,o,a,n,f=>f?s(f):JP(r,t,i,n,s))})}function O7(r,e,t,i,n){ci.readlink(e,(s,o)=>{if(s)return n(s);if(i.dereference&&(o=Sf.resolve(process.cwd(),o)),r)ci.readlink(t,(a,l)=>a?a.code==="EINVAL"||a.code==="UNKNOWN"?ci.symlink(o,t,n):n(a):(i.dereference&&(l=Sf.resolve(process.cwd(),l)),Cf.isSrcSubdir(o,l)?n(new Error(`Cannot copy '${o}' to a subdirectory of itself, '${l}'.`)):r.isDirectory()&&Cf.isSrcSubdir(l,o)?n(new Error(`Cannot overwrite '${l}' with '${o}'.`)):L7(o,t,n)));else return ci.symlink(o,t,n)})}function L7(r,e,t){ci.unlink(e,i=>i?t(i):ci.symlink(r,e,t))}YP.exports=E7});var hx=x((ove,ZP)=>{"use strict";var A7=Ki().fromCallback;ZP.exports={copy:A7(XP())}});var ak=x((ave,ok)=>{"use strict";var QP=Le(),ek=require("path"),Ve=require("assert"),_f=process.platform==="win32";function tk(r){["unlink","chmod","stat","lstat","rmdir","readdir"].forEach(t=>{r[t]=r[t]||QP[t],t=t+"Sync",r[t]=r[t]||QP[t]}),r.maxBusyTries=r.maxBusyTries||3}function px(r,e,t){let i=0;typeof e=="function"&&(t=e,e={}),Ve(r,"rimraf: missing path"),Ve.strictEqual(typeof r,"string","rimraf: path should be a string"),Ve.strictEqual(typeof t,"function","rimraf: callback function required"),Ve(e,"rimraf: invalid options argument provided"),Ve.strictEqual(typeof e,"object","rimraf: options should be object"),tk(e),ik(r,e,function n(s){if(s){if((s.code==="EBUSY"||s.code==="ENOTEMPTY"||s.code==="EPERM")&&iik(r,e,n),o)}s.code==="ENOENT"&&(s=null)}t(s)})}function ik(r,e,t){Ve(r),Ve(e),Ve(typeof t=="function"),e.lstat(r,(i,n)=>{if(i&&i.code==="ENOENT")return t(null);if(i&&i.code==="EPERM"&&_f)return rk(r,e,i,t);if(n&&n.isDirectory())return Mp(r,e,i,t);e.unlink(r,s=>{if(s){if(s.code==="ENOENT")return t(null);if(s.code==="EPERM")return _f?rk(r,e,s,t):Mp(r,e,s,t);if(s.code==="EISDIR")return Mp(r,e,s,t)}return t(s)})})}function rk(r,e,t,i){Ve(r),Ve(e),Ve(typeof i=="function"),t&&Ve(t instanceof Error),e.chmod(r,438,n=>{n?i(n.code==="ENOENT"?null:t):e.stat(r,(s,o)=>{s?i(s.code==="ENOENT"?null:t):o.isDirectory()?Mp(r,e,t,i):e.unlink(r,i)})})}function nk(r,e,t){let i;Ve(r),Ve(e),t&&Ve(t instanceof Error);try{e.chmodSync(r,438)}catch(n){if(n.code==="ENOENT")return;throw t}try{i=e.statSync(r)}catch(n){if(n.code==="ENOENT")return;throw t}i.isDirectory()?Np(r,e,t):e.unlinkSync(r)}function Mp(r,e,t,i){Ve(r),Ve(e),t&&Ve(t instanceof Error),Ve(typeof i=="function"),e.rmdir(r,n=>{n&&(n.code==="ENOTEMPTY"||n.code==="EEXIST"||n.code==="EPERM")?F7(r,e,i):n&&n.code==="ENOTDIR"?i(t):i(n)})}function F7(r,e,t){Ve(r),Ve(e),Ve(typeof t=="function"),e.readdir(r,(i,n)=>{if(i)return t(i);let s=n.length,o;if(s===0)return e.rmdir(r,t);n.forEach(a=>{px(ek.join(r,a),e,l=>{if(!o){if(l)return t(o=l);--s==0&&e.rmdir(r,t)}})})})}function sk(r,e){let t;e=e||{},tk(e),Ve(r,"rimraf: missing path"),Ve.strictEqual(typeof r,"string","rimraf: path should be a string"),Ve(e,"rimraf: missing options"),Ve.strictEqual(typeof e,"object","rimraf: options should be object");try{t=e.lstatSync(r)}catch(i){if(i.code==="ENOENT")return;i.code==="EPERM"&&_f&&nk(r,e,i)}try{t&&t.isDirectory()?Np(r,e,null):e.unlinkSync(r)}catch(i){if(i.code==="ENOENT")return;if(i.code==="EPERM")return _f?nk(r,e,i):Np(r,e,i);if(i.code!=="EISDIR")throw i;Np(r,e,i)}}function Np(r,e,t){Ve(r),Ve(e),t&&Ve(t instanceof Error);try{e.rmdirSync(r)}catch(i){if(i.code==="ENOTDIR")throw t;if(i.code==="ENOTEMPTY"||i.code==="EEXIST"||i.code==="EPERM")M7(r,e);else if(i.code!=="ENOENT")throw i}}function M7(r,e){if(Ve(r),Ve(e),e.readdirSync(r).forEach(t=>sk(ek.join(r,t),e)),_f){let t=Date.now();do try{return e.rmdirSync(r,e)}catch(i){}while(Date.now()-t<500)}else return e.rmdirSync(r,e)}ok.exports=px;px.sync=sk});var Ef=x((lve,ck)=>{"use strict";var N7=Ki().fromCallback,lk=ak();ck.exports={remove:N7(lk),removeSync:lk.sync}});var vk=x((cve,gk)=>{"use strict";var q7=Ki().fromCallback,uk=Le(),fk=require("path"),dk=vr(),hk=Ef(),pk=q7(function(e,t){t=t||function(){},uk.readdir(e,(i,n)=>{if(i)return dk.mkdirs(e,t);n=n.map(o=>fk.join(e,o)),s();function s(){let o=n.pop();if(!o)return t();hk.remove(o,a=>{if(a)return t(a);s()})}})});function mk(r){let e;try{e=uk.readdirSync(r)}catch(t){return dk.mkdirsSync(r)}e.forEach(t=>{t=fk.join(r,t),hk.removeSync(t)})}gk.exports={emptyDirSync:mk,emptydirSync:mk,emptyDir:pk,emptydir:pk}});var xk=x((uve,wk)=>{"use strict";var $7=Ki().fromCallback,bk=require("path"),Tf=Le(),yk=vr(),B7=Un().pathExists;function j7(r,e){function t(){Tf.writeFile(r,"",i=>{if(i)return e(i);e()})}Tf.stat(r,(i,n)=>{if(!i&&n.isFile())return e();let s=bk.dirname(r);B7(s,(o,a)=>{if(o)return e(o);if(a)return t();yk.mkdirs(s,l=>{if(l)return e(l);t()})})})}function U7(r){let e;try{e=Tf.statSync(r)}catch(i){}if(e&&e.isFile())return;let t=bk.dirname(r);Tf.existsSync(t)||yk.mkdirsSync(t),Tf.writeFileSync(r,"")}wk.exports={createFile:$7(j7),createFileSync:U7}});var Tk=x((fve,Ek)=>{"use strict";var H7=Ki().fromCallback,Sk=require("path"),ga=Le(),Ck=vr(),_k=Un().pathExists;function W7(r,e,t){function i(n,s){ga.link(n,s,o=>{if(o)return t(o);t(null)})}_k(e,(n,s)=>{if(n)return t(n);if(s)return t(null);ga.lstat(r,o=>{if(o)return o.message=o.message.replace("lstat","ensureLink"),t(o);let a=Sk.dirname(e);_k(a,(l,c)=>{if(l)return t(l);if(c)return i(r,e);Ck.mkdirs(a,u=>{if(u)return t(u);i(r,e)})})})})}function z7(r,e){if(ga.existsSync(e))return;try{ga.lstatSync(r)}catch(s){throw s.message=s.message.replace("lstat","ensureLink"),s}let i=Sk.dirname(e);return ga.existsSync(i)||Ck.mkdirsSync(i),ga.linkSync(r,e)}Ek.exports={createLink:H7(W7),createLinkSync:z7}});var Rk=x((dve,Dk)=>{"use strict";var lo=require("path"),Df=Le(),V7=Un().pathExists;function G7(r,e,t){if(lo.isAbsolute(r))return Df.lstat(r,i=>i?(i.message=i.message.replace("lstat","ensureSymlink"),t(i)):t(null,{toCwd:r,toDst:r}));{let i=lo.dirname(e),n=lo.join(i,r);return V7(n,(s,o)=>s?t(s):o?t(null,{toCwd:n,toDst:r}):Df.lstat(r,a=>a?(a.message=a.message.replace("lstat","ensureSymlink"),t(a)):t(null,{toCwd:r,toDst:lo.relative(i,r)})))}}function K7(r,e){let t;if(lo.isAbsolute(r)){if(t=Df.existsSync(r),!t)throw new Error("absolute srcpath does not exist");return{toCwd:r,toDst:r}}else{let i=lo.dirname(e),n=lo.join(i,r);if(t=Df.existsSync(n),t)return{toCwd:n,toDst:r};if(t=Df.existsSync(r),!t)throw new Error("relative srcpath does not exist");return{toCwd:r,toDst:lo.relative(i,r)}}}Dk.exports={symlinkPaths:G7,symlinkPathsSync:K7}});var Ik=x((hve,kk)=>{"use strict";var Pk=Le();function J7(r,e,t){if(t=typeof e=="function"?e:t,e=typeof e=="function"?!1:e,e)return t(null,e);Pk.lstat(r,(i,n)=>{if(i)return t(null,"file");e=n&&n.isDirectory()?"dir":"file",t(null,e)})}function Y7(r,e){let t;if(e)return e;try{t=Pk.lstatSync(r)}catch(i){return"file"}return t&&t.isDirectory()?"dir":"file"}kk.exports={symlinkType:J7,symlinkTypeSync:Y7}});var qk=x((pve,Nk)=>{"use strict";var X7=Ki().fromCallback,Ok=require("path"),jl=Le(),Lk=vr(),Z7=Lk.mkdirs,Q7=Lk.mkdirsSync,Ak=Rk(),eJ=Ak.symlinkPaths,tJ=Ak.symlinkPathsSync,Fk=Ik(),iJ=Fk.symlinkType,rJ=Fk.symlinkTypeSync,Mk=Un().pathExists;function nJ(r,e,t,i){i=typeof t=="function"?t:i,t=typeof t=="function"?!1:t,Mk(e,(n,s)=>{if(n)return i(n);if(s)return i(null);eJ(r,e,(o,a)=>{if(o)return i(o);r=a.toDst,iJ(a.toCwd,t,(l,c)=>{if(l)return i(l);let u=Ok.dirname(e);Mk(u,(f,d)=>{if(f)return i(f);if(d)return jl.symlink(r,e,c,i);Z7(u,h=>{if(h)return i(h);jl.symlink(r,e,c,i)})})})})})}function sJ(r,e,t){if(jl.existsSync(e))return;let n=tJ(r,e);r=n.toDst,t=rJ(n.toCwd,t);let s=Ok.dirname(e);return jl.existsSync(s)||Q7(s),jl.symlinkSync(r,e,t)}Nk.exports={createSymlink:X7(nJ),createSymlinkSync:sJ}});var Bk=x((mve,$k)=>{"use strict";var qp=xk(),$p=Tk(),Bp=qk();$k.exports={createFile:qp.createFile,createFileSync:qp.createFileSync,ensureFile:qp.createFile,ensureFileSync:qp.createFileSync,createLink:$p.createLink,createLinkSync:$p.createLinkSync,ensureLink:$p.createLink,ensureLinkSync:$p.createLinkSync,createSymlink:Bp.createSymlink,createSymlinkSync:Bp.createSymlinkSync,ensureSymlink:Bp.createSymlink,ensureSymlinkSync:Bp.createSymlinkSync}});var Wk=x((gve,Hk)=>{var Ul;try{Ul=Le()}catch(r){Ul=require("fs")}function oJ(r,e,t){t==null&&(t=e,e={}),typeof e=="string"&&(e={encoding:e}),e=e||{};var i=e.fs||Ul,n=!0;"throws"in e&&(n=e.throws),i.readFile(r,e,function(s,o){if(s)return t(s);o=Uk(o);var a;try{a=JSON.parse(o,e?e.reviver:null)}catch(l){return n?(l.message=r+": "+l.message,t(l)):t(null,null)}t(null,a)})}function aJ(r,e){e=e||{},typeof e=="string"&&(e={encoding:e});var t=e.fs||Ul,i=!0;"throws"in e&&(i=e.throws);try{var n=t.readFileSync(r,e);return n=Uk(n),JSON.parse(n,e.reviver)}catch(s){if(i)throw s.message=r+": "+s.message,s;return null}}function jk(r,e){var t,i=` +`;typeof e=="object"&&e!==null&&(e.spaces&&(t=e.spaces),e.EOL&&(i=e.EOL));var n=JSON.stringify(r,e?e.replacer:null,t);return n.replace(/\n/g,i)+i}function lJ(r,e,t,i){i==null&&(i=t,t={}),t=t||{};var n=t.fs||Ul,s="";try{s=jk(e,t)}catch(o){i&&i(o,null);return}n.writeFile(r,s,t,i)}function cJ(r,e,t){t=t||{};var i=t.fs||Ul,n=jk(e,t);return i.writeFileSync(r,n,t)}function Uk(r){return Buffer.isBuffer(r)&&(r=r.toString("utf8")),r=r.replace(/^\uFEFF/,""),r}var uJ={readFile:oJ,readFileSync:aJ,writeFile:lJ,writeFileSync:cJ};Hk.exports=uJ});var Up=x((vve,Vk)=>{"use strict";var zk=Ki().fromCallback,jp=Wk();Vk.exports={readJson:zk(jp.readFile),readJsonSync:jp.readFileSync,writeJson:zk(jp.writeFile),writeJsonSync:jp.writeFileSync}});var Jk=x((bve,Kk)=>{"use strict";var fJ=require("path"),dJ=vr(),hJ=Un().pathExists,Gk=Up();function pJ(r,e,t,i){typeof t=="function"&&(i=t,t={});let n=fJ.dirname(r);hJ(n,(s,o)=>{if(s)return i(s);if(o)return Gk.writeJson(r,e,t,i);dJ.mkdirs(n,a=>{if(a)return i(a);Gk.writeJson(r,e,t,i)})})}Kk.exports=pJ});var Xk=x((yve,Yk)=>{"use strict";var mJ=Le(),gJ=require("path"),vJ=vr(),bJ=Up();function yJ(r,e,t){let i=gJ.dirname(r);mJ.existsSync(i)||vJ.mkdirsSync(i),bJ.writeJsonSync(r,e,t)}Yk.exports=yJ});var Qk=x((wve,Zk)=>{"use strict";var wJ=Ki().fromCallback,Mi=Up();Mi.outputJson=wJ(Jk());Mi.outputJsonSync=Xk();Mi.outputJSON=Mi.outputJson;Mi.outputJSONSync=Mi.outputJsonSync;Mi.writeJSON=Mi.writeJson;Mi.writeJSONSync=Mi.writeJsonSync;Mi.readJSON=Mi.readJson;Mi.readJSONSync=Mi.readJsonSync;Zk.exports=Mi});var sI=x((xve,nI)=>{"use strict";var eI=Le(),xJ=require("path"),SJ=fx().copySync,tI=Ef().removeSync,CJ=vr().mkdirpSync,iI=yf();function _J(r,e,t){t=t||{};let i=t.overwrite||t.clobber||!1,{srcStat:n}=iI.checkPathsSync(r,e,"move");return iI.checkParentPathsSync(r,n,e,"move"),CJ(xJ.dirname(e)),EJ(r,e,i)}function EJ(r,e,t){if(t)return tI(e),rI(r,e,t);if(eI.existsSync(e))throw new Error("dest already exists.");return rI(r,e,t)}function rI(r,e,t){try{eI.renameSync(r,e)}catch(i){if(i.code!=="EXDEV")throw i;return TJ(r,e,t)}}function TJ(r,e,t){return SJ(r,e,{overwrite:t,errorOnExist:!0}),tI(r)}nI.exports=_J});var aI=x((Sve,oI)=>{"use strict";oI.exports={moveSync:sI()}});var dI=x((Cve,fI)=>{"use strict";var DJ=Le(),RJ=require("path"),PJ=hx().copy,lI=Ef().remove,kJ=vr().mkdirp,IJ=Un().pathExists,cI=yf();function OJ(r,e,t,i){typeof t=="function"&&(i=t,t={});let n=t.overwrite||t.clobber||!1;cI.checkPaths(r,e,"move",(s,o)=>{if(s)return i(s);let{srcStat:a}=o;cI.checkParentPaths(r,a,e,"move",l=>{if(l)return i(l);kJ(RJ.dirname(e),c=>c?i(c):LJ(r,e,n,i))})})}function LJ(r,e,t,i){if(t)return lI(e,n=>n?i(n):uI(r,e,t,i));IJ(e,(n,s)=>n?i(n):s?i(new Error("dest already exists.")):uI(r,e,t,i))}function uI(r,e,t,i){DJ.rename(r,e,n=>n?n.code!=="EXDEV"?i(n):AJ(r,e,t,i):i())}function AJ(r,e,t,i){PJ(r,e,{overwrite:t,errorOnExist:!0},s=>s?i(s):lI(r,i))}fI.exports=OJ});var pI=x((_ve,hI)=>{"use strict";var FJ=Ki().fromCallback;hI.exports={move:FJ(dI())}});var bI=x((Eve,vI)=>{"use strict";var MJ=Ki().fromCallback,Rf=Le(),mI=require("path"),gI=vr(),NJ=Un().pathExists;function qJ(r,e,t,i){typeof t=="function"&&(i=t,t="utf8");let n=mI.dirname(r);NJ(n,(s,o)=>{if(s)return i(s);if(o)return Rf.writeFile(r,e,t,i);gI.mkdirs(n,a=>{if(a)return i(a);Rf.writeFile(r,e,t,i)})})}function $J(r,...e){let t=mI.dirname(r);if(Rf.existsSync(t))return Rf.writeFileSync(r,...e);gI.mkdirsSync(t),Rf.writeFileSync(r,...e)}vI.exports={outputFile:MJ(qJ),outputFileSync:$J}});var gx=x((Tve,mx)=>{"use strict";mx.exports=Object.assign({},Zw(),fx(),hx(),vk(),Bk(),Qk(),vr(),aI(),pI(),bI(),Un(),Ef());var yI=require("fs");Object.getOwnPropertyDescriptor(yI,"promises")&&Object.defineProperty(mx.exports,"promises",{get(){return yI.promises}})});var xI=x((Dve,wI)=>{wI.exports=()=>new Date});var vx=x((Rve,Nr)=>{"use strict";function SI(r,e){for(var t=r.toString();t.length-1,i=va(ba(e,t,"Date")),n=va(ba(e,t,"Month")+1),s=va(ba(e,t,"FullYear")),o=va(s.substring(2,4)),a=r.indexOf("yyyy")>-1?s:o,l=va(ba(e,t,"Hours")),c=va(ba(e,t,"Minutes")),u=va(ba(e,t,"Seconds")),f=SI(ba(e,t,"Milliseconds"),3),d=BJ(e.getTimezoneOffset()),h=r.replace(/dd/g,i).replace(/MM/g,n).replace(/y{1,4}/g,a).replace(/hh/g,l).replace(/mm/g,c).replace(/ss/g,u).replace(/SSS/g,f).replace(/O/g,d);return h}function jJ(r,e,t){var i=[{pattern:/y{1,4}/,regexp:"\\d{1,4}",fn:function(c,u){c.setFullYear(u)}},{pattern:/MM/,regexp:"\\d{1,2}",fn:function(c,u){c.setMonth(u-1)}},{pattern:/dd/,regexp:"\\d{1,2}",fn:function(c,u){c.setDate(u)}},{pattern:/hh/,regexp:"\\d{1,2}",fn:function(c,u){c.setHours(u)}},{pattern:/mm/,regexp:"\\d\\d",fn:function(c,u){c.setMinutes(u)}},{pattern:/ss/,regexp:"\\d\\d",fn:function(c,u){c.setSeconds(u)}},{pattern:/SSS/,regexp:"\\d\\d\\d",fn:function(c,u){c.setMilliseconds(u)}},{pattern:/O/,regexp:"[+-]\\d{3,4}|Z",fn:function(c,u){u==="Z"&&(u=0);var f=Math.abs(u),d=f%100+Math.floor(f/100)*60;c.setMinutes(c.getMinutes()+(u>0?d:-d))}}],n=i.reduce(function(c,u){return u.pattern.test(c.regexp)?(u.index=c.regexp.match(u.pattern).index,c.regexp=c.regexp.replace(u.pattern,"("+u.regexp+")")):u.index=-1,c},{regexp:r,index:[]}),s=i.filter(function(c){return c.index>-1});s.sort(function(c,u){return c.index-u.index});var o=new RegExp(n.regexp),a=o.exec(e);if(a){var l=t||Nr.exports.now();return s.forEach(function(c,u){c.fn(l,a[u+1])}),l}throw new Error("String '"+e+"' could not be parsed as '"+r+"'")}function UJ(r,e,t){if(!r)throw new Error("pattern must be supplied");return jJ(r,e,t)}function HJ(){return new Date}Nr.exports=CI;Nr.exports.asString=CI;Nr.exports.parse=UJ;Nr.exports.now=HJ;Nr.exports.ISO8601_FORMAT="yyyy-MM-ddThh:mm:ss.SSS";Nr.exports.ISO8601_WITH_TZ_OFFSET_FORMAT="yyyy-MM-ddThh:mm:ss.SSSO";Nr.exports.DATETIME_FORMAT="dd MM yyyy hh:mm:ss.SSS";Nr.exports.ABSOLUTETIME_FORMAT="hh:mm:ss.SSS"});var TI=x((Pve,EI)=>{var WJ=Bt()("streamroller:fileNameFormatter"),zJ=require("path"),_I=".",VJ=".gz";EI.exports=({file:r,keepFileExt:e,needsIndex:t,alwaysIncludeDate:i,compress:n})=>{let s=zJ.join(r.dir,r.name),o=f=>f+r.ext,a=(f,d,h)=>(t||!h)&&d?f+_I+d:f,l=(f,d,h)=>(d>0||i)&&h?f+_I+h:f,c=(f,d)=>d&&n?f+VJ:f,u=e?[l,a,o,c]:[o,l,a,c];return({date:f,index:d})=>(WJ(`_formatFileName: date=${f}, index=${d}`),u.reduce((h,p)=>p(h,d,f),s))}});var kI=x((kve,PI)=>{var ya=Bt()("streamroller:fileNameParser"),GJ=".",DI=".gz",RI=vx();PI.exports=({file:r,keepFileExt:e,pattern:t})=>{let i=(u,f)=>u.endsWith(DI)?(ya("it is gzipped"),f.isCompressed=!0,u.slice(0,-1*DI.length)):u,n="__NOT_MATCHING__",c=[i,e?u=>u.startsWith(r.name)&&u.endsWith(r.ext)?(ya("it starts and ends with the right things"),u.slice(r.name.length+1,-1*r.ext.length)):n:u=>u.startsWith(r.base)?(ya("it starts with the right things"),u.slice(r.base.length+1)):n,t?(u,f)=>{let d=u.split(GJ),h=d[d.length-1];ya("items: ",d,", indexStr: ",h);let p=u;h!==void 0&&h.match(/^\d+$/)?(p=u.slice(0,-1*(h.length+1)),ya(`dateStr is ${p}`),t&&!p&&(p=h,h="0")):h="0";try{let g=RI.parse(t,p,new Date(0,0));return RI.asString(t,g)!==p?u:(f.index=parseInt(h,10),f.date=p,f.timestamp=g.getTime(),"")}catch(g){return ya(`Problem parsing ${p} as ${t}, error was: `,g),u}}:(u,f)=>u.match(/^\d+$/)?(ya("it has an index"),f.index=parseInt(u,10),""):u];return u=>{let f={filename:u,index:0,isCompressed:!1};return c.reduce((h,p)=>p(h,f),u)?null:f}}});var OI=x((Ive,II)=>{var wa=Bt()("streamroller:moveAndMaybeCompressFile"),co=gx(),KJ=require("zlib"),JJ=async(r,e,t)=>{if(r===e){wa("moveAndMaybeCompressFile: source and target are the same, not doing anything");return}if(await co.pathExists(r))if(wa(`moveAndMaybeCompressFile: moving file from ${r} to ${e} ${t?"with":"without"} compress`),t)await new Promise((i,n)=>{co.createReadStream(r).pipe(KJ.createGzip()).pipe(co.createWriteStream(e)).on("finish",()=>{wa(`moveAndMaybeCompressFile: finished compressing ${e}, deleting ${r}`),co.unlink(r).then(i).catch(()=>{wa(`Deleting ${r} failed, truncating instead`),co.truncate(r).then(i).catch(n)})})});else{wa(`moveAndMaybeCompressFile: deleting file=${e}, renaming ${r} to ${e}`);try{await co.move(r,e,{overwrite:!0})}catch(i){wa(`moveAndMaybeCompressFile: error moving ${r} to ${e}`,i),wa("Trying copy+truncate instead"),await co.copy(r,e,{overwrite:!0}),await co.truncate(r)}}};II.exports=JJ});var Vp=x((Ove,AI)=>{var br=Bt()("streamroller:RollingFileWriteStream"),Pf=gx(),Hp=require("path"),Wp=xI(),zp=vx(),{Writable:YJ}=require("stream"),XJ=TI(),ZJ=kI(),QJ=OI(),LI=class extends YJ{constructor(e,t){br(`constructor: creating RollingFileWriteStream. path=${e}`),super(t),this.options=this._parseOption(t),this.fileObject=Hp.parse(e),this.fileObject.dir===""&&(this.fileObject=Hp.parse(Hp.join(process.cwd(),e))),this.fileFormatter=XJ({file:this.fileObject,alwaysIncludeDate:this.options.alwaysIncludePattern,needsIndex:this.options.maxSize 0`);if(i.numToKeep<=0)throw new Error(`options.numToKeep (${i.numToKeep}) should be > 0`);return br(`_parseOption: creating stream with option=${JSON.stringify(i)}`),i}_final(e){this.currentFileStream.end("",this.options.encoding,e)}_write(e,t,i){this._shouldRoll().then(()=>{br(`_write: writing chunk. file=${this.currentFileStream.path} state=${JSON.stringify(this.state)} chunk=${e}`),this.currentFileStream.write(e,t,n=>{this.state.currentSize+=e.length,i(n)})})}async _shouldRoll(){(this._dateChanged()||this._tooBig())&&(br(`_shouldRoll: rolling because dateChanged? ${this._dateChanged()} or tooBig? ${this._tooBig()}`),await this._roll())}_dateChanged(){return this.state.currentDate&&this.state.currentDate!==zp(this.options.pattern,Wp())}_tooBig(){return this.state.currentSize>=this.options.maxSize}_roll(){return br("_roll: closing the current stream"),new Promise((e,t)=>{this.currentFileStream.end("",this.options.encoding,()=>{this._moveOldFiles().then(e).catch(t)})})}async _moveOldFiles(){let e=await this._getExistingFiles(),t=this.state.currentDate?e.filter(i=>i.date===this.state.currentDate):e;for(let i=t.length;i>=0;i--){br(`_moveOldFiles: i = ${i}`);let n=this.fileFormatter({date:this.state.currentDate,index:i}),s=this.fileFormatter({date:this.state.currentDate,index:i+1});await QJ(n,s,this.options.compress&&i===0)}this.state.currentSize=0,this.state.currentDate=this.state.currentDate?zp(this.options.pattern,Wp()):null,br(`_moveOldFiles: finished rolling files. state=${JSON.stringify(this.state)}`),this._renewWriteStream(),await new Promise((i,n)=>{this.currentFileStream.write("","utf8",()=>{this._clean().then(i).catch(n)})})}async _getExistingFiles(){let e=await Pf.readdir(this.fileObject.dir).catch(()=>[]);br(`_getExistingFiles: files=${e}`);let t=e.map(n=>this.fileNameParser(n)).filter(n=>n),i=n=>(n.timestamp?n.timestamp:Wp().getTime())-n.index;return t.sort((n,s)=>i(n)-i(s)),t}_renewWriteStream(){Pf.ensureDirSync(this.fileObject.dir);let e=this.fileFormatter({date:this.state.currentDate,index:0}),t={flags:this.options.flags,encoding:this.options.encoding,mode:this.options.mode};this.currentFileStream=Pf.createWriteStream(e,t),this.currentFileStream.on("error",i=>{this.emit("error",i)})}async _clean(){let e=await this._getExistingFiles();if(br(`_clean: numToKeep = ${this.options.numToKeep}, existingFiles = ${e.length}`),br("_clean: existing files are: ",e),this._tooManyFiles(e.length)){let t=e.slice(0,e.length-this.options.numToKeep-1).map(i=>Hp.format({dir:this.fileObject.dir,base:i.filename}));await eY(t)}}_tooManyFiles(e){return this.options.numToKeep>0&&e>this.options.numToKeep}},eY=r=>(br(`deleteFiles: files to delete: ${r}`),Promise.all(r.map(e=>Pf.unlink(e).catch(t=>{br(`deleteFiles: error when unlinking ${e}, ignoring. Error was ${t}`)}))));AI.exports=LI});var NI=x((Lve,MI)=>{var tY=Vp(),FI=class extends tY{constructor(e,t,i,n){n||(n={}),t&&(n.maxSize=t),i||(i=1),n.numToKeep=i,super(e,n),this.backups=this.options.numToKeep,this.size=this.options.maxSize}get theStream(){return this.currentFileStream}};MI.exports=FI});var BI=x((Ave,$I)=>{var iY=Vp(),qI=class extends iY{constructor(e,t,i){t&&typeof t=="object"&&(i=t,t=null),i||(i={}),t||(t="yyyy-MM-dd"),i.daysToKeep&&(i.numToKeep=i.daysToKeep),t.startsWith(".")&&(t=t.substring(1)),i.pattern=t,super(e,i),this.mode=this.options.mode}get theStream(){return this.currentFileStream}};$I.exports=qI});var bx=x((Fve,jI)=>{jI.exports={RollingFileWriteStream:Vp(),RollingFileStream:NI(),DateRollingFileStream:BI()}});var zI=x((Mve,WI)=>{var UI=Bt()("log4js:file"),rY=require("path"),nY=bx(),sY=require("os"),oY=sY.EOL;function HI(r,e,t,i){let n=new nY.RollingFileStream(r,e,t,i);return n.on("error",s=>{console.error("log4js.fileAppender - Writing to file %s, error happened ",r,s)}),n.on("drain",()=>{process.emit("log4js:pause",!1)}),n}function aY(r,e,t,i,n,s){r=rY.normalize(r),i=i===void 0?5:i,i=i===0?1:i,UI("Creating file appender (",r,", ",t,", ",i,", ",n,", ",s,")");let o=HI(r,t,i,n),a=function(l){if(n.removeColor===!0){let c=/\x1b[[0-9;]*m/g;l.data=l.data.map(u=>typeof u=="string"?u.replace(c,""):u)}o.write(e(l,s)+oY,"utf8")||process.emit("log4js:pause",!0)};return a.reopen=function(){o.end(()=>{o=HI(r,t,i,n)})},a.sighupHandler=function(){UI("SIGHUP handler called."),a.reopen()},a.shutdown=function(l){process.removeListener("SIGHUP",a.sighupHandler),o.end("","utf-8",l)},process.on("SIGHUP",a.sighupHandler),a}function lY(r,e){let t=e.basicLayout;return r.layout&&(t=e.layout(r.layout.type,r.layout)),aY(r.filename,t,r.maxLogSize,r.backups,r,r.timezoneOffset)}WI.exports.configure=lY});var GI=x((Nve,VI)=>{var cY=bx(),uY=require("os"),fY=uY.EOL;function dY(r,e,t,i,n){i.maxSize=i.maxLogSize;let s=new cY.DateRollingFileStream(r,e,i);s.on("drain",()=>{process.emit("log4js:pause",!1)});let o=function(a){s.write(t(a,n)+fY,"utf8")||process.emit("log4js:pause",!0)};return o.shutdown=function(a){s.write("","utf-8",()=>{s.end(a)})},o}function hY(r,e){let t=e.basicLayout;return r.layout&&(t=e.layout(r.layout.type,r.layout)),r.alwaysIncludePattern||(r.alwaysIncludePattern=!1),dY(r.filename,r.pattern,t,r,r.timezoneOffset)}VI.exports.configure=hY});var XI=x((qve,YI)=>{var gs=Bt()("log4js:fileSync"),Hl=require("path"),vs=require("fs"),pY=require("os"),mY=pY.EOL||` +`;function KI(r,e){if(vs.existsSync(r))return;let t=vs.openSync(r,e.flags,e.mode);vs.closeSync(t)}var JI=class{constructor(e,t,i,n){gs("In RollingFileStream");function s(){if(!e||!t||t<=0)throw new Error("You must specify a filename and file size")}s(),this.filename=e,this.size=t,this.backups=i||1,this.options=n,this.currentSize=0;function o(a){let l=0;try{l=vs.statSync(a).size}catch(c){KI(a,n)}return l}this.currentSize=o(this.filename)}shouldRoll(){return gs("should roll with current size %d, and max size %d",this.currentSize,this.size),this.currentSize>=this.size}roll(e){let t=this,i=new RegExp(`^${Hl.basename(e)}`);function n(c){return i.test(c)}function s(c){return parseInt(c.substring(`${Hl.basename(e)}.`.length),10)||0}function o(c,u){return s(c)>s(u)?1:s(c) ${e}.${u+1}`),vs.renameSync(Hl.join(Hl.dirname(e),c),`${e}.${u+1}`)}}function l(){gs("Renaming the old files"),vs.readdirSync(Hl.dirname(e)).filter(n).sort(o).reverse().forEach(a)}gs("Rolling, rolling, rolling"),l()}write(e,t){let i=this;function n(){gs("writing the chunk to the file"),i.currentSize+=e.length,vs.appendFileSync(i.filename,e)}gs("in write"),this.shouldRoll()&&(this.currentSize=0,this.roll(this.filename)),n()}};function gY(r,e,t,i,n,s){gs("fileSync appender created"),r=Hl.normalize(r),i=i===void 0?5:i,i=i===0?1:i;function o(l,c,u){let f;return c?f=new JI(l,c,u,s):f=(d=>(KI(d,s),{write(h){vs.appendFileSync(d,h)}}))(l),f}let a=o(r,t,i);return l=>{a.write(e(l,n)+mY)}}function vY(r,e){let t=e.basicLayout;r.layout&&(t=e.layout(r.layout.type,r.layout));let i={flags:r.flags||"a",encoding:r.encoding||"utf8",mode:r.mode||420};return gY(r.filename,t,r.maxLogSize,r.backups,r.timezoneOffset,i)}YI.exports.configure=vY});var wx=x(($ve,tO)=>{var bY=require("path"),xa=Bt()("log4js:appenders"),qr=fa(),ZI=Ip(),yY=pa(),wY=Hw(),xY=GR(),Hn=new Map;Hn.set("console",JR());Hn.set("stdout",XR());Hn.set("stderr",QR());Hn.set("logLevelFilter",tP());Hn.set("categoryFilter",nP());Hn.set("noLogFilter",aP());Hn.set("file",zI());Hn.set("dateFile",GI());Hn.set("fileSync",XI());var kf=new Map,yx=(r,e)=>{xa("Loading module from ",r);try{return require(r)}catch(t){qr.throwExceptionIf(e,t.code!=="MODULE_NOT_FOUND",`appender "${r}" could not be loaded (error was: ${t})`);return}},SY=(r,e)=>Hn.get(r)||yx(`./${r}`,e)||yx(r,e)||""||yx(bY.join(process.cwd(),r),e),Gp=new Set,QI=(r,e)=>{if(kf.has(r))return kf.get(r);if(!e.appenders[r])return!1;if(Gp.has(r))throw new Error(`Dependency loop detected for appender ${r}.`);Gp.add(r),xa(`Creating appender ${r}`);let t=CY(r,e);return Gp.delete(r),kf.set(r,t),t},CY=(r,e)=>{let t=e.appenders[r],i=t.type.configure?t.type:SY(t.type,e);return qr.throwExceptionIf(e,qr.not(i),`appender "${r}" is not valid (type "${t.type}" could not be found)`),i.appender&&xa(`DEPRECATION: Appender ${t.type} exports an appender function.`),i.shutdown&&xa(`DEPRECATION: Appender ${t.type} exports a shutdown function.`),xa(`${r}: clustering.isMaster ? ${ZI.isMaster()}`),xa(`${r}: appenderModule is ${require("util").inspect(i)}`),ZI.onlyOnMaster(()=>(xa(`calling appenderModule.configure for ${r} / ${t.type}`),i.configure(xY.modifyConfig(t),wY,n=>QI(n,e),yY)),()=>{})},eO=r=>{kf.clear(),Gp.clear();let e=[];Object.values(r.categories).forEach(t=>{e.push(...t.appenders)}),Object.keys(r.appenders).forEach(t=>{(e.includes(t)||r.appenders[t].type==="tcp-server")&&QI(t,r)})};eO({appenders:{out:{type:"stdout"}},categories:{default:{appenders:["out"],level:"trace"}}});qr.addListener(r=>{qr.throwExceptionIf(r,qr.not(qr.anObject(r.appenders)),'must have a property "appenders" of type object.');let e=Object.keys(r.appenders);qr.throwExceptionIf(r,qr.not(e.length),"must define at least one appender."),e.forEach(t=>{qr.throwExceptionIf(r,qr.not(r.appenders[t].type),`appender "${t}" is not valid (must be an object with property "type")`)})});qr.addListener(eO);tO.exports=kf});var Sx=x((Bve,sO)=>{var Sa=Bt()("log4js:categories"),kt=fa(),xx=pa(),iO=wx(),Wl=new Map;function rO(r,e,t){if(e.inherit===!1)return;let i=t.lastIndexOf(".");if(i<0)return;let n=t.substring(0,i),s=r.categories[n];s||(s={inherit:!0,appenders:[]}),rO(r,s,n),!r.categories[n]&&s.appenders&&s.appenders.length&&s.level&&(r.categories[n]=s),e.appenders=e.appenders||[],e.level=e.level||s.level,s.appenders.forEach(o=>{e.appenders.includes(o)||e.appenders.push(o)}),e.parent=s}function _Y(r){if(!r.categories)return;Object.keys(r.categories).forEach(t=>{let i=r.categories[t];rO(r,i,t)})}kt.addPreProcessingListener(r=>_Y(r));kt.addListener(r=>{kt.throwExceptionIf(r,kt.not(kt.anObject(r.categories)),'must have a property "categories" of type object.');let e=Object.keys(r.categories);kt.throwExceptionIf(r,kt.not(e.length),"must define at least one category."),e.forEach(t=>{let i=r.categories[t];kt.throwExceptionIf(r,[kt.not(i.appenders),kt.not(i.level)],`category "${t}" is not valid (must be an object with properties "appenders" and "level")`),kt.throwExceptionIf(r,kt.not(Array.isArray(i.appenders)),`category "${t}" is not valid (appenders must be an array of appender names)`),kt.throwExceptionIf(r,kt.not(i.appenders.length),`category "${t}" is not valid (appenders must contain at least one appender name)`),Object.prototype.hasOwnProperty.call(i,"enableCallStack")&&kt.throwExceptionIf(r,typeof i.enableCallStack!="boolean",`category "${t}" is not valid (enableCallStack must be boolean type)`),i.appenders.forEach(n=>{kt.throwExceptionIf(r,kt.not(iO.get(n)),`category "${t}" is not valid (appender "${n}" is not defined)`)}),kt.throwExceptionIf(r,kt.not(xx.getLevel(i.level)),`category "${t}" is not valid (level "${i.level}" not recognised; valid levels are ${xx.levels.join(", ")})`)}),kt.throwExceptionIf(r,kt.not(r.categories.default),'must define a "default" category.')});var nO=r=>{Wl.clear(),Object.keys(r.categories).forEach(t=>{let i=r.categories[t],n=[];i.appenders.forEach(s=>{n.push(iO.get(s)),Sa(`Creating category ${t}`),Wl.set(t,{appenders:n,level:xx.getLevel(i.level),enableCallStack:i.enableCallStack||!1})})})};nO({categories:{default:{appenders:["out"],level:"OFF"}}});kt.addListener(nO);var Ca=r=>(Sa(`configForCategory: searching for config for ${r}`),Wl.has(r)?(Sa(`configForCategory: ${r} exists in config, returning it`),Wl.get(r)):r.indexOf(".")>0?(Sa(`configForCategory: ${r} has hierarchy, searching for parents`),Ca(r.substring(0,r.lastIndexOf(".")))):(Sa("configForCategory: returning config for default category"),Ca("default"))),EY=r=>Ca(r).appenders,TY=r=>Ca(r).level,DY=(r,e)=>{let t=Wl.get(r);if(Sa(`setLevelForCategory: found ${t} for ${r}`),!t){let i=Ca(r);Sa(`setLevelForCategory: no config found for category, found ${i} for parents of ${r}`),t={appenders:i.appenders}}t.level=e,Wl.set(r,t)},RY=r=>Ca(r).enableCallStack===!0,PY=(r,e)=>{Ca(r).enableCallStack=e};sO.exports={appendersForCategory:EY,getLevelForCategory:TY,setLevelForCategory:DY,getEnableCallStackForCategory:RY,setEnableCallStackForCategory:PY}});var cO=x((jve,lO)=>{var oO=Bt()("log4js:logger"),kY=zw(),uo=pa(),IY=Ip(),Kp=Sx(),OY=fa(),LY=/at (?:(.+)\s+\()?(?:(.+?):(\d+)(?::(\d+))?|([^)]+))\)?/;function AY(r,e=4){let t=r.stack.split(` +`).slice(e),i=LY.exec(t[0]);return i&&i.length===6?{functionName:i[1],fileName:i[2],lineNumber:parseInt(i[3],10),columnNumber:parseInt(i[4],10),callStack:t.join(` +`)}:null}var Jp=class{constructor(e){if(!e)throw new Error("No category provided.");this.category=e,this.context={},this.parseCallStack=AY,oO(`Logger created (${this.category}, ${this.level})`)}get level(){return uo.getLevel(Kp.getLevelForCategory(this.category),uo.TRACE)}set level(e){Kp.setLevelForCategory(this.category,uo.getLevel(e,this.level))}get useCallStack(){return Kp.getEnableCallStackForCategory(this.category)}set useCallStack(e){Kp.setEnableCallStackForCategory(this.category,e===!0)}log(e,...t){let i=uo.getLevel(e,uo.INFO);this.isLevelEnabled(i)&&this._log(i,t)}isLevelEnabled(e){return this.level.isLessThanOrEqualTo(e)}_log(e,t){oO(`sending log data (${e}) to appenders`);let i=new kY(this.category,e,t,this.context,this.useCallStack&&this.parseCallStack(new Error));IY.send(i)}addContext(e,t){this.context[e]=t}removeContext(e){delete this.context[e]}clearContext(){this.context={}}setParseCallStackFunction(e){this.parseCallStack=e}};function aO(r){let e=uo.getLevel(r),i=e.toString().toLowerCase().replace(/_([a-z])/g,s=>s[1].toUpperCase()),n=i[0].toUpperCase()+i.slice(1);Jp.prototype[`is${n}Enabled`]=function(){return this.isLevelEnabled(e)},Jp.prototype[i]=function(...s){this.log(e,...s)}}uo.levels.forEach(aO);OY.addListener(()=>{uo.levels.forEach(aO)});lO.exports=Jp});var dO=x((Uve,fO)=>{var zl=pa(),FY=':remote-addr - - ":method :url HTTP/:http-version" :status :content-length ":referrer" ":user-agent"';function MY(r){return r.originalUrl||r.url}function NY(r,e,t){let i=s=>{let o=s.concat();for(let a=0;ai.source?i.source:i);e=new RegExp(t.join("|"))}return e}function $Y(r,e,t){let i=e;if(t){let n=t.find(s=>{let o=!1;return s.from&&s.to?o=r>=s.from&&r<=s.to:o=s.codes.indexOf(r)!==-1,o});n&&(i=zl.getLevel(n.level,i))}return i}fO.exports=function(e,t){typeof t=="string"||typeof t=="function"?t={format:t}:t=t||{};let i=e,n=zl.getLevel(t.level,zl.INFO),s=t.format||FY,o=qY(t.nolog);return(a,l,c)=>{if(a._logging||o&&o.test(a.originalUrl))return c();if(i.isLevelEnabled(n)||t.level==="auto"){let u=new Date,{writeHead:f}=l;a._logging=!0,l.writeHead=(d,h)=>{l.writeHead=f,l.writeHead(d,h),l.__statusCode=d,l.__headers=h||{}},l.on("finish",()=>{l.responseTime=new Date-u,l.statusCode&&t.level==="auto"&&(n=zl.INFO,l.statusCode>=300&&(n=zl.WARN),l.statusCode>=400&&(n=zl.ERROR)),n=$Y(l.statusCode,n,t.statusRules);let d=NY(a,l,t.tokens||[]);if(t.context&&i.addContext("res",l),typeof s=="function"){let h=s(a,l,p=>uO(p,d));h&&i.log(n,h)}else i.log(n,uO(s,d));t.context&&i.removeContext("res")})}return c()}}});var Cx=x((Hve,mO)=>{var fo=Bt()("log4js:main"),BY=require("fs"),jY=mR()({proto:!0}),UY=fa(),HY=Hw(),WY=pa(),zY=wx(),VY=Sx(),GY=cO(),KY=Ip(),JY=dO(),Yp=!1;function YY(r){if(!Yp)return;fo("Received log event ",r),VY.appendersForCategory(r.categoryName).forEach(t=>{t(r)})}function XY(r){fo(`Loading configuration from ${r}`);try{return JSON.parse(BY.readFileSync(r,"utf8"))}catch(e){throw new Error(`Problem reading config from file "${r}". Error was ${e.message}`,e)}}function hO(r){let e=r;return typeof e=="string"&&(e=XY(r)),fo(`Configuration is ${e}`),UY.configure(jY(e)),KY.onMessage(YY),Yp=!0,pO}function ZY(r){fo("Shutdown called. Disabling all log writing."),Yp=!1;let e=Array.from(zY.values()),t=e.reduceRight((o,a)=>a.shutdown?o+1:o,0),i=0,n;fo(`Found ${t} appenders with shutdown functions.`);function s(o){n=n||o,i+=1,fo(`Appender shutdowns complete: ${i} / ${t}`),i>=t&&(fo("All shutdown functions completed."),r&&r(n))}return t===0?(fo("No appenders with shutdown functions found."),r!==void 0&&r()):(e.filter(o=>o.shutdown).forEach(o=>o.shutdown(s)),null)}function QY(r){return Yp||hO(process.env.LOG4JS_CONFIG||{appenders:{out:{type:"stdout"}},categories:{default:{appenders:["out"],level:"OFF"}}}),new GY(r||"default")}var pO={getLogger:QY,configure:hO,shutdown:ZY,connectLogger:JY,levels:WY,addLayout:HY.addLayout};mO.exports=pO});var yr=x(_x=>{"use strict";_x.fromCallback=function(r){return Object.defineProperty(function(...e){if(typeof e[e.length-1]=="function")r.apply(this,e);else return new Promise((t,i)=>{r.call(this,...e,(n,s)=>n!=null?i(n):t(s))})},"name",{value:r.name})};_x.fromPromise=function(r){return Object.defineProperty(function(...e){let t=e[e.length-1];if(typeof t!="function")return r.apply(this,e);r.apply(this,e.slice(0,-1)).then(i=>t(null,i),t)},"name",{value:r.name})}});var If=x(ho=>{"use strict";var gO=yr().fromCallback,Ni=Le(),eX=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter(r=>typeof Ni[r]=="function");Object.keys(Ni).forEach(r=>{r!=="promises"&&(ho[r]=Ni[r])});eX.forEach(r=>{ho[r]=gO(Ni[r])});ho.exists=function(r,e){return typeof e=="function"?Ni.exists(r,e):new Promise(t=>Ni.exists(r,t))};ho.read=function(r,e,t,i,n,s){return typeof s=="function"?Ni.read(r,e,t,i,n,s):new Promise((o,a)=>{Ni.read(r,e,t,i,n,(l,c,u)=>{if(l)return a(l);o({bytesRead:c,buffer:u})})})};ho.write=function(r,e,...t){return typeof t[t.length-1]=="function"?Ni.write(r,e,...t):new Promise((i,n)=>{Ni.write(r,e,...t,(s,o,a)=>{if(s)return n(s);i({bytesWritten:o,buffer:a})})})};typeof Ni.writev=="function"&&(ho.writev=function(r,e,...t){return typeof t[t.length-1]=="function"?Ni.writev(r,e,...t):new Promise((i,n)=>{Ni.writev(r,e,...t,(s,o,a)=>{if(s)return n(s);i({bytesWritten:o,buffers:a})})})});typeof Ni.realpath.native=="function"&&(ho.realpath.native=gO(Ni.realpath.native))});var Ex=x((Vve,vO)=>{vO.exports=r=>{let e=process.versions.node.split(".").map(t=>parseInt(t,10));return r=r.split(".").map(t=>parseInt(t,10)),e[0]>r[0]||e[0]===r[0]&&(e[1]>r[1]||e[1]===r[1]&&e[2]>=r[2])}});var SO=x((Gve,Tx)=>{"use strict";var Vl=If(),bs=require("path"),tX=Ex(),bO=tX("10.12.0"),yO=r=>{if(process.platform==="win32"&&/[<>:"|?*]/.test(r.replace(bs.parse(r).root,""))){let t=new Error(`Path contains invalid characters: ${r}`);throw t.code="EINVAL",t}},wO=r=>{let e={mode:511};return typeof r=="number"&&(r={mode:r}),ut(ut({},e),r)},xO=r=>{let e=new Error(`operation not permitted, mkdir '${r}'`);return e.code="EPERM",e.errno=-4048,e.path=r,e.syscall="mkdir",e};Tx.exports.makeDir=async(r,e)=>{if(yO(r),e=wO(e),bO){let i=bs.resolve(r);return Vl.mkdir(i,{mode:e.mode,recursive:!0})}let t=async i=>{try{await Vl.mkdir(i,e.mode)}catch(n){if(n.code==="EPERM")throw n;if(n.code==="ENOENT"){if(bs.dirname(i)===i)throw xO(i);if(n.message.includes("null bytes"))throw n;return await t(bs.dirname(i)),t(i)}try{if(!(await Vl.stat(i)).isDirectory())throw new Error("The path is not a directory")}catch{throw n}}};return t(bs.resolve(r))};Tx.exports.makeDirSync=(r,e)=>{if(yO(r),e=wO(e),bO){let i=bs.resolve(r);return Vl.mkdirSync(i,{mode:e.mode,recursive:!0})}let t=i=>{try{Vl.mkdirSync(i,e.mode)}catch(n){if(n.code==="EPERM")throw n;if(n.code==="ENOENT"){if(bs.dirname(i)===i)throw xO(i);if(n.message.includes("null bytes"))throw n;return t(bs.dirname(i)),t(i)}try{if(!Vl.statSync(i).isDirectory())throw new Error("The path is not a directory")}catch{throw n}}};return t(bs.resolve(r))}});var hn=x((Kve,CO)=>{"use strict";var iX=yr().fromPromise,{makeDir:rX,makeDirSync:Dx}=SO(),Rx=iX(rX);CO.exports={mkdirs:Rx,mkdirsSync:Dx,mkdirp:Rx,mkdirpSync:Dx,ensureDir:Rx,ensureDirSync:Dx}});var Px=x((Jve,_O)=>{"use strict";var Gl=Le();function nX(r,e,t,i){Gl.open(r,"r+",(n,s)=>{if(n)return i(n);Gl.futimes(s,e,t,o=>{Gl.close(s,a=>{i&&i(o||a)})})})}function sX(r,e,t){let i=Gl.openSync(r,"r+");return Gl.futimesSync(i,e,t),Gl.closeSync(i)}_O.exports={utimesMillis:nX,utimesMillisSync:sX}});var Of=x((Yve,RO)=>{"use strict";var Kl=If(),Yi=require("path"),oX=require("util"),aX=Ex(),Xp=aX("10.5.0"),EO=r=>Xp?Kl.stat(r,{bigint:!0}):Kl.stat(r),kx=r=>Xp?Kl.statSync(r,{bigint:!0}):Kl.statSync(r);function lX(r,e){return Promise.all([EO(r),EO(e).catch(t=>{if(t.code==="ENOENT")return null;throw t})]).then(([t,i])=>({srcStat:t,destStat:i}))}function cX(r,e){let t,i=kx(r);try{t=kx(e)}catch(n){if(n.code==="ENOENT")return{srcStat:i,destStat:null};throw n}return{srcStat:i,destStat:t}}function uX(r,e,t,i){oX.callbackify(lX)(r,e,(n,s)=>{if(n)return i(n);let{srcStat:o,destStat:a}=s;return a&&Zp(o,a)?i(new Error("Source and destination must not be the same.")):o.isDirectory()&&Ix(r,e)?i(new Error(Qp(r,e,t))):i(null,{srcStat:o,destStat:a})})}function fX(r,e,t){let{srcStat:i,destStat:n}=cX(r,e);if(n&&Zp(i,n))throw new Error("Source and destination must not be the same.");if(i.isDirectory()&&Ix(r,e))throw new Error(Qp(r,e,t));return{srcStat:i,destStat:n}}function TO(r,e,t,i,n){let s=Yi.resolve(Yi.dirname(r)),o=Yi.resolve(Yi.dirname(t));if(o===s||o===Yi.parse(o).root)return n();let a=(l,c)=>l?l.code==="ENOENT"?n():n(l):Zp(e,c)?n(new Error(Qp(r,t,i))):TO(r,e,o,i,n);Xp?Kl.stat(o,{bigint:!0},a):Kl.stat(o,a)}function DO(r,e,t,i){let n=Yi.resolve(Yi.dirname(r)),s=Yi.resolve(Yi.dirname(t));if(s===n||s===Yi.parse(s).root)return;let o;try{o=kx(s)}catch(a){if(a.code==="ENOENT")return;throw a}if(Zp(e,o))throw new Error(Qp(r,t,i));return DO(r,e,s,i)}function Zp(r,e){return!!(e.ino&&e.dev&&e.ino===r.ino&&e.dev===r.dev&&(Xp||e.inon),i=Yi.resolve(e).split(Yi.sep).filter(n=>n);return t.reduce((n,s,o)=>n&&i[o]===s,!0)}function Qp(r,e,t){return`Cannot ${t} '${r}' to a subdirectory of itself, '${e}'.`}RO.exports={checkPaths:uX,checkPathsSync:fX,checkParentPaths:TO,checkParentPathsSync:DO,isSrcSubdir:Ix}});var LO=x((Xve,OO)=>{"use strict";var wi=Le(),Lf=require("path"),dX=hn().mkdirsSync,hX=Px().utimesMillisSync,Af=Of();function pX(r,e,t){typeof t=="function"&&(t={filter:t}),t=t||{},t.clobber="clobber"in t?!!t.clobber:!0,t.overwrite="overwrite"in t?!!t.overwrite:t.clobber,t.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended; + + see https://github.com/jprichardson/node-fs-extra/issues/269`);let{srcStat:i,destStat:n}=Af.checkPathsSync(r,e,"copy");return Af.checkParentPathsSync(r,i,e,"copy"),mX(n,r,e,t)}function mX(r,e,t,i){if(i.filter&&!i.filter(e,t))return;let n=Lf.dirname(t);return wi.existsSync(n)||dX(n),PO(r,e,t,i)}function PO(r,e,t,i){if(!(i.filter&&!i.filter(e,t)))return gX(r,e,t,i)}function gX(r,e,t,i){let s=(i.dereference?wi.statSync:wi.lstatSync)(e);if(s.isDirectory())return CX(s,r,e,t,i);if(s.isFile()||s.isCharacterDevice()||s.isBlockDevice())return vX(s,r,e,t,i);if(s.isSymbolicLink())return TX(r,e,t,i)}function vX(r,e,t,i,n){return e?bX(r,t,i,n):kO(r,t,i,n)}function bX(r,e,t,i){if(i.overwrite)return wi.unlinkSync(t),kO(r,e,t,i);if(i.errorOnExist)throw new Error(`'${t}' already exists`)}function kO(r,e,t,i){return wi.copyFileSync(e,t),i.preserveTimestamps&&yX(r.mode,e,t),Ox(t,r.mode)}function yX(r,e,t){return wX(r)&&xX(t,r),SX(e,t)}function wX(r){return(r&128)==0}function xX(r,e){return Ox(r,e|128)}function Ox(r,e){return wi.chmodSync(r,e)}function SX(r,e){let t=wi.statSync(r);return hX(e,t.atime,t.mtime)}function CX(r,e,t,i,n){if(!e)return _X(r.mode,t,i,n);if(e&&!e.isDirectory())throw new Error(`Cannot overwrite non-directory '${i}' with directory '${t}'.`);return IO(t,i,n)}function _X(r,e,t,i){return wi.mkdirSync(t),IO(e,t,i),Ox(t,r)}function IO(r,e,t){wi.readdirSync(r).forEach(i=>EX(i,r,e,t))}function EX(r,e,t,i){let n=Lf.join(e,r),s=Lf.join(t,r),{destStat:o}=Af.checkPathsSync(n,s,"copy");return PO(o,n,s,i)}function TX(r,e,t,i){let n=wi.readlinkSync(e);if(i.dereference&&(n=Lf.resolve(process.cwd(),n)),r){let s;try{s=wi.readlinkSync(t)}catch(o){if(o.code==="EINVAL"||o.code==="UNKNOWN")return wi.symlinkSync(n,t);throw o}if(i.dereference&&(s=Lf.resolve(process.cwd(),s)),Af.isSrcSubdir(n,s))throw new Error(`Cannot copy '${n}' to a subdirectory of itself, '${s}'.`);if(wi.statSync(t).isDirectory()&&Af.isSrcSubdir(s,n))throw new Error(`Cannot overwrite '${s}' with '${n}'.`);return DX(n,t)}else return wi.symlinkSync(n,t)}function DX(r,e){return wi.unlinkSync(e),wi.symlinkSync(r,e)}OO.exports=pX});var Lx=x((Zve,AO)=>{"use strict";AO.exports={copySync:LO()}});var po=x((Qve,MO)=>{"use strict";var RX=yr().fromPromise,FO=If();function PX(r){return FO.access(r).then(()=>!0).catch(()=>!1)}MO.exports={pathExists:RX(PX),pathExistsSync:FO.existsSync}});var zO=x((ebe,WO)=>{"use strict";var Xi=Le(),Ff=require("path"),kX=hn().mkdirs,IX=po().pathExists,OX=Px().utimesMillis,Mf=Of();function LX(r,e,t,i){typeof t=="function"&&!i?(i=t,t={}):typeof t=="function"&&(t={filter:t}),i=i||function(){},t=t||{},t.clobber="clobber"in t?!!t.clobber:!0,t.overwrite="overwrite"in t?!!t.overwrite:t.clobber,t.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended; + + see https://github.com/jprichardson/node-fs-extra/issues/269`),Mf.checkPaths(r,e,"copy",(n,s)=>{if(n)return i(n);let{srcStat:o,destStat:a}=s;Mf.checkParentPaths(r,o,e,"copy",l=>l?i(l):t.filter?qO(NO,a,r,e,t,i):NO(a,r,e,t,i))})}function NO(r,e,t,i,n){let s=Ff.dirname(t);IX(s,(o,a)=>{if(o)return n(o);if(a)return Ax(r,e,t,i,n);kX(s,l=>l?n(l):Ax(r,e,t,i,n))})}function qO(r,e,t,i,n,s){Promise.resolve(n.filter(t,i)).then(o=>o?r(e,t,i,n,s):s(),o=>s(o))}function Ax(r,e,t,i,n){return i.filter?qO($O,r,e,t,i,n):$O(r,e,t,i,n)}function $O(r,e,t,i,n){(i.dereference?Xi.stat:Xi.lstat)(e,(o,a)=>{if(o)return n(o);if(a.isDirectory())return BX(a,r,e,t,i,n);if(a.isFile()||a.isCharacterDevice()||a.isBlockDevice())return AX(a,r,e,t,i,n);if(a.isSymbolicLink())return HX(r,e,t,i,n)})}function AX(r,e,t,i,n,s){return e?FX(r,t,i,n,s):BO(r,t,i,n,s)}function FX(r,e,t,i,n){if(i.overwrite)Xi.unlink(t,s=>s?n(s):BO(r,e,t,i,n));else return i.errorOnExist?n(new Error(`'${t}' already exists`)):n()}function BO(r,e,t,i,n){Xi.copyFile(e,t,s=>s?n(s):i.preserveTimestamps?MX(r.mode,e,t,n):em(t,r.mode,n))}function MX(r,e,t,i){return NX(r)?qX(t,r,n=>n?i(n):jO(r,e,t,i)):jO(r,e,t,i)}function NX(r){return(r&128)==0}function qX(r,e,t){return em(r,e|128,t)}function jO(r,e,t,i){$X(e,t,n=>n?i(n):em(t,r,i))}function em(r,e,t){return Xi.chmod(r,e,t)}function $X(r,e,t){Xi.stat(r,(i,n)=>i?t(i):OX(e,n.atime,n.mtime,t))}function BX(r,e,t,i,n,s){return e?e&&!e.isDirectory()?s(new Error(`Cannot overwrite non-directory '${i}' with directory '${t}'.`)):UO(t,i,n,s):jX(r.mode,t,i,n,s)}function jX(r,e,t,i,n){Xi.mkdir(t,s=>{if(s)return n(s);UO(e,t,i,o=>o?n(o):em(t,r,n))})}function UO(r,e,t,i){Xi.readdir(r,(n,s)=>n?i(n):HO(s,r,e,t,i))}function HO(r,e,t,i,n){let s=r.pop();return s?UX(r,s,e,t,i,n):n()}function UX(r,e,t,i,n,s){let o=Ff.join(t,e),a=Ff.join(i,e);Mf.checkPaths(o,a,"copy",(l,c)=>{if(l)return s(l);let{destStat:u}=c;Ax(u,o,a,n,f=>f?s(f):HO(r,t,i,n,s))})}function HX(r,e,t,i,n){Xi.readlink(e,(s,o)=>{if(s)return n(s);if(i.dereference&&(o=Ff.resolve(process.cwd(),o)),r)Xi.readlink(t,(a,l)=>a?a.code==="EINVAL"||a.code==="UNKNOWN"?Xi.symlink(o,t,n):n(a):(i.dereference&&(l=Ff.resolve(process.cwd(),l)),Mf.isSrcSubdir(o,l)?n(new Error(`Cannot copy '${o}' to a subdirectory of itself, '${l}'.`)):r.isDirectory()&&Mf.isSrcSubdir(l,o)?n(new Error(`Cannot overwrite '${l}' with '${o}'.`)):WX(o,t,n)));else return Xi.symlink(o,t,n)})}function WX(r,e,t){Xi.unlink(e,i=>i?t(i):Xi.symlink(r,e,t))}WO.exports=LX});var Fx=x((tbe,VO)=>{"use strict";var zX=yr().fromCallback;VO.exports={copy:zX(zO())}});var t1=x((ibe,e1)=>{"use strict";var GO=Le(),KO=require("path"),rt=require("assert"),Nf=process.platform==="win32";function JO(r){["unlink","chmod","stat","lstat","rmdir","readdir"].forEach(t=>{r[t]=r[t]||GO[t],t=t+"Sync",r[t]=r[t]||GO[t]}),r.maxBusyTries=r.maxBusyTries||3}function Mx(r,e,t){let i=0;typeof e=="function"&&(t=e,e={}),rt(r,"rimraf: missing path"),rt.strictEqual(typeof r,"string","rimraf: path should be a string"),rt.strictEqual(typeof t,"function","rimraf: callback function required"),rt(e,"rimraf: invalid options argument provided"),rt.strictEqual(typeof e,"object","rimraf: options should be object"),JO(e),YO(r,e,function n(s){if(s){if((s.code==="EBUSY"||s.code==="ENOTEMPTY"||s.code==="EPERM")&&iYO(r,e,n),o)}s.code==="ENOENT"&&(s=null)}t(s)})}function YO(r,e,t){rt(r),rt(e),rt(typeof t=="function"),e.lstat(r,(i,n)=>{if(i&&i.code==="ENOENT")return t(null);if(i&&i.code==="EPERM"&&Nf)return XO(r,e,i,t);if(n&&n.isDirectory())return tm(r,e,i,t);e.unlink(r,s=>{if(s){if(s.code==="ENOENT")return t(null);if(s.code==="EPERM")return Nf?XO(r,e,s,t):tm(r,e,s,t);if(s.code==="EISDIR")return tm(r,e,s,t)}return t(s)})})}function XO(r,e,t,i){rt(r),rt(e),rt(typeof i=="function"),e.chmod(r,438,n=>{n?i(n.code==="ENOENT"?null:t):e.stat(r,(s,o)=>{s?i(s.code==="ENOENT"?null:t):o.isDirectory()?tm(r,e,t,i):e.unlink(r,i)})})}function ZO(r,e,t){let i;rt(r),rt(e);try{e.chmodSync(r,438)}catch(n){if(n.code==="ENOENT")return;throw t}try{i=e.statSync(r)}catch(n){if(n.code==="ENOENT")return;throw t}i.isDirectory()?im(r,e,t):e.unlinkSync(r)}function tm(r,e,t,i){rt(r),rt(e),rt(typeof i=="function"),e.rmdir(r,n=>{n&&(n.code==="ENOTEMPTY"||n.code==="EEXIST"||n.code==="EPERM")?VX(r,e,i):n&&n.code==="ENOTDIR"?i(t):i(n)})}function VX(r,e,t){rt(r),rt(e),rt(typeof t=="function"),e.readdir(r,(i,n)=>{if(i)return t(i);let s=n.length,o;if(s===0)return e.rmdir(r,t);n.forEach(a=>{Mx(KO.join(r,a),e,l=>{if(!o){if(l)return t(o=l);--s==0&&e.rmdir(r,t)}})})})}function QO(r,e){let t;e=e||{},JO(e),rt(r,"rimraf: missing path"),rt.strictEqual(typeof r,"string","rimraf: path should be a string"),rt(e,"rimraf: missing options"),rt.strictEqual(typeof e,"object","rimraf: options should be object");try{t=e.lstatSync(r)}catch(i){if(i.code==="ENOENT")return;i.code==="EPERM"&&Nf&&ZO(r,e,i)}try{t&&t.isDirectory()?im(r,e,null):e.unlinkSync(r)}catch(i){if(i.code==="ENOENT")return;if(i.code==="EPERM")return Nf?ZO(r,e,i):im(r,e,i);if(i.code!=="EISDIR")throw i;im(r,e,i)}}function im(r,e,t){rt(r),rt(e);try{e.rmdirSync(r)}catch(i){if(i.code==="ENOTDIR")throw t;if(i.code==="ENOTEMPTY"||i.code==="EEXIST"||i.code==="EPERM")GX(r,e);else if(i.code!=="ENOENT")throw i}}function GX(r,e){if(rt(r),rt(e),e.readdirSync(r).forEach(t=>QO(KO.join(r,t),e)),Nf){let t=Date.now();do try{return e.rmdirSync(r,e)}catch{}while(Date.now()-t<500)}else return e.rmdirSync(r,e)}e1.exports=Mx;Mx.sync=QO});var qf=x((rbe,r1)=>{"use strict";var KX=yr().fromCallback,i1=t1();r1.exports={remove:KX(i1),removeSync:i1.sync}});var f1=x((nbe,u1)=>{"use strict";var JX=yr().fromCallback,n1=Le(),s1=require("path"),o1=hn(),a1=qf(),l1=JX(function(e,t){t=t||function(){},n1.readdir(e,(i,n)=>{if(i)return o1.mkdirs(e,t);n=n.map(o=>s1.join(e,o)),s();function s(){let o=n.pop();if(!o)return t();a1.remove(o,a=>{if(a)return t(a);s()})}})});function c1(r){let e;try{e=n1.readdirSync(r)}catch{return o1.mkdirsSync(r)}e.forEach(t=>{t=s1.join(r,t),a1.removeSync(t)})}u1.exports={emptyDirSync:c1,emptydirSync:c1,emptyDir:l1,emptydir:l1}});var m1=x((sbe,p1)=>{"use strict";var YX=yr().fromCallback,d1=require("path"),mo=Le(),h1=hn();function XX(r,e){function t(){mo.writeFile(r,"",i=>{if(i)return e(i);e()})}mo.stat(r,(i,n)=>{if(!i&&n.isFile())return e();let s=d1.dirname(r);mo.stat(s,(o,a)=>{if(o)return o.code==="ENOENT"?h1.mkdirs(s,l=>{if(l)return e(l);t()}):e(o);a.isDirectory()?t():mo.readdir(s,l=>{if(l)return e(l)})})})}function ZX(r){let e;try{e=mo.statSync(r)}catch{}if(e&&e.isFile())return;let t=d1.dirname(r);try{mo.statSync(t).isDirectory()||mo.readdirSync(t)}catch(i){if(i&&i.code==="ENOENT")h1.mkdirsSync(t);else throw i}mo.writeFileSync(r,"")}p1.exports={createFile:YX(XX),createFileSync:ZX}});var w1=x((obe,y1)=>{"use strict";var QX=yr().fromCallback,g1=require("path"),_a=Le(),v1=hn(),b1=po().pathExists;function eZ(r,e,t){function i(n,s){_a.link(n,s,o=>{if(o)return t(o);t(null)})}b1(e,(n,s)=>{if(n)return t(n);if(s)return t(null);_a.lstat(r,o=>{if(o)return o.message=o.message.replace("lstat","ensureLink"),t(o);let a=g1.dirname(e);b1(a,(l,c)=>{if(l)return t(l);if(c)return i(r,e);v1.mkdirs(a,u=>{if(u)return t(u);i(r,e)})})})})}function tZ(r,e){if(_a.existsSync(e))return;try{_a.lstatSync(r)}catch(s){throw s.message=s.message.replace("lstat","ensureLink"),s}let i=g1.dirname(e);return _a.existsSync(i)||v1.mkdirsSync(i),_a.linkSync(r,e)}y1.exports={createLink:QX(eZ),createLinkSync:tZ}});var S1=x((abe,x1)=>{"use strict";var go=require("path"),$f=Le(),iZ=po().pathExists;function rZ(r,e,t){if(go.isAbsolute(r))return $f.lstat(r,i=>i?(i.message=i.message.replace("lstat","ensureSymlink"),t(i)):t(null,{toCwd:r,toDst:r}));{let i=go.dirname(e),n=go.join(i,r);return iZ(n,(s,o)=>s?t(s):o?t(null,{toCwd:n,toDst:r}):$f.lstat(r,a=>a?(a.message=a.message.replace("lstat","ensureSymlink"),t(a)):t(null,{toCwd:r,toDst:go.relative(i,r)})))}}function nZ(r,e){let t;if(go.isAbsolute(r)){if(t=$f.existsSync(r),!t)throw new Error("absolute srcpath does not exist");return{toCwd:r,toDst:r}}else{let i=go.dirname(e),n=go.join(i,r);if(t=$f.existsSync(n),t)return{toCwd:n,toDst:r};if(t=$f.existsSync(r),!t)throw new Error("relative srcpath does not exist");return{toCwd:r,toDst:go.relative(i,r)}}}x1.exports={symlinkPaths:rZ,symlinkPathsSync:nZ}});var E1=x((lbe,_1)=>{"use strict";var C1=Le();function sZ(r,e,t){if(t=typeof e=="function"?e:t,e=typeof e=="function"?!1:e,e)return t(null,e);C1.lstat(r,(i,n)=>{if(i)return t(null,"file");e=n&&n.isDirectory()?"dir":"file",t(null,e)})}function oZ(r,e){let t;if(e)return e;try{t=C1.lstatSync(r)}catch{return"file"}return t&&t.isDirectory()?"dir":"file"}_1.exports={symlinkType:sZ,symlinkTypeSync:oZ}});var O1=x((cbe,I1)=>{"use strict";var aZ=yr().fromCallback,T1=require("path"),Jl=Le(),D1=hn(),lZ=D1.mkdirs,cZ=D1.mkdirsSync,R1=S1(),uZ=R1.symlinkPaths,fZ=R1.symlinkPathsSync,P1=E1(),dZ=P1.symlinkType,hZ=P1.symlinkTypeSync,k1=po().pathExists;function pZ(r,e,t,i){i=typeof t=="function"?t:i,t=typeof t=="function"?!1:t,k1(e,(n,s)=>{if(n)return i(n);if(s)return i(null);uZ(r,e,(o,a)=>{if(o)return i(o);r=a.toDst,dZ(a.toCwd,t,(l,c)=>{if(l)return i(l);let u=T1.dirname(e);k1(u,(f,d)=>{if(f)return i(f);if(d)return Jl.symlink(r,e,c,i);lZ(u,h=>{if(h)return i(h);Jl.symlink(r,e,c,i)})})})})})}function mZ(r,e,t){if(Jl.existsSync(e))return;let n=fZ(r,e);r=n.toDst,t=hZ(n.toCwd,t);let s=T1.dirname(e);return Jl.existsSync(s)||cZ(s),Jl.symlinkSync(r,e,t)}I1.exports={createSymlink:aZ(pZ),createSymlinkSync:mZ}});var A1=x((ube,L1)=>{"use strict";var rm=m1(),nm=w1(),sm=O1();L1.exports={createFile:rm.createFile,createFileSync:rm.createFileSync,ensureFile:rm.createFile,ensureFileSync:rm.createFileSync,createLink:nm.createLink,createLinkSync:nm.createLinkSync,ensureLink:nm.createLink,ensureLinkSync:nm.createLinkSync,createSymlink:sm.createSymlink,createSymlinkSync:sm.createSymlinkSync,ensureSymlink:sm.createSymlink,ensureSymlinkSync:sm.createSymlinkSync}});var F1=x(Nx=>{"use strict";Nx.fromCallback=function(r){return Object.defineProperty(function(...e){if(typeof e[e.length-1]=="function")r.apply(this,e);else return new Promise((t,i)=>{r.call(this,...e,(n,s)=>n!=null?i(n):t(s))})},"name",{value:r.name})};Nx.fromPromise=function(r){return Object.defineProperty(function(...e){let t=e[e.length-1];if(typeof t!="function")return r.apply(this,e);r.apply(this,e.slice(0,-1)).then(i=>t(null,i),t)},"name",{value:r.name})}});var om=x((dbe,M1)=>{function gZ(r,{EOL:e=` +`,finalEOL:t=!0,replacer:i=null,spaces:n}={}){let s=t?e:"";return JSON.stringify(r,i,n).replace(/\n/g,e)+s}function vZ(r){return Buffer.isBuffer(r)&&(r=r.toString("utf8")),r.replace(/^\uFEFF/,"")}M1.exports={stringify:gZ,stripBom:vZ}});var B1=x((hbe,$1)=>{var Yl;try{Yl=Le()}catch(r){Yl=require("fs")}var am=F1(),{stringify:N1,stripBom:q1}=om();async function bZ(r,e={}){typeof e=="string"&&(e={encoding:e});let t=e.fs||Yl,i="throws"in e?e.throws:!0,n=await am.fromCallback(t.readFile)(r,e);n=q1(n);let s;try{s=JSON.parse(n,e?e.reviver:null)}catch(o){if(i)throw o.message=`${r}: ${o.message}`,o;return null}return s}var yZ=am.fromPromise(bZ);function wZ(r,e={}){typeof e=="string"&&(e={encoding:e});let t=e.fs||Yl,i="throws"in e?e.throws:!0;try{let n=t.readFileSync(r,e);return n=q1(n),JSON.parse(n,e.reviver)}catch(n){if(i)throw n.message=`${r}: ${n.message}`,n;return null}}async function xZ(r,e,t={}){let i=t.fs||Yl,n=N1(e,t);await am.fromCallback(i.writeFile)(r,n,t)}var SZ=am.fromPromise(xZ);function CZ(r,e,t={}){let i=t.fs||Yl,n=N1(e,t);return i.writeFileSync(r,n,t)}var _Z={readFile:yZ,readFileSync:wZ,writeFile:SZ,writeFileSync:CZ};$1.exports=_Z});var U1=x((pbe,j1)=>{"use strict";var lm=B1();j1.exports={readJson:lm.readFile,readJsonSync:lm.readFileSync,writeJson:lm.writeFile,writeJsonSync:lm.writeFileSync}});var cm=x((mbe,z1)=>{"use strict";var EZ=yr().fromCallback,Bf=Le(),H1=require("path"),W1=hn(),TZ=po().pathExists;function DZ(r,e,t,i){typeof t=="function"&&(i=t,t="utf8");let n=H1.dirname(r);TZ(n,(s,o)=>{if(s)return i(s);if(o)return Bf.writeFile(r,e,t,i);W1.mkdirs(n,a=>{if(a)return i(a);Bf.writeFile(r,e,t,i)})})}function RZ(r,...e){let t=H1.dirname(r);if(Bf.existsSync(t))return Bf.writeFileSync(r,...e);W1.mkdirsSync(t),Bf.writeFileSync(r,...e)}z1.exports={outputFile:EZ(DZ),outputFileSync:RZ}});var G1=x((gbe,V1)=>{"use strict";var{stringify:PZ}=om(),{outputFile:kZ}=cm();async function IZ(r,e,t={}){let i=PZ(e,t);await kZ(r,i,t)}V1.exports=IZ});var J1=x((vbe,K1)=>{"use strict";var{stringify:OZ}=om(),{outputFileSync:LZ}=cm();function AZ(r,e,t){let i=OZ(e,t);LZ(r,i,t)}K1.exports=AZ});var X1=x((bbe,Y1)=>{"use strict";var FZ=yr().fromPromise,qi=U1();qi.outputJson=FZ(G1());qi.outputJsonSync=J1();qi.outputJSON=qi.outputJson;qi.outputJSONSync=qi.outputJsonSync;qi.writeJSON=qi.writeJson;qi.writeJSONSync=qi.writeJsonSync;qi.readJSON=qi.readJson;qi.readJSONSync=qi.readJsonSync;Y1.exports=qi});var rL=x((ybe,iL)=>{"use strict";var Z1=Le(),MZ=require("path"),NZ=Lx().copySync,Q1=qf().removeSync,qZ=hn().mkdirpSync,eL=Of();function $Z(r,e,t){t=t||{};let i=t.overwrite||t.clobber||!1,{srcStat:n}=eL.checkPathsSync(r,e,"move");return eL.checkParentPathsSync(r,n,e,"move"),qZ(MZ.dirname(e)),BZ(r,e,i)}function BZ(r,e,t){if(t)return Q1(e),tL(r,e,t);if(Z1.existsSync(e))throw new Error("dest already exists.");return tL(r,e,t)}function tL(r,e,t){try{Z1.renameSync(r,e)}catch(i){if(i.code!=="EXDEV")throw i;return jZ(r,e,t)}}function jZ(r,e,t){return NZ(r,e,{overwrite:t,errorOnExist:!0}),Q1(r)}iL.exports=$Z});var sL=x((wbe,nL)=>{"use strict";nL.exports={moveSync:rL()}});var uL=x((xbe,cL)=>{"use strict";var UZ=Le(),HZ=require("path"),WZ=Fx().copy,oL=qf().remove,zZ=hn().mkdirp,VZ=po().pathExists,aL=Of();function GZ(r,e,t,i){typeof t=="function"&&(i=t,t={});let n=t.overwrite||t.clobber||!1;aL.checkPaths(r,e,"move",(s,o)=>{if(s)return i(s);let{srcStat:a}=o;aL.checkParentPaths(r,a,e,"move",l=>{if(l)return i(l);zZ(HZ.dirname(e),c=>c?i(c):KZ(r,e,n,i))})})}function KZ(r,e,t,i){if(t)return oL(e,n=>n?i(n):lL(r,e,t,i));VZ(e,(n,s)=>n?i(n):s?i(new Error("dest already exists.")):lL(r,e,t,i))}function lL(r,e,t,i){UZ.rename(r,e,n=>n?n.code!=="EXDEV"?i(n):JZ(r,e,t,i):i())}function JZ(r,e,t,i){WZ(r,e,{overwrite:t,errorOnExist:!0},s=>s?i(s):oL(r,i))}cL.exports=GZ});var dL=x((Sbe,fL)=>{"use strict";var YZ=yr().fromCallback;fL.exports={move:YZ(uL())}});var pn=x((Cbe,qx)=>{"use strict";qx.exports=ut(ut(ut(ut(ut(ut(ut(ut(ut(ut(ut(ut({},If()),Lx()),Fx()),f1()),A1()),X1()),hn()),sL()),dL()),cm()),po()),qf());var hL=require("fs");Object.getOwnPropertyDescriptor(hL,"promises")&&Object.defineProperty(qx.exports,"promises",{get(){return hL.promises}})});var U=x((_be,gL)=>{var Ea=E(require("fs")),$x=E(Cx()),um=E(require("path")),pL=E(require("os")),mL=E(pn());function XZ(){let r=process.env.NVIM_COC_LOG_FILE;if(r)return r;let e=process.env.XDG_RUNTIME_DIR;if(e)try{return Ea.default.accessSync(e,Ea.default.constants.R_OK|Ea.default.constants.W_OK),um.default.join(e,`coc-nvim-${process.pid}.log`)}catch(i){}let t=pL.default.tmpdir();return e=um.default.join(t,`coc.nvim-${process.pid}`),Ea.default.existsSync(e)||(0,mL.mkdirpSync)(e),um.default.join(e,"coc-nvim.log")}var ZZ=1024*1024,QZ=10,fm=XZ(),eQ=process.env.NVIM_COC_LOG_LEVEL||"info";if(Ea.default.existsSync(fm))try{Ea.default.writeFileSync(fm,"",{encoding:"utf8",mode:438})}catch(r){}$x.default.configure({disableClustering:!0,appenders:{out:{type:"file",mode:438,filename:fm,maxLogSize:ZZ,backups:QZ,layout:{type:"pattern",pattern:`%d{ISO8601} %p (pid:${process.pid}) [%c] - %m`}}},categories:{default:{appenders:["out"],level:eQ}}});gL.exports=(r="coc-nvim")=>{let e=$x.default.getLogger(r);return e.getLogFile=()=>fm,e}});var dm=x(()=>{Promise.prototype.logError=function(){this.catch(r=>{U()("extensions").error(r)})}});var bL=x((jx,vL)=>{vL.exports=Bx(typeof Buffer!="undefined"&&Buffer)||Bx(jx.Buffer)||Bx(typeof window!="undefined"&&window.Buffer)||jx.Buffer;function Bx(r){return r&&r.isBuffer&&r}});var hm=x((Dbe,yL)=>{var tQ={}.toString;yL.exports=Array.isArray||function(r){return tQ.call(r)=="[object Array]"}});var SL=x((Zl,xL)=>{var Xl=wr(),Zl=xL.exports=wL(0);Zl.alloc=wL;Zl.concat=Xl.concat;Zl.from=iQ;function wL(r){return new Array(r)}function iQ(r){if(!Xl.isBuffer(r)&&Xl.isView(r))r=Xl.Uint8Array.from(r);else if(Xl.isArrayBuffer(r))r=new Uint8Array(r);else{if(typeof r=="string")return Xl.from.call(Zl,r);if(typeof r=="number")throw new TypeError('"value" argument must not be a number')}return Array.prototype.slice.call(r)}});var EL=x((ec,_L)=>{var ys=wr(),Ql=ys.global,ec=_L.exports=ys.hasBuffer?CL(0):[];ec.alloc=ys.hasBuffer&&Ql.alloc||CL;ec.concat=ys.concat;ec.from=rQ;function CL(r){return new Ql(r)}function rQ(r){if(!ys.isBuffer(r)&&ys.isView(r))r=ys.Uint8Array.from(r);else if(ys.isArrayBuffer(r))r=new Uint8Array(r);else{if(typeof r=="string")return ys.from.call(ec,r);if(typeof r=="number")throw new TypeError('"value" argument must not be a number')}return Ql.from&&Ql.from.length!==1?Ql.from(r):new Ql(r)}});var RL=x((tc,DL)=>{var pm=wr(),tc=DL.exports=pm.hasArrayBuffer?TL(0):[];tc.alloc=TL;tc.concat=pm.concat;tc.from=nQ;function TL(r){return new Uint8Array(r)}function nQ(r){if(pm.isView(r)){var e=r.byteOffset,t=r.byteLength;r=r.buffer,r.byteLength!==t&&(r.slice?r=r.slice(e,e+t):(r=new Uint8Array(r),r.byteLength!==t&&(r=Array.prototype.slice.call(r,e,e+t))))}else{if(typeof r=="string")return pm.from.call(tc,r);if(typeof r=="number")throw new TypeError('"value" argument must not be a number')}return new Uint8Array(r)}});var PL=x(mm=>{mm.copy=aQ;mm.toString=oQ;mm.write=sQ;function sQ(r,e){for(var t=this,i=e||(e|=0),n=r.length,s=0,o=0;o>>6,t[i++]=128|s&63):s<55296||s>57343?(t[i++]=224|s>>>12,t[i++]=128|s>>>6&63,t[i++]=128|s&63):(s=(s-55296<<10|r.charCodeAt(o++)-56320)+65536,t[i++]=240|s>>>18,t[i++]=128|s>>>12&63,t[i++]=128|s>>>6&63,t[i++]=128|s&63);return i-e}function oQ(r,e,t){var i=this,n=e|0;t||(t=i.length);for(var s="",o=0;n=65536?(o-=65536,s+=String.fromCharCode((o>>>10)+55296,(o&1023)+56320)):s+=String.fromCharCode(o)}return s}function aQ(r,e,t,i){var n;t||(t=0),!i&&i!==0&&(i=this.length),e||(e=0);var s=i-t;if(r===this&&t=0;n--)r[n+e]=this[n+t];else for(n=0;n{var Ux=PL();jf.copy=LL;jf.slice=AL;jf.toString=lQ;jf.write=cQ("write");var vo=wr(),kL=vo.global,IL=vo.hasBuffer&&"TYPED_ARRAY_SUPPORT"in kL,OL=IL&&!kL.TYPED_ARRAY_SUPPORT;function LL(r,e,t,i){var n=vo.isBuffer(this),s=vo.isBuffer(r);if(n&&s)return this.copy(r,e,t,i);if(!OL&&!n&&!s&&vo.isView(this)&&vo.isView(r)){var o=t||i!=null?AL.call(this,t,i):this;return r.set(o,e),o.length}else return Ux.copy.call(this,r,e,t,i)}function AL(r,e){var t=this.slice||!OL&&this.subarray;if(t)return t.call(this,r,e);var i=vo.alloc.call(this,e-r);return LL.call(this,i,0,r,e),i}function lQ(r,e,t){var i=!IL&&vo.isBuffer(this)?this.toString:Ux.toString;return i.apply(this,arguments)}function cQ(r){return e;function e(){var t=this[r]||Ux[r];return t.apply(this,arguments)}}});var wr=x(xi=>{var Hx=xi.global=bL(),FL=xi.hasBuffer=Hx&&!!Hx.isBuffer,Wx=xi.hasArrayBuffer=typeof ArrayBuffer!="undefined",uQ=xi.isArray=hm();xi.isArrayBuffer=Wx?gQ:Gx;var fQ=xi.isBuffer=FL?Hx.isBuffer:Gx,dQ=xi.isView=Wx?ArrayBuffer.isView||BL("ArrayBuffer","buffer"):Gx;xi.alloc=Vx;xi.concat=pQ;xi.from=hQ;var ML=xi.Array=SL(),NL=xi.Buffer=EL(),qL=xi.Uint8Array=RL(),zx=xi.prototype=gm();function hQ(r){return typeof r=="string"?vQ.call(this,r):$L(this).from(r)}function Vx(r){return $L(this).alloc(r)}function pQ(r,e){e||(e=0,Array.prototype.forEach.call(r,s));var t=this!==xi&&this||r[0],i=Vx.call(t,e),n=0;return Array.prototype.forEach.call(r,o),i;function s(a){e+=a.length}function o(a){n+=zx.copy.call(a,i,n)}}var mQ=BL("ArrayBuffer");function gQ(r){return r instanceof ArrayBuffer||mQ(r)}function vQ(r){var e=r.length*3,t=Vx.call(this,e),i=zx.write.call(t,r);return e!==i&&(t=zx.slice.call(t,0,i)),t}function $L(r){return fQ(r)?NL:dQ(r)?qL:uQ(r)?ML:FL?NL:Wx?qL:ML}function Gx(){return!1}function BL(r,e){return r="[object "+r+"]",function(t){return t!=null&&{}.toString.call(e?t[e]:t)===r}}});var vm=x(jL=>{jL.ExtBuffer=Kx;var bQ=wr();function Kx(r,e){if(!(this instanceof Kx))return new Kx(r,e);this.buffer=bQ.from(r),this.type=e}});var HL=x(UL=>{UL.setExtPackers=xQ;var bm=wr(),yQ=bm.global,mn=bm.Uint8Array.from,Jx,wQ={name:1,message:1,stack:1,columnNumber:1,fileName:1,lineNumber:1};function xQ(r){r.addExtPacker(14,Error,[Ta,$r]),r.addExtPacker(1,EvalError,[Ta,$r]),r.addExtPacker(2,RangeError,[Ta,$r]),r.addExtPacker(3,ReferenceError,[Ta,$r]),r.addExtPacker(4,SyntaxError,[Ta,$r]),r.addExtPacker(5,TypeError,[Ta,$r]),r.addExtPacker(6,URIError,[Ta,$r]),r.addExtPacker(10,RegExp,[SQ,$r]),r.addExtPacker(11,Boolean,[Yx,$r]),r.addExtPacker(12,String,[Yx,$r]),r.addExtPacker(13,Date,[Number,$r]),r.addExtPacker(15,Number,[Yx,$r]),typeof Uint8Array!="undefined"&&(r.addExtPacker(17,Int8Array,mn),r.addExtPacker(18,Uint8Array,mn),r.addExtPacker(19,Int16Array,mn),r.addExtPacker(20,Uint16Array,mn),r.addExtPacker(21,Int32Array,mn),r.addExtPacker(22,Uint32Array,mn),r.addExtPacker(23,Float32Array,mn),typeof Float64Array!="undefined"&&r.addExtPacker(24,Float64Array,mn),typeof Uint8ClampedArray!="undefined"&&r.addExtPacker(25,Uint8ClampedArray,mn),r.addExtPacker(26,ArrayBuffer,mn),r.addExtPacker(29,DataView,mn)),bm.hasBuffer&&r.addExtPacker(27,yQ,bm.from)}function $r(r){return Jx||(Jx=Xx().encode),Jx(r)}function Yx(r){return r.valueOf()}function SQ(r){r=RegExp.prototype.toString.call(r).split("/"),r.shift();var e=[r.pop()];return e.unshift(r.join("/")),e}function Ta(r){var e={};for(var t in wQ)e[t]=r[t];return e}});var ym=x(Uf=>{var CQ,_Q,EQ,TQ;(function(r){var e="undefined",t=e!==typeof Buffer&&Buffer,i=e!==typeof Uint8Array&&Uint8Array,n=e!==typeof ArrayBuffer&&ArrayBuffer,s=[0,0,0,0,0,0,0,0],o=Array.isArray||L,a=4294967296,l=16777216,c;CQ=u("Uint64BE",!0,!0),_Q=u("Int64BE",!0,!1),EQ=u("Uint64LE",!1,!0),TQ=u("Int64LE",!1,!1);function u($,I,W){var A=I?0:4,M=I?4:0,k=I?0:3,F=I?1:2,j=I?2:1,X=I?3:0,ae=I?y:w,Pe=I?S:_,ke=bi.prototype,Qe="is"+$,St="_"+Qe;return ke.buffer=void 0,ke.offset=0,ke[St]=!0,ke.toNumber=Sp,ke.toString=Fw,ke.toJSON=Sp,ke.toArray=f,t&&(ke.toBuffer=d),i&&(ke.toArrayBuffer=h),bi[Qe]=eo,r[$]=bi,bi;function bi(Ie,Se,Ce,Oe){return this instanceof bi?ms(this,Ie,Se,Ce,Oe):new bi(Ie,Se,Ce,Oe)}function eo(Ie){return!!(Ie&&Ie[St])}function ms(Ie,Se,Ce,Oe,Dt){if(i&&n&&(Se instanceof n&&(Se=new i(Se)),Oe instanceof n&&(Oe=new i(Oe))),!Se&&!Ce&&!Oe&&!c){Ie.buffer=b(s,0);return}if(!p(Se,Ce)){var un=c||Array;Dt=Ce,Oe=Se,Ce=0,Se=new un(8)}Ie.buffer=Se,Ie.offset=Ce|=0,e!==typeof Oe&&(typeof Oe=="string"?xp(Se,Ce,Oe,Dt||10):p(Oe,Dt)?g(Se,Ce,Oe,Dt):typeof Dt=="number"?(Il(Se,Ce+A,Oe),Il(Se,Ce+M,Dt)):Oe>0?ae(Se,Ce,Oe):Oe<0?Pe(Se,Ce,Oe):g(Se,Ce,s,0))}function xp(Ie,Se,Ce,Oe){var Dt=0,un=Ce.length,fn=0,mr=0;Ce[0]==="-"&&Dt++;for(var to=Dt;Dt=0))break;mr=mr*Oe+io,fn=fn*Oe+Math.floor(mr/a),mr%=a}to&&(fn=~fn,mr?mr=a-mr:fn++),Il(Ie,Se+A,fn),Il(Ie,Se+M,mr)}function Sp(){var Ie=this.buffer,Se=this.offset,Ce=Ol(Ie,Se+A),Oe=Ol(Ie,Se+M);return W||(Ce|=0),Ce?Ce*a+Oe:Oe}function Fw(Ie){var Se=this.buffer,Ce=this.offset,Oe=Ol(Se,Ce+A),Dt=Ol(Se,Ce+M),un="",fn=!W&&Oe&2147483648;for(fn&&(Oe=~Oe,Dt=a-Dt),Ie=Ie||10;;){var mr=Oe%Ie*a+Dt;if(Oe=Math.floor(Oe/Ie),Dt=Math.floor(mr/Ie),un=(mr%Ie).toString(Ie)+un,!Oe&&!Dt)break}return fn&&(un="-"+un),un}function Il(Ie,Se,Ce){Ie[Se+X]=Ce&255,Ce=Ce>>8,Ie[Se+j]=Ce&255,Ce=Ce>>8,Ie[Se+F]=Ce&255,Ce=Ce>>8,Ie[Se+k]=Ce&255}function Ol(Ie,Se){return Ie[Se+k]*l+(Ie[Se+F]<<16)+(Ie[Se+j]<<8)+Ie[Se+X]}}function f($){var I=this.buffer,W=this.offset;return c=null,$!==!1&&W===0&&I.length===8&&o(I)?I:b(I,W)}function d($){var I=this.buffer,W=this.offset;if(c=t,$!==!1&&W===0&&I.length===8&&Buffer.isBuffer(I))return I;var A=new t(8);return g(A,0,I,W),A}function h($){var I=this.buffer,W=this.offset,A=I.buffer;if(c=i,$!==!1&&W===0&&A instanceof n&&A.byteLength===8)return A;var M=new i(8);return g(M,0,I,W),M.buffer}function p($,I){var W=$&&$.length;return I|=0,W&&I+8<=W&&typeof $[I]!="string"}function g($,I,W,A){I|=0,A|=0;for(var M=0;M<8;M++)$[I++]=W[A++]&255}function b($,I){return Array.prototype.slice.call($,I,I+8)}function y($,I,W){for(var A=I+8;A>I;)$[--A]=W&255,W/=256}function S($,I,W){var A=I+8;for(W++;A>I;)$[--A]=-W&255^255,W/=256}function w($,I,W){for(var A=I+8;I{Zx.read=function(r,e,t,i,n){var s,o,a=n*8-i-1,l=(1<>1,u=-7,f=t?n-1:0,d=t?-1:1,h=r[e+f];for(f+=d,s=h&(1<<-u)-1,h>>=-u,u+=a;u>0;s=s*256+r[e+f],f+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=o*256+r[e+f],f+=d,u-=8);if(s===0)s=1-c;else{if(s===l)return o?NaN:(h?-1:1)*(1/0);o=o+Math.pow(2,i),s=s-c}return(h?-1:1)*o*Math.pow(2,s-i)};Zx.write=function(r,e,t,i,n,s){var o,a,l,c=s*8-n-1,u=(1<>1,d=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:s-1,p=i?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+f>=1?e+=d/l:e+=d*Math.pow(2,1-f),e*l>=2&&(o++,l/=2),o+f>=u?(a=0,o=u):o+f>=1?(a=(e*l-1)*Math.pow(2,n),o=o+f):(a=e*Math.pow(2,f-1)*Math.pow(2,n),o=0));n>=8;r[t+h]=a&255,h+=p,a/=256,n-=8);for(o=o<0;r[t+h]=o&255,h+=p,o/=256,c-=8);r[t+h-p]|=g*128}});var eS=x(WL=>{var DQ=WL.uint8=new Array(256);for(var wm=0;wm<=255;wm++)DQ[wm]=RQ(wm);function RQ(r){return function(e){var t=e.reserve(1);e.buffer[t]=r}}});var tA=x(eA=>{var zL=Qx(),VL=ym(),PQ=VL.Uint64BE,kQ=VL.Int64BE,GL=eS().uint8,xm=wr(),gt=xm.global,IQ=xm.hasBuffer&&"TYPED_ARRAY_SUPPORT"in gt,OQ=IQ&&!gt.TYPED_ARRAY_SUPPORT,KL=xm.hasBuffer&>.prototype||{};eA.getWriteToken=LQ;function LQ(r){return r&&r.uint8array?AQ():OQ||xm.hasBuffer&&r&&r.safe?FQ():JL()}function AQ(){var r=JL();return r[202]=Xe(202,4,ZL),r[203]=Xe(203,8,QL),r}function JL(){var r=GL.slice();return r[196]=Hf(196),r[197]=Da(197),r[198]=Ra(198),r[199]=Hf(199),r[200]=Da(200),r[201]=Ra(201),r[202]=Xe(202,4,KL.writeFloatBE||ZL,!0),r[203]=Xe(203,8,KL.writeDoubleBE||QL,!0),r[204]=Hf(204),r[205]=Da(205),r[206]=Ra(206),r[207]=Xe(207,8,YL),r[208]=Hf(208),r[209]=Da(209),r[210]=Ra(210),r[211]=Xe(211,8,XL),r[217]=Hf(217),r[218]=Da(218),r[219]=Ra(219),r[220]=Da(220),r[221]=Ra(221),r[222]=Da(222),r[223]=Ra(223),r}function FQ(){var r=GL.slice();return r[196]=Xe(196,1,gt.prototype.writeUInt8),r[197]=Xe(197,2,gt.prototype.writeUInt16BE),r[198]=Xe(198,4,gt.prototype.writeUInt32BE),r[199]=Xe(199,1,gt.prototype.writeUInt8),r[200]=Xe(200,2,gt.prototype.writeUInt16BE),r[201]=Xe(201,4,gt.prototype.writeUInt32BE),r[202]=Xe(202,4,gt.prototype.writeFloatBE),r[203]=Xe(203,8,gt.prototype.writeDoubleBE),r[204]=Xe(204,1,gt.prototype.writeUInt8),r[205]=Xe(205,2,gt.prototype.writeUInt16BE),r[206]=Xe(206,4,gt.prototype.writeUInt32BE),r[207]=Xe(207,8,YL),r[208]=Xe(208,1,gt.prototype.writeInt8),r[209]=Xe(209,2,gt.prototype.writeInt16BE),r[210]=Xe(210,4,gt.prototype.writeInt32BE),r[211]=Xe(211,8,XL),r[217]=Xe(217,1,gt.prototype.writeUInt8),r[218]=Xe(218,2,gt.prototype.writeUInt16BE),r[219]=Xe(219,4,gt.prototype.writeUInt32BE),r[220]=Xe(220,2,gt.prototype.writeUInt16BE),r[221]=Xe(221,4,gt.prototype.writeUInt32BE),r[222]=Xe(222,2,gt.prototype.writeUInt16BE),r[223]=Xe(223,4,gt.prototype.writeUInt32BE),r}function Hf(r){return function(e,t){var i=e.reserve(2),n=e.buffer;n[i++]=r,n[i]=t}}function Da(r){return function(e,t){var i=e.reserve(3),n=e.buffer;n[i++]=r,n[i++]=t>>>8,n[i]=t}}function Ra(r){return function(e,t){var i=e.reserve(5),n=e.buffer;n[i++]=r,n[i++]=t>>>24,n[i++]=t>>>16,n[i++]=t>>>8,n[i]=t}}function Xe(r,e,t,i){return function(n,s){var o=n.reserve(e+1);n.buffer[o++]=r,t.call(n.buffer,s,o,i)}}function YL(r,e){new PQ(this,e,r)}function XL(r,e){new kQ(this,e,r)}function ZL(r,e){zL.write(this,r,e,!1,23,4)}function QL(r,e){zL.write(this,r,e,!1,52,8)}});var oA=x(sA=>{var MQ=hm(),iA=ym(),NQ=iA.Uint64BE,qQ=iA.Int64BE,rA=wr(),nA=gm(),$Q=tA(),BQ=eS().uint8,jQ=vm().ExtBuffer,UQ=typeof Uint8Array!="undefined",HQ=typeof Map!="undefined",ic=[];ic[1]=212;ic[2]=213;ic[4]=214;ic[8]=215;ic[16]=216;sA.getWriteType=WQ;function WQ(r){var e=$Q.getWriteToken(r),t=r&&r.useraw,i=UQ&&r&&r.binarraybuffer,n=i?rA.isArrayBuffer:rA.isBuffer,s=i?L:_,o=HQ&&r&&r.usemap,a=o?W:I,l={boolean:c,function:S,number:u,object:t?y:b,string:g(t?p:h),symbol:S,undefined:S};return l;function c(M,k){var F=k?195:194;e[F](M,k)}function u(M,k){var F=k|0,j;if(k!==F){j=203,e[j](M,k);return}else-32<=F&&F<=127?j=F&255:0<=F?j=F<=255?204:F<=65535?205:206:j=-128<=F?208:-32768<=F?209:210;e[j](M,F)}function f(M,k){var F=207;e[F](M,k.toArray())}function d(M,k){var F=211;e[F](M,k.toArray())}function h(M){return M<32?1:M<=255?2:M<=65535?3:5}function p(M){return M<32?1:M<=65535?3:5}function g(M){return k;function k(F,j){var X=j.length,ae=5+X*3;F.offset=F.reserve(ae);var Pe=F.buffer,ke=M(X),Qe=F.offset+ke;X=nA.write.call(Pe,j,Qe);var St=M(X);if(ke!==St){var bi=Qe+St-ke,eo=Qe+X;nA.copy.call(Pe,Pe,bi,Qe,eo)}var ms=St===1?160+X:St<=3?215+St:219;e[ms](F,X),F.offset+=X}}function b(M,k){if(k===null)return S(M,k);if(n(k))return s(M,k);if(MQ(k))return w(M,k);if(NQ.isUint64BE(k))return f(M,k);if(qQ.isInt64BE(k))return d(M,k);var F=M.codec.getExtPacker(k);if(F&&(k=F(k)),k instanceof jQ)return $(M,k);a(M,k)}function y(M,k){if(n(k))return A(M,k);b(M,k)}function S(M,k){var F=192;e[F](M,k)}function w(M,k){var F=k.length,j=F<16?144+F:F<=65535?220:221;e[j](M,F);for(var X=M.codec.encode,ae=0;ae{var zQ=hm();Wf.createCodec=aA;Wf.install=GQ;Wf.filter=YQ;var VQ=wr();function rc(r){if(!(this instanceof rc))return new rc(r);this.options=r,this.init()}rc.prototype.init=function(){var r=this.options;return r&&r.uint8array&&(this.bufferish=VQ.Uint8Array),this};function GQ(r){for(var e in r)rc.prototype[e]=KQ(rc.prototype[e],r[e])}function KQ(r,e){return r&&e?t:r||e;function t(){return r.apply(this,arguments),e.apply(this,arguments)}}function JQ(r){return r=r.slice(),function(t){return r.reduce(e,t)};function e(t,i){return i(t)}}function YQ(r){return zQ(r)?JQ(r):r}function aA(r){return new rc(r)}Wf.preset=aA({preset:!0})});var Sm=x(cA=>{var XQ=vm().ExtBuffer,ZQ=HL(),QQ=oA(),tS=zf();tS.install({addExtPacker:tee,getExtPacker:iee,init:lA});cA.preset=lA.call(tS.preset);function eee(r){var e=QQ.getWriteType(r);return t;function t(i,n){var s=e[typeof n];if(!s)throw new Error('Unsupported type "'+typeof n+'": '+n);s(i,n)}}function lA(){var r=this.options;return this.encode=eee(r),r&&r.preset&&ZQ.setExtPackers(this),this}function tee(r,e,t){t=tS.filter(t);var i=e.name;if(i&&i!=="Object"){var n=this.extPackers||(this.extPackers={});n[i]=o}else{var s=this.extEncoderList||(this.extEncoderList=[]);s.unshift([e,o])}function o(a){return t&&(a=t(a)),new XQ(a,r)}}function iee(r){var e=this.extPackers||(this.extPackers={}),t=r.constructor,i=t&&t.name&&e[t.name];if(i)return i;for(var n=this.extEncoderList||(this.extEncoderList=[]),s=n.length,o=0;o{iS.FlexDecoder=nc;iS.FlexEncoder=sc;var Vf=wr(),ree=2048,nee=65536,uA="BUFFER_SHORTAGE";function nc(){if(!(this instanceof nc))return new nc}function sc(){if(!(this instanceof sc))return new sc}nc.mixin=hA(see());nc.mixin(nc.prototype);sc.mixin=hA(oee());sc.mixin(sc.prototype);function see(){return{bufferish:Vf,write:r,fetch:lee,flush:e,push:dA,pull:cee,read:fA,reserve:t,offset:0};function r(i){var n=this.offset?Vf.prototype.slice.call(this.buffer,this.offset):this.buffer;this.buffer=n?i?this.bufferish.concat([n,i]):n:i,this.offset=0}function e(){for(;this.offsetthis.buffer.length)throw new Error(uA);return this.offset=s,n}}function oee(){return{bufferish:Vf,write:aee,fetch:r,flush:e,push:dA,pull:t,read:fA,reserve:i,send:n,maxBufferSize:nee,minBufferSize:ree,offset:0,start:0};function r(){var s=this.start;if(s1?this.bufferish.concat(s):s[0];return s.length=0,o}function i(s){var o=s|0;if(this.buffer){var a=this.buffer.length,l=this.offset|0,c=l+o;if(cthis.minBufferSize)this.flush(),this.push(s);else{var a=this.reserve(o);Vf.prototype.copy.call(s,this.buffer,a)}}}function aee(){throw new Error("method not implemented: write()")}function lee(){throw new Error("method not implemented: fetch()")}function fA(){var r=this.buffers&&this.buffers.length;return r?(this.flush(),this.pull()):this.fetch()}function dA(r){var e=this.buffers||(this.buffers=[]);e.push(r)}function cee(){var r=this.buffers||(this.buffers=[]);return r.shift()}function hA(r){return e;function e(t){for(var i in r)t[i]=r[i];return t}}});var Cm=x(pA=>{pA.EncodeBuffer=oc;var uee=Sm().preset,fee=rS().FlexEncoder;fee.mixin(oc.prototype);function oc(r){if(!(this instanceof oc))return new oc(r);if(r&&(this.options=r,r.codec)){var e=this.codec=r.codec;e.bufferish&&(this.bufferish=e.bufferish)}}oc.prototype.codec=uee;oc.prototype.write=function(r){this.codec.encode(this,r)}});var Xx=x(mA=>{mA.encode=hee;var dee=Cm().EncodeBuffer;function hee(r,e){var t=new dee(e);return t.write(r),t.read()}});var bA=x(vA=>{vA.setExtUnpackers=gee;var gA=wr(),pee=gA.global,nS,mee={name:1,message:1,stack:1,columnNumber:1,fileName:1,lineNumber:1};function gee(r){r.addExtUnpacker(14,[Br,Pa(Error)]),r.addExtUnpacker(1,[Br,Pa(EvalError)]),r.addExtUnpacker(2,[Br,Pa(RangeError)]),r.addExtUnpacker(3,[Br,Pa(ReferenceError)]),r.addExtUnpacker(4,[Br,Pa(SyntaxError)]),r.addExtUnpacker(5,[Br,Pa(TypeError)]),r.addExtUnpacker(6,[Br,Pa(URIError)]),r.addExtUnpacker(10,[Br,vee]),r.addExtUnpacker(11,[Br,$i(Boolean)]),r.addExtUnpacker(12,[Br,$i(String)]),r.addExtUnpacker(13,[Br,$i(Date)]),r.addExtUnpacker(15,[Br,$i(Number)]),typeof Uint8Array!="undefined"&&(r.addExtUnpacker(17,$i(Int8Array)),r.addExtUnpacker(18,$i(Uint8Array)),r.addExtUnpacker(19,[bo,$i(Int16Array)]),r.addExtUnpacker(20,[bo,$i(Uint16Array)]),r.addExtUnpacker(21,[bo,$i(Int32Array)]),r.addExtUnpacker(22,[bo,$i(Uint32Array)]),r.addExtUnpacker(23,[bo,$i(Float32Array)]),typeof Float64Array!="undefined"&&r.addExtUnpacker(24,[bo,$i(Float64Array)]),typeof Uint8ClampedArray!="undefined"&&r.addExtUnpacker(25,$i(Uint8ClampedArray)),r.addExtUnpacker(26,bo),r.addExtUnpacker(29,[bo,$i(DataView)])),gA.hasBuffer&&r.addExtUnpacker(27,$i(pee))}function Br(r){return nS||(nS=sS().decode),nS(r)}function vee(r){return RegExp.apply(null,r)}function Pa(r){return function(e){var t=new r;for(var i in mee)t[i]=e[i];return t}}function $i(r){return function(e){return new r(e)}}function bo(r){return new Uint8Array(r).buffer}});var lS=x(aS=>{var yA=Qx(),wA=ym(),xA=wA.Uint64BE,SA=wA.Int64BE;aS.getReadFormat=wee;aS.readUint8=CA;var oS=wr(),_m=gm(),bee=typeof Map!="undefined",yee=!0;function wee(r){var e=oS.hasArrayBuffer&&r&&r.binarraybuffer,t=r&&r.int64,i=bee&&r&&r.usemap,n={map:i?See:xee,array:Cee,str:_ee,bin:e?Tee:Eee,ext:Dee,uint8:CA,uint16:Pee,uint32:Iee,uint64:Em(8,t?Fee:Lee),int8:Ree,int16:kee,int32:Oee,int64:Em(8,t?Mee:Aee),float32:Em(4,Nee),float64:Em(8,qee)};return n}function xee(r,e){var t={},i,n=new Array(e),s=new Array(e),o=r.codec.decode;for(i=0;i{var $ee=lS();EA.getReadToken=Bee;function Bee(r){var e=$ee.getReadFormat(r);return r&&r.useraw?jee(e):_A(e)}function _A(r){var e,t=new Array(256);for(e=0;e<=127;e++)t[e]=Gf(e);for(e=128;e<=143;e++)t[e]=ws(e-128,r.map);for(e=144;e<=159;e++)t[e]=ws(e-144,r.array);for(e=160;e<=191;e++)t[e]=ws(e-160,r.str);for(t[192]=Gf(null),t[193]=null,t[194]=Gf(!1),t[195]=Gf(!0),t[196]=xr(r.uint8,r.bin),t[197]=xr(r.uint16,r.bin),t[198]=xr(r.uint32,r.bin),t[199]=xr(r.uint8,r.ext),t[200]=xr(r.uint16,r.ext),t[201]=xr(r.uint32,r.ext),t[202]=r.float32,t[203]=r.float64,t[204]=r.uint8,t[205]=r.uint16,t[206]=r.uint32,t[207]=r.uint64,t[208]=r.int8,t[209]=r.int16,t[210]=r.int32,t[211]=r.int64,t[212]=ws(1,r.ext),t[213]=ws(2,r.ext),t[214]=ws(4,r.ext),t[215]=ws(8,r.ext),t[216]=ws(16,r.ext),t[217]=xr(r.uint8,r.str),t[218]=xr(r.uint16,r.str),t[219]=xr(r.uint32,r.str),t[220]=xr(r.uint16,r.array),t[221]=xr(r.uint32,r.array),t[222]=xr(r.uint16,r.map),t[223]=xr(r.uint32,r.map),e=224;e<=255;e++)t[e]=Gf(e-256);return t}function jee(r){var e,t=_A(r).slice();for(t[217]=t[196],t[218]=t[197],t[219]=t[198],e=160;e<=191;e++)t[e]=ws(e-160,r.bin);return t}function Gf(r){return function(){return r}}function xr(r,e){return function(t){var i=r(t);return e(t,i)}}function ws(r,e){return function(t){return e(t,r)}}});var Tm=x(RA=>{var Uee=vm().ExtBuffer,Hee=bA(),Wee=lS().readUint8,zee=TA(),cS=zf();cS.install({addExtUnpacker:Gee,getExtUnpacker:Kee,init:DA});RA.preset=DA.call(cS.preset);function Vee(r){var e=zee.getReadToken(r);return t;function t(i){var n=Wee(i),s=e[n];if(!s)throw new Error("Invalid type: "+(n&&"0x"+n.toString(16)));return s(i)}}function DA(){var r=this.options;return this.decode=Vee(r),r&&r.preset&&Hee.setExtUnpackers(this),this}function Gee(r,e){var t=this.extUnpackers||(this.extUnpackers=[]);t[r]=cS.filter(e)}function Kee(r){var e=this.extUnpackers||(this.extUnpackers=[]);return e[r]||t;function t(i){return new Uee(i,r)}}});var Dm=x(PA=>{PA.DecodeBuffer=ac;var Jee=Tm().preset,Yee=rS().FlexDecoder;Yee.mixin(ac.prototype);function ac(r){if(!(this instanceof ac))return new ac(r);if(r&&(this.options=r,r.codec)){var e=this.codec=r.codec;e.bufferish&&(this.bufferish=e.bufferish)}}ac.prototype.codec=Jee;ac.prototype.fetch=function(){return this.codec.decode(this)}});var sS=x(kA=>{kA.decode=Zee;var Xee=Dm().DecodeBuffer;function Zee(r,e){var t=new Xee(e);return t.write(r),t.read()}});var dS=x((Jbe,fS)=>{function uS(){if(!(this instanceof uS))return new uS}(function(r){typeof fS!="undefined"&&(fS.exports=r);var e="listeners",t={on:n,once:s,off:o,emit:a};i(r.prototype),r.mixin=i;function i(c){for(var u in t)c[u]=t[u];return c}function n(c,u){return l(this,c).push(u),this}function s(c,u){var f=this;return d.originalListener=u,l(f,c).push(d),f;function d(){o.call(f,c,d),u.apply(this,arguments)}}function o(c,u){var f=this,d;if(!arguments.length)delete f[e];else if(u){if(d=l(f,c,!0),d){if(d=d.filter(h),!d.length)return o.call(f,c);f[e][c]=d}}else if(d=f[e],d&&(delete d[c],!Object.keys(d).length))return o.call(f);return f;function h(p){return p!==u&&p.originalListener!==u}}function a(c,u){var f=this,d=l(f,c,!0);if(!d)return!1;var h=arguments.length;if(h===1)d.forEach(g);else if(h===2)d.forEach(b);else{var p=Array.prototype.slice.call(arguments,1);d.forEach(y)}return!!d.length;function g(S){S.call(f)}function b(S){S.call(f,u)}function y(S){S.apply(f,p)}}function l(c,u,f){if(!(f&&!c[e])){var d=c[e]||(c[e]={});return d[u]||(d[u]=[])}}})(uS)});var LA=x(OA=>{OA.Encoder=ka;var Qee=dS(),IA=Cm().EncodeBuffer;function ka(r){if(!(this instanceof ka))return new ka(r);IA.call(this,r)}ka.prototype=new IA;Qee.mixin(ka.prototype);ka.prototype.encode=function(r){this.write(r),this.emit("data",this.read())};ka.prototype.end=function(r){arguments.length&&this.encode(r),this.flush(),this.emit("end")}});var MA=x(FA=>{FA.Decoder=yo;var ete=dS(),AA=Dm().DecodeBuffer;function yo(r){if(!(this instanceof yo))return new yo(r);AA.call(this,r)}yo.prototype=new AA;ete.mixin(yo.prototype);yo.prototype.decode=function(r){arguments.length&&this.write(r),this.flush()};yo.prototype.push=function(r){this.emit("data",r)};yo.prototype.end=function(r){this.decode(r),this.emit("end")}});var $A=x(qA=>{qA.createEncodeStream=lc;var tte=require("util"),NA=require("stream").Transform,ite=Cm().EncodeBuffer;tte.inherits(lc,NA);var rte={objectMode:!0};function lc(r){if(!(this instanceof lc))return new lc(r);r?r.objectMode=!0:r=rte,NA.call(this,r);var e=this,t=this.encoder=new ite(r);t.push=function(i){e.push(i)}}lc.prototype._transform=function(r,e,t){this.encoder.write(r),t&&t()};lc.prototype._flush=function(r){this.encoder.flush(),r&&r()}});var UA=x(jA=>{jA.createDecodeStream=Kf;var nte=require("util"),BA=require("stream").Transform,ste=Dm().DecodeBuffer;nte.inherits(Kf,BA);var ote={objectMode:!0};function Kf(r){if(!(this instanceof Kf))return new Kf(r);r?r.objectMode=!0:r=ote,BA.call(this,r);var e=this,t=this.decoder=new ste(r);t.push=function(i){e.push(i)}}Kf.prototype._transform=function(r,e,t){this.decoder.write(r),this.decoder.flush(),t&&t()}});var WA=x(HA=>{Tm();Sm();HA.createCodec=zf().createCodec});var VA=x(zA=>{Tm();Sm();zA.codec={preset:zf().preset}});var GA=x(xs=>{xs.encode=Xx().encode;xs.decode=sS().decode;xs.Encoder=LA().Encoder;xs.Decoder=MA().Decoder;xs.createEncodeStream=$A().createEncodeStream;xs.createDecodeStream=UA().createDecodeStream;xs.createCodec=WA().createCodec;xs.codec=VA().codec});var JA=x(hS=>{"use strict";Object.defineProperty(hS,"__esModule",{value:!0});var ate=require("stream"),KA=class extends ate.Transform{constructor(){super({readableHighWaterMark:10*1024*1024,writableHighWaterMark:10*1024*1024});this.chunks=null,this.timer=null}sendData(){let{chunks:e}=this;if(e){this.chunks=null;let t=Buffer.concat(e);this.push(t)}}_transform(e,t,i){let{chunks:n,timer:s}=this,o=Buffer.poolSize;if(s&&clearTimeout(s),e.length{"use strict";Object.defineProperty(Rm,"__esModule",{value:!0});Rm.BaseApi=void 0;var lte=require("events"),cte=process.env.VIM_NODE_RPC=="1",YA=class extends lte.EventEmitter{constructor({transport:e,data:t,client:i}){super();this.setTransport(e),this.data=t,this.client=i}setTransport(e){this.transport=e}equals(e){try{return String(this.data)===String(e.data)}catch(t){return!1}}async request(e,t=[]){let i=Error().stack;return new Promise((n,s)=>{this.transport.request(e,this.getArgsByPrefix(t),(o,a)=>{if(o){let l=new Error(`request error ${e} - ${o[1]}`);l.stack=i,e.endsWith("get_var")||this.client.logError(`request error on "${e}"`,t,o[1],i),s(l)}else n(a)})})}getArgsByPrefix(e){return this.prefix!=="nvim_"&&e[0]!=this?[cte?this.data:this,...e]:e}getVar(e){return this.request(`${this.prefix}get_var`,[e]).then(t=>t,t=>null)}setVar(e,t,i=!1){if(i){this.notify(`${this.prefix}set_var`,[e,t]);return}return this.request(`${this.prefix}set_var`,[e,t])}deleteVar(e){this.notify(`${this.prefix}del_var`,[e])}getOption(e){return this.request(`${this.prefix}get_option`,[e])}setOption(e,t,i){if(i){this.notify(`${this.prefix}set_option`,[e,t]);return}return this.request(`${this.prefix}set_option`,[e,t])}notify(e,t=[]){this.transport.notify(e,this.getArgsByPrefix(t))}};Rm.BaseApi=YA});var Yf=x(Pm=>{"use strict";Object.defineProperty(Pm,"__esModule",{value:!0});Pm.Buffer=void 0;var ute=Jf(),XA=class extends ute.BaseApi{constructor(){super(...arguments);this.prefix="nvim_buf_"}async attach(e=!1,t={}){return await this.request(`${this.prefix}attach`,[e,t])}async detach(){return await this.request(`${this.prefix}detach`,[])}get id(){return this.data}get length(){return this.request(`${this.prefix}line_count`,[])}get lines(){return this.getLines()}get changedtick(){return this.request(`${this.prefix}get_changedtick`,[])}get commands(){return this.getCommands()}getCommands(e={}){return this.request(`${this.prefix}get_commands`,[e])}getLines({start:e,end:t,strictIndexing:i}={start:0,end:-1,strictIndexing:!0}){let n=typeof i=="undefined"?!0:i;return this.request(`${this.prefix}get_lines`,[e,t,n])}setLines(e,{start:t,end:i,strictIndexing:n}={strictIndexing:!0},s=!1){let o=typeof n=="undefined"?!0:n,a=typeof e=="string"?[e]:e,l=typeof i!="undefined"?i:t+1;return this[s?"notify":"request"](`${this.prefix}set_lines`,[t,l,o,a])}setVirtualText(e,t,i,n={}){return this.notify(`${this.prefix}set_virtual_text`,[e,t,i,n]),Promise.resolve(e)}insert(e,t){return this.setLines(e,{start:t,end:t,strictIndexing:!0})}replace(e,t){let i=typeof e=="string"?[e]:e;return this.setLines(i,{start:t,end:t+i.length,strictIndexing:!1})}remove(e,t,i=!1){return this.setLines([],{start:e,end:t,strictIndexing:i})}append(e){return this.setLines(e,{start:-1,end:-1,strictIndexing:!1})}get name(){return this.request(`${this.prefix}get_name`,[])}setName(e){return this.request(`${this.prefix}set_name`,[e])}get valid(){return this.request(`${this.prefix}is_valid`,[])}mark(e){return this.request(`${this.prefix}get_mark`,[e])}getKeymap(e){return this.request(`${this.prefix}get_keymap`,[e])}setKeymap(e,t,i,n={}){this.client.call("coc#compat#buf_add_keymap",[this.id,e,t,i,n],!0)}get loaded(){return this.request(`${this.prefix}is_loaded`,[])}getOffset(e){return this.request(`${this.prefix}get_offset`,[e])}addHighlight({hlGroup:e,line:t,colStart:i,colEnd:n,srcId:s}){if(!e)throw new Error("hlGroup should not empty");let o=typeof n!="undefined"?n:-1,a=typeof i!="undefined"?i:-0,l=typeof s!="undefined"?s:-1,c=l==0?"request":"notify",u=this[c](`${this.prefix}add_highlight`,[l,e,t,a,o]);return c==="request"?u:Promise.resolve(null)}clearHighlight(e={}){let t={srcId:-1,lineStart:0,lineEnd:-1},{srcId:i,lineStart:n,lineEnd:s}=Object.assign({},t,e);return this.notify(`${this.prefix}clear_highlight`,[i,n,s])}highlightRanges(e,t,i){this.client.call("coc#highlight#ranges",[this.id,e,t,i],!0)}clearNamespace(e,t=0,i=-1){this.client.call("coc#highlight#clear_highlight",[this.id,e,t,i],!0)}placeSign(e){let t={lnum:e.lnum};typeof e.priority=="number"&&(t.priority=e.priority),this.client.call("sign_place",[e.id||0,e.group||"",e.name,this.id,t],!0)}unplaceSign(e){let t={buffer:this.id};e.id!=null&&(t.id=e.id),this.client.call("sign_unplace",[e.group||"",t],!0)}async getSigns(e){return(await this.client.call("sign_getplaced",[this.id,e||{}]))[0].signs}async getHighlights(e,t=0,i=-1){let n=[],s=await this.client.call("coc#highlight#get",[this.id,e,t,i]);for(let o of Object.values(s))Array.isArray(o)&&n.push(...o);return n}updateHighlights(e,t,i=0,n=-1){this.client.call("coc#highlight#update_highlights",[this.id,e,t,i,n],!0)}listen(e,t,i){this.client.attachBufferEvent(this,e,t),i&&i.push({dispose:()=>{this.client.detachBufferEvent(this,e,t)}})}};Pm.Buffer=XA});var Xf=x(km=>{"use strict";Object.defineProperty(km,"__esModule",{value:!0});km.Window=void 0;var fte=Jf(),pS=require("timers"),ZA=class extends fte.BaseApi{constructor(){super(...arguments);this.prefix="nvim_win_"}get id(){return this.data}get buffer(){return this.request(`${this.prefix}get_buf`,[])}get tabpage(){return this.request(`${this.prefix}get_tabpage`,[])}get cursor(){return this.request(`${this.prefix}get_cursor`,[])}setCursor(e,t=!1){return this[t?"notify":"request"](`${this.prefix}set_cursor`,[e])}get height(){return this.request(`${this.prefix}get_height`,[])}setHeight(e,t=!1){return this[t?"notify":"request"](`${this.prefix}set_height`,[e])}get width(){return this.request(`${this.prefix}get_width`,[])}setWidth(e,t=!1){return this[t?"notify":"request"](`${this.prefix}set_height`,[e])}get position(){return this.request(`${this.prefix}get_position`,[])}get row(){return this.request(`${this.prefix}get_position`,[]).then(e=>e[0])}get col(){return this.request(`${this.prefix}get_position`,[]).then(e=>e[1])}get valid(){return this.request(`${this.prefix}is_valid`,[])}get number(){return this.request(`${this.prefix}get_number`,[])}setConfig(e,t){return this[t?"notify":"request"](`${this.prefix}set_config`,[e])}getConfig(){return this.request(`${this.prefix}get_config`,[])}close(e,t){if(t){this.notify(`${this.prefix}close`,[e]);let i=0,n=setInterval(()=>{if(i==5)return pS.clearInterval(n);this.request(`${this.prefix}is_valid`,[]).then(s=>{s?this.notify(`${this.prefix}close`,[e]):pS.clearInterval(n)},()=>{pS.clearInterval(n)}),i++},50);return null}return this.request(`${this.prefix}close`,[e])}highlightRanges(e,t,i=10,n){if(n){this.client.call("coc#highlight#match_ranges",[this.id,0,t,e,i],!0);return}return this.client.call("coc#highlight#match_ranges",[this.id,0,t,e,i])}clearMatchGroup(e){this.client.call("coc#highlight#clear_match_group",[this.id,e],!0)}clearMatches(e){this.client.call("coc#highlight#clear_matches",[this.id,e],!0)}};km.Window=ZA});var Zf=x(Im=>{"use strict";Object.defineProperty(Im,"__esModule",{value:!0});Im.Tabpage=void 0;var dte=Jf(),QA=class extends dte.BaseApi{constructor(){super(...arguments);this.prefix="nvim_tabpage_"}get windows(){return this.request(`${this.prefix}list_wins`,[])}get window(){return this.request(`${this.prefix}get_win`,[])}get valid(){return this.request(`${this.prefix}is_valid`,[])}get number(){return this.request(`${this.prefix}get_number`,[])}getOption(){throw new Error("Tabpage does not have `getOption`")}setOption(){throw new Error("Tabpage does not have `setOption`")}};Im.Tabpage=QA});var eF=x(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.Metadata=Ia.ExtType=void 0;var hte=Yf(),pte=Xf(),mte=Zf(),gte;(function(r){r[r.Buffer=0]="Buffer",r[r.Window=1]="Window",r[r.Tabpage=2]="Tabpage"})(gte=Ia.ExtType||(Ia.ExtType={}));Ia.Metadata=[{constructor:hte.Buffer,name:"Buffer",prefix:"nvim_buf_"},{constructor:pte.Window,name:"Window",prefix:"nvim_win_"},{constructor:mte.Tabpage,name:"Tabpage",prefix:"nvim_tabpage_"}]});var Qf=x(cc=>{"use strict";var mS=cc&&cc.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(cc,"__esModule",{value:!0});cc.createLogger=void 0;var gS=mS(require("fs")),vte=mS(require("os")),vS=mS(require("path"));function bte(){let r=process.env.NODE_CLIENT_LOG_FILE;if(r)return r;let e=process.env.XDG_RUNTIME_DIR;return e?vS.default.join(e,"node-client.log"):vS.default.join(vte.default.tmpdir(),`node-client-${process.pid}.log`)}var bS=bte(),tF=process.env.NODE_CLIENT_LOG_LEVEL||"info",yS=process.getuid&&process.getuid()==0;if(!yS)try{gS.default.mkdirSync(vS.default.dirname(bS),{recursive:!0}),gS.default.writeFileSync(bS,"",{encoding:"utf8",mode:438})}catch(r){yS=!0}function iF(r){return r==null?r:Array.isArray(r)?r.map(e=>iF(e)):typeof r=="object"&&typeof r.prefix=="string"&&typeof r.data=="number"?"["+r.prefix+r.data+"]":r}function yte(r){return r==null?String(r):typeof r=="object"?JSON.stringify(r,null,2):String(r)}function wte(r){return`${r.getHours()}:${r.getMinutes()}:${r.getSeconds()}.${r.getMilliseconds()}`}var rF=class{constructor(e){this.name=e}get stream(){return yS?null:this._stream?this._stream:(this._stream=gS.default.createWriteStream(bS,{encoding:"utf8"}),this._stream)}getText(e,t,i){let n="";if(i.length){let s=iF(i);n=" "+s.map(o=>yte(o))}return`${wte(new Date)} ${e.toUpperCase()} [${this.name}] - ${t}${n} +`}debug(e,...t){tF!="debug"||this.stream==null||this.stream.write(this.getText("debug",e,t))}info(e,...t){this.stream!=null&&this.stream.write(this.getText("info",e,t))}error(e,...t){this.stream!=null&&this.stream.write(this.getText("error",e,t))}trace(e,...t){tF!="trace"||this.stream==null||this.stream.write(this.getText("trace",e,t))}};function xte(r){return new rF(r)}cc.createLogger=xte});var xS=x(wS=>{"use strict";Object.defineProperty(wS,"__esModule",{value:!0});var Ste=require("events"),Cte=Qf(),nF=process.env.NODE_CLIENT_LOG_LEVEL=="debug",ed=Cte.createLogger("transport"),sF=class extends Ste.EventEmitter{constructor(e){super();this.logger=e,this.pauseLevel=0,this.paused=new Map}debug(e,...t){!nF||ed.debug(e,...t)}info(e,...t){ed.info(e,...t)}debugMessage(e){if(!nF)return;let t=e[0];t==0?ed.debug("receive request:",e.slice(1)):t==1||(t==2?ed.debug("receive notification:",e.slice(1)):ed.debug("unknown message:",e))}pauseNotification(){this.pauseLevel=this.pauseLevel+1,this.paused.set(this.pauseLevel,[])}cancelNotification(){let{pauseLevel:e}=this;e>0&&(this.paused.delete(e),this.pauseLevel=e-1)}resumeNotification(e=!1){let{pauseLevel:t}=this;if(t==0)return e?null:Promise.resolve([null,null]);let i=Error().stack;this.pauseLevel=t-1;let n=this.paused.get(t);return this.paused.delete(t),n&&n.length?new Promise((s,o)=>{if(!e)return this.request("nvim_call_atomic",[n],(a,l)=>{if(a){let c=new Error(`call_atomic error: ${a[1]}`);return c.stack=i,o(c)}if(Array.isArray(l)&&l[1]!=null){let[c,u,f]=l[1],[d,h]=n[c];this.logger.error(`request error ${u} on "${d}"`,h,f,i)}s(l)});this.notify("nvim_call_atomic",[n]),s()}):e?null:Promise.resolve([[],void 0])}};wS.default=sF});var lF=x(jr=>{"use strict";var _te=jr&&jr.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),Ete=jr&&jr.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),Tte=jr&&jr.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&_te(e,r,t);return Ete(e,r),e},oF=jr&&jr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(jr,"__esModule",{value:!0});jr.NvimTransport=void 0;var Ss=Tte(GA()),Dte=oF(JA()),Rte=eF(),Pte=oF(xS()),aF=class extends Pte.default{constructor(e){super(e);this.pending=new Map,this.nextRequestId=1,this.attached=!1;let t=this.setupCodec();this.encodeStream=Ss.createEncodeStream({codec:t}),this.decodeStream=Ss.createDecodeStream({codec:t}),this.decodeStream.on("data",i=>{this.parseMessage(i)}),this.decodeStream.on("end",()=>{this.detach(),this.emit("detach")})}parseMessage(e){let t=e[0];if(this.debugMessage(e),t===0)this.emit("request",e[2].toString(),e[3],this.createResponse(e[1]));else if(t===1){let i=e[1],n=this.pending.get(i);if(n){this.pending.delete(i);let s=e[2];s&&s.length!=2&&(s=[0,s instanceof Error?s.message:s]),n(s,e[3])}}else t===2?this.emit("notification",e[1].toString(),e[2]):console.error(`Invalid message type ${t}`)}setupCodec(){let e=Ss.createCodec();return Rte.Metadata.forEach(({constructor:t},i)=>{e.addExtPacker(i,t,n=>Ss.encode(n.data)),e.addExtUnpacker(i,n=>new t({transport:this,client:this.client,data:Ss.decode(n)}))}),this.codec=e,this.codec}attach(e,t,i){this.encodeStream=this.encodeStream.pipe(e);let n=new Dte.default;t.pipe(n).pipe(this.decodeStream),this.writer=e,this.reader=t,this.client=i,this.attached=!0}detach(){!this.attached||(this.attached=!1,this.encodeStream.unpipe(this.writer),this.reader.unpipe(this.decodeStream))}request(e,t,i){if(!this.attached)return;let n=this.nextRequestId;this.nextRequestId=this.nextRequestId+1;let s=Date.now();this.debug("request to nvim:",n,e,t),this.encodeStream.write(Ss.encode([0,n,e,t],{codec:this.codec}));let o=Error().stack,a=setTimeout(()=>{this.debug(`request to vim blocked more than 1s: ${e}`,t,o)},1e3);this.pending.set(n,(l,c)=>{clearTimeout(a),this.debug("response of nvim:",n,`${Date.now()-s}ms`,c,l),i(l,c)})}notify(e,t){if(!!this.attached){if(this.pauseLevel!=0){let i=this.paused.get(this.pauseLevel);if(i){i.push([e,t]);return}}this.debug("nvim notification:",e,t),this.encodeStream.write(Ss.encode([2,e,t],{codec:this.codec}))}}send(e){this.encodeStream.write(Ss.encode(e,{codec:this.codec}))}createResponse(e){let{encodeStream:t}=this,i=Date.now(),n=!1,s=setTimeout(()=>{this.debug("request to client cost more than 1s",e)},1e3);return{send:(o,a)=>{clearTimeout(s),!(n||!this.attached)&&(this.debug("response of client:",e,`${Date.now()-i}ms`,o,a==!0),n=!0,t.write(Ss.encode([1,e,a?o:null,a?null:o])))}}}};jr.NvimTransport=aF});var fF=x(td=>{"use strict";var cF=td&&td.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(td,"__esModule",{value:!0});var kte=cF(require("events")),Ite=cF(require("readline")),Ote=Qf(),uc=Ote.createLogger("connection"),uF=class extends kte.default{constructor(e,t){super();this.readable=e,this.writeable=t;let i=Ite.default.createInterface(this.readable);i.on("line",n=>{this.parseData(n)}),i.on("close",()=>{uc.error("connection closed"),process.exit(0)})}parseData(e){if(e.length==0)return;let t;try{t=JSON.parse(e)}catch(s){console.error(`Invalid data from vim: ${e}`);return}let[i,n]=t;i>0?(uc.debug("received request:",i,n),this.emit("request",i,n)):i==0?(uc.debug("received notification:",n),this.emit("notification",n)):(uc.debug("received response:",i,n),this.emit("response",i,n))}response(e,t){this.send([e,t||null])}notify(e,t){this.send([0,[e,t||null]])}send(e){uc.debug("send to vim:",e);try{this.writeable.write(JSON.stringify(e)+` +`)}catch(t){uc.error("Send error:",e)}}redraw(e=!1){this.send(["redraw",e?"force":""])}command(e){this.send(["ex",e])}expr(e){this.send(["expr",e])}call(e,t,i){if(!i){this.send(["call",e,t]);return}this.send(["call",e,t,i])}dispose(){this.removeAllListeners()}};td.default=uF});var hF=x(SS=>{"use strict";Object.defineProperty(SS,"__esModule",{value:!0});var Lte=Qf(),Ate=Lte.createLogger("request"),Fte=process.env.NODE_CLIENT_LOG_LEVEL=="debug",Mte=process.env.COC_NVIM=="1"?"coc#api#call":"nvim#api#call",dF=class{constructor(e,t,i){this.connection=e,this.cb=t,this.id=i}request(e,t=[]){this.method=e,this.args=t,this.connection.call(Mte,[e.slice(5),t],this.id)}callback(e,t,i){let{method:n,cb:s}=this;if(Fte&&t&&Ate.debug(`request ${this.method} error:`,t,this.args),t)return s([0,t.toString()]);switch(n){case"nvim_list_wins":case"nvim_tabpage_list_wins":return s(null,i.map(o=>e.createWindow(o)));case"nvim_tabpage_get_win":case"nvim_get_current_win":case"nvim_open_win":return s(null,e.createWindow(i));case"nvim_list_bufs":return s(null,i.map(o=>e.createBuffer(o)));case"nvim_win_get_buf":case"nvim_create_buf":case"nvim_get_current_buf":return s(null,e.createBuffer(i));case"nvim_list_tabpages":return s(null,i.map(o=>e.createTabpage(o)));case"nvim_get_current_tabpage":return s(null,e.createTabpage(i));default:return s(null,i)}}};SS.default=dF});var mF=x(fc=>{"use strict";var CS=fc&&fc.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(fc,"__esModule",{value:!0});fc.VimTransport=void 0;var Nte=CS(xS()),qte=CS(fF()),$te=CS(hF()),pF=class extends Nte.default{constructor(e){super(e);this.pending=new Map,this.nextRequestId=-1,this.attached=!1,this.errText="",this.outText="",this.notifyMethod=process.env.COC_NVIM=="1"?"coc#api#notify":"nvim#api#notify"}attach(e,t,i){let n=this.connection=new qte.default(t,e);this.attached=!0,this.client=i,n.on("request",(s,o)=>{let[a,l]=o;this.emit("request",a,l,this.createResponse(s))}),n.on("notification",s=>{let[o,a]=s;this.emit("notification",o.toString(),a)}),n.on("response",(s,o)=>{let a=this.pending.get(s);if(a){this.pending.delete(s);let l=null,c=null;Array.isArray(o)?(l=o[0],c=o[1]):l=o,a.callback(this.client,l,c)}})}send(e){this.connection.send(e)}detach(){!this.attached||(this.attached=!1,this.connection.dispose())}request(e,t,i){if(!this.attached)return i([0,"transport disconnected"]);let n=this.nextRequestId;this.nextRequestId=this.nextRequestId-1;let s=Date.now();this.debug("request to vim:",n,e,t);let o=setTimeout(()=>{this.debug("request to vim cost more than 1s",e,t)},1e3),a=new $te.default(this.connection,(l,c)=>{clearTimeout(o),this.debug("response from vim cost:",n,`${Date.now()-s}ms`),i(l,c)},n);this.pending.set(n,a),a.request(e,t)}notify(e,t){if(!this.attached)return;if(this.pauseLevel!=0){let n=this.paused.get(this.pauseLevel);if(n){n.push([e,t]);return}}let i=e.slice(5);if(i=="err_write"){this.errText=this.errText+t[0].toString();return}if(i=="out_write"){let n=t[0].toString()||"";if(!n.includes(` +`))this.outText=this.outText+n;else{let s=this.outText+t[0].toString();this.outText="",this.connection.call(this.notifyMethod,[i,[s]])}return}if(i=="err_writeln"){let n=this.errText+t[0].toString();this.errText="",this.connection.call(this.notifyMethod,[i,[n]]);return}this.connection.call(this.notifyMethod,[i,t])}createResponse(e){let t=!1,{connection:i}=this,n=Date.now(),s=setTimeout(()=>{this.debug("request to client cost more than 1s",e)},1e3);return{send:(o,a)=>{if(clearTimeout(s),t||!this.attached)return;t=!0;let l=null;a&&(l=typeof o=="string"?o:o.toString()),this.debug("response of client cost:",e,`${Date.now()-n}ms`),i.response(e,[l,a?null:o])}}}};fc.VimTransport=pF});var vF=x(Om=>{"use strict";Object.defineProperty(Om,"__esModule",{value:!0});Om.Neovim=void 0;var Bte=Jf(),jte=Yf(),Ute=Zf(),Hte=Xf(),Wte=process.env.VIM_NODE_RPC=="1",gF=class extends Bte.BaseApi{constructor(){super(...arguments);this.prefix="nvim_",this.Buffer=jte.Buffer,this.Window=Hte.Window,this.Tabpage=Ute.Tabpage}getArgs(e){return e?Array.isArray(e)?e:[e]:[]}get apiInfo(){return this.request(`${this.prefix}get_api_info`)}get buffers(){return this.request(`${this.prefix}list_bufs`)}get buffer(){return this.request(`${this.prefix}get_current_buf`)}async setBuffer(e){await this.request(`${this.prefix}set_current_buf`,[e])}get chans(){return this.request(`${this.prefix}list_chans`)}getChanInfo(e){return this.request(`${this.prefix}get_chan_info`,[e])}createNamespace(e=""){return this.request(`${this.prefix}create_namespace`,[e])}get namespaces(){return this.request(`${this.prefix}get_namespaces`,[])}get commands(){return this.getCommands()}getCommands(e={}){return this.request(`${this.prefix}get_commands`,[e])}get tabpages(){return this.request(`${this.prefix}list_tabpages`)}get tabpage(){return this.request(`${this.prefix}get_current_tabpage`)}async setTabpage(e){await this.request(`${this.prefix}set_current_tabpage`,[e])}get windows(){return this.getWindows()}get window(){return this.request(`${this.prefix}get_current_win`)}getWindows(){return this.request(`${this.prefix}list_wins`)}async setWindow(e){await this.request(`${this.prefix}set_current_win`,[e])}get runtimePaths(){return this.request(`${this.prefix}list_runtime_paths`)}setDirectory(e){return this.request(`${this.prefix}set_current_dir`,[e])}get line(){return this.getLine()}createNewBuffer(e=!1,t=!1){return this.request(`${this.prefix}create_buf`,[e,t])}openFloatWindow(e,t,i){return this.request(`${this.prefix}open_win`,[e,t,i])}getLine(){return this.request(`${this.prefix}get_current_line`)}setLine(e){return this.request(`${this.prefix}set_current_line`,[e])}getKeymap(e){return this.request(`${this.prefix}get_keymap`,[e])}get mode(){return this.request(`${this.prefix}get_mode`)}get colorMap(){return this.request(`${this.prefix}get_color_map`)}getColorByName(e){return this.request(`${this.prefix}get_color_by_name`,[e])}getHighlight(e,t=!0){let i=typeof e=="string"?"by_name":"by_id";return this.request(`${this.prefix}get_hl_${i}`,[e,t])}getHighlightByName(e,t=!0){return this.request(`${this.prefix}get_hl_by_name`,[e,t])}getHighlightById(e,t=!0){return this.request(`${this.prefix}get_hl_by_id`,[e,t])}deleteCurrentLine(){return this.request(`${this.prefix}del_current_line`)}eval(e){return this.request(`${this.prefix}eval`,[e])}lua(e,t=[]){let i=this.getArgs(t);return this.request(`${this.prefix}execute_lua`,[e,i])}executeLua(e,t=[]){return this.lua(e,t)}callDictFunction(e,t,i=[]){let n=this.getArgs(i);return this.request(`${this.prefix}call_dict_function`,[e,t,n])}call(e,t=[],i){let n=this.getArgs(t);return i?(this.notify(`${this.prefix}call_function`,[e,n]),null):this.request(`${this.prefix}call_function`,[e,n])}callTimer(e,t=[],i){let n=this.getArgs(t);return i?(this.notify(`${this.prefix}call_function`,["coc#util#timer",[e,n]]),null):Wte?(this.notify(`${this.prefix}call_function`,["coc#util#timer",[e,n]]),new Promise(s=>{setTimeout(()=>{s(null)},20)})):this.request(`${this.prefix}call_function`,["coc#util#timer",[e,n]])}callAsync(e,t=[]){let i=this.getArgs(t);return this.client.sendAsyncRequest(e,i)}callFunction(e,t=[]){return this.call(e,t)}callAtomic(e){return this.request(`${this.prefix}call_atomic`,[e])}command(e,t){return t?(this.notify(`${this.prefix}command`,[e]),null):this.request(`${this.prefix}command`,[e])}commandOutput(e){return this.request(`${this.prefix}command_output`,[e])}getVvar(e){return this.request(`${this.prefix}get_vvar`,[e])}feedKeys(e,t,i){return this.request(`${this.prefix}feedkeys`,[e,t,i])}input(e){return this.request(`${this.prefix}input`,[e])}parseExpression(e,t,i){return this.request(`${this.prefix}parse_expression`,[e,t,i])}getProc(e){return this.request(`${this.prefix}get_proc`,[e])}getProcChildren(e){return this.request(`${this.prefix}get_proc_children`,[e])}replaceTermcodes(e,t,i,n){return this.request(`${this.prefix}replace_termcodes`,[e,t,i,n])}strWidth(e){return this.request(`${this.prefix}strwidth`,[e])}outWrite(e){this.notify(`${this.prefix}out_write`,[e])}outWriteLine(e){this.outWrite(`${e} +`)}errWrite(e){this.notify(`${this.prefix}err_write`,[e])}errWriteLine(e){this.notify(`${this.prefix}err_writeln`,[e])}get uis(){return this.request(`${this.prefix}list_uis`)}uiAttach(e,t,i){return this.request(`${this.prefix}ui_attach`,[e,t,i])}uiDetach(){return this.request(`${this.prefix}ui_detach`,[])}uiTryResize(e,t){return this.request(`${this.prefix}ui_try_resize`,[e,t])}uiSetOption(e,t){return this.request(`${this.prefix}ui_set_option`,[e,t])}subscribe(e){return this.request(`${this.prefix}subscribe`,[e])}unsubscribe(e){return this.request(`${this.prefix}unsubscribe`,[e])}setClientInfo(e,t,i,n,s){this.notify(`${this.prefix}set_client_info`,[e,t,i,n,s])}async quit(){this.command("qa!",!0),this.transport&&this.transport.detach()}};Om.Neovim=gF});var Lm=x(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.NeovimClient=dc.AsyncResponse=void 0;var zte=lF(),Vte=mF(),Gte=vF(),Kte=Yf(),Jte=Xf(),Yte=Zf(),Xte=Qf(),bF=Xte.createLogger("client"),yF=process.env.VIM_NODE_RPC=="1",_S=class{constructor(e,t){this.requestId=e,this.cb=t,this.finished=!1}finish(e,t){if(!this.finished){if(this.finished=!0,e){this.cb(new Error(e));return}this.cb(null,t)}}};dc.AsyncResponse=_S;var wF=class extends Gte.Neovim{constructor(e){super({});this.logger=e,this.requestId=1,this.responses=new Map,this.attachedBuffers=new Map,Object.defineProperty(this,"client",{value:this});let t=yF?new Vte.VimTransport(e):new zte.NvimTransport(e);this.setTransport(t),this.transportAttached=!1,this.handleRequest=this.handleRequest.bind(this),this.handleNotification=this.handleNotification.bind(this)}echoError(e){let t=process.env.COC_NVIM=="1"?"[coc.nvim] ":"";typeof e=="string"?(this.errWriteLine(t+e),this.logError(e,Error().stack)):(this.errWriteLine(t+e.message+" use :CocOpenLog for details"),this.logError(e.message||"Unknown error",e.stack))}logError(e,...t){!this.logger||this.logger.error(e,...t)}createBuffer(e){return new Kte.Buffer({transport:this.transport,data:e,client:this})}createWindow(e){return new Jte.Window({transport:this.transport,data:e,client:this})}createTabpage(e){return new Yte.Tabpage({transport:this.transport,data:e,client:this})}send(e){this.transport.send(e)}redrawVim(e){!yF||this.transport.send(["redraw",e?"force":""])}attach({reader:e,writer:t},i=!0){this.transport.attach(t,e,this),this.transportAttached=!0,this.setupTransport(i)}detach(){this.transport.detach(),this.transportAttached=!1}get isApiReady(){return this.transportAttached&&typeof this._channelId!="undefined"}get channelId(){return this._isReady.then(()=>this._channelId)}isAttached(e){return this.attachedBuffers.has(e)}handleRequest(e,t,i){this.emit("request",e,t,i)}sendAsyncRequest(e,t){let i=this.requestId;return this.requestId=i+1,this.notify("nvim_call_function",["coc#rpc#async_request",[i,e,t||[]]]),new Promise((n,s)=>{let o=new _S(i,(a,l)=>{if(a)return s(a);n(l)});this.responses.set(i,o)})}emitNotification(e,t){if(e.endsWith("_event")){if(e.startsWith("nvim_buf_")){let i=e.replace(/nvim_buf_(.*)_event/,"$1"),{id:n}=t[0];if(!this.attachedBuffers.has(n))return;(this.attachedBuffers.get(n).get(i)||[]).forEach(a=>a(...t)),i==="detach"&&this.attachedBuffers.delete(n);return}if(e.startsWith("nvim_async_request")){let[i,n,s]=t;this.handleRequest(n,s,{send:(o,a)=>{this.notify("nvim_call_function",["coc#rpc#async_response",[i,o,a]])}})}if(e.startsWith("nvim_async_response")){let[i,n,s]=t,o=this.responses.get(i);if(!o){console.error(`Response not found for request ${i}`);return}this.responses.delete(i),o.finish(n,s);return}}else this.emit("notification",e,t)}handleNotification(e,t){this.emitNotification(e,t)}setupTransport(e=!0){if(!this.transportAttached)throw new Error("Not attached to input/output");this.transport.on("request",this.handleRequest),this.transport.on("notification",this.handleNotification),this.transport.on("detach",()=>{this.emit("disconnect"),this.transport.removeAllListeners("request"),this.transport.removeAllListeners("notification"),this.transport.removeAllListeners("detach")}),e?this._isReady=this.generateApi():(this._channelId=0,this._isReady=Promise.resolve(!0))}requestApi(){return new Promise((e,t)=>{this.transport.request("nvim_get_api_info",[],(i,n)=>{i?t(new Error(Array.isArray(i)?i[1]:i.message||i.toString())):e(n)})})}async generateApi(){let e;try{e=await this.requestApi()}catch(t){console.error("Could not get vim api results"),bF.error(t)}if(e)try{let[t,i]=e;return this.functions=i.functions.map(n=>n.name),this._channelId=t,!0}catch(t){return bF.error(t.stack),null}return null}attachBufferEvent(e,t,i){let n=this.attachedBuffers.get(e.id)||new Map,s=n.get(t)||[];s.includes(i)||(s.push(i),n.set(t,s),this.attachedBuffers.set(e.id,n))}detachBufferEvent(e,t,i){let n=this.attachedBuffers.get(e.id);if(!n||!n.has(t))return;let s=n.get(t).filter(o=>o!==i);n.set(t,s)}pauseNotification(){this.transport.pauseNotification();let e=Error().stack;process.nextTick(()=>{this.transport.pauseLevel>0&&this.logError("resumeNotification not called within same tick:",e)})}resumeNotification(e,t){return e?Promise.resolve(this.transport.cancelNotification()):t?Promise.resolve(this.transport.resumeNotification(!0)):Promise.resolve(this.transport.resumeNotification())}hasFunction(e){return this.functions?this.functions.indexOf(e)!==-1:!0}};dc.NeovimClient=wF});var xF=x(Am=>{"use strict";Object.defineProperty(Am,"__esModule",{value:!0});Am.attach=void 0;var Zte=require("net"),Qte=Lm();function eie({reader:r,writer:e,proc:t,socket:i},n=null,s=!0){let o,a,l;if(i){let c=Zte.createConnection(i);o=c,a=c,c.once("close",()=>{l.detach()})}else r&&e?(o=e,a=r):t&&(o=t.stdin,a=t.stdout,t.once("disconnect",()=>{l.detach()}));if(o.on("error",c=>{c.code=="EPIPE"&&l.detach()}),o&&a)return l=new Qte.NeovimClient(n),l.attach({writer:o,reader:a},s),l;throw new Error("Invalid arguments, could not attach")}Am.attach=eie});var SF=x(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.Tabpage=Ur.Window=Ur.Buffer=Ur.NeovimClient=Ur.Neovim=void 0;var tie=Lm();Object.defineProperty(Ur,"Neovim",{enumerable:!0,get:function(){return tie.NeovimClient}});var iie=Lm();Object.defineProperty(Ur,"NeovimClient",{enumerable:!0,get:function(){return iie.NeovimClient}});var rie=Yf();Object.defineProperty(Ur,"Buffer",{enumerable:!0,get:function(){return rie.Buffer}});var nie=Xf();Object.defineProperty(Ur,"Window",{enumerable:!0,get:function(){return nie.Window}});var sie=Zf();Object.defineProperty(Ur,"Tabpage",{enumerable:!0,get:function(){return sie.Tabpage}})});var ES=x(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.Window=Zi.Tabpage=Zi.Buffer=Zi.NeovimClient=Zi.Neovim=Zi.attach=void 0;var oie=xF();Object.defineProperty(Zi,"attach",{enumerable:!0,get:function(){return oie.attach}});var id=SF();Object.defineProperty(Zi,"Neovim",{enumerable:!0,get:function(){return id.Neovim}});Object.defineProperty(Zi,"NeovimClient",{enumerable:!0,get:function(){return id.NeovimClient}});Object.defineProperty(Zi,"Buffer",{enumerable:!0,get:function(){return id.Buffer}});Object.defineProperty(Zi,"Tabpage",{enumerable:!0,get:function(){return id.Tabpage}});Object.defineProperty(Zi,"Window",{enumerable:!0,get:function(){return id.Window}})});var Cs=x(RS=>{"use strict";Object.defineProperty(RS,"__esModule",{value:!0});var TS;function DS(){if(TS===void 0)throw new Error("No runtime abstraction layer installed");return TS}(function(r){function e(t){if(t===void 0)throw new Error("No runtime abstraction layer provided");TS=t}r.install=e})(DS||(DS={}));RS.default=DS});var PS=x(rd=>{"use strict";Object.defineProperty(rd,"__esModule",{value:!0});rd.Disposable=void 0;var aie;(function(r){function e(t){return{dispose:t}}r.create=e})(aie=rd.Disposable||(rd.Disposable={}))});var _F=x(Fm=>{"use strict";Object.defineProperty(Fm,"__esModule",{value:!0});Fm.AbstractMessageBuffer=void 0;var lie=13,cie=10,uie=`\r +`,CF=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let t=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(this._chunks.length===0)return;let e=0,t=0,i=0,n=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let s=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(s)}if(this._chunks[0].byteLength>e){let s=this._chunks[0],o=this.asNative(s,e);return this._chunks[0]=s.slice(e),this._totalLength-=e,o}let t=this.allocNative(e),i=0,n=0;for(;e>0;){let s=this._chunks[n];if(s.byteLength>e){let o=s.slice(0,e);t.set(o,i),i+=e,this._chunks[n]=s.slice(e),this._totalLength-=e,e-=e}else t.set(s,i),i+=s.byteLength,this._chunks.shift(),this._totalLength-=s.byteLength,e-=s.byteLength}return t}};Fm.AbstractMessageBuffer=CF});var PF=x(IS=>{"use strict";Object.defineProperty(IS,"__esModule",{value:!0});var fie=Cs(),EF=require("util"),Oa=PS(),die=_F(),nd=class extends die.AbstractMessageBuffer{constructor(e="utf-8"){super(e)}emptyBuffer(){return nd.emptyBuffer}fromString(e,t){return Buffer.from(e,t)}toString(e,t){return e instanceof Buffer?e.toString(t):new EF.TextDecoder(t).decode(e)}asNative(e,t){return t===void 0?e instanceof Buffer?e:Buffer.from(e):e instanceof Buffer?e.slice(0,t):Buffer.from(e,0,t)}allocNative(e){return Buffer.allocUnsafe(e)}};nd.emptyBuffer=Buffer.allocUnsafe(0);var TF=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),Oa.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),Oa.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),Oa.Disposable.create(()=>this.stream.off("end",e))}onData(e){return this.stream.on("data",e),Oa.Disposable.create(()=>this.stream.off("data",e))}},DF=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),Oa.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),Oa.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),Oa.Disposable.create(()=>this.stream.off("end",e))}write(e,t){return new Promise((i,n)=>{let s=o=>{o==null?i():n(o)};typeof e=="string"?this.stream.write(e,t,s):this.stream.write(e,s)})}end(){this.stream.end()}},RF=Object.freeze({messageBuffer:Object.freeze({create:r=>new nd(r)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(r,e)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(r,void 0,0),e.charset))}catch(t){return Promise.reject(t)}}}),decoder:Object.freeze({name:"application/json",decode:(r,e)=>{try{return r instanceof Buffer?Promise.resolve(JSON.parse(r.toString(e.charset))):Promise.resolve(JSON.parse(new EF.TextDecoder(e.charset).decode(r)))}catch(t){return Promise.reject(t)}}})}),stream:Object.freeze({asReadableStream:r=>new TF(r),asWritableStream:r=>new DF(r)}),console,timer:Object.freeze({setTimeout(r,e,...t){return setTimeout(r,e,...t)},clearTimeout(r){clearTimeout(r)},setImmediate(r,...e){return setImmediate(r,...e)},clearImmediate(r){clearImmediate(r)}})});function kS(){return RF}(function(r){function e(){fie.default.install(RF)}r.install=e})(kS||(kS={}));IS.default=kS});var hc=x(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.stringArray=Si.array=Si.func=Si.error=Si.number=Si.string=Si.boolean=void 0;function hie(r){return r===!0||r===!1}Si.boolean=hie;function kF(r){return typeof r=="string"||r instanceof String}Si.string=kF;function pie(r){return typeof r=="number"||r instanceof Number}Si.number=pie;function mie(r){return r instanceof Error}Si.error=mie;function gie(r){return typeof r=="function"}Si.func=gie;function IF(r){return Array.isArray(r)}Si.array=IF;function vie(r){return IF(r)&&r.every(e=>kF(e))}Si.stringArray=vie});var OS=x(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.isResponseMessage=ee.isNotificationMessage=ee.isRequestMessage=ee.NotificationType9=ee.NotificationType8=ee.NotificationType7=ee.NotificationType6=ee.NotificationType5=ee.NotificationType4=ee.NotificationType3=ee.NotificationType2=ee.NotificationType1=ee.NotificationType0=ee.NotificationType=ee.RequestType9=ee.RequestType8=ee.RequestType7=ee.RequestType6=ee.RequestType5=ee.RequestType4=ee.RequestType3=ee.RequestType2=ee.RequestType1=ee.RequestType=ee.RequestType0=ee.AbstractMessageSignature=ee.ParameterStructures=ee.ResponseError=ee.ErrorCodes=void 0;var La=hc(),OF;(function(r){r.ParseError=-32700,r.InvalidRequest=-32600,r.MethodNotFound=-32601,r.InvalidParams=-32602,r.InternalError=-32603,r.jsonrpcReservedErrorRangeStart=-32099,r.serverErrorStart=r.jsonrpcReservedErrorRangeStart,r.MessageWriteError=-32099,r.MessageReadError=-32098,r.ServerNotInitialized=-32002,r.UnknownErrorCode=-32001,r.jsonrpcReservedErrorRangeEnd=-32e3,r.serverErrorEnd=r.jsonrpcReservedErrorRangeEnd})(OF=ee.ErrorCodes||(ee.ErrorCodes={}));var Mm=class extends Error{constructor(e,t,i){super(t);this.code=La.number(e)?e:OF.UnknownErrorCode,this.data=i,Object.setPrototypeOf(this,Mm.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}};ee.ResponseError=Mm;var ui=class{constructor(e){this.kind=e}static is(e){return e===ui.auto||e===ui.byName||e===ui.byPosition}toString(){return this.kind}};ee.ParameterStructures=ui;ui.auto=new ui("auto");ui.byPosition=new ui("byPosition");ui.byName=new ui("byName");var vt=class{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return ui.auto}};ee.AbstractMessageSignature=vt;var LF=class extends vt{constructor(e){super(e,0)}};ee.RequestType0=LF;var AF=class extends vt{constructor(e,t=ui.auto){super(e,1);this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};ee.RequestType=AF;var FF=class extends vt{constructor(e,t=ui.auto){super(e,1);this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};ee.RequestType1=FF;var MF=class extends vt{constructor(e){super(e,2)}};ee.RequestType2=MF;var NF=class extends vt{constructor(e){super(e,3)}};ee.RequestType3=NF;var qF=class extends vt{constructor(e){super(e,4)}};ee.RequestType4=qF;var $F=class extends vt{constructor(e){super(e,5)}};ee.RequestType5=$F;var BF=class extends vt{constructor(e){super(e,6)}};ee.RequestType6=BF;var jF=class extends vt{constructor(e){super(e,7)}};ee.RequestType7=jF;var UF=class extends vt{constructor(e){super(e,8)}};ee.RequestType8=UF;var HF=class extends vt{constructor(e){super(e,9)}};ee.RequestType9=HF;var WF=class extends vt{constructor(e,t=ui.auto){super(e,1);this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};ee.NotificationType=WF;var zF=class extends vt{constructor(e){super(e,0)}};ee.NotificationType0=zF;var VF=class extends vt{constructor(e,t=ui.auto){super(e,1);this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};ee.NotificationType1=VF;var GF=class extends vt{constructor(e){super(e,2)}};ee.NotificationType2=GF;var KF=class extends vt{constructor(e){super(e,3)}};ee.NotificationType3=KF;var JF=class extends vt{constructor(e){super(e,4)}};ee.NotificationType4=JF;var YF=class extends vt{constructor(e){super(e,5)}};ee.NotificationType5=YF;var XF=class extends vt{constructor(e){super(e,6)}};ee.NotificationType6=XF;var ZF=class extends vt{constructor(e){super(e,7)}};ee.NotificationType7=ZF;var QF=class extends vt{constructor(e){super(e,8)}};ee.NotificationType8=QF;var eM=class extends vt{constructor(e){super(e,9)}};ee.NotificationType9=eM;function bie(r){let e=r;return e&&La.string(e.method)&&(La.string(e.id)||La.number(e.id))}ee.isRequestMessage=bie;function yie(r){let e=r;return e&&La.string(e.method)&&r.id===void 0}ee.isNotificationMessage=yie;function wie(r){let e=r;return e&&(e.result!==void 0||!!e.error)&&(La.string(e.id)||La.number(e.id)||e.id===null)}ee.isResponseMessage=wie});var pc=x(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.Emitter=Aa.Event=void 0;var xie=Cs(),Sie;(function(r){let e={dispose(){}};r.None=function(){return e}})(Sie=Aa.Event||(Aa.Event={}));var tM=class{add(e,t=null,i){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(i)&&i.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let i=!1;for(let n=0,s=this._callbacks.length;n{this._callbacks||(this._callbacks=new tM),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);let n={dispose:()=>{!this._callbacks||(this._callbacks.remove(e,t),n.dispose=sd._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(i)&&i.push(n),n}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};Aa.Emitter=sd;sd._noop=function(){}});var MS=x(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.CancellationTokenSource=Fa.CancellationToken=void 0;var iM=Cs(),Cie=hc(),LS=pc(),AS;(function(r){r.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:LS.Event.None}),r.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:LS.Event.None});function e(t){let i=t;return i&&(i===r.None||i===r.Cancelled||Cie.boolean(i.isCancellationRequested)&&!!i.onCancellationRequested)}r.is=e})(AS=Fa.CancellationToken||(Fa.CancellationToken={}));var _ie=Object.freeze(function(r,e){let t=iM.default().timer.setTimeout(r.bind(e),0);return{dispose(){iM.default().timer.clearTimeout(t)}}}),FS=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?_ie:(this._emitter||(this._emitter=new LS.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},rM=class{get token(){return this._token||(this._token=new FS),this._token}cancel(){this._token?this._token.cancel():this._token=AS.Cancelled}dispose(){this._token?this._token instanceof FS&&this._token.dispose():this._token=AS.None}};Fa.CancellationTokenSource=rM});var sM=x(_s=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});_s.ReadableStreamMessageReader=_s.AbstractMessageReader=_s.MessageReader=void 0;var Nm=Cs(),mc=hc(),NS=pc(),Eie;(function(r){function e(t){let i=t;return i&&mc.func(i.listen)&&mc.func(i.dispose)&&mc.func(i.onError)&&mc.func(i.onClose)&&mc.func(i.onPartialMessage)}r.is=e})(Eie=_s.MessageReader||(_s.MessageReader={}));var qS=class{constructor(){this.errorEmitter=new NS.Emitter,this.closeEmitter=new NS.Emitter,this.partialMessageEmitter=new NS.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${mc.string(e.message)?e.message:"unknown"}`)}};_s.AbstractMessageReader=qS;var $S;(function(r){function e(t){var i;let n,s,o,a=new Map,l,c=new Map;if(t===void 0||typeof t=="string")n=t!=null?t:"utf-8";else{if(n=(i=t.charset)!==null&&i!==void 0?i:"utf-8",t.contentDecoder!==void 0&&(o=t.contentDecoder,a.set(o.name,o)),t.contentDecoders!==void 0)for(let u of t.contentDecoders)a.set(u.name,u);if(t.contentTypeDecoder!==void 0&&(l=t.contentTypeDecoder,c.set(l.name,l)),t.contentTypeDecoders!==void 0)for(let u of t.contentTypeDecoders)c.set(u.name,u)}return l===void 0&&(l=Nm.default().applicationJson.decoder,c.set(l.name,l)),{charset:n,contentDecoder:o,contentDecoders:a,contentTypeDecoder:l,contentTypeDecoders:c}}r.fromOptions=e})($S||($S={}));var nM=class extends qS{constructor(e,t){super();this.readable=e,this.options=$S.fromOptions(t),this.buffer=Nm.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let t=this.readable.onData(i=>{this.onData(i)});return this.readable.onError(i=>this.fireError(i)),this.readable.onClose(()=>this.fireClose()),t}onData(e){for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders();if(!n)return;let s=n.get("Content-Length");if(!s)throw new Error("Header must provide a Content-Length property.");let o=parseInt(s);if(isNaN(o))throw new Error("Content-Length value must be a number.");this.nextMessageLength=o}let t=this.buffer.tryReadBody(this.nextMessageLength);if(t===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1;let i;this.options.contentDecoder!==void 0?i=this.options.contentDecoder.decode(t):i=Promise.resolve(t),i.then(n=>{this.options.contentTypeDecoder.decode(n,this.options).then(s=>{this.callback(s)},s=>{this.fireError(s)})},n=>{this.fireError(n)})}}clearPartialMessageTimer(){this.partialMessageTimer&&(Nm.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=Nm.default().timer.setTimeout((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};_s.ReadableStreamMessageReader=nM});var aM=x(qm=>{"use strict";Object.defineProperty(qm,"__esModule",{value:!0});qm.Semaphore=void 0;var Tie=Cs(),oM=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((t,i)=>{this._waiting.push({thunk:e,resolve:t,reject:i}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||Tie.default().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let t=e.thunk();t instanceof Promise?t.then(i=>{this._active--,e.resolve(i),this.runNext()},i=>{this._active--,e.reject(i),this.runNext()}):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}};qm.Semaphore=oM});var dM=x(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});Es.WriteableStreamMessageWriter=Es.AbstractMessageWriter=Es.MessageWriter=void 0;var lM=Cs(),od=hc(),Die=aM(),cM=pc(),Rie="Content-Length: ",uM=`\r +`,Pie;(function(r){function e(t){let i=t;return i&&od.func(i.dispose)&&od.func(i.onClose)&&od.func(i.onError)&&od.func(i.write)}r.is=e})(Pie=Es.MessageWriter||(Es.MessageWriter={}));var BS=class{constructor(){this.errorEmitter=new cM.Emitter,this.closeEmitter=new cM.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,i){this.errorEmitter.fire([this.asError(e),t,i])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${od.string(e.message)?e.message:"unknown"}`)}};Es.AbstractMessageWriter=BS;var jS;(function(r){function e(t){var i,n;return t===void 0||typeof t=="string"?{charset:t!=null?t:"utf-8",contentTypeEncoder:lM.default().applicationJson.encoder}:{charset:(i=t.charset)!==null&&i!==void 0?i:"utf-8",contentEncoder:t.contentEncoder,contentTypeEncoder:(n=t.contentTypeEncoder)!==null&&n!==void 0?n:lM.default().applicationJson.encoder}}r.fromOptions=e})(jS||(jS={}));var fM=class extends BS{constructor(e,t){super();this.writable=e,this.options=jS.fromOptions(t),this.errorCount=0,this.writeSemaphore=new Die.Semaphore(1),this.writable.onError(i=>this.fireError(i)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(i=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(i):i).then(i=>{let n=[];return n.push(Rie,i.byteLength.toString(),uM),n.push(uM),this.doWrite(e,n,i)},i=>{throw this.fireError(i),i}))}async doWrite(e,t,i){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(i)}catch(n){return this.handleError(n,e),Promise.reject(n)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}};Es.WriteableStreamMessageWriter=fM});var pM=x(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});Ts.LRUCache=Ts.LinkedMap=Ts.Touch=void 0;var Bi;(function(r){r.None=0,r.First=1,r.AsOld=r.First,r.Last=2,r.AsNew=r.Last})(Bi=Ts.Touch||(Ts.Touch={}));var US=class{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return(e=this._head)===null||e===void 0?void 0:e.value}get last(){var e;return(e=this._tail)===null||e===void 0?void 0:e.value}has(e){return this._map.has(e)}get(e,t=Bi.None){let i=this._map.get(e);if(!!i)return t!==Bi.None&&this.touch(i,t),i.value}set(e,t,i=Bi.None){let n=this._map.get(e);if(n)n.value=t,i!==Bi.None&&this.touch(n,i);else{switch(n={key:e,value:t,next:void 0,previous:void 0},i){case Bi.None:this.addItemLast(n);break;case Bi.First:this.addItemFirst(n);break;case Bi.Last:this.addItemLast(n);break;default:this.addItemLast(n);break}this._map.set(e,n),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(!!t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let i=this._state,n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");n=n.next}}keys(){let e=this,t=this._state,i=this._head,n={[Symbol.iterator](){return n},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){let s={value:i.key,done:!1};return i=i.next,s}else return{value:void 0,done:!0}}};return n}values(){let e=this,t=this._state,i=this._head,n={[Symbol.iterator](){return n},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){let s={value:i.value,done:!1};return i=i.next,s}else return{value:void 0,done:!0}}};return n}entries(){let e=this,t=this._state,i=this._head,n={[Symbol.iterator](){return n},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){let s={value:[i.key,i.value],done:!1};return i=i.next,s}else return{value:void 0,done:!0}}};return n}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.next,i--;this._head=t,this._size=i,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,i=e.previous;if(!t||!i)throw new Error("Invalid list");t.previous=i,i.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==Bi.First&&t!==Bi.Last)){if(t===Bi.First){if(e===this._head)return;let i=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(i.previous=n,n.next=i),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===Bi.Last){if(e===this._tail)return;let i=e.next,n=e.previous;e===this._head?(i.previous=void 0,this._head=i):(i.previous=n,n.next=i),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,i)=>{e.push([i,t])}),e}fromJSON(e){this.clear();for(let[t,i]of e)this.set(t,i)}};Ts.LinkedMap=US;var hM=class extends US{constructor(e,t=1){super();this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=Bi.AsNew){return super.get(e,t)}peek(e){return super.get(e,Bi.None)}set(e,t){return super.set(e,t,Bi.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Ts.LRUCache=hM});var wM=x(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.createMessageConnection=ge.ConnectionOptions=ge.CancellationStrategy=ge.CancellationSenderStrategy=ge.CancellationReceiverStrategy=ge.ConnectionStrategy=ge.ConnectionError=ge.ConnectionErrors=ge.LogTraceNotification=ge.SetTraceNotification=ge.TraceFormat=ge.Trace=ge.NullLogger=ge.ProgressType=void 0;var mM=Cs(),ti=hc(),pe=OS(),gM=pM(),ad=pc(),HS=MS(),ld;(function(r){r.type=new pe.NotificationType("$/cancelRequest")})(ld||(ld={}));var $m;(function(r){r.type=new pe.NotificationType("$/progress")})($m||($m={}));var vM=class{constructor(){}};ge.ProgressType=vM;var WS;(function(r){function e(t){return ti.func(t)}r.is=e})(WS||(WS={}));ge.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Ut;(function(r){r[r.Off=0]="Off",r[r.Messages=1]="Messages",r[r.Verbose=2]="Verbose"})(Ut=ge.Trace||(ge.Trace={}));(function(r){function e(i){if(!ti.string(i))return r.Off;switch(i=i.toLowerCase(),i){case"off":return r.Off;case"messages":return r.Messages;case"verbose":return r.Verbose;default:return r.Off}}r.fromString=e;function t(i){switch(i){case r.Off:return"off";case r.Messages:return"messages";case r.Verbose:return"verbose";default:return"off"}}r.toString=t})(Ut=ge.Trace||(ge.Trace={}));var gn;(function(r){r.Text="text",r.JSON="json"})(gn=ge.TraceFormat||(ge.TraceFormat={}));(function(r){function e(t){return t=t.toLowerCase(),t==="json"?r.JSON:r.Text}r.fromString=e})(gn=ge.TraceFormat||(ge.TraceFormat={}));var bM;(function(r){r.type=new pe.NotificationType("$/setTrace")})(bM=ge.SetTraceNotification||(ge.SetTraceNotification={}));var zS;(function(r){r.type=new pe.NotificationType("$/logTrace")})(zS=ge.LogTraceNotification||(ge.LogTraceNotification={}));var Bm;(function(r){r[r.Closed=1]="Closed",r[r.Disposed=2]="Disposed",r[r.AlreadyListening=3]="AlreadyListening"})(Bm=ge.ConnectionErrors||(ge.ConnectionErrors={}));var Ma=class extends Error{constructor(e,t){super(t);this.code=e,Object.setPrototypeOf(this,Ma.prototype)}};ge.ConnectionError=Ma;var yM;(function(r){function e(t){let i=t;return i&&ti.func(i.cancelUndispatched)}r.is=e})(yM=ge.ConnectionStrategy||(ge.ConnectionStrategy={}));var VS;(function(r){r.Message=Object.freeze({createCancellationTokenSource(t){return new HS.CancellationTokenSource}});function e(t){let i=t;return i&&ti.func(i.createCancellationTokenSource)}r.is=e})(VS=ge.CancellationReceiverStrategy||(ge.CancellationReceiverStrategy={}));var GS;(function(r){r.Message=Object.freeze({sendCancellation(t,i){t.sendNotification(ld.type,{id:i})},cleanup(t){}});function e(t){let i=t;return i&&ti.func(i.sendCancellation)&&ti.func(i.cleanup)}r.is=e})(GS=ge.CancellationSenderStrategy||(ge.CancellationSenderStrategy={}));var KS;(function(r){r.Message=Object.freeze({receiver:VS.Message,sender:GS.Message});function e(t){let i=t;return i&&VS.is(i.receiver)&&GS.is(i.sender)}r.is=e})(KS=ge.CancellationStrategy||(ge.CancellationStrategy={}));var kie;(function(r){function e(t){let i=t;return i&&(KS.is(i.cancellationStrategy)||yM.is(i.connectionStrategy))}r.is=e})(kie=ge.ConnectionOptions||(ge.ConnectionOptions={}));var vn;(function(r){r[r.New=1]="New",r[r.Listening=2]="Listening",r[r.Closed=3]="Closed",r[r.Disposed=4]="Disposed"})(vn||(vn={}));function Iie(r,e,t,i){let n=t!==void 0?t:ge.NullLogger,s=0,o=0,a=0,l="2.0",c,u=Object.create(null),f,d=Object.create(null),h=new Map,p,g=new gM.LinkedMap,b=Object.create(null),y=Object.create(null),S=Ut.Off,w=gn.Text,_,L=vn.New,$=new ad.Emitter,I=new ad.Emitter,W=new ad.Emitter,A=new ad.Emitter,M=new ad.Emitter,k=i&&i.cancellationStrategy?i.cancellationStrategy:KS.Message;function F(P){if(P===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+P.toString()}function j(P){return P===null?"res-unknown-"+(++a).toString():"res-"+P.toString()}function X(){return"not-"+(++o).toString()}function ae(P,z){pe.isRequestMessage(z)?P.set(F(z.id),z):pe.isResponseMessage(z)?P.set(j(z.id),z):P.set(X(),z)}function Pe(P){}function ke(){return L===vn.Listening}function Qe(){return L===vn.Closed}function St(){return L===vn.Disposed}function bi(){(L===vn.New||L===vn.Listening)&&(L=vn.Closed,I.fire(void 0))}function eo(P){$.fire([P,void 0,void 0])}function ms(P){$.fire(P)}r.onClose(bi),r.onError(eo),e.onClose(bi),e.onError(ms);function xp(){p||g.size===0||(p=mM.default().timer.setImmediate(()=>{p=void 0,Sp()}))}function Sp(){if(g.size===0)return;let P=g.shift();try{pe.isRequestMessage(P)?Il(P):pe.isNotificationMessage(P)?Ie(P):pe.isResponseMessage(P)?Ol(P):Se(P)}finally{xp()}}let Fw=P=>{try{if(pe.isNotificationMessage(P)&&P.method===ld.type.method){let z=F(P.params.id),K=g.get(z);if(pe.isRequestMessage(K)){let ce=i==null?void 0:i.connectionStrategy,ze=ce&&ce.cancelUndispatched?ce.cancelUndispatched(K,Pe):Pe(K);if(ze&&(ze.error!==void 0||ze.result!==void 0)){g.delete(z),ze.id=K.id,Dt(ze,P.method,Date.now()),e.write(ze);return}}}ae(g,P)}finally{xp()}};function Il(P){if(St())return;function z(Ke,Pt,Je){let Yt={jsonrpc:l,id:P.id};Ke instanceof pe.ResponseError?Yt.error=Ke.toJson():Yt.result=Ke===void 0?null:Ke,Dt(Yt,Pt,Je),e.write(Yt)}function K(Ke,Pt,Je){let Yt={jsonrpc:l,id:P.id,error:Ke.toJson()};Dt(Yt,Pt,Je),e.write(Yt)}function ce(Ke,Pt,Je){Ke===void 0&&(Ke=null);let Yt={jsonrpc:l,id:P.id,result:Ke};Dt(Yt,Pt,Je),e.write(Yt)}un(P);let ze=u[P.method],Rt,Jt;ze&&(Rt=ze.type,Jt=ze.handler);let Qt=Date.now();if(Jt||c){let Ke=String(P.id),Pt=k.receiver.createCancellationTokenSource(Ke);y[Ke]=Pt;try{let Je;if(Jt)if(P.params===void 0){if(Rt!==void 0&&Rt.numberOfParams!==0){K(new pe.ResponseError(pe.ErrorCodes.InvalidParams,`Request ${P.method} defines ${Rt.numberOfParams} params but recevied none.`),P.method,Qt);return}Je=Jt(Pt.token)}else if(Array.isArray(P.params)){if(Rt!==void 0&&Rt.parameterStructures===pe.ParameterStructures.byName){K(new pe.ResponseError(pe.ErrorCodes.InvalidParams,`Request ${P.method} defines parameters by name but received parameters by position`),P.method,Qt);return}Je=Jt(...P.params,Pt.token)}else{if(Rt!==void 0&&Rt.parameterStructures===pe.ParameterStructures.byPosition){K(new pe.ResponseError(pe.ErrorCodes.InvalidParams,`Request ${P.method} defines parameters by position but received parameters by name`),P.method,Qt);return}Je=Jt(P.params,Pt.token)}else c&&(Je=c(P.method,P.params,Pt.token));let Yt=Je;Je?Yt.then?Yt.then(Gi=>{delete y[Ke],z(Gi,P.method,Qt)},Gi=>{delete y[Ke],Gi instanceof pe.ResponseError?K(Gi,P.method,Qt):Gi&&ti.string(Gi.message)?K(new pe.ResponseError(pe.ErrorCodes.InternalError,`Request ${P.method} failed with message: ${Gi.message}`),P.method,Qt):K(new pe.ResponseError(pe.ErrorCodes.InternalError,`Request ${P.method} failed unexpectedly without providing any details.`),P.method,Qt)}):(delete y[Ke],z(Je,P.method,Qt)):(delete y[Ke],ce(Je,P.method,Qt))}catch(Je){delete y[Ke],Je instanceof pe.ResponseError?z(Je,P.method,Qt):Je&&ti.string(Je.message)?K(new pe.ResponseError(pe.ErrorCodes.InternalError,`Request ${P.method} failed with message: ${Je.message}`),P.method,Qt):K(new pe.ResponseError(pe.ErrorCodes.InternalError,`Request ${P.method} failed unexpectedly without providing any details.`),P.method,Qt)}}else K(new pe.ResponseError(pe.ErrorCodes.MethodNotFound,`Unhandled method ${P.method}`),P.method,Qt)}function Ol(P){if(!St())if(P.id===null)P.error?n.error(`Received response message without id: Error is: +${JSON.stringify(P.error,void 0,4)}`):n.error("Received response message without id. No further error information provided.");else{let z=String(P.id),K=b[z];if(mr(P,K),K){delete b[z];try{if(P.error){let ce=P.error;K.reject(new pe.ResponseError(ce.code,ce.message,ce.data))}else if(P.result!==void 0)K.resolve(P.result);else throw new Error("Should never happen.")}catch(ce){ce.message?n.error(`Response handler '${K.method}' failed with message: ${ce.message}`):n.error(`Response handler '${K.method}' failed unexpectedly.`)}}}}function Ie(P){if(St())return;let z,K;if(P.method===ld.type.method)K=ce=>{let ze=ce.id,Rt=y[String(ze)];Rt&&Rt.cancel()};else{let ce=d[P.method];ce&&(K=ce.handler,z=ce.type)}if(K||f)try{fn(P),K?P.params===void 0?(z!==void 0&&z.numberOfParams!==0&&z.parameterStructures!==pe.ParameterStructures.byName&&n.error(`Notification ${P.method} defines ${z.numberOfParams} params but recevied none.`),K()):Array.isArray(P.params)?(z!==void 0&&(z.parameterStructures===pe.ParameterStructures.byName&&n.error(`Notification ${P.method} defines parameters by name but received parameters by position`),z.numberOfParams!==P.params.length&&n.error(`Notification ${P.method} defines ${z.numberOfParams} params but received ${P.params.length} argumennts`)),K(...P.params)):(z!==void 0&&z.parameterStructures===pe.ParameterStructures.byPosition&&n.error(`Notification ${P.method} defines parameters by position but received parameters by name`),K(P.params)):f&&f(P.method,P.params)}catch(ce){ce.message?n.error(`Notification handler '${P.method}' failed with message: ${ce.message}`):n.error(`Notification handler '${P.method}' failed unexpectedly.`)}else W.fire(P)}function Se(P){if(!P){n.error("Received empty message.");return}n.error(`Received message which is neither a response nor a notification message: +${JSON.stringify(P,null,4)}`);let z=P;if(ti.string(z.id)||ti.number(z.id)){let K=String(z.id),ce=b[K];ce&&ce.reject(new Error("The received response has neither a result nor an error property."))}}function Ce(P){if(!(S===Ut.Off||!_))if(w===gn.Text){let z;S===Ut.Verbose&&P.params&&(z=`Params: ${JSON.stringify(P.params,null,4)} + +`),_.log(`Sending request '${P.method} - (${P.id})'.`,z)}else to("send-request",P)}function Oe(P){if(!(S===Ut.Off||!_))if(w===gn.Text){let z;S===Ut.Verbose&&(P.params?z=`Params: ${JSON.stringify(P.params,null,4)} + +`:z=`No parameters provided. + +`),_.log(`Sending notification '${P.method}'.`,z)}else to("send-notification",P)}function Dt(P,z,K){if(!(S===Ut.Off||!_))if(w===gn.Text){let ce;S===Ut.Verbose&&(P.error&&P.error.data?ce=`Error data: ${JSON.stringify(P.error.data,null,4)} + +`:P.result?ce=`Result: ${JSON.stringify(P.result,null,4)} + +`:P.error===void 0&&(ce=`No result returned. + +`)),_.log(`Sending response '${z} - (${P.id})'. Processing request took ${Date.now()-K}ms`,ce)}else to("send-response",P)}function un(P){if(!(S===Ut.Off||!_))if(w===gn.Text){let z;S===Ut.Verbose&&P.params&&(z=`Params: ${JSON.stringify(P.params,null,4)} + +`),_.log(`Received request '${P.method} - (${P.id})'.`,z)}else to("receive-request",P)}function fn(P){if(!(S===Ut.Off||!_||P.method===zS.type.method))if(w===gn.Text){let z;S===Ut.Verbose&&(P.params?z=`Params: ${JSON.stringify(P.params,null,4)} + +`:z=`No parameters provided. + +`),_.log(`Received notification '${P.method}'.`,z)}else to("receive-notification",P)}function mr(P,z){if(!(S===Ut.Off||!_))if(w===gn.Text){let K;if(S===Ut.Verbose&&(P.error&&P.error.data?K=`Error data: ${JSON.stringify(P.error.data,null,4)} + +`:P.result?K=`Result: ${JSON.stringify(P.result,null,4)} + +`:P.error===void 0&&(K=`No result returned. + +`)),z){let ce=P.error?` Request failed: ${P.error.message} (${P.error.code}).`:"";_.log(`Received response '${z.method} - (${P.id})' in ${Date.now()-z.timerStart}ms.${ce}`,K)}else _.log(`Received response ${P.id} without active response promise.`,K)}else to("receive-response",P)}function to(P,z){if(!_||S===Ut.Off)return;let K={isLSPMessage:!0,type:P,message:z,timestamp:Date.now()};_.log(K)}function io(){if(Qe())throw new Ma(Bm.Closed,"Connection is closed.");if(St())throw new Ma(Bm.Disposed,"Connection is disposed.")}function y9(){if(ke())throw new Ma(Bm.AlreadyListening,"Connection is already listening")}function w9(){if(!ke())throw new Error("Call listen() first.")}function uf(P){return P===void 0?null:P}function JD(P){if(P!==null)return P}function YD(P){return P!=null&&!Array.isArray(P)&&typeof P=="object"}function Mw(P,z){switch(P){case pe.ParameterStructures.auto:return YD(z)?JD(z):[uf(z)];case pe.ParameterStructures.byName:if(!YD(z))throw new Error("Recevied parameters by name but param is not an object literal.");return JD(z);case pe.ParameterStructures.byPosition:return[uf(z)];default:throw new Error(`Unknown parameter structure ${P.toString()}`)}}function XD(P,z){let K,ce=P.numberOfParams;switch(ce){case 0:K=void 0;break;case 1:K=Mw(P.parameterStructures,z[0]);break;default:K=[];for(let ze=0;ze{io();let K,ce;if(ti.string(P)){K=P;let Rt=z[0],Jt=0,Qt=pe.ParameterStructures.auto;pe.ParameterStructures.is(Rt)&&(Jt=1,Qt=Rt);let Ke=z.length,Pt=Ke-Jt;switch(Pt){case 0:ce=void 0;break;case 1:ce=Mw(Qt,z[Jt]);break;default:if(Qt===pe.ParameterStructures.byName)throw new Error(`Recevied ${Pt} parameters for 'by Name' notification parameter structure.`);ce=z.slice(Jt,Ke).map(Je=>uf(Je));break}}else{let Rt=z;K=P.method,ce=XD(P,Rt)}let ze={jsonrpc:l,method:K,params:ce};Oe(ze),e.write(ze)},onNotification:(P,z)=>{io();let K;return ti.func(P)?f=P:z&&(ti.string(P)?(K=P,d[P]={type:void 0,handler:z}):(K=P.method,d[P.method]={type:P,handler:z})),{dispose:()=>{K!==void 0?delete d[K]:f=void 0}}},onProgress:(P,z,K)=>{if(h.has(z))throw new Error(`Progress handler for token ${z} already registered`);return h.set(z,K),{dispose:()=>{h.delete(z)}}},sendProgress:(P,z,K)=>{Ll.sendNotification($m.type,{token:z,value:K})},onUnhandledProgress:A.event,sendRequest:(P,...z)=>{io(),w9();let K,ce,ze;if(ti.string(P)){K=P;let Ke=z[0],Pt=z[z.length-1],Je=0,Yt=pe.ParameterStructures.auto;pe.ParameterStructures.is(Ke)&&(Je=1,Yt=Ke);let Gi=z.length;HS.CancellationToken.is(Pt)&&(Gi=Gi-1,ze=Pt);let la=Gi-Je;switch(la){case 0:ce=void 0;break;case 1:ce=Mw(Yt,z[Je]);break;default:if(Yt===pe.ParameterStructures.byName)throw new Error(`Recevied ${la} parameters for 'by Name' request parameter structure.`);ce=z.slice(Je,Gi).map(ro=>uf(ro));break}}else{let Ke=z;K=P.method,ce=XD(P,Ke);let Pt=P.numberOfParams;ze=HS.CancellationToken.is(Ke[Pt])?Ke[Pt]:void 0}let Rt=s++,Jt;return ze&&(Jt=ze.onCancellationRequested(()=>{k.sender.sendCancellation(Ll,Rt)})),new Promise((Ke,Pt)=>{let Je={jsonrpc:l,id:Rt,method:K,params:ce},Yt=ro=>{Ke(ro),k.sender.cleanup(Rt),Jt==null||Jt.dispose()},Gi=ro=>{Pt(ro),k.sender.cleanup(Rt),Jt==null||Jt.dispose()},la={method:K,timerStart:Date.now(),resolve:Yt,reject:Gi};Ce(Je);try{e.write(Je)}catch(ro){la.reject(new pe.ResponseError(pe.ErrorCodes.MessageWriteError,ro.message?ro.message:"Unknown reason")),la=null}la&&(b[String(Rt)]=la)})},onRequest:(P,z)=>{io();let K=null;return WS.is(P)?(K=void 0,c=P):ti.string(P)?(K=null,z!==void 0&&(K=P,u[P]={handler:z,type:void 0})):z!==void 0&&(K=P.method,u[P.method]={type:P,handler:z}),{dispose:()=>{K!==null&&(K!==void 0?delete u[K]:c=void 0)}}},trace:(P,z,K)=>{let ce=!1,ze=gn.Text;K!==void 0&&(ti.boolean(K)?ce=K:(ce=K.sendNotification||!1,ze=K.traceFormat||gn.Text)),S=P,w=ze,S===Ut.Off?_=void 0:_=z,ce&&!Qe()&&!St()&&Ll.sendNotification(bM.type,{value:Ut.toString(P)})},onError:$.event,onClose:I.event,onUnhandledNotification:W.event,onDispose:M.event,end:()=>{e.end()},dispose:()=>{if(St())return;L=vn.Disposed,M.fire(void 0);let P=new Error("Connection got disposed.");Object.keys(b).forEach(z=>{b[z].reject(P)}),b=Object.create(null),y=Object.create(null),g=new gM.LinkedMap,ti.func(e.dispose)&&e.dispose(),ti.func(r.dispose)&&r.dispose()},listen:()=>{io(),y9(),L=vn.Listening,r.listen(Fw)},inspect:()=>{mM.default().console.log("inspect")}};return Ll.onNotification(zS.type,P=>{S===Ut.Off||!_||_.log(P.message,S===Ut.Verbose?P.verbose:void 0)}),Ll.onNotification($m.type,P=>{let z=h.get(P.token);z?z(P.value):A.fire(P)}),Ll}ge.createMessageConnection=Iie});var XS=x(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.CancellationSenderStrategy=V.CancellationReceiverStrategy=V.ConnectionError=V.ConnectionErrors=V.LogTraceNotification=V.SetTraceNotification=V.TraceFormat=V.Trace=V.ProgressType=V.createMessageConnection=V.NullLogger=V.ConnectionOptions=V.ConnectionStrategy=V.WriteableStreamMessageWriter=V.AbstractMessageWriter=V.MessageWriter=V.ReadableStreamMessageReader=V.AbstractMessageReader=V.MessageReader=V.CancellationToken=V.CancellationTokenSource=V.Emitter=V.Event=V.Disposable=V.ParameterStructures=V.NotificationType9=V.NotificationType8=V.NotificationType7=V.NotificationType6=V.NotificationType5=V.NotificationType4=V.NotificationType3=V.NotificationType2=V.NotificationType1=V.NotificationType0=V.NotificationType=V.ErrorCodes=V.ResponseError=V.RequestType9=V.RequestType8=V.RequestType7=V.RequestType6=V.RequestType5=V.RequestType4=V.RequestType3=V.RequestType2=V.RequestType1=V.RequestType0=V.RequestType=V.RAL=void 0;V.CancellationStrategy=void 0;var ft=OS();Object.defineProperty(V,"RequestType",{enumerable:!0,get:function(){return ft.RequestType}});Object.defineProperty(V,"RequestType0",{enumerable:!0,get:function(){return ft.RequestType0}});Object.defineProperty(V,"RequestType1",{enumerable:!0,get:function(){return ft.RequestType1}});Object.defineProperty(V,"RequestType2",{enumerable:!0,get:function(){return ft.RequestType2}});Object.defineProperty(V,"RequestType3",{enumerable:!0,get:function(){return ft.RequestType3}});Object.defineProperty(V,"RequestType4",{enumerable:!0,get:function(){return ft.RequestType4}});Object.defineProperty(V,"RequestType5",{enumerable:!0,get:function(){return ft.RequestType5}});Object.defineProperty(V,"RequestType6",{enumerable:!0,get:function(){return ft.RequestType6}});Object.defineProperty(V,"RequestType7",{enumerable:!0,get:function(){return ft.RequestType7}});Object.defineProperty(V,"RequestType8",{enumerable:!0,get:function(){return ft.RequestType8}});Object.defineProperty(V,"RequestType9",{enumerable:!0,get:function(){return ft.RequestType9}});Object.defineProperty(V,"ResponseError",{enumerable:!0,get:function(){return ft.ResponseError}});Object.defineProperty(V,"ErrorCodes",{enumerable:!0,get:function(){return ft.ErrorCodes}});Object.defineProperty(V,"NotificationType",{enumerable:!0,get:function(){return ft.NotificationType}});Object.defineProperty(V,"NotificationType0",{enumerable:!0,get:function(){return ft.NotificationType0}});Object.defineProperty(V,"NotificationType1",{enumerable:!0,get:function(){return ft.NotificationType1}});Object.defineProperty(V,"NotificationType2",{enumerable:!0,get:function(){return ft.NotificationType2}});Object.defineProperty(V,"NotificationType3",{enumerable:!0,get:function(){return ft.NotificationType3}});Object.defineProperty(V,"NotificationType4",{enumerable:!0,get:function(){return ft.NotificationType4}});Object.defineProperty(V,"NotificationType5",{enumerable:!0,get:function(){return ft.NotificationType5}});Object.defineProperty(V,"NotificationType6",{enumerable:!0,get:function(){return ft.NotificationType6}});Object.defineProperty(V,"NotificationType7",{enumerable:!0,get:function(){return ft.NotificationType7}});Object.defineProperty(V,"NotificationType8",{enumerable:!0,get:function(){return ft.NotificationType8}});Object.defineProperty(V,"NotificationType9",{enumerable:!0,get:function(){return ft.NotificationType9}});Object.defineProperty(V,"ParameterStructures",{enumerable:!0,get:function(){return ft.ParameterStructures}});var Oie=PS();Object.defineProperty(V,"Disposable",{enumerable:!0,get:function(){return Oie.Disposable}});var xM=pc();Object.defineProperty(V,"Event",{enumerable:!0,get:function(){return xM.Event}});Object.defineProperty(V,"Emitter",{enumerable:!0,get:function(){return xM.Emitter}});var SM=MS();Object.defineProperty(V,"CancellationTokenSource",{enumerable:!0,get:function(){return SM.CancellationTokenSource}});Object.defineProperty(V,"CancellationToken",{enumerable:!0,get:function(){return SM.CancellationToken}});var JS=sM();Object.defineProperty(V,"MessageReader",{enumerable:!0,get:function(){return JS.MessageReader}});Object.defineProperty(V,"AbstractMessageReader",{enumerable:!0,get:function(){return JS.AbstractMessageReader}});Object.defineProperty(V,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return JS.ReadableStreamMessageReader}});var YS=dM();Object.defineProperty(V,"MessageWriter",{enumerable:!0,get:function(){return YS.MessageWriter}});Object.defineProperty(V,"AbstractMessageWriter",{enumerable:!0,get:function(){return YS.AbstractMessageWriter}});Object.defineProperty(V,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return YS.WriteableStreamMessageWriter}});var Qi=wM();Object.defineProperty(V,"ConnectionStrategy",{enumerable:!0,get:function(){return Qi.ConnectionStrategy}});Object.defineProperty(V,"ConnectionOptions",{enumerable:!0,get:function(){return Qi.ConnectionOptions}});Object.defineProperty(V,"NullLogger",{enumerable:!0,get:function(){return Qi.NullLogger}});Object.defineProperty(V,"createMessageConnection",{enumerable:!0,get:function(){return Qi.createMessageConnection}});Object.defineProperty(V,"ProgressType",{enumerable:!0,get:function(){return Qi.ProgressType}});Object.defineProperty(V,"Trace",{enumerable:!0,get:function(){return Qi.Trace}});Object.defineProperty(V,"TraceFormat",{enumerable:!0,get:function(){return Qi.TraceFormat}});Object.defineProperty(V,"SetTraceNotification",{enumerable:!0,get:function(){return Qi.SetTraceNotification}});Object.defineProperty(V,"LogTraceNotification",{enumerable:!0,get:function(){return Qi.LogTraceNotification}});Object.defineProperty(V,"ConnectionErrors",{enumerable:!0,get:function(){return Qi.ConnectionErrors}});Object.defineProperty(V,"ConnectionError",{enumerable:!0,get:function(){return Qi.ConnectionError}});Object.defineProperty(V,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Qi.CancellationReceiverStrategy}});Object.defineProperty(V,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Qi.CancellationSenderStrategy}});Object.defineProperty(V,"CancellationStrategy",{enumerable:!0,get:function(){return Qi.CancellationStrategy}});var Lie=Cs();V.RAL=Lie.default});var yc=x(Ge=>{"use strict";var Aie=Ge&&Ge.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),Fie=Ge&&Ge.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Aie(e,r,t)};Object.defineProperty(Ge,"__esModule",{value:!0});Ge.createMessageConnection=Ge.createServerSocketTransport=Ge.createClientSocketTransport=Ge.createServerPipeTransport=Ge.createClientPipeTransport=Ge.generateRandomPipeName=Ge.StreamMessageWriter=Ge.StreamMessageReader=Ge.SocketMessageWriter=Ge.SocketMessageReader=Ge.IPCMessageWriter=Ge.IPCMessageReader=void 0;var gc=PF();gc.default.install();var Wn=XS(),CM=require("path"),Mie=require("os"),Nie=require("crypto"),jm=require("net");Fie(XS(),Ge);var _M=class extends Wn.AbstractMessageReader{constructor(e){super();this.process=e;let t=this.process;t.on("error",i=>this.fireError(i)),t.on("close",()=>this.fireClose())}listen(e){return this.process.on("message",e),Wn.Disposable.create(()=>this.process.off("message",e))}};Ge.IPCMessageReader=_M;var EM=class extends Wn.AbstractMessageWriter{constructor(e){super();this.process=e,this.errorCount=0;let t=this.process;t.on("error",i=>this.fireError(i)),t.on("close",()=>this.fireClose)}write(e){try{return typeof this.process.send=="function"&&this.process.send(e,void 0,void 0,t=>{t?(this.errorCount++,this.handleError(t,e)):this.errorCount=0}),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}};Ge.IPCMessageWriter=EM;var vc=class extends Wn.ReadableStreamMessageReader{constructor(e,t="utf-8"){super(gc.default().stream.asReadableStream(e),t)}};Ge.SocketMessageReader=vc;var bc=class extends Wn.WriteableStreamMessageWriter{constructor(e,t){super(gc.default().stream.asWritableStream(e),t);this.socket=e}dispose(){super.dispose(),this.socket.destroy()}};Ge.SocketMessageWriter=bc;var ZS=class extends Wn.ReadableStreamMessageReader{constructor(e,t){super(gc.default().stream.asReadableStream(e),t)}};Ge.StreamMessageReader=ZS;var QS=class extends Wn.WriteableStreamMessageWriter{constructor(e,t){super(gc.default().stream.asWritableStream(e),t)}};Ge.StreamMessageWriter=QS;var TM=process.env.XDG_RUNTIME_DIR,qie=new Map([["linux",107],["darwin",103]]);function $ie(){let r=Nie.randomBytes(21).toString("hex");if(process.platform==="win32")return`\\\\.\\pipe\\vscode-jsonrpc-${r}-sock`;let e;TM?e=CM.join(TM,`vscode-ipc-${r}.sock`):e=CM.join(Mie.tmpdir(),`vscode-${r}.sock`);let t=qie.get(process.platform);return t!==void 0&&e.length>=t&&gc.default().console.warn(`WARNING: IPC handle "${e}" is longer than ${t} characters.`),e}Ge.generateRandomPipeName=$ie;function Bie(r,e="utf-8"){let t,i=new Promise((n,s)=>{t=n});return new Promise((n,s)=>{let o=jm.createServer(a=>{o.close(),t([new vc(a,e),new bc(a,e)])});o.on("error",s),o.listen(r,()=>{o.removeListener("error",s),n({onConnected:()=>i})})})}Ge.createClientPipeTransport=Bie;function jie(r,e="utf-8"){let t=jm.createConnection(r);return[new vc(t,e),new bc(t,e)]}Ge.createServerPipeTransport=jie;function Uie(r,e="utf-8"){let t,i=new Promise((n,s)=>{t=n});return new Promise((n,s)=>{let o=jm.createServer(a=>{o.close(),t([new vc(a,e),new bc(a,e)])});o.on("error",s),o.listen(r,"127.0.0.1",()=>{o.removeListener("error",s),n({onConnected:()=>i})})})}Ge.createClientSocketTransport=Uie;function Hie(r,e="utf-8"){let t=jm.createConnection(r,"127.0.0.1");return[new vc(t,e),new bc(t,e)]}Ge.createServerSocketTransport=Hie;function Wie(r){let e=r;return e.read!==void 0&&e.addListener!==void 0}function zie(r){let e=r;return e.write!==void 0&&e.addListener!==void 0}function Vie(r,e,t,i){t||(t=Wn.NullLogger);let n=Wie(r)?new ZS(r):r,s=zie(e)?new QS(e):e;return Wn.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),Wn.createMessageConnection(n,s,t,i)}Ge.createMessageConnection=Vie});var eC=x((Fye,DM)=>{"use strict";DM.exports=yc()});var PM={};Bn(PM,{AnnotatedTextEdit:()=>Rs,ChangeAnnotation:()=>Na,ChangeAnnotationIdentifier:()=>fi,CodeAction:()=>IC,CodeActionContext:()=>kC,CodeActionKind:()=>PC,CodeDescription:()=>cC,CodeLens:()=>OC,Color:()=>Um,ColorInformation:()=>rC,ColorPresentation:()=>nC,Command:()=>wc,CompletionItem:()=>bC,CompletionItemKind:()=>hC,CompletionItemTag:()=>mC,CompletionList:()=>yC,CreateFile:()=>xc,DeleteFile:()=>Cc,Diagnostic:()=>ud,DiagnosticRelatedInformation:()=>Hm,DiagnosticSeverity:()=>aC,DiagnosticTag:()=>lC,DocumentHighlight:()=>_C,DocumentHighlightKind:()=>CC,DocumentLink:()=>AC,DocumentSymbol:()=>RC,EOL:()=>Kie,FoldingRange:()=>oC,FoldingRangeKind:()=>sC,FormattingOptions:()=>LC,Hover:()=>wC,InsertReplaceEdit:()=>gC,InsertTextFormat:()=>pC,InsertTextMode:()=>vC,Location:()=>er,LocationLink:()=>iC,MarkedString:()=>hd,MarkupContent:()=>Vm,MarkupKind:()=>_c,OptionalVersionedTextDocumentIdentifier:()=>dd,ParameterInformation:()=>xC,Position:()=>Sr,Range:()=>Ae,RenameFile:()=>Sc,SelectionRange:()=>FC,SignatureInformation:()=>SC,SymbolInformation:()=>DC,SymbolKind:()=>EC,SymbolTag:()=>TC,TextDocument:()=>MC,TextDocumentEdit:()=>fd,TextDocumentIdentifier:()=>uC,TextDocumentItem:()=>dC,TextEdit:()=>Ds,VersionedTextDocumentIdentifier:()=>fC,WorkspaceChange:()=>Gie,WorkspaceEdit:()=>Wm,integer:()=>tC,uinteger:()=>cd});var tC,cd,Sr,Ae,er,iC,Um,rC,nC,sC,oC,Hm,aC,lC,cC,ud,wc,Ds,Na,fi,Rs,fd,xc,Sc,Cc,Wm,zm,RM,Gie,uC,fC,dd,dC,_c,Vm,hC,pC,mC,gC,vC,bC,yC,hd,wC,xC,SC,CC,_C,EC,TC,DC,RC,PC,kC,IC,OC,LC,AC,FC,Kie,MC,Jie,q,Ps=R(()=>{"use strict";(function(r){r.MIN_VALUE=-2147483648,r.MAX_VALUE=2147483647})(tC||(tC={}));(function(r){r.MIN_VALUE=0,r.MAX_VALUE=2147483647})(cd||(cd={}));(function(r){function e(i,n){return i===Number.MAX_VALUE&&(i=cd.MAX_VALUE),n===Number.MAX_VALUE&&(n=cd.MAX_VALUE),{line:i,character:n}}r.create=e;function t(i){var n=i;return q.objectLiteral(n)&&q.uinteger(n.line)&&q.uinteger(n.character)}r.is=t})(Sr||(Sr={}));(function(r){function e(i,n,s,o){if(q.uinteger(i)&&q.uinteger(n)&&q.uinteger(s)&&q.uinteger(o))return{start:Sr.create(i,n),end:Sr.create(s,o)};if(Sr.is(i)&&Sr.is(n))return{start:i,end:n};throw new Error("Range#create called with invalid arguments["+i+", "+n+", "+s+", "+o+"]")}r.create=e;function t(i){var n=i;return q.objectLiteral(n)&&Sr.is(n.start)&&Sr.is(n.end)}r.is=t})(Ae||(Ae={}));(function(r){function e(i,n){return{uri:i,range:n}}r.create=e;function t(i){var n=i;return q.defined(n)&&Ae.is(n.range)&&(q.string(n.uri)||q.undefined(n.uri))}r.is=t})(er||(er={}));(function(r){function e(i,n,s,o){return{targetUri:i,targetRange:n,targetSelectionRange:s,originSelectionRange:o}}r.create=e;function t(i){var n=i;return q.defined(n)&&Ae.is(n.targetRange)&&q.string(n.targetUri)&&(Ae.is(n.targetSelectionRange)||q.undefined(n.targetSelectionRange))&&(Ae.is(n.originSelectionRange)||q.undefined(n.originSelectionRange))}r.is=t})(iC||(iC={}));(function(r){function e(i,n,s,o){return{red:i,green:n,blue:s,alpha:o}}r.create=e;function t(i){var n=i;return q.numberRange(n.red,0,1)&&q.numberRange(n.green,0,1)&&q.numberRange(n.blue,0,1)&&q.numberRange(n.alpha,0,1)}r.is=t})(Um||(Um={}));(function(r){function e(i,n){return{range:i,color:n}}r.create=e;function t(i){var n=i;return Ae.is(n.range)&&Um.is(n.color)}r.is=t})(rC||(rC={}));(function(r){function e(i,n,s){return{label:i,textEdit:n,additionalTextEdits:s}}r.create=e;function t(i){var n=i;return q.string(n.label)&&(q.undefined(n.textEdit)||Ds.is(n))&&(q.undefined(n.additionalTextEdits)||q.typedArray(n.additionalTextEdits,Ds.is))}r.is=t})(nC||(nC={}));(function(r){r.Comment="comment",r.Imports="imports",r.Region="region"})(sC||(sC={}));(function(r){function e(i,n,s,o,a){var l={startLine:i,endLine:n};return q.defined(s)&&(l.startCharacter=s),q.defined(o)&&(l.endCharacter=o),q.defined(a)&&(l.kind=a),l}r.create=e;function t(i){var n=i;return q.uinteger(n.startLine)&&q.uinteger(n.startLine)&&(q.undefined(n.startCharacter)||q.uinteger(n.startCharacter))&&(q.undefined(n.endCharacter)||q.uinteger(n.endCharacter))&&(q.undefined(n.kind)||q.string(n.kind))}r.is=t})(oC||(oC={}));(function(r){function e(i,n){return{location:i,message:n}}r.create=e;function t(i){var n=i;return q.defined(n)&&er.is(n.location)&&q.string(n.message)}r.is=t})(Hm||(Hm={}));(function(r){r.Error=1,r.Warning=2,r.Information=3,r.Hint=4})(aC||(aC={}));(function(r){r.Unnecessary=1,r.Deprecated=2})(lC||(lC={}));(function(r){function e(t){var i=t;return i!=null&&q.string(i.href)}r.is=e})(cC||(cC={}));(function(r){function e(i,n,s,o,a,l){var c={range:i,message:n};return q.defined(s)&&(c.severity=s),q.defined(o)&&(c.code=o),q.defined(a)&&(c.source=a),q.defined(l)&&(c.relatedInformation=l),c}r.create=e;function t(i){var n,s=i;return q.defined(s)&&Ae.is(s.range)&&q.string(s.message)&&(q.number(s.severity)||q.undefined(s.severity))&&(q.integer(s.code)||q.string(s.code)||q.undefined(s.code))&&(q.undefined(s.codeDescription)||q.string((n=s.codeDescription)===null||n===void 0?void 0:n.href))&&(q.string(s.source)||q.undefined(s.source))&&(q.undefined(s.relatedInformation)||q.typedArray(s.relatedInformation,Hm.is))}r.is=t})(ud||(ud={}));(function(r){function e(i,n){for(var s=[],o=2;o0&&(a.arguments=s),a}r.create=e;function t(i){var n=i;return q.defined(n)&&q.string(n.title)&&q.string(n.command)}r.is=t})(wc||(wc={}));(function(r){function e(s,o){return{range:s,newText:o}}r.replace=e;function t(s,o){return{range:{start:s,end:s},newText:o}}r.insert=t;function i(s){return{range:s,newText:""}}r.del=i;function n(s){var o=s;return q.objectLiteral(o)&&q.string(o.newText)&&Ae.is(o.range)}r.is=n})(Ds||(Ds={}));(function(r){function e(i,n,s){var o={label:i};return n!==void 0&&(o.needsConfirmation=n),s!==void 0&&(o.description=s),o}r.create=e;function t(i){var n=i;return n!==void 0&&q.objectLiteral(n)&&q.string(n.label)&&(q.boolean(n.needsConfirmation)||n.needsConfirmation===void 0)&&(q.string(n.description)||n.description===void 0)}r.is=t})(Na||(Na={}));(function(r){function e(t){var i=t;return typeof i=="string"}r.is=e})(fi||(fi={}));(function(r){function e(s,o,a){return{range:s,newText:o,annotationId:a}}r.replace=e;function t(s,o,a){return{range:{start:s,end:s},newText:o,annotationId:a}}r.insert=t;function i(s,o){return{range:s,newText:"",annotationId:o}}r.del=i;function n(s){var o=s;return Ds.is(o)&&(Na.is(o.annotationId)||fi.is(o.annotationId))}r.is=n})(Rs||(Rs={}));(function(r){function e(i,n){return{textDocument:i,edits:n}}r.create=e;function t(i){var n=i;return q.defined(n)&&dd.is(n.textDocument)&&Array.isArray(n.edits)}r.is=t})(fd||(fd={}));(function(r){function e(i,n,s){var o={kind:"create",uri:i};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(o.options=n),s!==void 0&&(o.annotationId=s),o}r.create=e;function t(i){var n=i;return n&&n.kind==="create"&&q.string(n.uri)&&(n.options===void 0||(n.options.overwrite===void 0||q.boolean(n.options.overwrite))&&(n.options.ignoreIfExists===void 0||q.boolean(n.options.ignoreIfExists)))&&(n.annotationId===void 0||fi.is(n.annotationId))}r.is=t})(xc||(xc={}));(function(r){function e(i,n,s,o){var a={kind:"rename",oldUri:i,newUri:n};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(a.options=s),o!==void 0&&(a.annotationId=o),a}r.create=e;function t(i){var n=i;return n&&n.kind==="rename"&&q.string(n.oldUri)&&q.string(n.newUri)&&(n.options===void 0||(n.options.overwrite===void 0||q.boolean(n.options.overwrite))&&(n.options.ignoreIfExists===void 0||q.boolean(n.options.ignoreIfExists)))&&(n.annotationId===void 0||fi.is(n.annotationId))}r.is=t})(Sc||(Sc={}));(function(r){function e(i,n,s){var o={kind:"delete",uri:i};return n!==void 0&&(n.recursive!==void 0||n.ignoreIfNotExists!==void 0)&&(o.options=n),s!==void 0&&(o.annotationId=s),o}r.create=e;function t(i){var n=i;return n&&n.kind==="delete"&&q.string(n.uri)&&(n.options===void 0||(n.options.recursive===void 0||q.boolean(n.options.recursive))&&(n.options.ignoreIfNotExists===void 0||q.boolean(n.options.ignoreIfNotExists)))&&(n.annotationId===void 0||fi.is(n.annotationId))}r.is=t})(Cc||(Cc={}));(function(r){function e(t){var i=t;return i&&(i.changes!==void 0||i.documentChanges!==void 0)&&(i.documentChanges===void 0||i.documentChanges.every(function(n){return q.string(n.kind)?xc.is(n)||Sc.is(n)||Cc.is(n):fd.is(n)}))}r.is=e})(Wm||(Wm={}));zm=function(){function r(e,t){this.edits=e,this.changeAnnotations=t}return r.prototype.insert=function(e,t,i){var n,s;if(i===void 0?n=Ds.insert(e,t):fi.is(i)?(s=i,n=Rs.insert(e,t,i)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(i),n=Rs.insert(e,t,s)),this.edits.push(n),s!==void 0)return s},r.prototype.replace=function(e,t,i){var n,s;if(i===void 0?n=Ds.replace(e,t):fi.is(i)?(s=i,n=Rs.replace(e,t,i)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(i),n=Rs.replace(e,t,s)),this.edits.push(n),s!==void 0)return s},r.prototype.delete=function(e,t){var i,n;if(t===void 0?i=Ds.del(e):fi.is(t)?(n=t,i=Rs.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(t),i=Rs.del(e,n)),this.edits.push(i),n!==void 0)return n},r.prototype.add=function(e){this.edits.push(e)},r.prototype.all=function(){return this.edits},r.prototype.clear=function(){this.edits.splice(0,this.edits.length)},r.prototype.assertChangeAnnotations=function(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},r}(),RM=function(){function r(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}return r.prototype.all=function(){return this._annotations},Object.defineProperty(r.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),r.prototype.manage=function(e,t){var i;if(fi.is(e)?i=e:(i=this.nextId(),t=e),this._annotations[i]!==void 0)throw new Error("Id "+i+" is already in use.");if(t===void 0)throw new Error("No annotation provided for id "+i);return this._annotations[i]=t,this._size++,i},r.prototype.nextId=function(){return this._counter++,this._counter.toString()},r}(),Gie=function(){function r(e){var t=this;this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new RM(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(function(i){if(fd.is(i)){var n=new zm(i.edits,t._changeAnnotations);t._textEditChanges[i.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(function(i){var n=new zm(e.changes[i]);t._textEditChanges[i]=n})):this._workspaceEdit={}}return Object.defineProperty(r.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),r.prototype.getTextEditChange=function(e){if(dd.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version},i=this._textEditChanges[t.uri];if(!i){var n=[],s={textDocument:t,edits:n};this._workspaceEdit.documentChanges.push(s),i=new zm(n,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var i=this._textEditChanges[e];if(!i){var n=[];this._workspaceEdit.changes[e]=n,i=new zm(n),this._textEditChanges[e]=i}return i}},r.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new RM,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},r.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},r.prototype.createFile=function(e,t,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var n;Na.is(t)||fi.is(t)?n=t:i=t;var s,o;if(n===void 0?s=xc.create(e,i):(o=fi.is(n)?n:this._changeAnnotations.manage(n),s=xc.create(e,i,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o},r.prototype.renameFile=function(e,t,i,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var s;Na.is(i)||fi.is(i)?s=i:n=i;var o,a;if(s===void 0?o=Sc.create(e,t,n):(a=fi.is(s)?s:this._changeAnnotations.manage(s),o=Sc.create(e,t,n,a)),this._workspaceEdit.documentChanges.push(o),a!==void 0)return a},r.prototype.deleteFile=function(e,t,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var n;Na.is(t)||fi.is(t)?n=t:i=t;var s,o;if(n===void 0?s=Cc.create(e,i):(o=fi.is(n)?n:this._changeAnnotations.manage(n),s=Cc.create(e,i,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o},r}();(function(r){function e(i){return{uri:i}}r.create=e;function t(i){var n=i;return q.defined(n)&&q.string(n.uri)}r.is=t})(uC||(uC={}));(function(r){function e(i,n){return{uri:i,version:n}}r.create=e;function t(i){var n=i;return q.defined(n)&&q.string(n.uri)&&q.integer(n.version)}r.is=t})(fC||(fC={}));(function(r){function e(i,n){return{uri:i,version:n}}r.create=e;function t(i){var n=i;return q.defined(n)&&q.string(n.uri)&&(n.version===null||q.integer(n.version))}r.is=t})(dd||(dd={}));(function(r){function e(i,n,s,o){return{uri:i,languageId:n,version:s,text:o}}r.create=e;function t(i){var n=i;return q.defined(n)&&q.string(n.uri)&&q.string(n.languageId)&&q.integer(n.version)&&q.string(n.text)}r.is=t})(dC||(dC={}));(function(r){r.PlainText="plaintext",r.Markdown="markdown"})(_c||(_c={}));(function(r){function e(t){var i=t;return i===r.PlainText||i===r.Markdown}r.is=e})(_c||(_c={}));(function(r){function e(t){var i=t;return q.objectLiteral(t)&&_c.is(i.kind)&&q.string(i.value)}r.is=e})(Vm||(Vm={}));(function(r){r.Text=1,r.Method=2,r.Function=3,r.Constructor=4,r.Field=5,r.Variable=6,r.Class=7,r.Interface=8,r.Module=9,r.Property=10,r.Unit=11,r.Value=12,r.Enum=13,r.Keyword=14,r.Snippet=15,r.Color=16,r.File=17,r.Reference=18,r.Folder=19,r.EnumMember=20,r.Constant=21,r.Struct=22,r.Event=23,r.Operator=24,r.TypeParameter=25})(hC||(hC={}));(function(r){r.PlainText=1,r.Snippet=2})(pC||(pC={}));(function(r){r.Deprecated=1})(mC||(mC={}));(function(r){function e(i,n,s){return{newText:i,insert:n,replace:s}}r.create=e;function t(i){var n=i;return n&&q.string(n.newText)&&Ae.is(n.insert)&&Ae.is(n.replace)}r.is=t})(gC||(gC={}));(function(r){r.asIs=1,r.adjustIndentation=2})(vC||(vC={}));(function(r){function e(t){return{label:t}}r.create=e})(bC||(bC={}));(function(r){function e(t,i){return{items:t||[],isIncomplete:!!i}}r.create=e})(yC||(yC={}));(function(r){function e(i){return i.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}r.fromPlainText=e;function t(i){var n=i;return q.string(n)||q.objectLiteral(n)&&q.string(n.language)&&q.string(n.value)}r.is=t})(hd||(hd={}));(function(r){function e(t){var i=t;return!!i&&q.objectLiteral(i)&&(Vm.is(i.contents)||hd.is(i.contents)||q.typedArray(i.contents,hd.is))&&(t.range===void 0||Ae.is(t.range))}r.is=e})(wC||(wC={}));(function(r){function e(t,i){return i?{label:t,documentation:i}:{label:t}}r.create=e})(xC||(xC={}));(function(r){function e(t,i){for(var n=[],s=2;s=0;u--){var f=l[u],d=s.offsetAt(f.range.start),h=s.offsetAt(f.range.end);if(h<=c)a=a.substring(0,d)+f.newText+a.substring(h,a.length);else throw new Error("Overlapping edit");c=d}return a}r.applyEdits=i;function n(s,o){if(s.length<=1)return s;var a=s.length/2|0,l=s.slice(0,a),c=s.slice(a);n(l,o),n(c,o);for(var u=0,f=0,d=0;u0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},r.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),i=0,n=t.length;if(n===0)return Sr.create(0,e);for(;ie?n=s:i=s+1}var o=i-1;return Sr.create(o,e-t[o])},r.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var i=t[e.line],n=e.line+1{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.ProtocolNotificationType=Hr.ProtocolNotificationType0=Hr.ProtocolRequestType=Hr.ProtocolRequestType0=Hr.RegistrationType=void 0;var Ec=yc(),kM=class{constructor(e){this.method=e}};Hr.RegistrationType=kM;var IM=class extends Ec.RequestType0{constructor(e){super(e)}};Hr.ProtocolRequestType0=IM;var OM=class extends Ec.RequestType{constructor(e){super(e,Ec.ParameterStructures.byName)}};Hr.ProtocolRequestType=OM;var LM=class extends Ec.NotificationType0{constructor(e){super(e)}};Hr.ProtocolNotificationType0=LM;var AM=class extends Ec.NotificationType{constructor(e){super(e,Ec.ParameterStructures.byName)}};Hr.ProtocolNotificationType=AM});var NM=x(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.objectLiteral=Ht.typedArray=Ht.stringArray=Ht.array=Ht.func=Ht.error=Ht.number=Ht.string=Ht.boolean=void 0;function Yie(r){return r===!0||r===!1}Ht.boolean=Yie;function FM(r){return typeof r=="string"||r instanceof String}Ht.string=FM;function Xie(r){return typeof r=="number"||r instanceof Number}Ht.number=Xie;function Zie(r){return r instanceof Error}Ht.error=Zie;function Qie(r){return typeof r=="function"}Ht.func=Qie;function MM(r){return Array.isArray(r)}Ht.array=MM;function ere(r){return MM(r)&&r.every(e=>FM(e))}Ht.stringArray=ere;function tre(r,e){return Array.isArray(r)&&r.every(e)}Ht.typedArray=tre;function ire(r){return r!==null&&typeof r=="object"}Ht.objectLiteral=ire});var qM=x(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});pd.ImplementationRequest=void 0;var rre=ii(),nre;(function(r){r.method="textDocument/implementation",r.type=new rre.ProtocolRequestType(r.method)})(nre=pd.ImplementationRequest||(pd.ImplementationRequest={}))});var $M=x(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});md.TypeDefinitionRequest=void 0;var sre=ii(),ore;(function(r){r.method="textDocument/typeDefinition",r.type=new sre.ProtocolRequestType(r.method)})(ore=md.TypeDefinitionRequest||(md.TypeDefinitionRequest={}))});var jM=x(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.DidChangeWorkspaceFoldersNotification=wo.WorkspaceFoldersRequest=void 0;var BM=ii(),are;(function(r){r.type=new BM.ProtocolRequestType0("workspace/workspaceFolders")})(are=wo.WorkspaceFoldersRequest||(wo.WorkspaceFoldersRequest={}));var lre;(function(r){r.type=new BM.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")})(lre=wo.DidChangeWorkspaceFoldersNotification||(wo.DidChangeWorkspaceFoldersNotification={}))});var UM=x(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});gd.ConfigurationRequest=void 0;var cre=ii(),ure;(function(r){r.type=new cre.ProtocolRequestType("workspace/configuration")})(ure=gd.ConfigurationRequest||(gd.ConfigurationRequest={}))});var WM=x(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.ColorPresentationRequest=xo.DocumentColorRequest=void 0;var HM=ii(),fre;(function(r){r.method="textDocument/documentColor",r.type=new HM.ProtocolRequestType(r.method)})(fre=xo.DocumentColorRequest||(xo.DocumentColorRequest={}));var dre;(function(r){r.type=new HM.ProtocolRequestType("textDocument/colorPresentation")})(dre=xo.ColorPresentationRequest||(xo.ColorPresentationRequest={}))});var zM=x(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.FoldingRangeRequest=So.FoldingRangeKind=void 0;var hre=ii(),pre;(function(r){r.Comment="comment",r.Imports="imports",r.Region="region"})(pre=So.FoldingRangeKind||(So.FoldingRangeKind={}));var mre;(function(r){r.method="textDocument/foldingRange",r.type=new hre.ProtocolRequestType(r.method)})(mre=So.FoldingRangeRequest||(So.FoldingRangeRequest={}))});var VM=x(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});vd.DeclarationRequest=void 0;var gre=ii(),vre;(function(r){r.method="textDocument/declaration",r.type=new gre.ProtocolRequestType(r.method)})(vre=vd.DeclarationRequest||(vd.DeclarationRequest={}))});var GM=x(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});bd.SelectionRangeRequest=void 0;var bre=ii(),yre;(function(r){r.method="textDocument/selectionRange",r.type=new bre.ProtocolRequestType(r.method)})(yre=bd.SelectionRangeRequest||(bd.SelectionRangeRequest={}))});var JM=x(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.WorkDoneProgressCancelNotification=bn.WorkDoneProgressCreateRequest=bn.WorkDoneProgress=void 0;var wre=yc(),KM=ii(),xre;(function(r){r.type=new wre.ProgressType;function e(t){return t===r.type}r.is=e})(xre=bn.WorkDoneProgress||(bn.WorkDoneProgress={}));var Sre;(function(r){r.type=new KM.ProtocolRequestType("window/workDoneProgress/create")})(Sre=bn.WorkDoneProgressCreateRequest||(bn.WorkDoneProgressCreateRequest={}));var Cre;(function(r){r.type=new KM.ProtocolNotificationType("window/workDoneProgress/cancel")})(Cre=bn.WorkDoneProgressCancelNotification||(bn.WorkDoneProgressCancelNotification={}))});var YM=x(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.CallHierarchyOutgoingCallsRequest=yn.CallHierarchyIncomingCallsRequest=yn.CallHierarchyPrepareRequest=void 0;var NC=ii(),_re;(function(r){r.method="textDocument/prepareCallHierarchy",r.type=new NC.ProtocolRequestType(r.method)})(_re=yn.CallHierarchyPrepareRequest||(yn.CallHierarchyPrepareRequest={}));var Ere;(function(r){r.method="callHierarchy/incomingCalls",r.type=new NC.ProtocolRequestType(r.method)})(Ere=yn.CallHierarchyIncomingCallsRequest||(yn.CallHierarchyIncomingCallsRequest={}));var Tre;(function(r){r.method="callHierarchy/outgoingCalls",r.type=new NC.ProtocolRequestType(r.method)})(Tre=yn.CallHierarchyOutgoingCallsRequest||(yn.CallHierarchyOutgoingCallsRequest={}))});var XM=x(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.SemanticTokensRefreshRequest=Ze.SemanticTokensRangeRequest=Ze.SemanticTokensDeltaRequest=Ze.SemanticTokensRequest=Ze.SemanticTokensRegistrationType=Ze.TokenFormat=Ze.SemanticTokens=Ze.SemanticTokenModifiers=Ze.SemanticTokenTypes=void 0;var yd=ii(),Dre;(function(r){r.namespace="namespace",r.type="type",r.class="class",r.enum="enum",r.interface="interface",r.struct="struct",r.typeParameter="typeParameter",r.parameter="parameter",r.variable="variable",r.property="property",r.enumMember="enumMember",r.event="event",r.function="function",r.method="method",r.macro="macro",r.keyword="keyword",r.modifier="modifier",r.comment="comment",r.string="string",r.number="number",r.regexp="regexp",r.operator="operator"})(Dre=Ze.SemanticTokenTypes||(Ze.SemanticTokenTypes={}));var Rre;(function(r){r.declaration="declaration",r.definition="definition",r.readonly="readonly",r.static="static",r.deprecated="deprecated",r.abstract="abstract",r.async="async",r.modification="modification",r.documentation="documentation",r.defaultLibrary="defaultLibrary"})(Rre=Ze.SemanticTokenModifiers||(Ze.SemanticTokenModifiers={}));var Pre;(function(r){function e(t){let i=t;return i!==void 0&&(i.resultId===void 0||typeof i.resultId=="string")&&Array.isArray(i.data)&&(i.data.length===0||typeof i.data[0]=="number")}r.is=e})(Pre=Ze.SemanticTokens||(Ze.SemanticTokens={}));var kre;(function(r){r.Relative="relative"})(kre=Ze.TokenFormat||(Ze.TokenFormat={}));var Ire;(function(r){r.method="textDocument/semanticTokens",r.type=new yd.RegistrationType(r.method)})(Ire=Ze.SemanticTokensRegistrationType||(Ze.SemanticTokensRegistrationType={}));var Ore;(function(r){r.method="textDocument/semanticTokens/full",r.type=new yd.ProtocolRequestType(r.method)})(Ore=Ze.SemanticTokensRequest||(Ze.SemanticTokensRequest={}));var Lre;(function(r){r.method="textDocument/semanticTokens/full/delta",r.type=new yd.ProtocolRequestType(r.method)})(Lre=Ze.SemanticTokensDeltaRequest||(Ze.SemanticTokensDeltaRequest={}));var Are;(function(r){r.method="textDocument/semanticTokens/range",r.type=new yd.ProtocolRequestType(r.method)})(Are=Ze.SemanticTokensRangeRequest||(Ze.SemanticTokensRangeRequest={}));var Fre;(function(r){r.method="workspace/semanticTokens/refresh",r.type=new yd.ProtocolRequestType0(r.method)})(Fre=Ze.SemanticTokensRefreshRequest||(Ze.SemanticTokensRefreshRequest={}))});var ZM=x(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});wd.ShowDocumentRequest=void 0;var Mre=ii(),Nre;(function(r){r.method="window/showDocument",r.type=new Mre.ProtocolRequestType(r.method)})(Nre=wd.ShowDocumentRequest||(wd.ShowDocumentRequest={}))});var QM=x(xd=>{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});xd.LinkedEditingRangeRequest=void 0;var qre=ii(),$re;(function(r){r.method="textDocument/linkedEditingRange",r.type=new qre.ProtocolRequestType(r.method)})($re=xd.LinkedEditingRangeRequest||(xd.LinkedEditingRangeRequest={}))});var eN=x(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});Ct.WillDeleteFilesRequest=Ct.DidDeleteFilesNotification=Ct.DidRenameFilesNotification=Ct.WillRenameFilesRequest=Ct.DidCreateFilesNotification=Ct.WillCreateFilesRequest=Ct.FileOperationPatternKind=void 0;var Tc=ii(),Bre;(function(r){r.file="file",r.folder="folder"})(Bre=Ct.FileOperationPatternKind||(Ct.FileOperationPatternKind={}));var jre;(function(r){r.method="workspace/willCreateFiles",r.type=new Tc.ProtocolRequestType(r.method)})(jre=Ct.WillCreateFilesRequest||(Ct.WillCreateFilesRequest={}));var Ure;(function(r){r.method="workspace/didCreateFiles",r.type=new Tc.ProtocolNotificationType(r.method)})(Ure=Ct.DidCreateFilesNotification||(Ct.DidCreateFilesNotification={}));var Hre;(function(r){r.method="workspace/willRenameFiles",r.type=new Tc.ProtocolRequestType(r.method)})(Hre=Ct.WillRenameFilesRequest||(Ct.WillRenameFilesRequest={}));var Wre;(function(r){r.method="workspace/didRenameFiles",r.type=new Tc.ProtocolNotificationType(r.method)})(Wre=Ct.DidRenameFilesNotification||(Ct.DidRenameFilesNotification={}));var zre;(function(r){r.method="workspace/didDeleteFiles",r.type=new Tc.ProtocolNotificationType(r.method)})(zre=Ct.DidDeleteFilesNotification||(Ct.DidDeleteFilesNotification={}));var Vre;(function(r){r.method="workspace/willDeleteFiles",r.type=new Tc.ProtocolRequestType(r.method)})(Vre=Ct.WillDeleteFilesRequest||(Ct.WillDeleteFilesRequest={}))});var tN=x(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.MonikerRequest=wn.MonikerKind=wn.UniquenessLevel=void 0;var Gre=ii(),Kre;(function(r){r.document="document",r.project="project",r.group="group",r.scheme="scheme",r.global="global"})(Kre=wn.UniquenessLevel||(wn.UniquenessLevel={}));var Jre;(function(r){r.import="import",r.export="export",r.local="local"})(Jre=wn.MonikerKind||(wn.MonikerKind={}));var Yre;(function(r){r.method="textDocument/moniker",r.type=new Gre.ProtocolRequestType(r.method)})(Yre=wn.MonikerRequest||(wn.MonikerRequest={}))});var oN=x(T=>{"use strict";Object.defineProperty(T,"__esModule",{value:!0});T.DocumentLinkRequest=T.CodeLensRefreshRequest=T.CodeLensResolveRequest=T.CodeLensRequest=T.WorkspaceSymbolRequest=T.CodeActionResolveRequest=T.CodeActionRequest=T.DocumentSymbolRequest=T.DocumentHighlightRequest=T.ReferencesRequest=T.DefinitionRequest=T.SignatureHelpRequest=T.SignatureHelpTriggerKind=T.HoverRequest=T.CompletionResolveRequest=T.CompletionRequest=T.CompletionTriggerKind=T.PublishDiagnosticsNotification=T.WatchKind=T.FileChangeType=T.DidChangeWatchedFilesNotification=T.WillSaveTextDocumentWaitUntilRequest=T.WillSaveTextDocumentNotification=T.TextDocumentSaveReason=T.DidSaveTextDocumentNotification=T.DidCloseTextDocumentNotification=T.DidChangeTextDocumentNotification=T.TextDocumentContentChangeEvent=T.DidOpenTextDocumentNotification=T.TextDocumentSyncKind=T.TelemetryEventNotification=T.LogMessageNotification=T.ShowMessageRequest=T.ShowMessageNotification=T.MessageType=T.DidChangeConfigurationNotification=T.ExitNotification=T.ShutdownRequest=T.InitializedNotification=T.InitializeError=T.InitializeRequest=T.WorkDoneProgressOptions=T.TextDocumentRegistrationOptions=T.StaticRegistrationOptions=T.FailureHandlingKind=T.ResourceOperationKind=T.UnregistrationRequest=T.RegistrationRequest=T.DocumentSelector=T.DocumentFilter=void 0;T.MonikerRequest=T.MonikerKind=T.UniquenessLevel=T.WillDeleteFilesRequest=T.DidDeleteFilesNotification=T.WillRenameFilesRequest=T.DidRenameFilesNotification=T.WillCreateFilesRequest=T.DidCreateFilesNotification=T.FileOperationPatternKind=T.LinkedEditingRangeRequest=T.ShowDocumentRequest=T.SemanticTokensRegistrationType=T.SemanticTokensRefreshRequest=T.SemanticTokensRangeRequest=T.SemanticTokensDeltaRequest=T.SemanticTokensRequest=T.TokenFormat=T.SemanticTokens=T.SemanticTokenModifiers=T.SemanticTokenTypes=T.CallHierarchyPrepareRequest=T.CallHierarchyOutgoingCallsRequest=T.CallHierarchyIncomingCallsRequest=T.WorkDoneProgressCancelNotification=T.WorkDoneProgressCreateRequest=T.WorkDoneProgress=T.SelectionRangeRequest=T.DeclarationRequest=T.FoldingRangeRequest=T.ColorPresentationRequest=T.DocumentColorRequest=T.ConfigurationRequest=T.DidChangeWorkspaceFoldersNotification=T.WorkspaceFoldersRequest=T.TypeDefinitionRequest=T.ImplementationRequest=T.ApplyWorkspaceEditRequest=T.ExecuteCommandRequest=T.PrepareRenameRequest=T.RenameRequest=T.PrepareSupportDefaultBehavior=T.DocumentOnTypeFormattingRequest=T.DocumentRangeFormattingRequest=T.DocumentFormattingRequest=T.DocumentLinkResolveRequest=void 0;var Co=NM(),ve=ii(),Xre=qM();Object.defineProperty(T,"ImplementationRequest",{enumerable:!0,get:function(){return Xre.ImplementationRequest}});var Zre=$M();Object.defineProperty(T,"TypeDefinitionRequest",{enumerable:!0,get:function(){return Zre.TypeDefinitionRequest}});var iN=jM();Object.defineProperty(T,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return iN.WorkspaceFoldersRequest}});Object.defineProperty(T,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return iN.DidChangeWorkspaceFoldersNotification}});var Qre=UM();Object.defineProperty(T,"ConfigurationRequest",{enumerable:!0,get:function(){return Qre.ConfigurationRequest}});var rN=WM();Object.defineProperty(T,"DocumentColorRequest",{enumerable:!0,get:function(){return rN.DocumentColorRequest}});Object.defineProperty(T,"ColorPresentationRequest",{enumerable:!0,get:function(){return rN.ColorPresentationRequest}});var ene=zM();Object.defineProperty(T,"FoldingRangeRequest",{enumerable:!0,get:function(){return ene.FoldingRangeRequest}});var tne=VM();Object.defineProperty(T,"DeclarationRequest",{enumerable:!0,get:function(){return tne.DeclarationRequest}});var ine=GM();Object.defineProperty(T,"SelectionRangeRequest",{enumerable:!0,get:function(){return ine.SelectionRangeRequest}});var qC=JM();Object.defineProperty(T,"WorkDoneProgress",{enumerable:!0,get:function(){return qC.WorkDoneProgress}});Object.defineProperty(T,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return qC.WorkDoneProgressCreateRequest}});Object.defineProperty(T,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return qC.WorkDoneProgressCancelNotification}});var $C=YM();Object.defineProperty(T,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return $C.CallHierarchyIncomingCallsRequest}});Object.defineProperty(T,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return $C.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(T,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return $C.CallHierarchyPrepareRequest}});var ks=XM();Object.defineProperty(T,"SemanticTokenTypes",{enumerable:!0,get:function(){return ks.SemanticTokenTypes}});Object.defineProperty(T,"SemanticTokenModifiers",{enumerable:!0,get:function(){return ks.SemanticTokenModifiers}});Object.defineProperty(T,"SemanticTokens",{enumerable:!0,get:function(){return ks.SemanticTokens}});Object.defineProperty(T,"TokenFormat",{enumerable:!0,get:function(){return ks.TokenFormat}});Object.defineProperty(T,"SemanticTokensRequest",{enumerable:!0,get:function(){return ks.SemanticTokensRequest}});Object.defineProperty(T,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return ks.SemanticTokensDeltaRequest}});Object.defineProperty(T,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return ks.SemanticTokensRangeRequest}});Object.defineProperty(T,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return ks.SemanticTokensRefreshRequest}});Object.defineProperty(T,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return ks.SemanticTokensRegistrationType}});var rne=ZM();Object.defineProperty(T,"ShowDocumentRequest",{enumerable:!0,get:function(){return rne.ShowDocumentRequest}});var nne=QM();Object.defineProperty(T,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return nne.LinkedEditingRangeRequest}});var qa=eN();Object.defineProperty(T,"FileOperationPatternKind",{enumerable:!0,get:function(){return qa.FileOperationPatternKind}});Object.defineProperty(T,"DidCreateFilesNotification",{enumerable:!0,get:function(){return qa.DidCreateFilesNotification}});Object.defineProperty(T,"WillCreateFilesRequest",{enumerable:!0,get:function(){return qa.WillCreateFilesRequest}});Object.defineProperty(T,"DidRenameFilesNotification",{enumerable:!0,get:function(){return qa.DidRenameFilesNotification}});Object.defineProperty(T,"WillRenameFilesRequest",{enumerable:!0,get:function(){return qa.WillRenameFilesRequest}});Object.defineProperty(T,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return qa.DidDeleteFilesNotification}});Object.defineProperty(T,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return qa.WillDeleteFilesRequest}});var BC=tN();Object.defineProperty(T,"UniquenessLevel",{enumerable:!0,get:function(){return BC.UniquenessLevel}});Object.defineProperty(T,"MonikerKind",{enumerable:!0,get:function(){return BC.MonikerKind}});Object.defineProperty(T,"MonikerRequest",{enumerable:!0,get:function(){return BC.MonikerRequest}});var nN;(function(r){function e(t){let i=t;return Co.string(i.language)||Co.string(i.scheme)||Co.string(i.pattern)}r.is=e})(nN=T.DocumentFilter||(T.DocumentFilter={}));var sN;(function(r){function e(t){if(!Array.isArray(t))return!1;for(let i of t)if(!Co.string(i)&&!nN.is(i))return!1;return!0}r.is=e})(sN=T.DocumentSelector||(T.DocumentSelector={}));var sne;(function(r){r.type=new ve.ProtocolRequestType("client/registerCapability")})(sne=T.RegistrationRequest||(T.RegistrationRequest={}));var one;(function(r){r.type=new ve.ProtocolRequestType("client/unregisterCapability")})(one=T.UnregistrationRequest||(T.UnregistrationRequest={}));var ane;(function(r){r.Create="create",r.Rename="rename",r.Delete="delete"})(ane=T.ResourceOperationKind||(T.ResourceOperationKind={}));var lne;(function(r){r.Abort="abort",r.Transactional="transactional",r.TextOnlyTransactional="textOnlyTransactional",r.Undo="undo"})(lne=T.FailureHandlingKind||(T.FailureHandlingKind={}));var cne;(function(r){function e(t){let i=t;return i&&Co.string(i.id)&&i.id.length>0}r.hasId=e})(cne=T.StaticRegistrationOptions||(T.StaticRegistrationOptions={}));var une;(function(r){function e(t){let i=t;return i&&(i.documentSelector===null||sN.is(i.documentSelector))}r.is=e})(une=T.TextDocumentRegistrationOptions||(T.TextDocumentRegistrationOptions={}));var fne;(function(r){function e(i){let n=i;return Co.objectLiteral(n)&&(n.workDoneProgress===void 0||Co.boolean(n.workDoneProgress))}r.is=e;function t(i){let n=i;return n&&Co.boolean(n.workDoneProgress)}r.hasWorkDoneProgress=t})(fne=T.WorkDoneProgressOptions||(T.WorkDoneProgressOptions={}));var dne;(function(r){r.type=new ve.ProtocolRequestType("initialize")})(dne=T.InitializeRequest||(T.InitializeRequest={}));var hne;(function(r){r.unknownProtocolVersion=1})(hne=T.InitializeError||(T.InitializeError={}));var pne;(function(r){r.type=new ve.ProtocolNotificationType("initialized")})(pne=T.InitializedNotification||(T.InitializedNotification={}));var mne;(function(r){r.type=new ve.ProtocolRequestType0("shutdown")})(mne=T.ShutdownRequest||(T.ShutdownRequest={}));var gne;(function(r){r.type=new ve.ProtocolNotificationType0("exit")})(gne=T.ExitNotification||(T.ExitNotification={}));var vne;(function(r){r.type=new ve.ProtocolNotificationType("workspace/didChangeConfiguration")})(vne=T.DidChangeConfigurationNotification||(T.DidChangeConfigurationNotification={}));var bne;(function(r){r.Error=1,r.Warning=2,r.Info=3,r.Log=4})(bne=T.MessageType||(T.MessageType={}));var yne;(function(r){r.type=new ve.ProtocolNotificationType("window/showMessage")})(yne=T.ShowMessageNotification||(T.ShowMessageNotification={}));var wne;(function(r){r.type=new ve.ProtocolRequestType("window/showMessageRequest")})(wne=T.ShowMessageRequest||(T.ShowMessageRequest={}));var xne;(function(r){r.type=new ve.ProtocolNotificationType("window/logMessage")})(xne=T.LogMessageNotification||(T.LogMessageNotification={}));var Sne;(function(r){r.type=new ve.ProtocolNotificationType("telemetry/event")})(Sne=T.TelemetryEventNotification||(T.TelemetryEventNotification={}));var Cne;(function(r){r.None=0,r.Full=1,r.Incremental=2})(Cne=T.TextDocumentSyncKind||(T.TextDocumentSyncKind={}));var _ne;(function(r){r.method="textDocument/didOpen",r.type=new ve.ProtocolNotificationType(r.method)})(_ne=T.DidOpenTextDocumentNotification||(T.DidOpenTextDocumentNotification={}));var Ene;(function(r){function e(i){let n=i;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}r.isIncremental=e;function t(i){let n=i;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}r.isFull=t})(Ene=T.TextDocumentContentChangeEvent||(T.TextDocumentContentChangeEvent={}));var Tne;(function(r){r.method="textDocument/didChange",r.type=new ve.ProtocolNotificationType(r.method)})(Tne=T.DidChangeTextDocumentNotification||(T.DidChangeTextDocumentNotification={}));var Dne;(function(r){r.method="textDocument/didClose",r.type=new ve.ProtocolNotificationType(r.method)})(Dne=T.DidCloseTextDocumentNotification||(T.DidCloseTextDocumentNotification={}));var Rne;(function(r){r.method="textDocument/didSave",r.type=new ve.ProtocolNotificationType(r.method)})(Rne=T.DidSaveTextDocumentNotification||(T.DidSaveTextDocumentNotification={}));var Pne;(function(r){r.Manual=1,r.AfterDelay=2,r.FocusOut=3})(Pne=T.TextDocumentSaveReason||(T.TextDocumentSaveReason={}));var kne;(function(r){r.method="textDocument/willSave",r.type=new ve.ProtocolNotificationType(r.method)})(kne=T.WillSaveTextDocumentNotification||(T.WillSaveTextDocumentNotification={}));var Ine;(function(r){r.method="textDocument/willSaveWaitUntil",r.type=new ve.ProtocolRequestType(r.method)})(Ine=T.WillSaveTextDocumentWaitUntilRequest||(T.WillSaveTextDocumentWaitUntilRequest={}));var One;(function(r){r.type=new ve.ProtocolNotificationType("workspace/didChangeWatchedFiles")})(One=T.DidChangeWatchedFilesNotification||(T.DidChangeWatchedFilesNotification={}));var Lne;(function(r){r.Created=1,r.Changed=2,r.Deleted=3})(Lne=T.FileChangeType||(T.FileChangeType={}));var Ane;(function(r){r.Create=1,r.Change=2,r.Delete=4})(Ane=T.WatchKind||(T.WatchKind={}));var Fne;(function(r){r.type=new ve.ProtocolNotificationType("textDocument/publishDiagnostics")})(Fne=T.PublishDiagnosticsNotification||(T.PublishDiagnosticsNotification={}));var Mne;(function(r){r.Invoked=1,r.TriggerCharacter=2,r.TriggerForIncompleteCompletions=3})(Mne=T.CompletionTriggerKind||(T.CompletionTriggerKind={}));var Nne;(function(r){r.method="textDocument/completion",r.type=new ve.ProtocolRequestType(r.method)})(Nne=T.CompletionRequest||(T.CompletionRequest={}));var qne;(function(r){r.method="completionItem/resolve",r.type=new ve.ProtocolRequestType(r.method)})(qne=T.CompletionResolveRequest||(T.CompletionResolveRequest={}));var $ne;(function(r){r.method="textDocument/hover",r.type=new ve.ProtocolRequestType(r.method)})($ne=T.HoverRequest||(T.HoverRequest={}));var Bne;(function(r){r.Invoked=1,r.TriggerCharacter=2,r.ContentChange=3})(Bne=T.SignatureHelpTriggerKind||(T.SignatureHelpTriggerKind={}));var jne;(function(r){r.method="textDocument/signatureHelp",r.type=new ve.ProtocolRequestType(r.method)})(jne=T.SignatureHelpRequest||(T.SignatureHelpRequest={}));var Une;(function(r){r.method="textDocument/definition",r.type=new ve.ProtocolRequestType(r.method)})(Une=T.DefinitionRequest||(T.DefinitionRequest={}));var Hne;(function(r){r.method="textDocument/references",r.type=new ve.ProtocolRequestType(r.method)})(Hne=T.ReferencesRequest||(T.ReferencesRequest={}));var Wne;(function(r){r.method="textDocument/documentHighlight",r.type=new ve.ProtocolRequestType(r.method)})(Wne=T.DocumentHighlightRequest||(T.DocumentHighlightRequest={}));var zne;(function(r){r.method="textDocument/documentSymbol",r.type=new ve.ProtocolRequestType(r.method)})(zne=T.DocumentSymbolRequest||(T.DocumentSymbolRequest={}));var Vne;(function(r){r.method="textDocument/codeAction",r.type=new ve.ProtocolRequestType(r.method)})(Vne=T.CodeActionRequest||(T.CodeActionRequest={}));var Gne;(function(r){r.method="codeAction/resolve",r.type=new ve.ProtocolRequestType(r.method)})(Gne=T.CodeActionResolveRequest||(T.CodeActionResolveRequest={}));var Kne;(function(r){r.method="workspace/symbol",r.type=new ve.ProtocolRequestType(r.method)})(Kne=T.WorkspaceSymbolRequest||(T.WorkspaceSymbolRequest={}));var Jne;(function(r){r.method="textDocument/codeLens",r.type=new ve.ProtocolRequestType(r.method)})(Jne=T.CodeLensRequest||(T.CodeLensRequest={}));var Yne;(function(r){r.method="codeLens/resolve",r.type=new ve.ProtocolRequestType(r.method)})(Yne=T.CodeLensResolveRequest||(T.CodeLensResolveRequest={}));var Xne;(function(r){r.method="workspace/codeLens/refresh",r.type=new ve.ProtocolRequestType0(r.method)})(Xne=T.CodeLensRefreshRequest||(T.CodeLensRefreshRequest={}));var Zne;(function(r){r.method="textDocument/documentLink",r.type=new ve.ProtocolRequestType(r.method)})(Zne=T.DocumentLinkRequest||(T.DocumentLinkRequest={}));var Qne;(function(r){r.method="documentLink/resolve",r.type=new ve.ProtocolRequestType(r.method)})(Qne=T.DocumentLinkResolveRequest||(T.DocumentLinkResolveRequest={}));var ese;(function(r){r.method="textDocument/formatting",r.type=new ve.ProtocolRequestType(r.method)})(ese=T.DocumentFormattingRequest||(T.DocumentFormattingRequest={}));var tse;(function(r){r.method="textDocument/rangeFormatting",r.type=new ve.ProtocolRequestType(r.method)})(tse=T.DocumentRangeFormattingRequest||(T.DocumentRangeFormattingRequest={}));var ise;(function(r){r.method="textDocument/onTypeFormatting",r.type=new ve.ProtocolRequestType(r.method)})(ise=T.DocumentOnTypeFormattingRequest||(T.DocumentOnTypeFormattingRequest={}));var rse;(function(r){r.Identifier=1})(rse=T.PrepareSupportDefaultBehavior||(T.PrepareSupportDefaultBehavior={}));var nse;(function(r){r.method="textDocument/rename",r.type=new ve.ProtocolRequestType(r.method)})(nse=T.RenameRequest||(T.RenameRequest={}));var sse;(function(r){r.method="textDocument/prepareRename",r.type=new ve.ProtocolRequestType(r.method)})(sse=T.PrepareRenameRequest||(T.PrepareRenameRequest={}));var ose;(function(r){r.type=new ve.ProtocolRequestType("workspace/executeCommand")})(ose=T.ExecuteCommandRequest||(T.ExecuteCommandRequest={}));var ase;(function(r){r.type=new ve.ProtocolRequestType("workspace/applyEdit")})(ase=T.ApplyWorkspaceEditRequest||(T.ApplyWorkspaceEditRequest={}))});var lN=x(Gm=>{"use strict";Object.defineProperty(Gm,"__esModule",{value:!0});Gm.createProtocolConnection=void 0;var aN=yc();function lse(r,e,t,i){return aN.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),aN.createMessageConnection(r,e,t,i)}Gm.createProtocolConnection=lse});var cN=x(ji=>{"use strict";var cse=ji&&ji.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),Km=ji&&ji.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&cse(e,r,t)};Object.defineProperty(ji,"__esModule",{value:!0});ji.LSPErrorCodes=ji.createProtocolConnection=void 0;Km(yc(),ji);Km((Ps(),PM),ji);Km(ii(),ji);Km(oN(),ji);var use=lN();Object.defineProperty(ji,"createProtocolConnection",{enumerable:!0,get:function(){return use.createProtocolConnection}});var fse;(function(r){r.lspReservedErrorRangeStart=-32899,r.ContentModified=-32801,r.RequestCancelled=-32800,r.lspReservedErrorRangeEnd=-32800})(fse=ji.LSPErrorCodes||(ji.LSPErrorCodes={}))});var H=x(zn=>{"use strict";var dse=zn&&zn.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),uN=zn&&zn.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&dse(e,r,t)};Object.defineProperty(zn,"__esModule",{value:!0});zn.createProtocolConnection=void 0;var hse=eC();uN(eC(),zn);uN(cN(),zn);function pse(r,e,t,i){return hse.createMessageConnection(r,e,t,i)}zn.createProtocolConnection=pse});var Ui=x((rwe,fN)=>{function jC(r,e,t){var i,n,s,o,a;e==null&&(e=100);function l(){var u=Date.now()-o;u=0?i=setTimeout(l,e-u):(i=null,t||(a=r.apply(s,n),s=n=null))}var c=function(){s=this,n=arguments,o=Date.now();var u=t&&!i;return i||(i=setTimeout(l,e)),u&&(a=r.apply(s,n),s=n=null),a};return c.clear=function(){i&&(clearTimeout(i),i=null)},c.flush=function(){i&&(a=r.apply(s,n),s=n=null,clearTimeout(i),i=null)},c}jC.debounce=jC;fN.exports=jC});var hN=x((nwe,dN)=>{"use strict";var It={rfc3986:{}};It.generate=function(){var r="|",e="0-9",t="["+e+"]",i="a-zA-Z",n="["+i+"]";It.rfc3986.cidr=t+r+"[1-2]"+t+r+"3[0-2]";var s=e+"A-Fa-f",o="["+s+"]",a=i+e+"-\\._~",l="!\\$&'\\(\\)\\*\\+,;=",c="%"+s,u=a+c+l+":@",f="["+u+"]",d="0?",h="(?:"+d+d+t+r+d+"[1-9]"+t+r+"1"+t+t+r+"2[0-4]"+t+r+"25[0-5])";It.rfc3986.IPv4address="(?:"+h+"\\.){3}"+h;var p=o+"{1,4}",g="(?:"+p+":"+p+"|"+It.rfc3986.IPv4address+")",b="(?:"+p+":){6}"+g,y="::(?:"+p+":){5}"+g,S="(?:"+p+")?::(?:"+p+":){4}"+g,w="(?:(?:"+p+":){0,1}"+p+")?::(?:"+p+":){3}"+g,_="(?:(?:"+p+":){0,2}"+p+")?::(?:"+p+":){2}"+g,L="(?:(?:"+p+":){0,3}"+p+")?::"+p+":"+g,$="(?:(?:"+p+":){0,4}"+p+")?::"+g,I="(?:(?:"+p+":){0,5}"+p+")?::"+p,W="(?:(?:"+p+":){0,6}"+p+")?::";It.rfc3986.IPv6address="(?:"+b+r+y+r+S+r+w+r+_+r+L+r+$+r+I+r+W+")",It.rfc3986.IPvFuture="v"+o+"+\\.["+a+l+":]+",It.rfc3986.scheme=n+"["+i+e+"+-\\.]*";var A="["+a+c+l+":]*";It.rfc3986.IPLiteral="\\[(?:"+It.rfc3986.IPv6address+r+It.rfc3986.IPvFuture+")\\]";var M="["+a+c+l+"]{0,255}",k="(?:"+It.rfc3986.IPLiteral+r+It.rfc3986.IPv4address+r+M+")",F=t+"*",j="(?:"+A+"@)?"+k+"(?::"+F+")?",X=f+"*",ae=f+"+",Pe="(?:\\/"+X+")*",ke="\\/(?:"+ae+Pe+")?",Qe=ae+Pe;It.rfc3986.hierPart="(?:(?:\\/\\/"+j+Pe+")"+r+ke+r+Qe+")",It.rfc3986.query="["+u+"\\/\\?]*(?=#|$)",It.rfc3986.fragment="["+u+"\\/\\?]*",It.rfc3986.uri="^(?:"+It.rfc3986.scheme+":"+It.rfc3986.hierPart+")(?:\\?"+It.rfc3986.query+")?(?:#"+It.rfc3986.fragment+")?$"};It.generate();dN.exports=It.rfc3986});var UC=x((swe,pN)=>{"use strict";var Sd=hN();function mse(r){return r.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")}var Cd={Uri:{createUriRegex:function(r){if(r=r||{},typeof r!="object"||Array.isArray(r))throw new Error("options must be an object");var e="";if(r.scheme){if(Array.isArray(r.scheme)||(r.scheme=[r.scheme]),r.scheme.length<=0)throw new Error("scheme must have at least 1 scheme specified");for(var t=0;t=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||s===45||s===46||s===95||s===126||e&&s===47)i!==-1&&(t+=encodeURIComponent(r.substring(i,n)),i=-1),t!==void 0&&(t+=r.charAt(n));else{t===void 0&&(t=r.substr(0,n));var o=vN[s];o!==void 0?(i!==-1&&(t+=encodeURIComponent(r.substring(i,n)),i=-1),t+=o):i===-1&&(i=n)}}return i!==-1&&(t+=encodeURIComponent(r.substring(i))),t!==void 0?t:r}function _se(r){for(var e=void 0,t=0;t1&&r.scheme==="file"?t="//"+r.authority+r.path:r.path.charCodeAt(0)===47&&(r.path.charCodeAt(1)>=65&&r.path.charCodeAt(1)<=90||r.path.charCodeAt(1)>=97&&r.path.charCodeAt(1)<=122)&&r.path.charCodeAt(2)===58?e?t=r.path.substr(1):t=r.path[1].toLowerCase()+r.path.substr(2):t=r.path,_d&&(t=t.replace(/\//g,"\\")),t}function HC(r,e){var t=e?_se:bN,i="",n=r.scheme,s=r.authority,o=r.path,a=r.query,l=r.fragment;if(n&&(i+=n,i+=":"),(s||n==="file")&&(i+=xn,i+=xn),s){var c=s.indexOf("@");if(c!==-1){var u=s.substr(0,c);s=s.substr(c+1),c=u.indexOf(":"),c===-1?i+=t(u,!1):(i+=t(u.substr(0,c),!1),i+=":",i+=t(u.substr(c+1),!1)),i+="@"}s=s.toLowerCase(),c=s.indexOf(":"),c===-1?i+=t(s,!1):(i+=t(s.substr(0,c),!1),i+=s.substr(c))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){var f=o.charCodeAt(1);f>=65&&f<=90&&(o="/"+String.fromCharCode(f+32)+":"+o.substr(3))}else if(o.length>=2&&o.charCodeAt(1)===58){var f=o.charCodeAt(0);f>=65&&f<=90&&(o=String.fromCharCode(f+32)+":"+o.substr(2))}i+=t(o,!0)}return a&&(i+="?",i+=t(a,!1)),l&&(i+="#",i+=e?l:bN(l,!1)),i}function wN(r){try{return decodeURIComponent(r)}catch(e){return r.length>3?r.substr(0,3)+wN(r.substr(3)):r}}function Jm(r){return r.match(xN)?r.replace(xN,function(e){return wN(e)}):r}var gse,At,_d,mN,vse,bse,yse,nt,xn,Cse,B,gN,Dc,vN,xN,qe=R(()=>{"use strict";gse=function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)n.hasOwnProperty(s)&&(i[s]=n[s])},r(e,t)};return function(e,t){r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();typeof process=="object"?_d=process.platform==="win32":typeof navigator=="object"&&(mN=navigator.userAgent,_d=mN.indexOf("Windows")>=0);vse=/^\w[\w\d+.-]*$/,bse=/^\//,yse=/^\/\//;nt="",xn="/",Cse=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,B=function(){function r(e,t,i,n,s,o){o===void 0&&(o=!1),typeof e=="object"?(this.scheme=e.scheme||nt,this.authority=e.authority||nt,this.path=e.path||nt,this.query=e.query||nt,this.fragment=e.fragment||nt):(this.scheme=xse(e,o),this.authority=t||nt,this.path=Sse(this.scheme,i||nt),this.query=n||nt,this.fragment=s||nt,wse(this,o))}return r.isUri=function(e){return e instanceof r?!0:e?typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="function"&&typeof e.with=="function"&&typeof e.toString=="function":!1},Object.defineProperty(r.prototype,"fsPath",{get:function(){return yN(this,!1)},enumerable:!0,configurable:!0}),r.prototype.with=function(e){if(!e)return this;var t=e.scheme,i=e.authority,n=e.path,s=e.query,o=e.fragment;return t===void 0?t=this.scheme:t===null&&(t=nt),i===void 0?i=this.authority:i===null&&(i=nt),n===void 0?n=this.path:n===null&&(n=nt),s===void 0?s=this.query:s===null&&(s=nt),o===void 0?o=this.fragment:o===null&&(o=nt),t===this.scheme&&i===this.authority&&n===this.path&&s===this.query&&o===this.fragment?this:new Dc(t,i,n,s,o)},r.parse=function(e,t){t===void 0&&(t=!1);var i=Cse.exec(e);return i?new Dc(i[2]||nt,Jm(i[4]||nt),Jm(i[5]||nt),Jm(i[7]||nt),Jm(i[9]||nt),t):new Dc(nt,nt,nt,nt,nt)},r.file=function(e){var t=nt;if(_d&&(e=e.replace(/\\/g,xn)),e[0]===xn&&e[1]===xn){var i=e.indexOf(xn,2);i===-1?(t=e.substring(2),e=xn):(t=e.substring(2,i),e=e.substring(i)||xn)}return new Dc("file",t,e,nt,nt)},r.from=function(e){return new Dc(e.scheme,e.authority,e.path,e.query,e.fragment)},r.prototype.toString=function(e){return e===void 0&&(e=!1),HC(this,e)},r.prototype.toJSON=function(){return this},r.revive=function(e){if(e){if(e instanceof r)return e;var t=new Dc(e);return t._formatted=e.external,t._fsPath=e._sep===gN?e.fsPath:null,t}else return e},r}(),gN=_d?1:void 0,Dc=function(r){gse(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return Object.defineProperty(e.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=yN(this,!1)),this._fsPath},enumerable:!0,configurable:!0}),e.prototype.toString=function(t){return t===void 0&&(t=!1),t?HC(this,!0):(this._formatted||(this._formatted=HC(this,!1)),this._formatted)},e.prototype.toJSON=function(){var t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=gN),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t},e}(B),vN=(At={},At[58]="%3A",At[47]="%2F",At[63]="%3F",At[35]="%23",At[91]="%5B",At[93]="%5D",At[64]="%40",At[33]="%21",At[36]="%24",At[38]="%26",At[39]="%27",At[40]="%28",At[41]="%29",At[42]="%2A",At[43]="%2B",At[44]="%2C",At[59]="%3B",At[61]="%3D",At[32]="%20",At);xN=/(%[0-9A-Za-z][0-9A-Za-z])+/g});var TN=x((awe,EN)=>{EN.exports=_N;_N.sync=Tse;var SN=require("fs");function Ese(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var i=0;i{kN.exports=RN;RN.sync=Dse;var DN=require("fs");function RN(r,e,t){DN.stat(r,function(i,n){t(i,i?!1:PN(n,e))})}function Dse(r,e){return PN(DN.statSync(r),e)}function PN(r,e){return r.isFile()&&Rse(r,e)}function Rse(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,f=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return f}});var LN=x((uwe,ON)=>{var cwe=require("fs"),Ym;process.platform==="win32"||global.TESTING_WINDOWS?Ym=TN():Ym=IN();ON.exports=WC;WC.sync=Pse;function WC(r,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){WC(r,e||{},function(s,o){s?n(s):i(o)})})}Ym(r,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function Pse(r,e){try{return Ym.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var Ed=x((fwe,$N)=>{var Rc=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",AN=require("path"),kse=Rc?";":":",FN=LN(),MN=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"}),NN=(r,e)=>{let t=e.colon||kse,i=r.match(/\//)||Rc&&r.match(/\\/)?[""]:[...Rc?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=Rc?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Rc?n.split(t):[""];return Rc&&r.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},qN=(r,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=NN(r,e),o=[],a=c=>new Promise((u,f)=>{if(c===i.length)return e.all&&o.length?u(o):f(MN(r));let d=i[c],h=/^".*"$/.test(d)?d.slice(1,-1):d,p=AN.join(h,r),g=!h&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(g,c,0))}),l=(c,u,f)=>new Promise((d,h)=>{if(f===n.length)return d(a(u+1));let p=n[f];FN(c+p,{pathExt:s},(g,b)=>{if(!g&&b)if(e.all)o.push(c+p);else return d(c+p);return d(l(c,u,f+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},Ise=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=NN(r,e),s=[];for(let o=0;oBse,OperatingSystem:()=>Pc,Platform:()=>$a,globals:()=>$se,isLinux:()=>Ase,isMacintosh:()=>GC,isNative:()=>Fse,isWeb:()=>Mse,isWindows:()=>Ba,language:()=>Lse,platform:()=>Nse});var Xm,Zm,zC,VC,Ose,Lse,$a,Qm,Ba,GC,Ase,Fse,Mse,Nse,qse,$se,Pc,Bse,eg=R(()=>{Xm=!1,Zm=!1,zC=!1,VC=!1,Ose=!1,Lse="en";typeof process=="object"&&typeof process.nextTick=="function"&&typeof process.platform=="string"&&(Xm=process.platform==="win32",Zm=process.platform==="darwin",zC=process.platform==="linux",VC=!0);(function(n){n[n.Web=0]="Web",n[n.Mac=1]="Mac",n[n.Linux=2]="Linux",n[n.Windows=3]="Windows"})($a||($a={}));Qm=0;VC&&(Zm?Qm=1:Xm?Qm=3:zC&&(Qm=2));Ba=Xm,GC=Zm,Ase=zC,Fse=VC,Mse=Ose,Nse=Qm,qse=typeof self=="object"?self:typeof global=="object"?global:{},$se=qse;(function(i){i[i.Windows=1]="Windows",i[i.Macintosh=2]="Macintosh",i[i.Linux=3]="Linux"})(Pc||(Pc={}));Bse=Zm?2:Xm?1:3});function Td(r){return!!(ja.MarkupContent.is(r)&&r.kind==ja.MarkupKind.Markdown)}function bt(r){return new Promise(e=>{setTimeout(()=>{e(void 0)},r)})}function zN(r){return new Promise(e=>{process.nextTick(()=>{r(),e(void 0)})})}function tg(r,e,t,i){return r?(Ba&&!i&&!r.startsWith("jdt://")&&(r=KC.default.win32.normalize(r)),KC.default.isAbsolute(r)?B.file(r).toString():HN.default.isValid(r)?B.parse(r).toString():t!=""?`${t}:${e}`:`unknown:${e}`):`untitled:${e}`}function G(r){for(;r.length;){let e=r.pop();e&&e.dispose()}}function Dd(r){try{WN.default.sync(r)}catch(e){return!1}return!0}function Vn(r,e={},t){return Ba||(e.shell=e.shell||process.env.SHELL),e.maxBuffer=500*1024,new Promise((i,n)=>{let s;t&&(s=setTimeout(()=>{n(new Error(`timeout after ${t}s`))},t*1e3)),(0,BN.exec)(r,e,(o,a,l)=>{if(s&&clearTimeout(s),o){n(new Error(`exited with ${o.code} +${o} +${l}`));return}i(a)})})}function Ic(r,e){let t=(0,jN.default)(e,100);try{let i=UN.default.watch(r,{persistent:!0,recursive:!1,encoding:"utf8"},()=>{t()});return ja.Disposable.create(()=>{t.clear(),i.close()})}catch(i){return ja.Disposable.create(()=>{t.clear()})}}function VN(r){try{return process.kill(r,0)==!0}catch(e){return e.code==="EPERM"}}function JC(r){return r=="n"||r=="o"||r=="x"||r=="v"?"":r=="i"?"":r=="s"?"":""}function Rd(r,e,t=3){if(r.length==0)return Promise.resolve();let i=0,n=r.length,s=r.slice();return new Promise(o=>{let a=l=>{let c=()=>{if(i=i+1,i==n)o();else if(s.length){let u=s.shift();a(u)}};e(l).then(c,c)};for(let l=0;l{BN=E(require("child_process")),jN=E(Ui()),UN=E(require("fs")),HN=E(UC()),KC=E(require("path")),ja=E(H());qe();WN=E(Ed());eg();pwe=U()("util-index"),Is="coc-settings.json"});function ig(r){return r&&typeof r.word=="string"}function Os(r){return typeof r=="boolean"}function Me(r){return typeof r=="string"}function rg(r){return typeof r=="number"}function _o(r){return typeof r=="function"}function Wt(r){return r!=null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof RegExp)&&!(r instanceof Date)}function ng(r){if(!Wt(r))return!1;for(let e in r)if(jse.call(r,e))return!1;return!0}var jse,Wr=R(()=>{jse=Object.prototype.hasOwnProperty});function GN(r){return r?Array.isArray(r)?r.length==0:Object.keys(r).length==0:!0}function Ls(r){if(!r||typeof r!="object"||r instanceof RegExp)return r;let e=Array.isArray(r)?[]:{};return Object.keys(r).forEach(t=>{r[t]&&typeof r[t]=="object"?e[t]=Ls(r[t]):e[t]=r[t]}),e}function KN(r){if(!r||typeof r!="object")return r;let e=[r];for(;e.length>0;){let t=e.shift();Object.freeze(t);for(let i in t)if(Use.call(t,i)){let n=t[i];typeof n=="object"&&!Object.isFrozen(n)&&e.push(n)}}return r}function YC(r,e,t=!0){return Wt(r)?(Wt(e)&&Object.keys(e).forEach(i=>{i in r?t&&(Wt(r[i])&&Wt(e[i])?YC(r[i],e[i],t):r[i]=e[i]):r[i]=e[i]}),r):e}function je(r,e){if(r===e)return!0;if(r==null||e===null||e===void 0||typeof r!=typeof e||typeof r!="object"||Array.isArray(r)!==Array.isArray(e))return!1;let t,i;if(Array.isArray(r)){if(r.length!==e.length)return!1;for(t=0;t{Wr();Use=Object.prototype.hasOwnProperty});var XC,JN,YN,O,_e=R(()=>{XC=E(H());de();ri();JN=U()("events"),YN=class{constructor(){this.handlers=new Map;this._lastChange=0;this._insertMode=!1;this._pumAlignTop=!1}get cursor(){return this._cursor}get pumAlignTop(){return this._pumAlignTop}get insertMode(){return this._insertMode}get lastChangeTs(){return this._lastChange}async fire(e,t){let i=this.handlers.get(e);if(e=="InsertEnter"?this._insertMode=!0:e=="InsertLeave"?this._insertMode=!1:!this._insertMode&&(e=="CursorHoldI"||e=="CursorMovedI")?(this._insertMode=!0,this.fire("InsertEnter",[t[0]])):this._insertMode&&(e=="CursorHold"||e=="CursorMoved")&&(this._insertMode=!1,this.fire("InsertLeave",[t[0]]).logError()),e=="MenuPopupChanged"&&(this._pumAlignTop=t[1]>t[0].row),e=="InsertCharPre"&&(this._latestInsert={bufnr:t[1],character:t[0],timestamp:Date.now()}),e=="TextChanged"&&(this._lastChange=Date.now()),(e=="TextChangedI"||e=="TextChangedP")&&(this._lastChange=Date.now(),this._latestInsert)){let n=this._latestInsert;if(this._latestInsert=void 0,n.bufnr==t[0]&&Date.now()-n.timestamp<200&&t[1].pre.length){let s=t[1].pre.slice(-1);process.nextTick(()=>{this.fire("TextInsert",[...t,s])})}}if(e=="CursorMoved"||e=="CursorMovedI"){let n={bufnr:t[0],lnum:t[1][0],col:t[1][1],insert:e=="CursorMovedI"};if(this._cursor&&je(this._cursor,n))return;this._cursor=n}if(i)try{await Promise.all(i.map(n=>n(t)))}catch(n){if(n.message&&n.message.indexOf("transport disconnected")==-1)return;JN.error(`Error on event: ${e}`,n.stack)}}on(e,t,i,n){if(Array.isArray(e)){let s=n||[];for(let o of e)this.on(o,t,i,s);return XC.Disposable.create(()=>{G(s)})}else{let s=this.handlers.get(e)||[],o=Error().stack,a=c=>new Promise((u,f)=>{let d;try{Promise.resolve(t.apply(i||null,c)).then(()=>{d&&clearTimeout(d),u(void 0)},h=>{d&&clearTimeout(d),f(h)}),d=setTimeout(()=>{JN.warn(`Handler of ${e} blocked more than 2s:`,o)},2e3)}catch(h){f(h)}});s.push(a),this.handlers.set(e,s);let l=XC.Disposable.create(()=>{let c=s.indexOf(a);c!==-1&&s.splice(c,1)});return n&&n.push(l),l}}},O=new YN});var Oc=x((Swe,ZC)=>{function XN(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}function Hse(r){ZC.exports.defaults=r}ZC.exports={defaults:XN(),getDefaults:XN,changeDefaults:Hse}});var Ua=x((Cwe,iq)=>{var Wse=/[&<>"']/,zse=/[&<>"']/g,Vse=/[<>"']|&(?!#?\w+;)/,Gse=/[<>"']|&(?!#?\w+;)/g,Kse={"&":"&","<":"<",">":">",'"':""","'":"'"},ZN=r=>Kse[r];function Jse(r,e){if(e){if(Wse.test(r))return r.replace(zse,ZN)}else if(Vse.test(r))return r.replace(Gse,ZN);return r}var Yse=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function QN(r){return r.replace(Yse,(e,t)=>(t=t.toLowerCase(),t==="colon"?":":t.charAt(0)==="#"?t.charAt(1)==="x"?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""))}var Xse=/(^|[^\[])\^/g;function Zse(r,e){r=r.source||r,e=e||"";let t={replace:(i,n)=>(n=n.source||n,n=n.replace(Xse,"$1"),r=r.replace(i,n),t),getRegex:()=>new RegExp(r,e)};return t}var Qse=/[^\w:]/g,eoe=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function toe(r,e,t){if(r){let i;try{i=decodeURIComponent(QN(t)).replace(Qse,"").toLowerCase()}catch(n){return null}if(i.indexOf("javascript:")===0||i.indexOf("vbscript:")===0||i.indexOf("data:")===0)return null}e&&!eoe.test(t)&&(t=eq(e,t));try{t=encodeURI(t).replace(/%25/g,"%")}catch(i){return null}return t}var sg={},ioe=/^[^:]+:\/*[^/]*$/,roe=/^([^:]+:)[\s\S]*$/,noe=/^([^:]+:\/*[^/]*)[\s\S]*$/;function eq(r,e){sg[" "+r]||(ioe.test(r)?sg[" "+r]=r+"/":sg[" "+r]=tq(r,"/",!0)),r=sg[" "+r];let t=r.indexOf(":")===-1;return e.substring(0,2)==="//"?t?e:r.replace(roe,"$1")+e:e.charAt(0)==="/"?t?e:r.replace(noe,"$1")+e:r+e}var soe={exec:function(){}};function ooe(r){let e=1,t,i;for(;e{let l=!1,c=o;for(;--c>=0&&a[c]==="\\";)l=!l;return l?"|":" |"}),i=t.split(/ \|/),n=0;if(i.length>e)i.splice(e);else for(;i.length1;)e&1&&(t+=r),e>>=1,r+=r;return t+r}iq.exports={escape:Jse,unescape:QN,edit:Zse,cleanUrl:toe,resolveUrl:eq,noopTest:soe,merge:ooe,splitCells:aoe,rtrim:tq,findClosingBracket:loe,checkSanitizeDeprecation:coe,repeatString:uoe}});var QC=x((Ewe,nq)=>{var{defaults:foe}=Oc(),{rtrim:og,splitCells:ag,escape:zr,findClosingBracket:doe}=Ua();function rq(r,e,t){let i=e.href,n=e.title?zr(e.title):null,s=r[1].replace(/\\([\[\]])/g,"$1");return r[0].charAt(0)!=="!"?{type:"link",raw:t,href:i,title:n,text:s}:{type:"image",raw:t,href:i,title:n,text:zr(s)}}function hoe(r,e){let t=r.match(/^(\s+)(?:```)/);if(t===null)return e;let i=t[1];return e.split(` +`).map(n=>{let s=n.match(/^\s+/);if(s===null)return n;let[o]=s;return o.length>=i.length?n.slice(i.length):n}).join(` +`)}nq.exports=class{constructor(e){this.options=e||foe}space(e){let t=this.rules.block.newline.exec(e);if(t)return t[0].length>1?{type:"space",raw:t[0]}:{raw:` +`}}code(e){let t=this.rules.block.code.exec(e);if(t){let i=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?i:og(i,` +`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let i=t[0],n=hoe(i,t[3]||"");return{type:"code",raw:i,lang:t[2]?t[2].trim():t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let i=t[2].trim();if(/#$/.test(i)){let n=og(i,"#");(this.options.pedantic||!n||/ $/.test(n))&&(i=n.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:i}}}nptable(e){let t=this.rules.block.nptable.exec(e);if(t){let i={type:"table",header:ag(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split(` +`):[],raw:t[0]};if(i.header.length===i.align.length){let n=i.align.length,s;for(s=0;s ?/gm,"");return{type:"blockquote",raw:t[0],text:i}}}list(e){let t=this.rules.block.list.exec(e);if(t){let i=t[0],n=t[2],s=n.length>1,o={type:"list",raw:i,ordered:s,start:s?+n.slice(0,-1):"",loose:!1,items:[]},a=t[0].match(this.rules.block.item),l=!1,c,u,f,d,h,p,g,b,y,S=a.length;f=this.rules.block.listItemStart.exec(a[0]);for(let w=0;wf[1].length:d[1].length>=f[0].length||d[1].length>3){a.splice(w,2,a[w]+(!this.options.pedantic&&d[1].length/i.test(n[0])&&(t=!1),!i&&/^<(pre|code|kbd|script)(\s|>)/i.test(n[0])?i=!0:i&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(n[0])&&(i=!1),{type:this.options.sanitize?"text":"html",raw:n[0],inLink:t,inRawBlock:i,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):zr(n[0]):n[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let i=t[2].trim();if(!this.options.pedantic&&/^$/.test(i))return;let o=og(i.slice(0,-1),"\\");if((i.length-o.length)%2==0)return}else{let o=doe(t[2],"()");if(o>-1){let l=(t[0].indexOf("!")===0?5:4)+t[1].length+o;t[2]=t[2].substring(0,o),t[0]=t[0].substring(0,l).trim(),t[3]=""}}let n=t[2],s="";if(this.options.pedantic){let o=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);o&&(n=o[1],s=o[3])}else s=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^$/.test(i)?n=n.slice(1):n=n.slice(1,-1)),rq(t,{href:n&&n.replace(this.rules.inline._escapes,"$1"),title:s&&s.replace(this.rules.inline._escapes,"$1")},t[0])}}reflink(e,t){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){let n=(i[2]||i[1]).replace(/\s+/g," ");if(n=t[n.toLowerCase()],!n||!n.href){let s=i[0].charAt(0);return{type:"text",raw:s,text:s}}return rq(i,n,i[0])}}emStrong(e,t,i=""){let n=this.rules.inline.emStrong.lDelim.exec(e);if(!n||n[3]&&i.match(/[\p{L}\p{N}]/u))return;let s=n[1]||n[2]||"";if(!s||s&&(i===""||this.rules.inline.punctuation.exec(i))){let o=n[0].length-1,a,l,c=o,u=0,f=n[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(f.lastIndex=0,t=t.slice(-1*e.length+o);(n=f.exec(t))!=null;)if(a=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!!a){if(l=a.length,n[3]||n[4]){c+=l;continue}else if((n[5]||n[6])&&o%3&&!((o+l)%3)){u+=l;continue}if(c-=l,!(c>0))return l=Math.min(l,l+c+u),Math.min(o,l)%2?{type:"em",raw:e.slice(0,o+n.index+l+1),text:e.slice(1,o+n.index+l)}:{type:"strong",raw:e.slice(0,o+n.index+l+1),text:e.slice(2,o+n.index+l-1)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let i=t[2].replace(/\n/g," "),n=/[^ ]/.test(i),s=/^ /.test(i)&&/ $/.test(i);return n&&s&&(i=i.substring(1,i.length-1)),i=zr(i,!0),{type:"codespan",raw:t[0],text:i}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2]}}autolink(e,t){let i=this.rules.inline.autolink.exec(e);if(i){let n,s;return i[2]==="@"?(n=zr(this.options.mangle?t(i[1]):i[1]),s="mailto:"+n):(n=zr(i[1]),s=n),{type:"link",raw:i[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}url(e,t){let i;if(i=this.rules.inline.url.exec(e)){let n,s;if(i[2]==="@")n=zr(this.options.mangle?t(i[0]):i[0]),s="mailto:"+n;else{let o;do o=i[0],i[0]=this.rules.inline._backpedal.exec(i[0])[0];while(o!==i[0]);n=zr(i[0]),i[1]==="www."?s="http://"+n:s=n}return{type:"link",raw:i[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e,t,i){let n=this.rules.inline.text.exec(e);if(n){let s;return t?s=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):zr(n[0]):n[0]:s=zr(this.options.smartypants?i(n[0]):n[0]),{type:"text",raw:n[0],text:s}}}}});var oq=x((Twe,sq)=>{var{noopTest:Pd,edit:st,merge:Ha}=Ua(),he={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:Pd,table:Pd,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/};he._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/;he._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;he.def=st(he.def).replace("label",he._label).replace("title",he._title).getRegex();he.bullet=/(?:[*+-]|\d{1,9}[.)])/;he.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/;he.item=st(he.item,"gm").replace(/bull/g,he.bullet).getRegex();he.listItemStart=st(/^( *)(bull) */).replace("bull",he.bullet).getRegex();he.list=st(he.list).replace(/bull/g,he.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+he.def.source+")").getRegex();he._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";he._comment=/|$)/;he.html=st(he.html,"i").replace("comment",he._comment).replace("tag",he._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();he.paragraph=st(he._paragraph).replace("hr",he.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",he._tag).getRegex();he.blockquote=st(he.blockquote).replace("paragraph",he.paragraph).getRegex();he.normal=Ha({},he);he.gfm=Ha({},he.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"});he.gfm.nptable=st(he.gfm.nptable).replace("hr",he.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",he._tag).getRegex();he.gfm.table=st(he.gfm.table).replace("hr",he.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",he._tag).getRegex();he.pedantic=Ha({},he.normal,{html:st(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",he._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Pd,paragraph:st(he.normal._paragraph).replace("hr",he.hr).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",he.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var te={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:Pd,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:Pd,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~";te.punctuation=st(te.punctuation).replace(/punctuation/g,te._punctuation).getRegex();te.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g;te.escapedEmSt=/\\\*|\\_/g;te._comment=st(he._comment).replace("(?:-->|$)","-->").getRegex();te.emStrong.lDelim=st(te.emStrong.lDelim).replace(/punct/g,te._punctuation).getRegex();te.emStrong.rDelimAst=st(te.emStrong.rDelimAst,"g").replace(/punct/g,te._punctuation).getRegex();te.emStrong.rDelimUnd=st(te.emStrong.rDelimUnd,"g").replace(/punct/g,te._punctuation).getRegex();te._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g;te._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;te._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;te.autolink=st(te.autolink).replace("scheme",te._scheme).replace("email",te._email).getRegex();te._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;te.tag=st(te.tag).replace("comment",te._comment).replace("attribute",te._attribute).getRegex();te._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;te._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/;te._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;te.link=st(te.link).replace("label",te._label).replace("href",te._href).replace("title",te._title).getRegex();te.reflink=st(te.reflink).replace("label",te._label).getRegex();te.reflinkSearch=st(te.reflinkSearch,"g").replace("reflink",te.reflink).replace("nolink",te.nolink).getRegex();te.normal=Ha({},te);te.pedantic=Ha({},te.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:st(/^!?\[(label)\]\((.*?)\)/).replace("label",te._label).getRegex(),reflink:st(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",te._label).getRegex()});te.gfm=Ha({},te.normal,{escape:st(te.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\{var poe=QC(),{defaults:moe}=Oc(),{block:lg,inline:kd}=oq(),{repeatString:aq}=Ua();function goe(r){return r.replace(/---/g,"\u2014").replace(/--/g,"\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1\u2018").replace(/'/g,"\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1\u201C").replace(/"/g,"\u201D").replace(/\.{3}/g,"\u2026")}function lq(r){let e="",t,i,n=r.length;for(t=0;t.5&&(i="x"+i.toString(16)),e+="&#"+i+";";return e}cq.exports=class e0{constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||moe,this.options.tokenizer=this.options.tokenizer||new poe,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;let t={block:lg.normal,inline:kd.normal};this.options.pedantic?(t.block=lg.pedantic,t.inline=kd.pedantic):this.options.gfm&&(t.block=lg.gfm,this.options.breaks?t.inline=kd.breaks:t.inline=kd.gfm),this.tokenizer.rules=t}static get rules(){return{block:lg,inline:kd}}static lex(e,t){return new e0(t).lex(e)}static lexInline(e,t){return new e0(t).inlineTokens(e)}lex(e){return e=e.replace(/\r\n|\r/g,` +`).replace(/\t/g," "),this.blockTokens(e,this.tokens,!0),this.inline(this.tokens),this.tokens}blockTokens(e,t=[],i=!0){this.options.pedantic&&(e=e.replace(/^ +$/gm,""));let n,s,o,a,l,c;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(u=>(n=u.call(this,e,t))?(e=e.substring(n.raw.length),t.push(n),!0):!1))){if(n=this.tokenizer.space(e)){e=e.substring(n.raw.length),n.type&&t.push(n);continue}if(n=this.tokenizer.code(e)){e=e.substring(n.raw.length),a=t[t.length-1],a&&a.type==="paragraph"?(a.raw+=` +`+n.raw,a.text+=` +`+n.text):t.push(n);continue}if(n=this.tokenizer.fences(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.heading(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.nptable(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.hr(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.blockquote(e)){e=e.substring(n.raw.length),n.tokens=this.blockTokens(n.text,[],i),t.push(n);continue}if(n=this.tokenizer.list(e)){for(e=e.substring(n.raw.length),o=n.items.length,s=0;s=0&&(u=Math.min(u,d))}),u<1/0&&u>=0&&(l=e.substring(0,u+1))}if(i&&(n=this.tokenizer.paragraph(l))){a=t[t.length-1],c&&a.type==="paragraph"?(a.raw+=` +`+n.raw,a.text+=` +`+n.text):t.push(n),c=l.length!==e.length,e=e.substring(n.raw.length);continue}if(n=this.tokenizer.text(e)){e=e.substring(n.raw.length),a=t[t.length-1],a&&a.type==="text"?(a.raw+=` +`+n.raw,a.text+=` +`+n.text):t.push(n);continue}if(e){let u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return t}inline(e){let t,i,n,s,o,a,l=e.length;for(t=0;t0)for(;(c=this.tokenizer.rules.inline.reflinkSearch.exec(l))!=null;)d.includes(c[0].slice(c[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,c.index)+"["+aq("a",c[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(c=this.tokenizer.rules.inline.blockSkip.exec(l))!=null;)l=l.slice(0,c.index)+"["+aq("a",c[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(c=this.tokenizer.rules.inline.escapedEmSt.exec(l))!=null;)l=l.slice(0,c.index)+"++"+l.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(u||(f=""),u=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(d=>(s=d.call(this,e,t))?(e=e.substring(s.raw.length),t.push(s),!0):!1))){if(s=this.tokenizer.escape(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.tag(e,i,n)){e=e.substring(s.raw.length),i=s.inLink,n=s.inRawBlock,o=t[t.length-1],o&&s.type==="text"&&o.type==="text"?(o.raw+=s.raw,o.text+=s.text):t.push(s);continue}if(s=this.tokenizer.link(e)){e=e.substring(s.raw.length),s.type==="link"&&(s.tokens=this.inlineTokens(s.text,[],!0,n)),t.push(s);continue}if(s=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(s.raw.length),o=t[t.length-1],s.type==="link"?(s.tokens=this.inlineTokens(s.text,[],!0,n),t.push(s)):o&&s.type==="text"&&o.type==="text"?(o.raw+=s.raw,o.text+=s.text):t.push(s);continue}if(s=this.tokenizer.emStrong(e,l,f)){e=e.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],i,n),t.push(s);continue}if(s=this.tokenizer.codespan(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.br(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.del(e)){e=e.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],i,n),t.push(s);continue}if(s=this.tokenizer.autolink(e,lq)){e=e.substring(s.raw.length),t.push(s);continue}if(!i&&(s=this.tokenizer.url(e,lq))){e=e.substring(s.raw.length),t.push(s);continue}if(a=e,this.options.extensions&&this.options.extensions.startInline){let d=1/0,h=e.slice(1),p;this.options.extensions.startInline.forEach(function(g){p=g.call(this,h),typeof p=="number"&&p>=0&&(d=Math.min(d,p))}),d<1/0&&d>=0&&(a=e.substring(0,d+1))}if(s=this.tokenizer.inlineText(a,n,goe)){e=e.substring(s.raw.length),s.raw.slice(-1)!=="_"&&(f=s.raw.slice(-1)),u=!0,o=t[t.length-1],o&&o.type==="text"?(o.raw+=s.raw,o.text+=s.text):t.push(s);continue}if(e){let d="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(d);break}else throw new Error(d)}}return t}}});var t0=x((Pwe,dq)=>{var{defaults:voe}=Oc(),{cleanUrl:fq,escape:cg}=Ua();dq.exports=class{constructor(e){this.options=e||voe}code(e,t,i){let n=(t||"").match(/\S*/)[0];if(this.options.highlight){let s=this.options.highlight(e,n);s!=null&&s!==e&&(i=!0,e=s)}return e=e.replace(/\n$/,"")+` +`,n?'
'+(i?e:cg(e,!0))+`
+`:"
"+(i?e:cg(e,!0))+`
+`}blockquote(e){return`
+`+e+`
+`}html(e){return e}heading(e,t,i,n){return this.options.headerIds?"'+e+" +`:""+e+" +`}hr(){return this.options.xhtml?`
+`:`
+`}list(e,t,i){let n=t?"ol":"ul",s=t&&i!==1?' start="'+i+'"':"";return"<"+n+s+`> +`+e+" +`}listitem(e){return"
  • "+e+`
  • +`}checkbox(e){return" "}paragraph(e){return"

    "+e+`

    +`}table(e,t){return t&&(t=""+t+""),` + +`+e+` +`+t+`
    +`}tablerow(e){return` +`+e+` +`}tablecell(e,t){let i=t.header?"th":"td";return(t.align?"<"+i+' align="'+t.align+'">':"<"+i+">")+e+" +`}strong(e){return""+e+""}em(e){return""+e+""}codespan(e){return""+e+""}br(){return this.options.xhtml?"
    ":"
    "}del(e){return""+e+""}link(e,t,i){if(e=fq(this.options.sanitize,this.options.baseUrl,e),e===null)return i;let n='",n}image(e,t,i){if(e=fq(this.options.sanitize,this.options.baseUrl,e),e===null)return i;let n=''+i+'":">",n}text(e){return e}}});var i0=x((Iwe,hq)=>{hq.exports=class{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,i){return""+i}image(e,t,i){return""+i}br(){return""}}});var r0=x((Lwe,pq)=>{pq.exports=class{constructor(){this.seen={}}serialize(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(e,t){let i=e,n=0;if(this.seen.hasOwnProperty(i)){n=this.seen[e];do n++,i=e+"-"+n;while(this.seen.hasOwnProperty(i))}return t||(this.seen[e]=n,this.seen[i]=0),i}slug(e,t={}){let i=this.serialize(e);return this.getNextSafeSlug(i,t.dryrun)}}});var gq=x((Awe,mq)=>{var boe=t0(),yoe=i0(),woe=r0(),{defaults:xoe}=Oc(),{unescape:Soe}=Ua();mq.exports=class n0{constructor(e){this.options=e||xoe,this.options.renderer=this.options.renderer||new boe,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new yoe,this.slugger=new woe}static parse(e,t){return new n0(t).parse(e)}static parseInline(e,t){return new n0(t).parseInline(e)}parse(e,t=!0){let i="",n,s,o,a,l,c,u,f,d,h,p,g,b,y,S,w,_,L,$,I=e.length;for(n=0;n0&&S.tokens[0].type==="text"?(S.tokens[0].text=L+" "+S.tokens[0].text,S.tokens[0].tokens&&S.tokens[0].tokens.length>0&&S.tokens[0].tokens[0].type==="text"&&(S.tokens[0].tokens[0].text=L+" "+S.tokens[0].tokens[0].text)):S.tokens.unshift({type:"text",text:L}):y+=L),y+=this.parse(S.tokens,b),d+=this.renderer.listitem(y,_,w);i+=this.renderer.list(d,p,g);continue}case"html":{i+=this.renderer.html(h.text);continue}case"paragraph":{i+=this.renderer.paragraph(this.parseInline(h.tokens));continue}case"text":{for(d=h.tokens?this.parseInline(h.tokens):h.text;n+1{var Id=uq(),Od=gq(),vq=QC(),bq=t0(),Coe=i0(),_oe=r0(),{merge:ug,checkSanitizeDeprecation:yq,escape:wq}=Ua(),{getDefaults:Eoe,changeDefaults:Toe,defaults:Doe}=Oc();function be(r,e,t){if(typeof r=="undefined"||r===null)throw new Error("marked(): input parameter is undefined or null");if(typeof r!="string")throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected");if(typeof e=="function"&&(t=e,e=null),e=ug({},be.defaults,e||{}),yq(e),t){let i=e.highlight,n;try{n=Id.lex(r,e)}catch(a){return t(a)}let s=function(a){let l;if(!a)try{e.walkTokens&&be.walkTokens(n,e.walkTokens),l=Od.parse(n,e)}catch(c){a=c}return e.highlight=i,a?t(a):t(null,l)};if(!i||i.length<3||(delete e.highlight,!n.length))return s();let o=0;be.walkTokens(n,function(a){a.type==="code"&&(o++,setTimeout(()=>{i(a.text,a.lang,function(l,c){if(l)return s(l);c!=null&&c!==a.text&&(a.text=c,a.escaped=!0),o--,o===0&&s()})},0))}),o===0&&s();return}try{let i=Id.lex(r,e);return e.walkTokens&&be.walkTokens(i,e.walkTokens),Od.parse(i,e)}catch(i){if(i.message+=` +Please report this to https://github.com/markedjs/marked.`,e.silent)return"

    An error occurred:

    "+wq(i.message+"",!0)+"
    ";throw i}}be.options=be.setOptions=function(r){return ug(be.defaults,r),Toe(be.defaults),be};be.getDefaults=Eoe;be.defaults=Doe;be.use=function(...r){let e=ug({},...r),t=be.defaults.extensions||{renderers:{},childTokens:{}},i;r.forEach(n=>{if(n.extensions&&(i=!0,n.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if(s.renderer){let o=t.renderers?t.renderers[s.name]:null;o?t.renderers[s.name]=function(...a){let l=s.renderer.apply(this,a);return l===!1&&(l=o.apply(this,a)),l}:t.renderers[s.name]=s.renderer}if(s.tokenizer){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");t[s.level]?t[s.level].unshift(s.tokenizer):t[s.level]=[s.tokenizer],s.start&&(s.level==="block"?t.startBlock?t.startBlock.push(s.start):t.startBlock=[s.start]:s.level==="inline"&&(t.startInline?t.startInline.push(s.start):t.startInline=[s.start]))}s.childTokens&&(t.childTokens[s.name]=s.childTokens)})),n.renderer){let s=be.defaults.renderer||new bq;for(let o in n.renderer){let a=s[o];s[o]=(...l)=>{let c=n.renderer[o].apply(s,l);return c===!1&&(c=a.apply(s,l)),c}}e.renderer=s}if(n.tokenizer){let s=be.defaults.tokenizer||new vq;for(let o in n.tokenizer){let a=s[o];s[o]=(...l)=>{let c=n.tokenizer[o].apply(s,l);return c===!1&&(c=a.apply(s,l)),c}}e.tokenizer=s}if(n.walkTokens){let s=be.defaults.walkTokens;e.walkTokens=o=>{n.walkTokens.call(this,o),s&&s(o)}}i&&(e.extensions=t),be.setOptions(e)})};be.walkTokens=function(r,e){for(let t of r)switch(e(t),t.type){case"table":{for(let i of t.tokens.header)be.walkTokens(i,e);for(let i of t.tokens.cells)for(let n of i)be.walkTokens(n,e);break}case"list":{be.walkTokens(t.items,e);break}default:be.defaults.extensions&&be.defaults.extensions.childTokens&&be.defaults.extensions.childTokens[t.type]?be.defaults.extensions.childTokens[t.type].forEach(function(i){be.walkTokens(t[i],e)}):t.tokens&&be.walkTokens(t.tokens,e)}};be.parseInline=function(r,e){if(typeof r=="undefined"||r===null)throw new Error("marked.parseInline(): input parameter is undefined or null");if(typeof r!="string")throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected");e=ug({},be.defaults,e||{}),yq(e);try{let t=Id.lexInline(r,e);return e.walkTokens&&be.walkTokens(t,e.walkTokens),Od.parseInline(t,e)}catch(t){if(t.message+=` +Please report this to https://github.com/markedjs/marked.`,e.silent)return"

    An error occurred:

    "+wq(t.message+"",!0)+"
    ";throw t}};be.Parser=Od;be.parser=Od.parse;be.Renderer=bq;be.TextRenderer=Coe;be.Lexer=Id;be.lexer=Id.lex;be.Tokenizer=vq;be.Slugger=_oe;be.parse=be;xq.exports=be});var Tq=x((Mwe,Eq)=>{var Cq={};Eq.exports=Cq;var _q={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]};Object.keys(_q).forEach(function(r){var e=_q[r],t=Cq[r]=[];t.open="["+e[0]+"m",t.close="["+e[1]+"m"})});var Rq=x((Nwe,Dq)=>{var Ld=process.argv;Dq.exports=function(){return Ld.indexOf("--no-color")!==-1||Ld.indexOf("--color=false")!==-1?!1:Ld.indexOf("--color")!==-1||Ld.indexOf("--color=true")!==-1||Ld.indexOf("--color=always")!==-1?!0:process.stdout&&!process.stdout.isTTY?!1:process.platform==="win32"||"COLORTERM"in process.env?!0:process.env.TERM==="dumb"?!1:!!/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)}()});var kq=x((qwe,Pq)=>{Pq.exports=function(e,t){var i="";e=e||"Run the trap, drop the bass",e=e.split("");var n={a:["@","\u0104","\u023A","\u0245","\u0394","\u039B","\u0414"],b:["\xDF","\u0181","\u0243","\u026E","\u03B2","\u0E3F"],c:["\xA9","\u023B","\u03FE"],d:["\xD0","\u018A","\u0500","\u0501","\u0502","\u0503"],e:["\xCB","\u0115","\u018E","\u0258","\u03A3","\u03BE","\u04BC","\u0A6C"],f:["\u04FA"],g:["\u0262"],h:["\u0126","\u0195","\u04A2","\u04BA","\u04C7","\u050A"],i:["\u0F0F"],j:["\u0134"],k:["\u0138","\u04A0","\u04C3","\u051E"],l:["\u0139"],m:["\u028D","\u04CD","\u04CE","\u0520","\u0521","\u0D69"],n:["\xD1","\u014B","\u019D","\u0376","\u03A0","\u048A"],o:["\xD8","\xF5","\xF8","\u01FE","\u0298","\u047A","\u05DD","\u06DD","\u0E4F"],p:["\u01F7","\u048E"],q:["\u09CD"],r:["\xAE","\u01A6","\u0210","\u024C","\u0280","\u042F"],s:["\xA7","\u03DE","\u03DF","\u03E8"],t:["\u0141","\u0166","\u0373"],u:["\u01B1","\u054D"],v:["\u05D8"],w:["\u0428","\u0460","\u047C","\u0D70"],x:["\u04B2","\u04FE","\u04FC","\u04FD"],y:["\xA5","\u04B0","\u04CB"],z:["\u01B5","\u0240"]};return e.forEach(function(s){s=s.toLowerCase();var o=n[s]||[" "],a=Math.floor(Math.random()*o.length);typeof n[s]!="undefined"?i+=n[s][a]:i+=s}),i}});var Oq=x(($we,Iq)=>{Iq.exports=function(e,t){e=e||" he is here ";var i={up:["\u030D","\u030E","\u0304","\u0305","\u033F","\u0311","\u0306","\u0310","\u0352","\u0357","\u0351","\u0307","\u0308","\u030A","\u0342","\u0313","\u0308","\u034A","\u034B","\u034C","\u0303","\u0302","\u030C","\u0350","\u0300","\u0301","\u030B","\u030F","\u0312","\u0313","\u0314","\u033D","\u0309","\u0363","\u0364","\u0365","\u0366","\u0367","\u0368","\u0369","\u036A","\u036B","\u036C","\u036D","\u036E","\u036F","\u033E","\u035B","\u0346","\u031A"],down:["\u0316","\u0317","\u0318","\u0319","\u031C","\u031D","\u031E","\u031F","\u0320","\u0324","\u0325","\u0326","\u0329","\u032A","\u032B","\u032C","\u032D","\u032E","\u032F","\u0330","\u0331","\u0332","\u0333","\u0339","\u033A","\u033B","\u033C","\u0345","\u0347","\u0348","\u0349","\u034D","\u034E","\u0353","\u0354","\u0355","\u0356","\u0359","\u035A","\u0323"],mid:["\u0315","\u031B","\u0300","\u0301","\u0358","\u0321","\u0322","\u0327","\u0328","\u0334","\u0335","\u0336","\u035C","\u035D","\u035E","\u035F","\u0360","\u0362","\u0338","\u0337","\u0361"," \u0489"]},n=[].concat(i.up,i.down,i.mid),s={};function o(c){var u=Math.floor(Math.random()*c);return u}function a(c){var u=!1;return n.filter(function(f){u=f===c}),u}function l(c,u){var f="",d,h;u=u||{},u.up=u.up||!0,u.mid=u.mid||!0,u.down=u.down||!0,u.size=u.size||"maxi",c=c.split("");for(h in c)if(!a(h)){switch(f=f+c[h],d={up:0,down:0,mid:0},u.size){case"mini":d.up=o(8),d.min=o(2),d.down=o(8);break;case"maxi":d.up=o(16)+3,d.min=o(4)+1,d.down=o(64)+3;break;default:d.up=o(8)+1,d.mid=o(6)/2,d.down=o(8)+1;break}var p=["up","mid","down"];for(var g in p)for(var b=p[g],y=0;y<=d[b];y++)u[b]&&(f=f+i[b][o(i[b].length)])}return f}return l(e)}});var Aq=x((Bwe,Lq)=>{var s0=Lc();Lq.exports=function(){return function(r,e,t){if(r===" ")return r;switch(e%3){case 0:return s0.red(r);case 1:return s0.white(r);case 2:return s0.blue(r)}}}()});var Mq=x((jwe,Fq)=>{var Roe=Lc();Fq.exports=function(r,e,t){return e%2==0?r:Roe.inverse(r)}});var qq=x((Uwe,Nq)=>{var Poe=Lc();Nq.exports=function(){var r=["red","yellow","green","blue","magenta"];return function(e,t,i){return e===" "?e:Poe[r[t++%r.length]](e)}}()});var Bq=x((Hwe,$q)=>{var koe=Lc();$q.exports=function(){var r=["underline","inverse","grey","yellow","red","green","blue","white","cyan","magenta"];return function(e,t,i){return e===" "?e:koe[r[Math.round(Math.random()*(r.length-1))]](e)}}()});var Lc=x((zwe,zq)=>{var et={};zq.exports=et;et.themes={};var Eo=et.styles=Tq(),jq=Object.defineProperties;et.supportsColor=Rq();typeof et.enabled=="undefined"&&(et.enabled=et.supportsColor);et.stripColors=et.strip=function(r){return(""+r).replace(/\x1B\[\d+m/g,"")};var Wwe=et.stylize=function(e,t){return Eo[t].open+e+Eo[t].close},Ioe=/[|\\{}()[\]^$+*?.]/g,Ooe=function(r){if(typeof r!="string")throw new TypeError("Expected a string");return r.replace(Ioe,"\\$&")};function Uq(r){var e=function t(){return Aoe.apply(t,arguments)};return e._styles=r,e.__proto__=Loe,e}var Hq=function(){var r={};return Eo.grey=Eo.gray,Object.keys(Eo).forEach(function(e){Eo[e].closeRe=new RegExp(Ooe(Eo[e].close),"g"),r[e]={get:function(){return Uq(this._styles.concat(e))}}}),r}(),Loe=jq(function(){},Hq);function Aoe(){var r=arguments,e=r.length,t=e!==0&&String(arguments[0]);if(e>1)for(var i=1;i{var qoe=Lc();Vq.exports=qoe});var Jq=x(Ac=>{Ac.repeat=function(r,e){return Array(e+1).join(r)};Ac.pad=function(r,e,t,i){if(e+1>=r.length)switch(i){case"left":r=Array(e+1-r.length).join(t)+r;break;case"both":var n=Math.ceil((padlen=e-r.length)/2),s=padlen-n;r=Array(s+1).join(t)+r+Array(n+1).join(t);break;default:r=r+Array(e+1-r.length).join(t)}return r};Ac.truncate=function(r,e,t){return t=t||"\u2026",r.length>=e?r.substr(0,e-t.length)+t:r};function Kq(r,e){for(var t in e)t==="__proto__"||t==="constructor"||t==="prototype"||(e[t]&&e[t].constructor&&e[t].constructor===Object?(r[t]=r[t]||{},Kq(r[t],e[t])):r[t]=e[t]);return r}Ac.options=Kq;Ac.strlen=function(r){var e=/\u001b\[(?:\d*;){0,5}\d*m/g,t=(""+r).replace(e,""),i=t.split(` +`);return i.reduce(function(n,s){return s.length>n?s.length:n},0)}});var Yq=x((Kwe,a0)=>{var $oe=Gq(),Wa=Jq(),o0=Wa.repeat,Boe=Wa.truncate,joe=Wa.pad;function Ad(r){this.options=Wa.options({chars:{top:"\u2500","top-mid":"\u252C","top-left":"\u250C","top-right":"\u2510",bottom:"\u2500","bottom-mid":"\u2534","bottom-left":"\u2514","bottom-right":"\u2518",left:"\u2502","left-mid":"\u251C",mid:"\u2500","mid-mid":"\u253C",right:"\u2502","right-mid":"\u2524",middle:"\u2502"},truncate:"\u2026",colWidths:[],colAligns:[],style:{"padding-left":1,"padding-right":1,head:["red"],border:["grey"],compact:!1},head:[]},r)}Ad.prototype.__proto__=Array.prototype;Ad.prototype.__defineGetter__("width",function(){var r=this.toString().split(` +`);return r.length?r[0].length:0});Ad.prototype.render;Ad.prototype.toString=function(){var r="",e=this.options,t=e.style,i=e.head,n=e.chars,s=e.truncate,o=e.colWidths||new Array(this.head.length),a=0;if(!i.length&&!this.length)return"";if(!o.length){var l=this.slice(0);i.length&&(l=l.concat([i])),l.forEach(function(y){if(typeof y=="object"&&y.length)c(y);else{var S=Object.keys(y)[0],w=y[S];o[0]=Math.max(o[0]||0,u(S)||0),typeof w=="object"&&w.length?c(w,1):o[1]=Math.max(o[1]||0,u(w)||0)}})}a=(o.length==1?o[0]:o.reduce(function(y,S){return y+S}))+o.length+1;function c(y,S){var S=S||0;y.forEach(function(w,_){o[_+S]=Math.max(o[_+S]||0,u(w)||0)})}function u(y){return typeof y=="object"&&y.width!=null?y.width:(typeof y=="object"?Wa.strlen(y.text):Wa.strlen(y))+(t["padding-left"]||0)+(t["padding-right"]||0)}function f(y,S,w,_){var L=0,y=S+o0(y,a-2)+w;return o.forEach(function($,I){I!=o.length-1&&(L+=$+1,y=y.substr(0,L)+_+y.substr(L+1))}),p(e.style.border,y)}function d(){var y=f(n.top,n["top-left"]||n.top,n["top-right"]||n.top,n["top-mid"]);y&&(r+=y+` +`)}function h(y,S){var w=[],_=0;if(!Array.isArray(y)&&typeof y=="object"){var L=Object.keys(y)[0],$=y[L],I=!0;Array.isArray($)?(y=$,y.unshift(L)):y=[L,$]}y.forEach(function(M,k){var F=M.toString().split(` +`).reduce(function(X,ae){return X.push(g(ae,k)),X},[]),j=F.length;j>_&&(_=j),w.push({contents:F,height:j})});var W=new Array(_);w.forEach(function(M,k){M.contents.forEach(function(X,ae){W[ae]||(W[ae]=[]),(S||I&&k===0&&e.style.head)&&(X=p(e.style.head,X)),W[ae].push(X)});for(var F=M.height,j=_;F0&&(A+=` +`+p(e.style.border,n.left)),A+=M.join(p(e.style.border,n.middle))+p(e.style.border,n.right)}),p(e.style.border,n.left)+A}function p(y,S){return S?(y.forEach(function(w){S=$oe[w](S)}),S):""}function g(y,S){var y=String(typeof y=="object"&&y.text?y.text:y),w=Wa.strlen(y),_=o[S]-(t["padding-left"]||0)-(t["padding-right"]||0),L=e.colAligns[S]||"left";return o0(" ",t["padding-left"]||0)+(w==_?y:w<_?joe(y,_+(y.length-w)," ",L=="left"?"right":L=="middle"?"both":"left"):s?Boe(y,_,s):y)+o0(" ",t["padding-right"]||0)}i.length&&(d(),r+=h(i,t.head)+` +`),this.length&&this.forEach(function(y,S){if(!i.length&&S==0)d();else if(!t.compact||S{"use strict";var Xq=10,Zq=(r=0)=>e=>`[${38+r};5;${e}m`,Qq=(r=0)=>(e,t,i)=>`[${38+r};2;${e};${t};${i}m`;function Uoe(){let r=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[t,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`[${s[0]}m`,close:`[${s[1]}m`},i[n]=e[n],r.set(s[0],s[1]);Object.defineProperty(e,t,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:r,enumerable:!1}),e.color.close="",e.bgColor.close="",e.color.ansi256=Zq(),e.color.ansi16m=Qq(),e.bgColor.ansi256=Zq(Xq),e.bgColor.ansi16m=Qq(Xq),Object.defineProperties(e,{rgbToAnsi256:{value:(t,i,n)=>t===i&&i===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(i/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value:t=>{let i=/(?[a-f\d]{6}|[a-f\d]{3})/i.exec(t.toString(16));if(!i)return[0,0,0];let{colorString:n}=i.groups;n.length===3&&(n=n.split("").map(o=>o+o).join(""));let s=Number.parseInt(n,16);return[s>>16&255,s>>8&255,s&255]},enumerable:!1},hexToAnsi256:{value:t=>e.rgbToAnsi256(...e.hexToRgb(t)),enumerable:!1}}),e}Object.defineProperty(e$,"exports",{enumerable:!0,get:Uoe})});function i$(r){return`${di.default.gray.open}${r}${di.default.gray.close}`}function l0(r){return`${di.default.magenta.open}${r}${di.default.magenta.close}`}function r$(r){return`${di.default.bold.open}${r}${di.default.bold.close}`}function c0(r){return`${di.default.underline.open}${r}${di.default.underline.close}`}function n$(r){return`${di.default.strikethrough.open}${r}${di.default.strikethrough.close}`}function s$(r){return`${di.default.italic.open}${r}${di.default.italic.close}`}function o$(r){return`${di.default.yellow.open}${r}${di.default.yellow.close}`}function u0(r){return`${di.default.blue.open}${r}${di.default.blue.close}`}var di,a$=R(()=>{di=E(t$())});function d$(r,e){return e?r.replace(Voe,/\n/g):r}function Goe(r,e){return typeof r=="number"?new Array(r+1).join(" "):typeof r=="string"&&Koe(r)?r:new Array(e+1).join(" ")}function Koe(r){return zoe.some(function(e){return r.match("^("+e+")+$")})}function Joe(r,e){return e.replace(/(^|\n)(.+)/g,"$1"+r+"$2")}function Yoe(r,e){return e&&r+e.split(` +`).join(` +`+r)}function Qoe(r,e){let t=new RegExp("(\\S(?: | )?)((?:"+e+")+)("+h$+"(?:.*)+)$","gm");return r.replace(t,`$1 +`+e+"$2$3")}function m$(r){return" ".repeat(r.length)}function eae(r,e){return p$(e,r)?e:m$(d0)+e}function tae(r,e){let t=eae.bind(null,e);return r.split(` +`).filter(Sn).map(t).join(` +`)}function iae(r,e,t){return p$(e,r)?{num:t+1,line:e.replace(d0,g$(t+1))}:{num:t,line:m$(g$(t))+e}}function rae(r,e){let t=iae.bind(null,e),i=0;return r.split(` +`).filter(Sn).map(n=>{let s=t(n,i);return i=s.num,s.line}).join(` +`)}function nae(r,e,t){return r=r.trim(),r=e?rae(r,t):tae(r,t),r}function Fd(r){return r+` + +`}function sae(r){return r.replace(Woe,":")}function v$(r,e=null){if(!r)return[];e=e||Sn;let t=e(r).split(` +`),i=[];return t.forEach(function(n){if(!n)return;let s=n.replace(Hoe,"").split(c$);i.push(s.splice(0,s.length-1))}),i}function b$(r){return r.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function oae(r){return r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'")}function Sn(r){return r}var l$,Zwe,c$,f0,Hoe,u$,Woe,zoe,Voe,f$,Xoe,Zoe,h$,p$,d0,g$,h0,y$,p0,w$=R(()=>{l$=E(Yq());a$();Zwe=U()("markdown-renderer"),c$="^*||*^",f0="*|*|*|*",Hoe=new RegExp(b$(f0),"g"),u$="*#COLON|*",Woe=new RegExp(b$(u$),"g"),zoe=[" "],Voe="\r",f$={code:Sn,blockquote:Sn,html:i$,heading:l0,firstHeading:l0,hr:Sn,listitem:Sn,list:nae,table:Sn,paragraph:Sn,strong:r$,em:s$,codespan:o$,del:n$,link:c0,href:c0,text:Sn,unescape:!0,emoji:!1,width:80,showSectionPrefix:!0,tab:2,tableOptions:{}};Xoe="\\*",Zoe="\\d+\\.",h$="(?:"+[Xoe,Zoe].join("|")+")";p$=function(r,e){return r.match("^(?:"+e+")*"+h$)};d0="* ";g$=function(r){return r+". "};h0=new Map,y$=class{constructor(e={},t={}){this.options=e;this.highlightOptions=t;this.o=Object.assign({},f$,e),this.tab=Goe(this.o.tab,f$.tab),this.tableSettings=this.o.tableOptions,this.unescape=this.o.unescape?oae:Sn,this.highlightOptions=t||{},this.transform=this.compose(sae,this.unescape)}textLength(e){return e.replace(/\u001b\[(?:\d{1,3})(?:;\d{1,3})*m/g,"").length}text(e){return this.o.text(e)}code(e,t,i){return"``` "+t+` +`+e+"\n```\n"}blockquote(e){return Fd(this.o.blockquote(Yoe(this.tab,e.trim())))}html(e){return this.o.html(e)}heading(e,t,i){return e=this.transform(e),e=(this.o.showSectionPrefix?new Array(t+1).join("#")+" ":"")+e,Fd(t===1?this.o.firstHeading(e):this.o.heading(e))}hr(){return`--- + +`}list(e,t){return e=this.o.list(e,t,this.tab),Fd(Qoe(Joe(this.tab,e),this.tab))}listitem(e){let t=this.compose(this.o.listitem,this.transform);return e.indexOf(` +`)!==-1&&(e=e.trim()),` +`+d0+t(e)}checkbox(e){return"["+(e?"X":" ")+"] "}paragraph(e){return e=this.compose(this.o.paragraph,this.transform)(e),Fd(e)}table(e,t){let i=new l$.default(Object.assign({},{head:v$(e)[0]},this.tableSettings));return v$(t,this.transform).forEach(function(n){i.push(n)}),Fd(this.o.table(i.toString()))}tablerow(e){return f0+e+f0+` +`}tablecell(e,t){return e+c$}strong(e){return this.o.strong(e)}em(e){return e=d$(e,this.o.reflowText),this.o.em(e)}codespan(e){return e=d$(e,this.o.reflowText),this.o.codespan(e.replace(/:/g,u$))}br(){return` +`}del(e){return this.o.del(e)}link(e,t,i){let n;if(this.options.sanitize){try{n=decodeURIComponent(unescape(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(o){return""}if(n.startsWith("javascript:"))return""}if(i&&e&&i!=e&&h0.set(i,e),i&&i!=e)return u0(i);let s=this.o.href(e);return this.o.link(s)}image(e,t,i){if(typeof this.o.image=="function")return this.o.image(e,t,i);let n="!["+i;return t&&(n+=" \u2013 "+t),n+"]("+e+`) +`}compose(...e){return(...t)=>{for(let i=e.length;i-- >0;)t=[e[i].apply(this,t)];return t[0]}}static getLinks(){let e=[];for(let[t,i]of h0.entries())e.push(`${u0(t)}: ${i}`);return h0.clear(),e}},p0=y$});function x$(r,e){let{start:t,end:i}=e,n=r.split(/\r?\n/),s="",o="",a=n.length;for(let l=0;li.line){o+=c+(l==a-1?"":` +`);continue}l==t.line&&(s+=c.slice(0,t.character)),l==i.line&&(o+=c.slice(i.character)+(l==a-1?"":` +`))}return[s,o]}function re(r){return Buffer.byteLength(r)}function Fc(r){return r?r[0].toUpperCase()+r.slice(1):""}function Ci(r,e){let t=r.slice(0,e);return Buffer.byteLength(t)}function za(r,e){return Buffer.from(r,"utf8").slice(0,e).toString("utf8").length}function zt(r,e,t){return Buffer.from(r,"utf8").slice(e,t).toString("utf8")}function S$(r){let e=r.charCodeAt(0);return e>128?!1:e==95||e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122}var yt=R(()=>{});function Mc(r,e=!1){let t=Md(r),i=[],n="";for(let s of t){if(!s.text)continue;let{foreground:o,background:a,bold:l,italic:c,underline:u}=s,f=re(n);if(o||a||l||c||u){let d=[f,f+re(s.text)],h="";o&&a?h=`CocList${Fc(o)}${Fc(a)}`:o?e?o=="yellow"?h="CocMarkdownCode":o=="blue"?h="CocMarkdownLink":o=="magenta"?h="CocMarkdownHeader":h=`CocListFg${Fc(o)}`:h=`CocListFg${Fc(o)}`:a?h=`CocListBg${Fc(a)}`:l?h="CocBold":c?h="CocItalic":u&&(h="CocUnderline"),i.push({span:d,hlGroup:h})}n=n+s.text}return{line:n,highlights:i}}function Md(r){let e=null,t=null,i="",n=[],s=[],o={},a;a=()=>{let l,c;i.length?i=i.substr(0,i.length-1):s.length&&(l=s.length-1,c=s[l].text,c.length===1?s.pop():s[l].text=c.substr(0,c.length-1))};for(let l=0;l{C$[c]?o.foreground=C$[c]:_$[c]?o.background=_$[c]:c==39?delete o.foreground:c==49?delete o.background:E$[c]?o[E$[c]]=!0:c==22?o.bold=!1:c==23?o.italic=!1:c==24&&(o.underline=!1)}),n=[]):t+=r[l];continue}r[l]==""?e=r[l]:r[l]=="\b"?a():i+=r[l]}return i&&(o.text=i+(e||""),s.push(o)),s}var C$,_$,E$,Nc=R(()=>{yt();C$={30:"black",31:"red",32:"green",33:"yellow",34:"blue",35:"magenta",36:"cyan",37:"white",90:"grey"},_$={40:"black",41:"red",42:"green",43:"yellow",44:"blue",45:"magenta",46:"cyan",47:"white"},E$={1:"bold",3:"italic",4:"underline"}});var D$=x((rxe,T$)=>{"use strict";T$.exports=({onlyFirst:r=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,r?void 0:"g")}});var m0=x((nxe,R$)=>{"use strict";var aae=D$();R$.exports=r=>typeof r=="string"?r.replace(aae(),""):r});function fg(r,e={}){let t=[],i=[],n=[],s=0;for(let o of r){let a=t.length,{content:l,filetype:c}=o;if(c=="markdown"){let u=uae(l,e);n.push(...u.codes.map(f=>(f.startLine=f.startLine+a,f.endLine=f.endLine+a,f))),i.push(...u.highlights.map(f=>(f.lnum=f.lnum+a,f))),t.push(...u.lines)}else{let u=l.trim().split(/\r?\n/);lae.includes(o.filetype)?n.push({hlGroup:`Coc${c}Float`,startLine:a,endLine:a+u.length}):n.push({filetype:o.filetype,startLine:a,endLine:a+u.length}),t.push(...u)}if(o.active){let u=cae(l,a,o.active);u.length&&i.push(...u)}s!=r.length-1&&t.push("\u2500"),s=s+1}return{lines:t,highlights:i,codes:n}}function cae(r,e,t){let i=[],[n,s]=t,o=r.split(/\r?\n/),a=0,l=!1;for(let c=0;cs){let f=re(u.slice(0,s-a));i.push({colStart:0,colEnd:f,lnum:c+e,hlGroup:"CocUnderline"}),l=!1;break}else{let f=re(u);i.push({colStart:0,colEnd:f,lnum:c+e,hlGroup:"CocUnderline"})}else if(a+u.length>n){l=!0;let f=re(u.slice(0,n-a));if(a+u.length>s){let d=re(u.slice(0,s-a));l=!1,i.push({colStart:f,colEnd:d,lnum:c+e,hlGroup:"CocUnderline"});break}else{let d=re(u);i.push({colStart:f,colEnd:d,lnum:c+e,hlGroup:"CocUnderline"})}}a=a+u.length+1}return i}function uae(r,e){g0.default.setOptions({renderer:new p0,gfm:!0});let t=[],i=[],n=[],s=0,o=!1,a,l=0,c=(0,g0.default)(r),u=p0.getLinks();u.length&&(c=c+` + +`+u.join(` +`)),c=c.replace(/\s*$/,"");let f=c.split(/\n/);for(let d=0;d{g0=E(Sq());w$();Nc();yt();P$=E(m0()),lae=["Error","Warning","Info","Hint"],lxe=U()("markdown-index")});var hi,As=R(()=>{hi=class{constructor(){this.tasks=[];this.count=1}sched(){this.count>0&&this.tasks.length>0&&(this.count--,this.tasks.shift()())}get busy(){return this.count==0}acquire(){return new Promise(e=>{let t=()=>{let i=!1;e(()=>{i||(i=!0,this.count++,this.sched())})};this.tasks.push(t),process.nextTick(this.sched.bind(this))})}use(e){return this.acquire().then(t=>e().then(i=>(t(),i)).catch(i=>{throw t(),i}))}}});var k$,I$,fae,bxe,tr,Va=R(()=>{k$=E(Ui()),I$=E(H());_e();v0();de();As();ri();fae=process.env.VIM_NODE_RPC=="1",bxe=U()("model-float"),tr=class{constructor(e){this.nvim=e;this.winid=0;this._bufnr=0;this.mutex=new hi;this.disposables=[];this.onCursorMoved=(0,k$.default)(this._onCursorMoved.bind(this),100)}bindEvents(e,t){let i=["InsertLeave","InsertEnter","BufEnter"];for(let n of i)O.on(n,s=>{s!=this._bufnr&&this.close()},null,this.disposables);O.on("MenuPopupChanged",()=>{O.pumAlignTop==t&&this.close()},null,this.disposables),this.disposables.push(I$.Disposable.create(()=>{this.onCursorMoved.clear()})),O.on("CursorMoved",this.onCursorMoved.bind(this,e),this,this.disposables),O.on("CursorMovedI",this.onCursorMoved.bind(this,e),this,this.disposables)}unbind(){this.disposables.length&&(G(this.disposables),this.disposables=[])}_onCursorMoved(e,t,i){if(t!=this._bufnr&&!(t==this.targetBufnr&&je(i,this.cursor))&&(e||t!=this.targetBufnr||!O.insertMode)){this.close();return}}async create(e,t=!1,i=0){await this.show(e,{offsetX:i})}applyFloatConfig(e,t){for(let i of Object.keys(t)){if(i=="border"){t.border&&(e.border=[1,1,1,1]);continue}e[i]=t[i]}return e}async show(e,t={}){if(e.length==0||e.every(s=>s.content.length==0)){this.close();return}let i=Date.now(),n=await this.mutex.acquire();try{await this.createPopup(e,t,i),n()}catch(s){this.nvim.echoError(s),n()}}async createPopup(e,t,i){e=e.filter(g=>g.content.trim().length>0);let{lines:n,codes:s,highlights:o}=fg(e),a={pumAlignTop:O.pumAlignTop,preferTop:typeof t.preferTop=="boolean"?t.preferTop:!1,offsetX:t.offsetX||0,title:t.title||"",close:t.close?1:0,codes:s,highlights:o,modes:t.modes||["n","i","ic","s"]};fae||(typeof t.winblend=="number"&&(a.winblend=t.winblend),t.focusable!=null&&(a.focusable=t.focusable?1:0),t.shadow&&(a.shadow=1)),t.maxHeight&&(a.maxHeight=t.maxHeight),t.maxWidth&&(a.maxWidth=t.maxWidth),t.border&&!t.border.every(g=>g==0)&&(a.border=t.border),t.title&&!a.border&&(a.border=[1,1,1,1]),t.highlight&&(a.highlight=t.highlight),t.borderhighlight&&(a.borderhighlight=[t.borderhighlight]),t.cursorline&&(a.cursorline=1);let l=t.autoHide!=!1;l&&(a.autohide=1),this.unbind();let c=await this.nvim.call("coc#float#create_cursor_float",[this.winid,this._bufnr,n,a]);if(this.nvim.redrawVim(),!c||c.length==0||this.closeTs>i){let g=c&&c.length>0?c[2]:this.winid;g&&(this.winid=0,this.nvim.call("coc#float#close",[g],!0),this.nvim.redrawVim());return}let[u,f,d,h,p]=c;this.winid=d,this._bufnr=h,this.targetBufnr=u,this.cursor=f,this.bindEvents(l,p==1)}close(){let{winid:e,nvim:t}=this;this.closeTs=Date.now(),this.unbind(),e&&(this.winid=0,t.call("coc#float#close",[e],!0),t.redrawVim())}checkRetrigger(e){return!!(this.winid&&this.targetBufnr==e)}get bufnr(){return this._bufnr}get buffer(){return this.bufnr?this.nvim.createBuffer(this.bufnr):null}get window(){return this.winid?this.nvim.createWindow(this.winid):null}async activated(){return this.winid?await this.nvim.call("coc#float#valid",[this.winid])!=0:!1}dispose(){this.cursor=void 0,this.close()}}});function Cn(r,e){return Ft(r.start,e)===0&&Ft(r.end,e)===0}function dg(r,e){let{start:t,end:i}=r;return!(De(i,e.start)<=0||De(t,e.end)>=0)}function qc(r,e){return!!(Ft(r.start,e)==0||Ft(r.end,e)==0||Cn(e,r))}function O$(r,e){let{start:t,end:i}=e;return r>=t.line&&r<=i.line}function Fs(r){let{start:e,end:t}=r;return e.line==t.line&&e.character==t.character}function Ft(r,e){let{start:t,end:i}=e;return De(r,t)<0?-1:De(r,i)>0?1:0}function De(r,e){return r.line>e.line||e.line==r.line&&r.character>e.character?1:e.line==r.line&&r.character==e.character?0:-1}function b0(r){return r.start.line==r.end.line}function y0(r,e){let{range:t,newText:i}=e;if(De(t.end,r)<=0){let n=i.split(` +`),s=n.length-(t.end.line-t.start.line)-1,o=0;if(t.end.line==r.line){let a=b0(t)&&s==0,l=a?t.end.character-t.start.character:t.end.character;o=(a?i.length:n[n.length-1].length)-l}return{line:s,character:o}}return{line:0,character:0}}function L$(r,e){let{range:t,newText:i}=e;if(De(t.start,r)>1)return r;let{start:n,end:s}=t,o=i.split(` +`),a=s.line-n.line-o.length+1,l=o[o.length-1],c=r.line-a;if(r.line!=s.line)return{line:c,character:r.character};let u=o.length==1&&n.line!=s.line?n.character:0,f=n.line==s.line&&o.length==1?s.character-n.character:s.character,d=u+r.character+l.length-f;return{line:c,character:d}}function A$(r,e,t){let i=0;for(let n=0;n<=e;n++)n==e?i+=t:i+=r[n].length+1;return i}function F$(r,e,t){if(!Cn(t.range,r))return e;let{start:i,end:n}=t.range,s=e.split(` +`),o=i.line==r.start.line?i.character-r.start.character:i.character,a=A$(s,i.line-r.start.line,o);o=n.line==r.start.line?n.character-r.start.character:n.character;let l=A$(s,n.line-r.start.line,o);return`${e.slice(0,a)}${t.newText}${e.slice(l,e.length)}`}function $c(r,e){let t={line:0,character:0};for(let i of e){let n=y0(r,i);t={line:t.line+n.line,character:t.character+n.character}}return t.line==0&&t.character==0?null:t}var Vt=R(()=>{});var Sxe,hg,M$=R(()=>{de();Sxe=U()("outpubChannel"),hg=class{constructor(e,t,i){this.name=e;this.nvim=t;this.onDispose=i;this.lines=[""];this.disposables=[];this._disposed=!1;this.created=!1}get content(){return this.lines.join(` +`)}_append(e){let{nvim:t}=this,i=this.lines.length-1,n=e.split(/\r?\n/),s=this.lines[i]+n[0];this.lines[i]=s;let o=n.slice(1);this.lines=this.lines.concat(o),!!this.created&&(t.pauseNotification(),t.call("setbufline",[this.bufname,"$",s],!0),o.length&&t.call("appendbufline",[this.bufname,"$",o],!0),t.resumeNotification(!1,!0))}append(e){!this.validate()||this._append(e)}appendLine(e){!this.validate()||this._append(e+` +`)}clear(e){if(!this.validate())return;let{nvim:t}=this;this.lines=e?this.lines.slice(-e):[],!!this.created&&(t.pauseNotification(),t.call("deletebufline",[this.bufname,1,"$"],!0),this.lines.length&&t.call("appendbufline",[this.bufname,"$",this.lines],!0),t.resumeNotification(!1,!0))}hide(){this.created=!1,this.nvim.command(`exe 'silent! bd! '.fnameescape('${this.bufname}')`,!0)}get bufname(){return`output:///${this.name}`}show(e){let{nvim:t}=this;t.pauseNotification(),t.command(`exe 'vsplit '.fnameescape('${this.bufname}')`,!0),e&&t.command("wincmd p",!0),t.command("redraw",!0),t.resumeNotification(!1,!0),this.created=!0}validate(){return!this._disposed}dispose(){this.onDispose&&this.onDispose(),this._disposed=!0,this.hide(),this.lines=[],G(this.disposables)}}});var Txe,N$,Ga,w0=R(()=>{M$();_e();Txe=U()("channels"),N$=class{constructor(){this.outputChannels=new Map;this.bufnrs=new Map;this.disposable=O.on("BufUnload",e=>{let t=this.bufnrs.get(e);if(t){let i=this.outputChannels.get(t);i&&(i.created=!1)}})}getProvider(e){return{onDidChange:null,provideTextDocumentContent:async i=>{let n=this.get(i.path.slice(1));if(!n)return"";e.pauseNotification(),e.call("bufnr",["%"],!0),e.command("setlocal nospell nofoldenable nowrap noswapfile",!0),e.command("setlocal buftype=nofile bufhidden=hide",!0),e.command("setfiletype log",!0);let s=await e.resumeNotification();return s[1]||(this.bufnrs.set(s[0][0],n.name),n.created=!0),n.content}}}get names(){return Array.from(this.outputChannels.keys())}get(e){return this.outputChannels.get(e)}create(e,t){if(this.outputChannels.has(e))return this.outputChannels.get(e);if(!/^[\w\s-.]+$/.test(e))throw new Error(`Invalid channel name "${e}", only word characters and white space allowed.`);let i=new hg(e,t,()=>{this.outputChannels.delete(e)});return this.outputChannels.set(e,i),i}show(e,t){let i=this.outputChannels.get(e);!i||i.show(t)}dispose(){this.disposable.dispose();for(let e of this.outputChannels.values())e.dispose();this.outputChannels.clear()}},Ga=new N$});var kxe,pg,q$=R(()=>{_e();de();kxe=U()("model-dialog"),pg=class{constructor(e,t){this.nvim=e;this.config=t;this.disposables=[];O.on("BufWinLeave",i=>{i==this.bufnr&&(this.dispose(),t.callback&&t.callback(-1))},null,this.disposables),O.on("FloatBtnClick",(i,n)=>{if(i==this.bufnr){this.dispose();let s=t==null?void 0:t.buttons.filter(o=>o.disabled!=!0);t.callback&&t.callback(s[n].index)}},null,this.disposables)}get lines(){return[...this.config.content.split(/\r?\n/)]}async show(e){let{nvim:t}=this,{title:i,close:n,buttons:s}=this.config,o=this.config.borderhighlight||e.floatBorderHighlight,a=this.config.highlight||e.floatHighlight,l={maxwidth:e.maxWidth||80};i&&(l.title=i),(n||typeof n=="undefined")&&(l.close=1),e.maxHeight&&(l.maxHeight=e.maxHeight),e.maxWidth&&(l.maxWidth=e.maxWidth),a&&(l.highlight=a),o&&(l.borderhighlight=[o]),s&&(l.buttons=s.filter(u=>!u.disabled).map(u=>u.text));let c=await t.call("coc#float#create_dialog",[this.lines,l]);!c[1]||(this.bufnr=c[1],t.command("redraw",!0))}get winid(){return this.bufnr?this.nvim.call("bufwinid",[this.bufnr]):Promise.resolve(null)}dispose(){this.bufnr=void 0,G(this.disposables),this.disposables=[]}}});var mg,Bc,x0=R(()=>{mg=process.env.VIM_NODE_RPC=="1",Bc=class{constructor(e,t,i){this.nvim=e;this.winid=t;this.bufnr=i}get valid(){return this.nvim.call("coc#float#valid",[this.winid]).then(e=>!!e)}close(){this.nvim.call("coc#float#close",[this.winid],!0)}refreshScrollbar(){mg||this.nvim.call("coc#float#nvim_scrollbar",[this.winid],!0)}execute(e){this.nvim.call("coc#compat#execute",[this.winid,e],!0)}async scrollForward(){let{nvim:e,bufnr:t,winid:i}=this,s=await e.createBuffer(t).length,o;if(mg)o=await e.eval(`get(popup_getpos(${i}), 'lastline', 0)`);else{let a=await e.call("getwininfo",[i]);if(!a||!a.length)return;o=a[0].botline}o>=s||o==0||(e.pauseNotification(),this.setCursor(o-1),this.execute("silent! noa setl scrolloff=0"),this.execute(`normal! ${o}Gzt`),this.refreshScrollbar(),e.command("redraw",!0),e.resumeNotification(!1,!0))}async scrollBackward(){let{nvim:e,winid:t}=this,i;if(mg)i=await e.eval(`get(popup_getpos(${t}), 'firstline', 0)`);else{let n=await e.call("getwininfo",[t]);if(!n||!n.length)return;i=n[0].topline}i!=1&&(e.pauseNotification(),this.setCursor(i-1),this.execute(`normal! ${i}Gzb`),this.refreshScrollbar(),e.command("redraw",!0),e.resumeNotification(!1,!0))}setCursor(e){let{nvim:t,bufnr:i,winid:n}=this;mg?t.call("win_execute",[n,`exe ${e+1}`],!0):(t.createWindow(n).notify("nvim_win_set_cursor",[[e+1,0]]),t.command(`sign unplace 6 buffer=${i}`,!0),t.command(`sign place 6 line=${e+1} name=CocCurrentLine buffer=${i}`,!0))}}});var $$,dae,gg,B$=R(()=>{$$=E(H());_e();de();x0();dae=U()("model-menu"),gg=class{constructor(e,t,i){this.nvim=e;this.config=t;this.currIndex=0;this.disposables=[];this.keyMappings=new Map;this._onDidClose=new $$.Emitter;this.onDidClose=this._onDidClose.event;this.total=t.items.length,i&&i.onCancellationRequested(()=>{var n;(n=this.win)==null||n.close()}),this.disposables.push(this._onDidClose),this.addKeymappings()}attachEvents(){O.on("InputChar",this.onInputChar.bind(this),null,this.disposables),O.on("BufWinLeave",e=>{e==this.bufnr&&(this._onDidClose.fire(-1),this.bufnr=void 0,this.win=void 0,this.dispose())},null,this.disposables)}addKeymappings(){let{nvim:e}=this;this.addKeys(["",""],()=>{this._onDidClose.fire(-1),this.dispose()}),this.addKeys(["\r",""],()=>{this._onDidClose.fire(this.currIndex),this.dispose()});let t=s=>{var o;!this.win||(e.pauseNotification(),this.setCursor(s),(o=this.win)==null||o.refreshScrollbar(),e.command("redraw",!0),e.resumeNotification(!1,!0))};this.addKeys("",async()=>{var s;await((s=this.win)==null?void 0:s.scrollForward())}),this.addKeys("",async()=>{var s;await((s=this.win)==null?void 0:s.scrollBackward())}),this.addKeys(["j","","",""],()=>{let s=this.currIndex==this.total-1?0:this.currIndex+1;t(s)}),this.addKeys(["k","","",""],()=>{let s=this.currIndex==0?this.total-1:this.currIndex-1;t(s)}),this.addKeys(["g"],()=>{t(0)}),this.addKeys(["G"],()=>{t(this.total-1)});let i,n;this.addKeys(["0","1","2","3","4","5","6","7","8","9"],s=>{i&&clearTimeout(i);let o=parseInt(s,10);if(!(isNaN(o)||o>this.total)&&!(n==null&&o==0)){if(n){let a=n*10+o;n=void 0,this._onDidClose.fire(a-1),this.dispose();return}if(this.total<10||o*10>this.total){this._onDidClose.fire(o-1),this.dispose();return}i=setTimeout(async()=>{this._onDidClose.fire(o-1),this.dispose()},200),n=o}})}async show(e={}){let{nvim:t}=this,{title:i,items:n}=this.config,s={};i&&(s.title=i),e.maxHeight&&(s.maxHeight=e.maxHeight),e.maxWidth&&(s.maxWidth=e.maxWidth),e.floatHighlight&&(s.highlight=e.floatHighlight),e.floatBorderHighlight&&(s.borderhighlight=[e.floatBorderHighlight]);let o=n.map((l,c)=>c<99?`${c+1}. ${l}`:l);e.confirmKey&&e.confirmKey!=""&&this.addKeys(e.confirmKey,()=>{this._onDidClose.fire(this.currIndex),this.dispose()});let a=await t.call("coc#float#create_menu",[o,s]);return this.win=new Bc(t,a[0],a[1]),this.bufnr=a[1],this.attachEvents(),t.call("coc#prompt#start_prompt",["menu"],!0),a[0]}get buffer(){return this.bufnr?this.nvim.createBuffer(this.bufnr):void 0}dispose(){var e;G(this.disposables),this.disposables=[],this.nvim.call("coc#prompt#stop_prompt",["menu"],!0),(e=this.win)==null||e.close(),this.win=void 0}async onInputChar(e,t){if(e!="menu"||!this.win)return;let i=this.keyMappings.get(t);i?await Promise.resolve(i(t)):dae.warn(`Ignored key press: ${t}`)}setCursor(e){!this.win||(this.currIndex=e,this.win.setCursor(e))}addKeys(e,t){if(Array.isArray(e))for(let i of e)this.keyMappings.set(i,t);else this.keyMappings.set(e,t)}}});var j$,Uxe,Ka,S0=R(()=>{_e();de();j$=process.env.VIM_NODE_RPC=="1",Uxe=U()("model-notification"),Ka=class{constructor(e,t,i=!0){this.nvim=e;this.config=t;this.disposables=[];this._disposed=!1;i&&(O.on("BufWinLeave",n=>{n==this.bufnr&&(this.dispose(),t.callback&&t.callback(-1))},null,this.disposables),O.on("FloatBtnClick",(n,s)=>{if(n==this.bufnr){this.dispose();let o=t==null?void 0:t.buttons.filter(a=>a.disabled!=!0);t.callback&&t.callback(o[s].index)}},null,this.disposables))}get lines(){return this.config.content.split(/\r?\n/)}async show(e){let{nvim:t}=this,{title:i,close:n,timeout:s,buttons:o,borderhighlight:a}=this.config,l=Object.assign({},e);l.close=n?1:0,i&&(l.title=i),a&&(l.borderhighlight=a),o&&(l.buttons=o.filter(u=>!u.disabled).map(u=>u.text)),s&&(l.timeout=s);let c=await t.call("coc#float#create_notification",[this.lines,l]);return c?(this._disposed?(this.nvim.call("coc#float#close",[c[0]],!0),j$&&this.nvim.command("redraw",!0)):(this._winid=c[0],this.bufnr=c[1]),this._winid!=null):!1}get winid(){return this._winid}dispose(){if(this._disposed)return;this._disposed=!0;let{winid:e}=this;e&&(this.nvim.call("coc#float#close",[e],!0),j$&&this.nvim.command("redraw",!0)),this.bufnr=void 0,this._winid=void 0,G(this.disposables),this.disposables=[]}}});var U$,hae,H$,vg,W$=R(()=>{U$=E(H());_e();de();yt();x0();hae=U()("model-dialog"),H$=process.env.VIM_NODE_RPC=="1",vg=class{constructor(e,t,i){this.nvim=e;this.config=t;this.picked=new Set;this.currIndex=0;this.disposables=[];this.keyMappings=new Map;this._onDidClose=new U$.Emitter;this.onDidClose=this._onDidClose.event;for(let n=0;n{var n;(n=this.win)==null||n.close()}),this.disposables.push(this._onDidClose),this.addKeymappings()}attachEvents(){O.on("InputChar",this.onInputChar.bind(this),null,this.disposables),O.on("BufWinLeave",e=>{e==this.bufnr&&(this._onDidClose.fire(void 0),this.bufnr=void 0,this.win=void 0,this.dispose())},null,this.disposables),O.on("FloatBtnClick",(e,t)=>{if(e==this.bufnr){if(t==0){let i=Array.from(this.picked);this._onDidClose.fire(i.length?i:void 0)}else this._onDidClose.fire(void 0);this.dispose()}},null,this.disposables)}addKeymappings(){let{nvim:e}=this,t=n=>{this.picked.has(n)?this.picked.delete(n):this.picked.add(n)};this.addKeys("",async()=>{if(H$||!this.win)return;let[n,s,o]=await e.eval("[v:mouse_winid,v:mouse_lnum,v:mouse_col]");if(global.hasOwnProperty("__TEST__")){let a=await e.getVar("mouse_position");n=a[0],s=a[1],o=a[2]}e.pauseNotification(),n==this.win.winid&&(o<=3?(t(s-1),this.changeLine(s-1)):this.setCursor(s-1)),e.call("win_gotoid",[n],!0),e.call("cursor",[s,o],!0),e.call("coc#float#nvim_float_click",[],!0),e.command("redraw",!0),await e.resumeNotification()}),this.addKeys(["",""],()=>{this._onDidClose.fire(void 0),this.dispose()}),this.addKeys("",()=>{if(this.picked.size==0)this._onDidClose.fire(void 0);else{let n=Array.from(this.picked);this._onDidClose.fire(n)}this.dispose()});let i=n=>{e.pauseNotification(),this.setCursor(n),this.win.refreshScrollbar(),e.command("redraw",!0),e.resumeNotification(!1,!0)};this.addKeys(["j","","",""],()=>{let n=this.currIndex==this.total-1?0:this.currIndex+1;i(n)}),this.addKeys(["k","","",""],()=>{let n=this.currIndex==0?this.total-1:this.currIndex-1;i(n)}),this.addKeys(["g"],()=>{i(0)}),this.addKeys(["G"],()=>{i(this.total-1)}),this.addKeys(" ",async()=>{let n=this.currIndex;t(n),e.pauseNotification(),this.changeLine(n),this.currIndex!=this.total-1&&this.setCursor(this.currIndex+1),e.command("redraw",!0),await e.resumeNotification()}),this.addKeys("",async()=>{var n;await((n=this.win)==null?void 0:n.scrollForward())}),this.addKeys("",async()=>{var n;await((n=this.win)==null?void 0:n.scrollBackward())})}async show(e={}){let{nvim:t}=this,{title:i,items:n}=this.config,s={close:1,cursorline:1};if(e.maxHeight&&(s.maxHeight=e.maxHeight),e.maxWidth&&(s.maxWidth=e.maxWidth),i&&(s.title=i),s.close=1,s.cursorline=1,e.floatHighlight&&(s.highlight=e.floatHighlight),e.floatBorderHighlight&&(s.borderhighlight=[e.floatBorderHighlight]),e.pickerButtons){let u=e.pickerButtonShortcut;s.buttons=["Submit"+(u?" ":""),"Cancel"+(u?" ":"")]}e.confirmKey&&e.confirmKey!=""&&this.addKeys(e.confirmKey,()=>{this._onDidClose.fire(void 0),this.dispose()});let o=[],a=[];for(let u=0;u{S0();z$=E(H());_e();bg=class extends Ka{constructor(e,t){super(e,{content:` +`,close:t.cancellable==!0,title:t.title},!1);this.option=t;O.on("BufWinLeave",i=>{i==this.bufnr&&(this.tokenSource&&this.tokenSource.cancel(),this.dispose())},null,this.disposables)}async show(e){let{task:t}=this.option,i=this.tokenSource=new z$.CancellationTokenSource;this.disposables.push(i);let n=0;return await new Promise((o,a)=>{i.token.onCancellationRequested(()=>{o(void 0)}),super.show(Object.assign({minWidth:e.minProgressWidth||30,progress:1},e)).then(l=>{l||a(new Error("Failed to create float window"))}).catch(a),t({report:l=>{if(!this.bufnr)return;let c="";l.message&&(c+=l.message.replace(/\r?\n/g," ")),l.increment&&(n+=l.increment,c=c+(c.length?` ${n}%`:`${n}%`)),this.nvim.call("setbufline",[this.bufnr,2,c],!0)}},i.token).then(l=>{this._disposed||(setTimeout(()=>{this.dispose()},100),o(l))},l=>{this._disposed||(this.dispose(),l instanceof Error?a(l):o(void 0))})})}dispose(){super.dispose(),this.tokenSource=void 0}}});function Nd(){return G$.default.randomBytes(16)}var G$,C0=R(()=>{G$=E(require("crypto"))});function pae(r,e){var t=e||0,i=K$;return[i[r[t++]],i[r[t++]],i[r[t++]],i[r[t++]],"-",i[r[t++]],i[r[t++]],"-",i[r[t++]],i[r[t++]],"-",i[r[t++]],i[r[t++]],"-",i[r[t++]],i[r[t++]],i[r[t++]],i[r[t++]],i[r[t++]],i[r[t++]]].join("")}var K$,wg,_0=R(()=>{K$=[];for(var yg=0;yg<256;++yg)K$[yg]=(yg+256).toString(16).substr(1);wg=pae});function mae(r,e,t){var i=e&&t||0,n=e||[];r=r||{};var s=r.node||J$,o=r.clockseq!==void 0?r.clockseq:E0;if(s==null||o==null){var a=r.random||(r.rng||Nd)();s==null&&(s=J$=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]),o==null&&(o=E0=(a[6]<<8|a[7])&16383)}var l=r.msecs!==void 0?r.msecs:new Date().getTime(),c=r.nsecs!==void 0?r.nsecs:D0+1,u=l-T0+(c-D0)/1e4;if(u<0&&r.clockseq===void 0&&(o=o+1&16383),(u<0||l>T0)&&r.nsecs===void 0&&(c=0),c>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");T0=l,D0=c,E0=o,l+=122192928e5;var f=((l&268435455)*1e4+c)%4294967296;n[i++]=f>>>24&255,n[i++]=f>>>16&255,n[i++]=f>>>8&255,n[i++]=f&255;var d=l/4294967296*1e4&268435455;n[i++]=d>>>8&255,n[i++]=d&255,n[i++]=d>>>24&15|16,n[i++]=d>>>16&255,n[i++]=o>>>8|128,n[i++]=o&255;for(var h=0;h<6;++h)n[i+h]=s[h];return e||wg(n)}var J$,E0,T0,D0,Ms,Y$=R(()=>{C0();_0();T0=0,D0=0;Ms=mae});function gae(r,e,t){var i=e&&t||0;typeof r=="string"&&(e=r==="binary"?new Array(16):null,r=null),r=r||{};var n=r.random||(r.rng||Nd)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e)for(var s=0;s<16;++s)e[i+s]=n[s];return e||wg(n)}var ue,X$=R(()=>{C0();_0();ue=gae});var Ye=R(()=>{Y$();X$()});var mSe,R0,xg,P0=R(()=>{Ye();mSe=U()("model-status"),R0=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],xg=class{constructor(e){this.nvim=e;this.items=new Map;this.shownIds=new Set;this._text="";this.interval=setInterval(()=>{this.setStatusText().logError()},100)}dispose(){clearInterval(this.interval)}createStatusBarItem(e=0,t=!1){let i=Ms(),n={text:"",priority:e,isProgress:t,show:()=>{this.shownIds.add(i)},hide:()=>{this.shownIds.delete(i)},dispose:()=>{this.shownIds.delete(i),this.items.delete(i)}};return this.items.set(i,n),n}getText(){if(this.shownIds.size==0)return"";let e=new Date,t=Math.floor(e.getMilliseconds()/100),i="",n=[];for(let[s,o]of this.items)this.shownIds.has(s)&&n.push(o);n.sort((s,o)=>s.priority-o.priority);for(let s of n)s.isProgress?i=`${i} ${R0[t]} ${s.text}`:i=`${i} ${s.text}`;return i}async setStatusText(){let e=this.getText(),{nvim:t}=this;e!=this._text&&(this._text=e,t.pauseNotification(),this.nvim.setVar("coc_status",e,!0),this.nvim.call("coc#util#do_autocmd",["CocStatusChange"],!0),await t.resumeNotification(!1,!0))}}});var ir,Vr,_n,Ot,Ee,Gr,En=R(()=>{(function(i){i[i.Buffer=0]="Buffer",i[i.LanguageServer=1]="LanguageServer",i[i.Global=2]="Global"})(ir||(ir={}));(function(i){i[i.Native=0]="Native",i[i.Remote=1]="Remote",i[i.Service=2]="Service"})(Vr||(Vr={}));(function(i){i[i.More=0]="More",i[i.Warning=1]="Warning",i[i.Error=2]="Error"})(_n||(_n={}));(function(i){i[i.Global=0]="Global",i[i.User=1]="User",i[i.Workspace=2]="Workspace"})(Ot||(Ot={}));(function(o){o[o.Initial=0]="Initial",o[o.Starting=1]="Starting",o[o.StartFailed=2]="StartFailed",o[o.Running=3]="Running",o[o.Stopping=4]="Stopping",o[o.Stopped=5]="Stopped"})(Ee||(Ee={}));(function(n){n[n.Unknown=0]="Unknown",n[n.File=1]="File",n[n.Directory=2]="Directory",n[n.SymbolicLink=64]="SymbolicLink"})(Gr||(Gr={}))});var eB=x((bSe,Sg)=>{"use strict";Sg.exports=wae;Sg.exports.format=Z$;Sg.exports.parse=Q$;var vae=/\B(?=(\d{3})+(?!\d))/g,bae=/(?:\.0*|(\.[^0]+)0+)$/,To={b:1,kb:1<<10,mb:1<<20,gb:1<<30,tb:Math.pow(1024,4),pb:Math.pow(1024,5)},yae=/^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i;function wae(r,e){return typeof r=="string"?Q$(r):typeof r=="number"?Z$(r,e):null}function Z$(r,e){if(!Number.isFinite(r))return null;var t=Math.abs(r),i=e&&e.thousandsSeparator||"",n=e&&e.unitSeparator||"",s=e&&e.decimalPlaces!==void 0?e.decimalPlaces:2,o=Boolean(e&&e.fixedDecimals),a=e&&e.unit||"";(!a||!To[a.toLowerCase()])&&(t>=To.pb?a="PB":t>=To.tb?a="TB":t>=To.gb?a="GB":t>=To.mb?a="MB":t>=To.kb?a="KB":a="B");var l=r/To[a.toLowerCase()],c=l.toFixed(s);return o||(c=c.replace(bae,"$1")),i&&(c=c.replace(vae,i)),c+n+a}function Q$(r){if(typeof r=="number"&&!isNaN(r))return r;if(typeof r!="string")return null;var e=yae.exec(r),t,i="b";return e?(t=parseFloat(e[1]),i=e[4].toLowerCase()):(t=parseInt(r,10),i="b"),Math.floor(To[i]*t)}});var jc=x((ySe,aB)=>{var Gn=-1,Tn=1,rr=0;function qd(r,e,t,i){if(r===e)return r?[[rr,r]]:[];if(t!=null){var n=Eae(r,e,t);if(n)return n}var s=k0(r,e),o=r.substring(0,s);r=r.substring(s),e=e.substring(s),s=I0(r,e);var a=r.substring(r.length-s);r=r.substring(0,r.length-s),e=e.substring(0,e.length-s);var l=xae(r,e);return o&&l.unshift([rr,o]),a&&l.push([rr,a]),iB(l,i),l}function xae(r,e){var t;if(!r)return[[Tn,e]];if(!e)return[[Gn,r]];var i=r.length>e.length?r:e,n=r.length>e.length?e:r,s=i.indexOf(n);if(s!==-1)return t=[[Tn,i.substring(0,s)],[rr,n],[Tn,i.substring(s+n.length)]],r.length>e.length&&(t[0][0]=t[2][0]=Gn),t;if(n.length===1)return[[Gn,r],[Tn,e]];var o=Cae(r,e);if(o){var a=o[0],l=o[1],c=o[2],u=o[3],f=o[4],d=qd(a,c),h=qd(l,u);return d.concat([[rr,f]],h)}return Sae(r,e)}function Sae(r,e){for(var t=r.length,i=e.length,n=Math.ceil((t+i)/2),s=n,o=2*n,a=new Array(o),l=new Array(o),c=0;ct)h+=2;else if(_>i)d+=2;else if(f){var L=s+u-y;if(L>=0&&L=$)return tB(r,e,w,_)}}}for(var I=-b+p;I<=b-g;I+=2){var L=s+I,$;I===-b||I!==b&&l[L-1]t)g+=2;else if(W>i)p+=2;else if(!f){var S=s+u-I;if(S>=0&&S=$)return tB(r,e,w,_)}}}}return[[Gn,r],[Tn,e]]}function tB(r,e,t,i){var n=r.substring(0,t),s=e.substring(0,i),o=r.substring(t),a=e.substring(i),l=qd(n,s),c=qd(o,a);return l.concat(c)}function k0(r,e){if(!r||!e||r.charAt(0)!==e.charAt(0))return 0;for(var t=0,i=Math.min(r.length,e.length),n=i,s=0;te.length?r:e,i=r.length>e.length?e:r;if(t.length<4||i.length*2=h.length?[w,_,L,$,S]:null}var s=n(t,i,Math.ceil(t.length/4)),o=n(t,i,Math.ceil(t.length/2)),a;if(!s&&!o)return null;o?s?a=s[4].length>o[4].length?s:o:a=o:a=s;var l,c,u,f;r.length>e.length?(l=a[0],c=a[1],u=a[2],f=a[3]):(u=a[0],f=a[1],l=a[2],c=a[3]);var d=a[4];return[l,c,u,f,d]}function iB(r,e){r.push([rr,""]);for(var t=0,i=0,n=0,s="",o="",a;t=0&&oB(r[l][1])){var c=r[l][1].slice(-1);if(r[l][1]=r[l][1].slice(0,-1),s=c+s,o=c+o,!r[l][1]){r.splice(l,1),t--;var u=l-1;r[u]&&r[u][0]===Tn&&(n++,o=r[u][1]+o,u--),r[u]&&r[u][0]===Gn&&(i++,s=r[u][1]+s,u--),l=u}}if(sB(r[t][1])){var c=r[t][1].charAt(0);r[t][1]=r[t][1].slice(1),s+=c,o+=c}}if(t0||o.length>0){s.length>0&&o.length>0&&(a=k0(o,s),a!==0&&(l>=0?r[l][1]+=o.substring(0,a):(r.splice(0,0,[rr,o.substring(0,a)]),t++),o=o.substring(a),s=s.substring(a)),a=I0(o,s),a!==0&&(r[t][1]=o.substring(o.length-a)+r[t][1],o=o.substring(0,o.length-a),s=s.substring(0,s.length-a)));var f=n+i;s.length===0&&o.length===0?(r.splice(t-f,f),t=t-f):s.length===0?(r.splice(t-f,f,[Tn,o]),t=t-f+1):o.length===0?(r.splice(t-f,f,[Gn,s]),t=t-f+1):(r.splice(t-f,f,[Gn,s],[Tn,o]),t=t-f+2)}t!==0&&r[t-1][0]===rr?(r[t-1][1]+=r[t][1],r.splice(t,1)):t++,n=0,i=0,s="",o="";break}}r[r.length-1][1]===""&&r.pop();var d=!1;for(t=1;t=55296&&r<=56319}function nB(r){return r>=56320&&r<=57343}function sB(r){return nB(r.charCodeAt(0))}function oB(r){return rB(r.charCodeAt(r.length-1))}function _ae(r){for(var e=[],t=0;t0&&e.push(r[t]);return e}function O0(r,e,t,i){return oB(r)||sB(i)?null:_ae([[rr,r],[Gn,e],[Tn,t],[rr,i]])}function Eae(r,e,t){var i=typeof t=="number"?{index:t,length:0}:t.oldRange,n=typeof t=="number"?null:t.newRange,s=r.length,o=e.length;if(i.length===0&&(n===null||n.length===0)){var a=i.index,l=r.slice(0,a),c=r.slice(a),u=n?n.index:null;e:{var f=a+o-s;if(u!==null&&u!==f||f<0||f>o)break e;var d=e.slice(0,f),h=e.slice(f);if(h!==c)break e;var p=Math.min(a,f),g=l.slice(0,p),b=d.slice(0,p);if(g!==b)break e;var y=l.slice(p),S=d.slice(p);return O0(g,y,S,c)}e:{if(u!==null&&u!==a)break e;var w=a,d=e.slice(0,w),h=e.slice(w);if(d!==l)break e;var _=Math.min(s-w,o-w),L=c.slice(c.length-_),$=h.slice(h.length-_);if(L!==$)break e;var y=c.slice(0,c.length-_),S=h.slice(0,h.length-_);return O0(l,y,S,L)}}if(i.length>0&&n&&n.length===0){e:{var g=r.slice(0,i.index),L=r.slice(i.index+i.length),p=g.length,_=L.length;if(ot.line||e.line===t.line&&e.character>t.character?{start:t,end:e}:r}function Tae(r){var e=uB(r.range);return e!==r.range?{newText:r.newText,range:e}:r}var lB,_i,Uc=R(()=>{"use strict";lB=function(){function r(e,t,i,n){this._uri=e,this._languageId=t,this._version=i,this._content=n,this._lineOffsets=void 0}return Object.defineProperty(r.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"version",{get:function(){return this._version},enumerable:!0,configurable:!0}),r.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),i=this.offsetAt(e.end);return this._content.substring(t,i)}return this._content},r.prototype.update=function(e,t){for(var i=0,n=e;ie?n=s:i=s+1}var o=i-1;return{line:o,character:e-t[o]}},r.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var i=t[e.line],n=e.line+1l&&c.push(o.substring(l,h)),d.newText.length&&c.push(d.newText),l=n.offsetAt(d.range.end)}return c.push(o.substr(l)),c.join("")}r.applyEdits=i})(_i||(_i={}))});function $d(r,e){e===void 0&&(e=!1);var t=r.length,i=0,n="",s=0,o=16,a=0,l=0,c=0,u=0,f=0;function d(w,_){for(var L=0,$=0;L=48&&I<=57)$=$*16+I-48;else if(I>=65&&I<=70)$=$*16+I-65+10;else if(I>=97&&I<=102)$=$*16+I-97+10;else break;i++,L++}return L=t){w+=r.substring(_,i),f=2;break}var L=r.charCodeAt(i);if(L===34){w+=r.substring(_,i),i++;break}if(L===92){if(w+=r.substring(_,i),i++,i>=t){f=2;break}var $=r.charCodeAt(i++);switch($){case 34:w+='"';break;case 92:w+="\\";break;case 47:w+="/";break;case 98:w+="\b";break;case 102:w+="\f";break;case 110:w+=` +`;break;case 114:w+="\r";break;case 116:w+=" ";break;case 117:var I=d(4,!0);I>=0?w+=String.fromCharCode(I):f=4;break;default:f=5}_=i;continue}if(L>=0&&L<=31)if(Bd(L)){w+=r.substring(_,i),f=2;break}else f=6;i++}return w}function b(){if(n="",f=0,s=i,l=a,u=c,i>=t)return s=t,o=17;var w=r.charCodeAt(i);if(A0(w)){do i++,n+=String.fromCharCode(w),w=r.charCodeAt(i);while(A0(w));return o=15}if(Bd(w))return i++,n+=String.fromCharCode(w),w===13&&r.charCodeAt(i)===10&&(i++,n+=` +`),a++,c=i,o=14;switch(w){case 123:return i++,o=1;case 125:return i++,o=2;case 91:return i++,o=3;case 93:return i++,o=4;case 58:return i++,o=6;case 44:return i++,o=5;case 34:return i++,n=g(),o=10;case 47:var _=i-1;if(r.charCodeAt(i+1)===47){for(i+=2;i=12&&w<=15);return w}return{setPosition:h,getPosition:function(){return i},scan:e?S:b,getToken:function(){return o},getTokenValue:function(){return n},getTokenOffset:function(){return s},getTokenLength:function(){return i-s},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return s-u},getTokenError:function(){return f}}}function A0(r){return r===32||r===9||r===11||r===12||r===160||r===5760||r>=8192&&r<=8203||r===8239||r===8287||r===12288||r===65279}function Bd(r){return r===10||r===13||r===8232||r===8233}function Hc(r){return r>=48&&r<=57}var _g=R(()=>{"use strict"});function F0(r,e,t){var i,n,s,o,a;if(e){for(o=e.offset,a=o+e.length,s=o;s>0&&!jd(r,s-1);)s--;for(var l=a;lo)&&r.substring(j,X)!==F&&y.push({offset:j,length:X-j,content:F})}var w=b();if(w!==17){var _=h.getTokenOffset()+s,L=M0(d,i);S(L,s,_)}for(;w!==17;){for(var $=h.getTokenOffset()+h.getTokenLength()+s,I=b(),W="",A=!1;!u&&(I===12||I===13);){var M=h.getTokenOffset()+s;S(" ",$,M),$=h.getTokenOffset()+h.getTokenLength()+s,A=I===12,W=A?g():"",I=b()}if(I===2)w!==1&&(f--,W=g());else if(I===4)w!==3&&(f--,W=g());else{switch(w){case 3:case 1:f++,W=g();break;case 5:case 12:W=g();break;case 13:u?W=g():A||(W=" ");break;case 6:A||(W=" ");break;case 10:if(I===6){A||(W="");break}case 7:case 8:case 9:case 11:case 2:case 4:I===12||I===13?A||(W=" "):I!==5&&I!==17&&(p=!0);break;case 16:p=!0;break}u&&(I===12||I===13)&&(W=g())}I===17&&(W=t.insertFinalNewline?c:"");var k=h.getTokenOffset()+s;S(W,$,k),w=I}return y}function M0(r,e){for(var t="",i=0;i{_g();"use strict"});function fB(r,e,t){e===void 0&&(e=[]),t===void 0&&(t=Ud.DEFAULT);var i=null,n=[],s=[];function o(l){Array.isArray(n)?n.push(l):i!==null&&(n[i]=l)}var a={onObjectBegin:function(){var l={};o(l),s.push(n),n=l,i=null},onObjectProperty:function(l){i=l},onObjectEnd:function(){n=s.pop()},onArrayBegin:function(){var l=[];o(l),s.push(n),n=l,i=null},onArrayEnd:function(){n=s.pop()},onLiteralValue:o,onError:function(l,c,u){e.push({error:l,offset:c,length:u})}};return $0(r,a,t),n[0]}function q0(r,e,t){e===void 0&&(e=[]),t===void 0&&(t=Ud.DEFAULT);var i={type:"array",offset:-1,length:-1,children:[],parent:void 0};function n(l){i.type==="property"&&(i.length=l-i.offset,i=i.parent)}function s(l){return i.children.push(l),l}var o={onObjectBegin:function(l){i=s({type:"object",offset:l,length:-1,parent:i,children:[]})},onObjectProperty:function(l,c,u){i=s({type:"property",offset:c,length:-1,parent:i,children:[]}),i.children.push({type:"string",value:l,offset:c,length:u,parent:i})},onObjectEnd:function(l,c){n(l+c),i.length=l+c-i.offset,i=i.parent,n(l+c)},onArrayBegin:function(l,c){i=s({type:"array",offset:l,length:-1,parent:i,children:[]})},onArrayEnd:function(l,c){i.length=l+c-i.offset,i=i.parent,n(l+c)},onLiteralValue:function(l,c,u){s({type:Pae(l),offset:c,length:u,parent:i,value:l}),n(c+u)},onSeparator:function(l,c,u){i.type==="property"&&(l===":"?i.colonOffset=c:l===","&&n(c))},onError:function(l,c,u){e.push({error:l,offset:c,length:u})}};$0(r,o,t);var a=i.children[0];return a&&delete a.parent,a}function Eg(r,e){if(!!r){for(var t=r,i=0,n=e;i=t.children.length)return;t=t.children[u]}}return t}}function $0(r,e,t){t===void 0&&(t=Ud.DEFAULT);var i=$d(r,!1);function n(A){return A?function(){return A(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}function s(A){return A?function(M){return A(M,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}var o=n(e.onObjectBegin),a=s(e.onObjectProperty),l=n(e.onObjectEnd),c=n(e.onArrayBegin),u=n(e.onArrayEnd),f=s(e.onLiteralValue),d=s(e.onSeparator),h=n(e.onComment),p=s(e.onError),g=t&&t.disallowComments,b=t&&t.allowTrailingComma;function y(){for(;;){var A=i.scan();switch(i.getTokenError()){case 4:S(14);break;case 5:S(15);break;case 3:S(13);break;case 1:g||S(11);break;case 2:S(12);break;case 6:S(16);break}switch(A){case 12:case 13:g?S(10):h();break;case 16:S(1);break;case 15:case 14:break;default:return A}}}function S(A,M,k){if(M===void 0&&(M=[]),k===void 0&&(k=[]),p(A),M.length+k.length>0)for(var F=i.getToken();F!==17;){if(M.indexOf(F)!==-1){y();break}else if(k.indexOf(F)!==-1)break;F=y()}}function w(A){var M=i.getTokenValue();return A?f(M):a(M),y(),!0}function _(){switch(i.getToken()){case 11:var A=i.getTokenValue(),M=Number(A);isNaN(M)&&(S(2),M=0),f(M);break;case 7:f(null);break;case 8:f(!0);break;case 9:f(!1);break;default:return!1}return y(),!0}function L(){return i.getToken()!==10?(S(3,[],[2,5]),!1):(w(!1),i.getToken()===6?(d(":"),y(),W()||S(4,[],[2,5])):S(5,[],[2,5]),!0)}function $(){o(),y();for(var A=!1;i.getToken()!==2&&i.getToken()!==17;){if(i.getToken()===5){if(A||S(4,[],[]),d(","),y(),i.getToken()===2&&b)break}else A&&S(6,[],[]);L()||S(4,[],[2,5]),A=!0}return l(),i.getToken()!==2?S(7,[2],[]):y(),!0}function I(){c(),y();for(var A=!1;i.getToken()!==4&&i.getToken()!==17;){if(i.getToken()===5){if(A||S(4,[],[]),d(","),y(),i.getToken()===4&&b)break}else A&&S(6,[],[]);W()||S(4,[],[4,5]),A=!0}return u(),i.getToken()!==4?S(8,[4],[]):y(),!0}function W(){switch(i.getToken()){case 3:return I();case 1:return $();case 10:return w(!0);default:return _()}}return y(),i.getToken()===17?t.allowEmptyContent?!0:(S(4,[],[]),!1):W()?(i.getToken()!==17&&S(9,[],[]),!0):(S(4,[],[]),!1)}function Pae(r){switch(typeof r){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(r){if(Array.isArray(r))return"array"}else return"null";return"object"}default:return"null"}}var Ud,B0=R(()=>{_g();"use strict";(function(r){r.DEFAULT={allowTrailingComma:!1}})(Ud||(Ud={}))});function dB(r,e,t,i){for(var n,s=e.slice(),o=[],a=q0(r,o),l=void 0,c=void 0;s.length>0&&(c=s.pop(),l=Eg(a,s),l===void 0&&t!==void 0);)typeof c=="string"?t=(n={},n[c]=t,n):t=[t];if(l)if(l.type==="object"&&typeof c=="string"&&Array.isArray(l.children)){var u=Eg(l,[c]);if(u!==void 0)if(t===void 0){if(!u.parent)throw new Error("Malformed AST");var f=l.children.indexOf(u.parent),d=void 0,h=u.parent.offset+u.parent.length;if(f>0){var p=l.children[f-1];d=p.offset+p.length}else if(d=l.offset+1,l.children.length>1){var g=l.children[1];h=g.offset}return Ja(r,{offset:d,length:h-d,content:""},i)}else return Ja(r,{offset:u.offset,length:u.length,content:JSON.stringify(t)},i);else{if(t===void 0)return[];var b=JSON.stringify(c)+": "+JSON.stringify(t),y=i.getInsertionIndex?i.getInsertionIndex(l.children.map(function(A){return A.children[0].value})):l.children.length,S=void 0;if(y>0){var p=l.children[y-1];S={offset:p.offset+p.length,length:0,content:","+b}}else l.children.length===0?S={offset:l.offset+1,length:0,content:b}:S={offset:l.offset+1,length:0,content:b+","};return Ja(r,S,i)}}else if(l.type==="array"&&typeof c=="number"&&Array.isArray(l.children)){var w=c;if(w===-1){var b=""+JSON.stringify(t),S=void 0;if(l.children.length===0)S={offset:l.offset+1,length:0,content:b};else{var p=l.children[l.children.length-1];S={offset:p.offset+p.length,length:0,content:","+b}}return Ja(r,S,i)}else if(t===void 0&&l.children.length>=0){var _=c,L=l.children[_],S=void 0;if(l.children.length===1)S={offset:l.offset+1,length:l.length-2,content:""};else if(l.children.length-1===_){var p=l.children[_-1],$=p.offset+p.length,I=l.offset+l.length;S={offset:$,length:I-2-$,content:""}}else S={offset:L.offset,length:l.children[_+1].offset-L.offset,content:""};return Ja(r,S,i)}else if(t!==void 0){var S=void 0,b=""+JSON.stringify(t);if(!i.isArrayInsertion&&l.children.length>c){var W=l.children[c];S={offset:W.offset,length:W.length,content:b}}else if(l.children.length===0||c===0)S={offset:l.offset+1,length:0,content:l.children.length===0?b:b+","};else{var y=c>l.children.length?l.children.length:c,p=l.children[y-1];S={offset:p.offset+p.length,length:0,content:","+b}}return Ja(r,S,i)}else throw new Error("Can not "+(t===void 0?"remove":i.isArrayInsertion?"insert":"modify")+" Array index "+w+" as length is not sufficient")}else throw new Error("Can not add "+(typeof c!="number"?"index":"property")+" to parent of type "+l.type);else{if(t===void 0)throw new Error("Can not delete in empty document");return Ja(r,{offset:a?a.offset:0,length:a?a.length:0,content:JSON.stringify(t)},i)}}function Ja(r,e,t){if(!t.formattingOptions)return[e];var i=Tg(r,e),n=e.offset,s=e.offset+e.content.length;if(e.length===0||e.content.length===0){for(;n>0&&!jd(i,n-1);)n--;for(;s=0;a--){var l=o[a];i=Tg(i,l),n=Math.min(n,l.offset),s=Math.max(s,l.offset+l.length),s+=l.content.length-l.length}var c=r.length-(i.length-s)-n;return[{offset:n,length:c,content:i.substring(n,s)}]}function Tg(r,e){return r.substring(0,e.offset)+e.content+r.substring(e.offset+e.length)}var hB=R(()=>{N0();B0();"use strict"});function pB(r,e,t,i){return dB(r,e,t,i)}function mB(r,e){for(var t=e.length-1;t>=0;t--)r=Tg(r,e[t]);return r}var Wc,Hd=R(()=>{N0();hB();_g();B0();"use strict";Wc=fB});function vB(r,e){if(!r||!Wd.default.existsSync(r))return{contents:{}};let t,i=B.file(r).toString();try{t=Wd.default.readFileSync(r,"utf8")}catch(o){t=""}let[n,s]=Oae(t);return n&&n.length&&e(Lae(i,t,n)),{contents:s}}function Oae(r){if(r.length==0)return[[],{}];let e=[],t=Wc(r,e,{allowTrailingComma:!0});function i(s,o,a,l){if(a.length==0)s[o]=n(l);else{s[o]||(s[o]={});let c=s[o],u=a.shift();i(c,u,a,l)}}function n(s,o=!1){if(!Wt(s))return s;if(ng(s))return{};let a={};for(let l of Object.keys(s))if(o&&l.includes(".")){let c=l.split("."),u=c.shift();i(a,u,c,s[l])}else a[l]=n(s[l]);return a}return[e,n(t,!0)]}function Lae(r,e,t){let i=[],n=_i.create(r,"json",0,e);for(let s of t){let o="parse error";switch(s.error){case 2:o="invalid number";break;case 8:o="close brace expected";break;case 5:o="colon expected";break;case 6:o="comma expected";break;case 9:o="end of file expected";break;case 16:o="invaliad character";break;case 10:o="invalid commment token";break;case 15:o="invalid escape character";break;case 1:o="invalid symbol";break;case 14:o="invalid unicode";break;case 3:o="property name expected";break;case 13:o="unexpected end of number";break;case 12:o="unexpected end of string";break;case 11:o="unexpected end of comment";break;case 4:o="value expected";break;default:o="Unknwn error";break}let a={start:n.positionAt(s.offset),end:n.positionAt(s.offset+s.length)},l=gB.Location.create(r,a);i.push({location:l,message:o})}return i}function zd(r,e,t,i){let n=e.split("."),s=n.pop(),o=r;for(let a=0;a{let s=t[n].default;s!==void 0&&zd(i,n,s,o=>{kae.error(o)})}),{contents:i}}function j0(r,e){let t=[];for(let i of Object.keys(r)){let n=r[i],s=e?`${e}.${i}`:i;t.push(s),Wt(n)&&t.push(...j0(n,s))}return t}function xB(r,e){let t=[],i=j0(r),n=j0(e),s=n.filter(a=>!i.includes(a)),o=i.filter(a=>!n.includes(a));t.push(...s),t.push(...o);for(let a of i){if(!n.includes(a))continue;let l=Rg(r,a),c=Rg(e,a);je(l,c)||t.push(a)}return t}var gB,Wd,Dg,kae,Iae,U0=R(()=>{gB=E(H());Uc();Hd();Wr();ri();Wd=E(require("fs"));qe();Dg=E(require("path")),kae=U()("configuration-util"),Iae=(0,Dg.dirname)(__dirname)});var nr,H0=R(()=>{Wr();ri();U0();nr=class{constructor(e={}){this._contents=e}get contents(){return this._contents}clone(){return new nr(Ls(this._contents))}getValue(e){return e?Rg(this.contents,e):this.contents}merge(...e){let t=Ls(this.contents);for(let i of e)this.mergeContents(t,i.contents);return new nr(t)}freeze(){return Object.isFrozen(this._contents)||Object.freeze(this._contents),this}mergeContents(e,t){for(let i of Object.keys(t)){if(i in e&&Wt(e[i])&&Wt(t[i])){this.mergeContents(e[i],t[i]);continue}e[i]=Ls(t[i])}}setValue(e,t){zd(this.contents,e,t,i=>{console.error(i)})}removeValue(e){bB(this.contents,e)}}});var Pg,SB=R(()=>{H0();Pg=class{constructor(e,t,i,n=new nr){this._defaultConfiguration=e;this._userConfiguration=t;this._workspaceConfiguration=i;this._memoryConfiguration=n}getConsolidateConfiguration(){return this._consolidateConfiguration||(this._consolidateConfiguration=this._defaultConfiguration.merge(this._userConfiguration,this._workspaceConfiguration,this._memoryConfiguration),this._consolidateConfiguration=this._consolidateConfiguration.freeze()),this._consolidateConfiguration}getValue(e){return this.getConsolidateConfiguration().getValue(e)}inspect(e){let t=this.getConsolidateConfiguration(),{_workspaceConfiguration:i,_memoryConfiguration:n}=this;return{default:this._defaultConfiguration.freeze().getValue(e),user:this._userConfiguration.freeze().getValue(e),workspace:i.freeze().getValue(e),memory:n.freeze().getValue(e),value:t.getValue(e)}}get defaults(){return this._defaultConfiguration}get user(){return this._userConfiguration}get workspace(){return this._workspaceConfiguration}toData(){return{defaults:{contents:this._defaultConfiguration.contents},user:{contents:this._userConfiguration.contents},workspace:{contents:this._workspaceConfiguration.contents}}}}});var _B=x((eCe,CB)=>{CB.exports=function(r,e){for(var t=[],i=0;i{"use strict";RB.exports=EB;function EB(r,e,t){r instanceof RegExp&&(r=TB(r,t)),e instanceof RegExp&&(e=TB(e,t));var i=DB(r,e,t);return i&&{start:i[0],end:i[1],pre:t.slice(0,i[0]),body:t.slice(i[0]+r.length,i[1]),post:t.slice(i[1]+e.length)}}function TB(r,e){var t=e.match(r);return t?t[0]:null}EB.range=DB;function DB(r,e,t){var i,n,s,o,a,l=t.indexOf(r),c=t.indexOf(e,l+1),u=l;if(l>=0&&c>0){if(r===e)return[l,c];for(i=[],s=t.length;u>=0&&!a;)u==l?(i.push(u),l=t.indexOf(r,u+1)):i.length==1?a=[i.pop(),c]:(n=i.pop(),n=0?l:c;i.length&&(a=[s,o])}return a}});var NB=x((iCe,MB)=>{var Fae=_B(),kB=PB();MB.exports=qae;var IB="\0SLASH"+Math.random()+"\0",OB="\0OPEN"+Math.random()+"\0",W0="\0CLOSE"+Math.random()+"\0",LB="\0COMMA"+Math.random()+"\0",AB="\0PERIOD"+Math.random()+"\0";function z0(r){return parseInt(r,10)==r?parseInt(r,10):r.charCodeAt(0)}function Mae(r){return r.split("\\\\").join(IB).split("\\{").join(OB).split("\\}").join(W0).split("\\,").join(LB).split("\\.").join(AB)}function Nae(r){return r.split(IB).join("\\").split(OB).join("{").split(W0).join("}").split(LB).join(",").split(AB).join(".")}function FB(r){if(!r)return[""];var e=[],t=kB("{","}",r);if(!t)return r.split(",");var i=t.pre,n=t.body,s=t.post,o=i.split(",");o[o.length-1]+="{"+n+"}";var a=FB(s);return s.length&&(o[o.length-1]+=a.shift(),o.push.apply(o,a)),e.push.apply(e,o),e}function qae(r){return r?(r.substr(0,2)==="{}"&&(r="\\{\\}"+r.substr(2)),zc(Mae(r),!0).map(Nae)):[]}function $ae(r){return"{"+r+"}"}function Bae(r){return/^-?0\d/.test(r)}function jae(r,e){return r<=e}function Uae(r,e){return r>=e}function zc(r,e){var t=[],i=kB("{","}",r);if(!i||/\$$/.test(i.pre))return[r];var n=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(i.body),s=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(i.body),o=n||s,a=i.body.indexOf(",")>=0;if(!o&&!a)return i.post.match(/,.*\}/)?(r=i.pre+"{"+i.body+W0+i.post,zc(r)):[r];var l;if(o)l=i.body.split(/\.\./);else if(l=FB(i.body),l.length===1&&(l=zc(l[0],!1).map($ae),l.length===1)){var u=i.post.length?zc(i.post,!1):[""];return u.map(function(k){return i.pre+l[0]+k})}var c=i.pre,u=i.post.length?zc(i.post,!1):[""],f;if(o){var d=z0(l[0]),h=z0(l[1]),p=Math.max(l[0].length,l[1].length),g=l.length==3?Math.abs(z0(l[2])):1,b=jae,y=h0){var $=new Array(L+1).join("0");w<0?_="-"+$+_.slice(1):_=$+_}}f.push(_)}}else f=Fae(l,function(M){return zc(M,!1)});for(var I=0;I{HB.exports=Kr;Kr.Minimatch=ni;var Vd={sep:"/"};try{Vd=require("path")}catch(r){}var V0=Kr.GLOBSTAR=ni.GLOBSTAR={},Hae=NB(),qB={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},G0="[^/]",K0=G0+"*?",Wae="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",zae="(?:(?!(?:\\/|^)\\.).)*?",$B=Vae("().*{}+?[]^$\\!");function Vae(r){return r.split("").reduce(function(e,t){return e[t]=!0,e},{})}var BB=/\/+/;Kr.filter=Gae;function Gae(r,e){return e=e||{},function(t,i,n){return Kr(t,r,e)}}function jB(r,e){r=r||{},e=e||{};var t={};return Object.keys(e).forEach(function(i){t[i]=e[i]}),Object.keys(r).forEach(function(i){t[i]=r[i]}),t}Kr.defaults=function(r){if(!r||!Object.keys(r).length)return Kr;var e=Kr,t=function(n,s,o){return e.minimatch(n,s,jB(r,o))};return t.Minimatch=function(n,s){return new e.Minimatch(n,jB(r,s))},t};ni.defaults=function(r){return!r||!Object.keys(r).length?ni:Kr.defaults(r).Minimatch};function Kr(r,e,t){if(typeof e!="string")throw new TypeError("glob pattern string required");return t||(t={}),!t.nocomment&&e.charAt(0)==="#"?!1:e.trim()===""?r==="":new ni(e,t).match(r)}function ni(r,e){if(!(this instanceof ni))return new ni(r,e);if(typeof r!="string")throw new TypeError("glob pattern string required");e||(e={}),r=r.trim(),Vd.sep!=="/"&&(r=r.split(Vd.sep).join("/")),this.options=e,this.set=[],this.pattern=r,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.make()}ni.prototype.debug=function(){};ni.prototype.make=Kae;function Kae(){if(!this._made){var r=this.pattern,e=this.options;if(!e.nocomment&&r.charAt(0)==="#"){this.comment=!0;return}if(!r){this.empty=!0;return}this.parseNegate();var t=this.globSet=this.braceExpand();e.debug&&(this.debug=console.error),this.debug(this.pattern,t),t=this.globParts=t.map(function(i){return i.split(BB)}),this.debug(this.pattern,t),t=t.map(function(i,n,s){return i.map(this.parse,this)},this),this.debug(this.pattern,t),t=t.filter(function(i){return i.indexOf(!1)===-1}),this.debug(this.pattern,t),this.set=t}}ni.prototype.parseNegate=Jae;function Jae(){var r=this.pattern,e=!1,t=this.options,i=0;if(!t.nonegate){for(var n=0,s=r.length;n1024*64)throw new TypeError("pattern is too long");var t=this.options;if(!t.noglobstar&&r==="**")return V0;if(r==="")return"";var i="",n=!!t.nocase,s=!1,o=[],a=[],l,c=!1,u=-1,f=-1,d=r.charAt(0)==="."?"":t.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",h=this;function p(){if(l){switch(l){case"*":i+=K0,n=!0;break;case"?":i+=G0,n=!0;break;default:i+="\\"+l;break}h.debug("clearStateChar %j %j",l,i),l=!1}}for(var g=0,b=r.length,y;g-1;W--){var A=a[W],M=i.slice(0,A.reStart),k=i.slice(A.reStart,A.reEnd-8),F=i.slice(A.reEnd-8,A.reEnd),j=i.slice(A.reEnd);F+=j;var X=M.split("(").length-1,ae=j;for(g=0;g=0&&(n=r[s],!n);s--);for(s=0;s>> no match, partial?`,r,u,e,f),u===o))}var h;if(typeof l=="string"?(i.nocase?h=c.toLowerCase()===l.toLowerCase():h=c===l,this.debug("string match",l,c,h)):(h=c.match(l),this.debug("pattern match",l,c,h)),!h)return!1}if(n===o&&s===a)return!0;if(n===o)return t;if(s===a){var p=n===o-1&&r[n]==="";return p}throw new Error("wtf?")};function Qae(r){return r.replace(/\\(.)/g,"$1")}function ele(r){return r.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}});async function Mt(r){let e=null;try{e=await Jr.default.stat(r)}catch(t){}return e}function zB(r,e){return new Promise((t,i)=>{Jr.default.rename(r,e,n=>{if(n)return i(n);t()})})}function Gd(r,e,t,i=!1,n=!0){let s=J0.default.homedir(),o=Kd(r);if(lt(o,s,!0))return null;if(n&&t&<(t,o,!0)&&Ro(t,e))return t;let a=o.split(Cr.default.sep);if(i){for(;a.length>0;){let l=a.join(Cr.default.sep);if(l==s)break;if(l!=s&&Ro(l,e))return l;a.pop()}return null}else{let l=[a.shift()];for(let c of a){l.push(c);let u=l.join(Cr.default.sep);if(u!=s&&Ro(u,e))return u}return null}}function Ro(r,e){try{let t=Jr.default.readdirSync(r);for(let i of e)if(i.includes("*")?WB.default.match(t,i,{nobrace:!0,noext:!0,nocomment:!0,nonegate:!0,dot:!0}).length!==0:t.includes(i))return!0}catch(t){}return!1}function Vc(r,e){let t=Cr.default.parse(e).root,i=Array.isArray(r)?r:[r];for(;e&&e!==t;){if(Ro(e,i))for(let s of i){let o=Cr.default.join(e,s);if(Jr.default.existsSync(o))return o}e=Cr.default.dirname(e)}return null}function Gc(r,e){return new Promise((t,i)=>{Jr.default.readFile(r,e,(n,s)=>{n&&i(n),t(s)})})}function VB(r){let e,t=0;return new Promise((i,n)=>{Jr.default.createReadStream(r).on("error",s=>n(s)).on("data",s=>{for(e=0;ei(t))})}function Ig(r,e,t){if(!Jr.default.existsSync(r))return Promise.reject(new Error(`file does not exist: ${r}`));let i=[],n=Y0.default.createInterface({input:Jr.default.createReadStream(r,{encoding:"utf8"}),crlfDelay:1/0,terminal:!1}),s=0;return new Promise((o,a)=>{n.on("line",l=>{s==0&&l.startsWith("\uFEFF")&&(l=l.slice(1)),s>=e&&s<=t&&i.push(l),s==t&&n.close(),s=s+1}),n.on("close",()=>{o(i)}),n.on("error",a)})}function GB(r,e){if(!Jr.default.existsSync(r))return Promise.reject(new Error(`file does not exist: ${r}`));let t=Y0.default.createInterface({input:Jr.default.createReadStream(r,{encoding:"utf8"}),crlfDelay:1/0,terminal:!1}),i=0;return new Promise((n,s)=>{t.on("line",o=>{if(i==e){i==0&&o.startsWith("\uFEFF")&&(o=o.slice(1)),t.close(),n(o);return}i=i+1}),t.on("error",s)})}async function KB(r,e){await Jr.default.writeFile(r,e,{encoding:"utf8"})}function Og(r){return r.startsWith("file:")}function lt(r,e,t=!1){let i=Kd(Cr.default.resolve(Cr.default.normalize(r))),n=Kd(Cr.default.resolve(Cr.default.normalize(e)));return i=="//"&&(i="/"),i==n?!!t:i.endsWith(Cr.default.sep)?n.startsWith(i):n.startsWith(i)&&n[i.length]==Cr.default.sep}function Kd(r){return J0.default.platform()!="win32"||r[1]!=":"?r:r[0].toUpperCase()+r.slice(1)}var tle,Jr,ile,J0,Cr,Y0,rle,WB,nCe,Nt=R(()=>{tle=E(require("child_process")),Jr=E(pn()),ile=E(require("net")),J0=E(require("os")),Cr=E(require("path")),Y0=E(require("readline")),rle=E(require("util")),WB=E(Do()),nCe=U()("util-fs")});function Q0(r,e){if(e){if(r&&r.hasOwnProperty(e))return r[e];let t=e.split("."),i=r;for(let n=0;i&&n{X0=E(require("os")),Po=E(require("fs")),Dn=E(require("path")),Z0=E(H());qe();En();ri();de();SB();H0();U0();Wr();Nt();nle=U()("configurations");ko=class{constructor(e,t){this.userConfigFile=e;this._proxy=t;this._errorItems=[];this._folderConfigurations=new Map;this._onError=new Z0.Emitter;this._onChange=new Z0.Emitter;this.disposables=[];this.onError=this._onError.event;this.onDidChange=this._onChange.event;let i=this.parseContentFromFile(e),n={defaults:wB(),user:i,workspace:{contents:{}}};this._configuration=ko.parse(n),this.watchFile(e,Ot.User);let s=Dn.default.join(process.cwd(),`.vim/${Is}`);s!=e&&Po.default.existsSync(s)&&this.addFolderFile(s)}parseContentFromFile(e){if(!e)return{contents:{}};let t=B.file(e).toString();this._errorItems=this._errorItems.filter(n=>n.location.uri!=t);let i=vB(e,n=>{this._errorItems.push(...n)});return this._onError.fire(this._errorItems),i}get errorItems(){return this._errorItems}get foldConfigurations(){return this._folderConfigurations}extendsDefaults(e){let{defaults:t}=this._configuration,{contents:i}=t;i=Ls(i),Object.keys(e).forEach(s=>{zd(i,s,e[s],o=>{nle.error(o)})});let n={defaults:{contents:i},user:this._configuration.user,workspace:this._configuration.workspace};this._configuration=ko.parse(n)}updateUserConfig(e){if(!e||Object.keys(e).length==0)return;let{user:t}=this._configuration,i=t.clone();Object.keys(e).forEach(n=>{let s=e[n];if(s===void 0)i.removeValue(n);else if(Wt(s))for(let o of Object.keys(s))i.setValue(`${n}.${o}`,s[o]);else i.setValue(n,s)}),this.changeConfiguration(Ot.User,i)}get defaults(){return this._configuration.defaults}get user(){return this._configuration.user}get workspace(){return this._configuration.workspace}addFolderFile(e){let{_folderConfigurations:t}=this;if(t.has(e)||Dn.default.resolve(e,"../..")==X0.default.homedir())return;let i=this.parseContentFromFile(e);this.watchFile(e,Ot.Workspace),this.changeConfiguration(Ot.Workspace,i,e)}watchFile(e,t){if(!Po.default.existsSync(e)||global.hasOwnProperty("__TEST__"))return;let i=Ic(e,()=>{let n=this.parseContentFromFile(e);this.changeConfiguration(t,n,e)});this.disposables.push(i)}changeConfiguration(e,t,i){let{defaults:n,user:s,workspace:o}=this._configuration,{workspaceConfigFile:a}=this,l={defaults:e==Ot.Global?t:n,user:e==Ot.User?t:s,workspace:e==Ot.Workspace?t:o},c=ko.parse(l),u=xB(this._configuration.getValue(),c.getValue());e==Ot.Workspace&&i&&(this._folderConfigurations.set(i,new nr(t.contents)),this.workspaceConfigFile=i),u.length!=0&&(this._configuration=c,this._onChange.fire({affectsConfiguration:(f,d)=>{if(!d||e!=Ot.Workspace)return u.includes(f);let h=B.parse(d);if(h.scheme!=="file")return u.includes(f);let p=h.fsPath,g=a?Dn.default.resolve(a,"../.."):"";return i&&!lt(g,p,!0)&&!lt(Dn.default.resolve(i,"../.."),p)?!1:u.includes(f)}}))}setFolderConfiguration(e){let t=B.parse(e);if(t.scheme!="file")return;let i=t.fsPath;for(let[n,s]of this.foldConfigurations){let o=Dn.default.resolve(n,"../..");if(lt(o,i,!0)&&this.workspaceConfigFile!=n){this.changeConfiguration(Ot.Workspace,s,n);break}}}hasFolderConfiguration(e){let{folders:t}=this;return t.findIndex(i=>lt(i,e,!0))!==-1}getConfigFile(e){return e==Ot.Global?null:e==Ot.User?this.userConfigFile:this.workspaceConfigFile}get folders(){let e=[],{_folderConfigurations:t}=this;for(let i of t.keys())e.push(Dn.default.resolve(i,"../.."));return e}get configuration(){return this._configuration}getConfiguration(e,t){let i;if(t){let{defaults:o,user:a}=this._configuration;i=new Pg(o,a,this.getFolderConfiguration(t))}else i=this._configuration;let n=Object.freeze(Q0(i.getValue(null),e)),s={has(o){return typeof Q0(n,o)!="undefined"},get:(o,a)=>{let l=Q0(n,o);return l==null?a:l},update:(o,a,l=!1)=>{let c=e?`${e}.${o}`:o,u=l?Ot.User:Ot.Workspace,f=u==Ot.User?this.user.clone():this.workspace.clone();if(a==null?f.removeValue(c):f.setValue(c,a),u==Ot.Workspace&&!this.workspaceConfigFile&&this._proxy){let d=this.workspaceConfigFile=this._proxy.workspaceConfigFile;if(!Po.default.existsSync(d)){let h=Dn.default.dirname(d);Po.default.existsSync(h)||Po.default.mkdirSync(h),Po.default.writeFileSync(d,"{}",{encoding:"utf8"})}}this.changeConfiguration(u,f,u==Ot.Workspace?this.workspaceConfigFile:this.userConfigFile),this._proxy&&!global.hasOwnProperty("__TEST__")&&(a==null?this._proxy.$removeConfigurationOption(u,c):this._proxy.$updateConfigurationOption(u,c,a))},inspect:o=>{o=e?`${e}.${o}`:o;let a=this._configuration.inspect(o);if(a)return{key:o,defaultValue:a.default,globalValue:a.user,workspaceValue:a.workspace}}};return Object.defineProperty(s,"has",{enumerable:!1}),Object.defineProperty(s,"get",{enumerable:!1}),Object.defineProperty(s,"update",{enumerable:!1}),Object.defineProperty(s,"inspect",{enumerable:!1}),typeof n=="object"&&YC(s,n,!1),KN(s)}getFolderConfiguration(e){let t=B.parse(e);if(t.scheme!="file")return new nr;let i=t.fsPath;for(let[n,s]of this.foldConfigurations){let o=Dn.default.resolve(n,"../..");if(lt(o,i,!0))return s}return new nr}checkFolderConfiguration(e){let t=B.parse(e);if(t.scheme!="file")return;let i=Dn.default.dirname(t.fsPath);if(this.hasFolderConfiguration(i))this.setFolderConfiguration(e);else{let n=Vc(".vim",i);if(n&&n!=X0.default.homedir()){let s=Dn.default.join(n,Is);Po.default.existsSync(s)&&this.addFolderFile(s)}}}static parse(e){let t=new nr(e.defaults.contents),i=new nr(e.user.contents),n=new nr(e.workspace.contents);return new Pg(t,i,n,new nr)}dispose(){G(this.disposables)}}});var e_,t_,RCe,Lg,YB=R(()=>{e_=E(require("fs"));Hd();t_=E(require("path"));qe();de();RCe=U()("configuration-shape"),Lg=class{constructor(e){this.workspace=e}get nvim(){return this.workspace.nvim}async modifyConfiguration(e,t,i){let{nvim:n,workspace:s}=this,o=s.getConfigFile(e);if(!o)return;let a={tabSize:2,insertSpaces:!0},l=e_.default.readFileSync(o,"utf8");i=i==null?void 0:i;let c=pB(l,[t],i,{formattingOptions:a});l=mB(l,c),e_.default.writeFileSync(o,l,"utf8"),s.getDocument(B.file(o).toString())&&n.command("checktime",!0)}get workspaceConfigFile(){let e=t_.default.join(this.workspace.root,".vim");return t_.default.join(e,Is)}$updateConfigurationOption(e,t,i){this.modifyConfiguration(e,t,i).logError()}$removeConfigurationOption(e,t){this.modifyConfiguration(e,t).logError()}}});var _r,i_,Kc,r_=R(()=>{_r=E(pn()),i_=E(require("path")),Kc=class{constructor(e){this.filepath=e}fetch(e){let t=this.load();if(!e)return t;let i=e.split(".");for(let n of i){if(typeof t[n]=="undefined")return;t=t[n]}return t}exists(e){let t=this.load(),i=e.split(".");for(let n of i){if(typeof t[n]=="undefined")return!1;t=t[n]}return!0}delete(e){let t=this.load(),i=t,n=e.split("."),s=n.length;for(let o=0;on&&o.length){let l=0;for(let c=0;c0){let d=l;for(let h=0;h{Ag=E(jc());yt();OCe=U()("util-diff")});var ACe,Yr,Jd,ej=R(()=>{ACe=U()("model-chars"),Yr=class{constructor(e,t){this.start=e,this.end=t||e}static fromKeywordOption(e){let t=e.split(","),i=[];for(let n of t)if(n=="@")i.push(new Yr(65,90)),i.push(new Yr(97,122));else if(n=="@-@")i.push(new Yr(64));else if(/^([A-Za-z])-([A-Za-z])$/.test(n)){let s=n.match(/^([A-Za-z])-([A-Za-z])$/);i.push(new Yr(s[1].charCodeAt(0),s[2].charCodeAt(0)))}else if(/^\d+-\d+$/.test(n)){let s=n.match(/^(\d+)-(\d+)$/);i.push(new Yr(Number(s[1]),Number(s[2])))}else if(/^\d+$/.test(n))i.push(new Yr(Number(n)));else{let s=n.charCodeAt(0);i.some(o=>o.contains(s))||i.push(new Yr(s))}return i}contains(e){return e>=this.start&&e<=this.end}},Jd=class{constructor(e){this.ranges=[];e&&(this.ranges=Yr.fromKeywordOption(e))}addKeyword(e){let t=e.charCodeAt(0),{ranges:i}=this;i.some(n=>n.contains(t))||i.push(new Yr(t))}clone(){let e=new Jd;return e.ranges=this.ranges.slice(),e}setKeywordOption(e){this.ranges=Yr.fromKeywordOption(e)}matchKeywords(e,t=3){let i=e.length;if(i==0)return[];let n=new Set,s="",o=0;for(let a=0;a=t&&o<48&&n.add(s),s="",o=0}return o!=0&&n.add(s),Array.from(n)}isKeywordCode(e){return e>255?!0:e<33?!1:this.ranges.some(t=>t.contains(e))}isKeywordChar(e){let{ranges:t}=this,i=e.charCodeAt(0);return i>255?!0:i<33?!1:t.some(n=>n.contains(i))}isKeyword(e){let{ranges:t}=this;for(let i=0,n=e.length;i255)return!1;if(!t.some(o=>o.contains(s)))return!1}return!0}}});function sle(r,e,t=0){let i=e?[t]:[];for(let n=0;n{Yd=class{constructor(e,t,i,n,s){this.uri=e;this.languageId=t;this.version=i;this.lines=n;this.eol=s}get _content(){return this.lines.join(` +`)+(this.eol?` +`:"")}get lineCount(){return this.lines.length+(this.eol?1:0)}getText(e){if(e){let t=this.offsetAt(e.start),i=this.offsetAt(e.end);return this._content.substring(t,i)}return this._content}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),i=0,n=t.length;if(n===0)return{line:0,character:e};for(;ie?n=o:i=o+1}let s=i-1;return{line:s,character:e-t[s]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let i=t[e.line],n=e.line+1{s_=E(Ui()),Rn=E(H());Uc();qe();_e();n_();de();ri();Vt();yt();ej();tj();XCe=U()("model-document"),Fg=class{constructor(e,t,i){this.buffer=e;this.env=t;this.maxFileSize=i;this.isIgnored=!1;this.size=0;this.eol=!0;this.lines=[];this._attached=!1;this._previewwindow=!1;this._winid=-1;this._words=[];this._onDocumentChange=new Rn.Emitter;this._onDocumentDetach=new Rn.Emitter;this.disposables=[];this.onDocumentChange=this._onDocumentChange.event;this.onDocumentDetach=this._onDocumentDetach.event;this.fireContentChanges=(0,s_.default)(()=>{this._fireContentChanges()},300),this.fetchContent=(0,s_.default)(()=>{this._fetchContent()},100)}get content(){return this.syncLines.join(` +`)+(this.eol?` +`:"")}get attached(){return this._attached}get bufnr(){return this.buffer.id}get filetype(){return this._filetype}get uri(){return this._uri}get shouldAttach(){let{buftype:e,maxFileSize:t}=this;return this.getVar("enabled",!0)?this.uri.endsWith("%5BCommand%20Line%5D")?!0:this.size==-2||t&&this.size>t?!1:e==""||e=="acwrite":!1}get isCommandLine(){return this.uri&&this.uri.endsWith("%5BCommand%20Line%5D")}get enabled(){return this.getVar("enabled",!0)}get words(){return this._words}convertFiletype(e){let t=this.env.filetypeMap;return e=="javascript.jsx"?"javascriptreact":e=="typescript.jsx"||e=="typescript.tsx"?"typescriptreact":t[e]||e}get changedtick(){return this._changedtick}get schema(){return B.parse(this.uri).scheme}get lineCount(){return this.lines.length}get winid(){return this._winid}get previewwindow(){return this._previewwindow}async init(e,t){this.nvim=e;let i=await e.call("coc#util#get_bufoptions",[this.bufnr,this.maxFileSize]);if(i==null)return!1;let n=this.buftype=i.buftype;if(this._previewwindow=i.previewwindow,this._winid=i.winid,this.size=typeof i.size=="number"?i.size:0,this.variables=i.variables||{},this._changedtick=i.changedtick,this.eol=i.eol==1,this._uri=tg(i.fullpath,this.bufnr,n,this.env.isCygwin),t.isCancellationRequested)return!1;if(this.shouldAttach){if(this.lines=i.lines,!await this.attach())return!1;this._attached=!0}return this._filetype=this.convertFiletype(i.filetype),this.setIskeyword(i.iskeyword),this.createTextDocument(1,this.lines),t.isCancellationRequested?(this.detach(),!1):!0}async attach(){if(!await this.buffer.attach(!0))return!1;let t=this.lines;return this.buffer.listen("lines",(i,n,s,o,a)=>{i.id!==this.bufnr||!this._attached||n==null||n>this._changedtick&&(this._changedtick=n,t=[...t.slice(0,s),...a,...t.slice(o)],this.lines=t,this.fireContentChanges())},this.disposables),this.buffer.listen("detach",async i=>{t=[],this._onDocumentDetach.fire(i.id)},this.disposables),!0}get dirty(){return this.lines===this.syncLines?!1:!je(this.lines,this.syncLines)}_fireContentChanges(){let{cursor:e}=O;if(!this.dirty)return;let t=this._textDocument,i=null;e&&e.bufnr==this.bufnr&&(i=this.getEndOffset(e.lnum,e.col,e.insert));let n=this.getDocumentContent(),s=ZB(t.getText(),n,i);if(s==null)return;let o=t.positionAt(s.start),a=t.positionAt(s.end),l=t.getText(Rn.Range.create(o,a));this.createTextDocument(this.version+1,this.lines);let c=[{range:{start:o,end:a},rangeLength:s.end-s.start,text:s.newText}];this._onDocumentChange.fire({bufnr:this.bufnr,original:l,originalLines:t.lines,textDocument:{version:this.version,uri:this.uri},contentChanges:c}),this._words=this.chars.matchKeywords(n)}async applyEdits(e){if(!Array.isArray(arguments[0])&&Array.isArray(arguments[1])&&(e=arguments[1]),e.length==0)return;let t=_i.create(this.uri,this.filetype,1,this.getDocumentContent()),i=_i.applyEdits(t,e),n;this.eol?i.endsWith(`\r +`)?n=i.slice(0,-2):n=i.endsWith(` +`)?i.slice(0,-1):i:n=i;let s=this.lines,o=n.split(/\r?\n/);if(!je(s,o)){let a=e.map(u=>u.range.start.line),l=XB(s,o,Math.min.apply(null,a)),c=s.slice(l.start,l.end);this.nvim.call("coc#util#set_lines",[this.bufnr,this._changedtick,c,l.replacement,l.start,l.end],!0),this.env.isVim&&this.nvim.command("redraw",!0),await zN(()=>{this.lines=o,this._forceSync()})}}async changeLines(e){let t=[],i=this.lines.slice();for(let[n,s]of e)i[n]!=s&&(t.push([n,s]),i[n]=s);!t.length||(this.nvim.call("coc#util#change_lines",[this.bufnr,t],!0),this.env.isVim&&this.nvim.command("redraw",!0),this.lines=i,this._forceSync())}_forceSync(){this.fireContentChanges.clear(),this._fireContentChanges()}forceSync(){global.hasOwnProperty("__TEST__")&&this._forceSync()}getOffset(e,t){return this.textDocument.offsetAt({line:e-1,character:t})}isWord(e){return this.chars.isKeyword(e)}getMoreWords(){let e=[],{words:t,chars:i}=this;if(!i.isKeywordChar("-"))return e;for(let n of t)if(n=n.replace(/^-+/,""),n.includes("-")){let s=n.split("-");for(let o of s)o.length>2&&!e.includes(o)&&!t.includes(o)&&e.push(o)}return e}getWordRangeAtPosition(e,t,i=!0){let n=this.chars.clone();if(t&&t.length)for(let l of t)n.addKeyword(l);let s=this.getline(e.line,i);if(s.length==0||e.character>=s.length||!n.isKeywordChar(s[e.character]))return null;let o=e.character,a=e.character+1;if(!n.isKeywordChar(s[o]))return Rn.Range.create(e,{line:e.line,character:e.character+1});for(;o>=0;){let l=s[o-1];if(!l||!n.isKeyword(l))break;o=o-1}for(;a<=s.length;){let l=s[a];if(!l||!n.isKeywordChar(l))break;a=a+1}return Rn.Range.create(e.line,o,e.line,a)}get textDocument(){return this._textDocument}get syncLines(){return this._textDocument.lines}get version(){return this._textDocument.version}createTextDocument(e,t){let{uri:i,filetype:n,eol:s}=this;this._textDocument=new Yd(i,n,e,t,s)}async _fetchContent(e){if(!this.env.isVim||!this._attached)return;let{nvim:t,bufnr:i,changedtick:n}=this,s=await t.call("coc#util#get_buf_lines",[i,n]);s&&(this._changedtick=s.changedtick,this.lines=s.lines,e?this._forceSync():this.fireContentChanges())}async patchChange(e){if(!!this._attached)if(this.env.isVim)if(e){let t=await this.nvim.call("coc#util#get_changeinfo",[]);if(t.changedtick0&&!d&&l==e&&o.push(Rn.Range.create(s.positionAt(c-l.length),s.positionAt(c))),d||(l="")}return o}fixStartcol(e,t){let i=this.getline(e.line);if(!i)return null;let{character:n}=e,s=i.slice(0,n),o=re(s),{chars:a}=this;for(let l=s.length-1;l>=0;l--){let c=s[l];if(c==" "||!a.isKeywordChar(c)&&!t.includes(c))break;o=o-re(c)}return o}addHighlights(e,t,i){let{start:n,end:s}=i;if(!Fs(i))for(let o=n.line;o<=s.line;o++){let a=this.getline(o,!1),l=o==n.line?Ci(a,n.character):0,c=o==s.line?Ci(a,s.character):global.Buffer.byteLength(a);l>=c||e.push({hlGroup:t,lnum:o,colStart:l,colEnd:c})}}getline(e,t=!0){return t?this.lines[e]||"":this.syncLines[e]||""}getLines(e,t){return this.lines.slice(e,t)}getDocumentContent(){let e=this.lines.join(` +`);return this.eol?e+` +`:e}getVar(e,t){let i=this.variables[`coc_${e}`];return i===void 0?t:i}getPosition(e,t){let i=this.getline(e-1);if(!i||t==0)return{line:e-1,character:0};let n=zt(i,0,t-1);return{line:e-1,character:n.length}}getEndOffset(e,t,i){let n=0,s=this.lines.length;for(let o=e-1;o3e4?this.lines.slice(0,3e4):this.lines;this._words=this.chars.matchKeywords(n.join(` +`))}detach(){this._attached=!1,G(this.disposables),this.disposables=[],this.fetchContent.clear(),this.fireContentChanges.clear(),this._onDocumentChange.dispose(),this._onDocumentDetach.dispose()}async synchronize(){let{changedtick:e}=this;await this.patchChange(),e!=this.changedtick&&await bt(50)}getLocalifyBonus(e,t){let i=new Map,{chars:n}=this,s=Math.max(0,e.line-100),o=Math.min(this.lineCount,e.line+100),a=this.lines.slice(s,o).join(` +`);e=Rn.Position.create(e.line-s,e.character),t=Rn.Position.create(t.line-s,t.character);let l=_i.create(this.uri,this.filetype,1,a),c=l.offsetAt(e),u=a.length,f=u-l.offsetAt(t),d=0,h=!1;for(let p=0;p1){let b=a.slice(d,p);i.set(b,p/c)}h=g}d=u-f,h=!1;for(let p=d;p1){let b=p==u-1?p+1:p,y=a.slice(d,b),S=i.get(y)||0;i.set(y,Math.max(S,(u-p+(b-d))/f))}h=g}return i}}});function Mg(r,e){let t=[[],[]];for(let i of r)e(i)?t[0].push(i):t[1].push(i);return t}function rj(r,e){let t=r.length,i=[];for(let n=0;nr.indexOf(i)===n);let t=Object.create(null);return r.filter(i=>{let n=e(i);return t[n]?!1:(t[n]=!0,!0)})}var Xd=R(()=>{});var Zd,nj,Jc,sj,qg,oj=R(()=>{Zd=E(H());qe();nj=E(Do()),Jc=E(require("path"));de();Xd();sj=U()("filesystem-watcher"),qg=class{constructor(e,t,i,n,s){this.globPattern=t;this.ignoreCreateEvents=i;this.ignoreChangeEvents=n;this.ignoreDeleteEvents=s;this._onDidCreate=new Zd.Emitter;this._onDidChange=new Zd.Emitter;this._onDidDelete=new Zd.Emitter;this._onDidRename=new Zd.Emitter;this.onDidCreate=this._onDidCreate.event;this.onDidChange=this._onDidChange.event;this.onDidDelete=this._onDidDelete.event;this.onDidRename=this._onDidRename.event;this.disposables=[];!e||e.then(o=>{if(o)return this.listen(o)}).catch(o=>{sj.error("watchman initialize failed"),sj.error(o.stack)})}async listen(e){let{globPattern:t,ignoreCreateEvents:i,ignoreChangeEvents:n,ignoreDeleteEvents:s}=this,o=await e.subscribe(t,a=>{let{root:l,files:c}=a;c=c.filter(u=>u.type=="f"&&(0,nj.default)(u.name,t,{dot:!0}));for(let u of c){let f=B.file(Jc.default.join(l,u.name));u.exists?u.new===!0?i||this._onDidCreate.fire(f):n||this._onDidChange.fire(f):s||this._onDidDelete.fire(f)}if(c.length==2&&!c[0].exists&&c[1].exists){let u=c[0],f=c[1];u.size==f.size&&this._onDidRename.fire({oldUri:B.file(Jc.default.join(l,u.name)),newUri:B.file(Jc.default.join(l,f.name))})}if(c.length>=2){let[u,f]=Mg(c,d=>d.exists===!1);if(u.length==f.length)for(let d of u){let h=f.find(p=>p.size==d.size&&p.mtime_ms==d.mtime_ms);h&&this._onDidRename.fire({oldUri:B.file(Jc.default.join(l,d.name)),newUri:B.file(Jc.default.join(l,h.name))})}}});return this.disposables.push(o),o}dispose(){G(this.disposables)}}});var o_,Io,Oo,$g=R(()=>{o_=E(require("path")),Io=E(pn()),Oo=class{constructor(e,t){this.name=e;this.file=o_.default.join(t||process.env.COC_DATA_HOME,e)}async load(){let e=o_.default.dirname(this.file);try{Io.default.mkdirpSync(e),Io.default.existsSync(this.file)||Io.default.writeFileSync(this.file,"","utf8");let t=await Io.default.readFile(this.file,"utf8");return t=t.trim(),t.length?t.trim().split(` +`):[]}catch(t){return[]}}async add(e){let t=await this.load(),i=t.indexOf(e);i!==-1&&t.splice(i,1),t.unshift(e),Io.default.writeFileSync(this.file,t.join(` +`),"utf8")}async remove(e){let t=await this.load(),i=t.indexOf(e);i!==-1&&(t.splice(i,1),Io.default.writeFileSync(this.file,t.join(` +`),"utf8"))}async clean(){try{await Io.default.unlink(this.file)}catch(e){}}}});function a_(r,e,t){let i=t.value;if(typeof i!="function")return;let n="$"+e;t.value=function(...s){return this.hasOwnProperty(n)?Promise.resolve(this[n]):new Promise((o,a)=>{Promise.resolve(i.apply(this,s)).then(l=>{this[n]=l,o(l)},l=>{a(l)})})}}var a0e,aj=R(()=>{a0e=U()("util-decorator")});var Yc,lj,l_,d0e,Xc,cj=R(()=>{Yc=E(require("path")),lj=E(require("fs"));de();Nt();aj();l_=E(m0()),d0e=U()("model-resolver"),Xc=class{get nodeFolder(){return Dd("npm")?Vn("npm --loglevel silent root -g",{},3e3).then(e=>(0,l_.default)(e).trim()):Promise.resolve("")}get yarnFolder(){return Dd("yarnpkg")?Vn("yarnpkg global dir",{},3e3).then(e=>{let t=Yc.default.join((0,l_.default)(e).trim(),"node_modules");return lj.default.existsSync(t)?t:""}):Promise.resolve("")}async resolveModule(e){let t=await this.nodeFolder,i=await this.yarnFolder;if(i){let n=await Mt(Yc.default.join(i,e,"package.json"));if(n&&n.isFile())return Yc.default.join(i,e)}if(t){let n=await Mt(Yc.default.join(t,e,"package.json"));if(n&&n.isFile())return Yc.default.join(t,e)}return null}};Nw([a_],Xc.prototype,"nodeFolder",1),Nw([a_],Xc.prototype,"yarnFolder",1)});var Bg,jg,uj=R(()=>{_e();Bg=E(H());de();jg=class{constructor(e,t){this.nvim=e;this.id=t;this.disposables=[];this._onExit=new Bg.Emitter;this._onStderr=new Bg.Emitter;this._onStdout=new Bg.Emitter;this.onExit=this._onExit.event;this.onStdout=this._onStdout.event;this.onStderr=this._onStderr.event;O.on("TaskExit",(s,o)=>{s==this.id&&this._onExit.fire(o)},null,this.disposables),O.on("TaskStderr",(s,o)=>{s==this.id&&this._onStderr.fire(o)},null,this.disposables);let i=[],n;O.on("TaskStdout",(s,o)=>{s==this.id&&(n&&clearTimeout(n),i.push(...o),n=setTimeout(()=>{this._onStdout.fire(i),i=[]},100))},null,this.disposables)}async start(e){let{nvim:t}=this;return await t.call("coc#task#start",[this.id,e])}async stop(){let{nvim:e}=this;await e.call("coc#task#stop",[this.id])}get running(){let{nvim:e}=this;return e.call("coc#task#running",[this.id])}dispose(){let{nvim:e}=this;e.call("coc#task#stop",[this.id],!0),this._onStdout.dispose(),this._onStderr.dispose(),this._onExit.dispose(),G(this.disposables)}}});var y0e,Ug,fj=R(()=>{y0e=U()("model-terminal"),Ug=class{constructor(e,t,i,n){this.cmd=e;this.args=t;this.nvim=i;this._name=n;this.pid=0}async start(e,t){let{nvim:i}=this,n=[this.cmd,...this.args],[s,o]=await i.call("coc#terminal#start",[n,e,t||{}]);this.bufnr=s,this.pid=o}get name(){return this._name||this.cmd}get processId(){return Promise.resolve(this.pid)}sendText(e,t=!0){!this.bufnr||this.nvim.call("coc#terminal#send",[this.bufnr,e,t],!0)}async show(e){let{bufnr:t,nvim:i}=this;if(!t)return;let[n,s,o]=await i.eval(`[bufloaded(${t}),bufwinid(${t}),win_getid()]`);return n?(o==s||(i.pauseNotification(),s==-1?(i.command(`below ${t}sb`,!0),i.command("resize 8",!0),i.call("coc#util#do_autocmd",["CocTerminalOpen"],!0)):i.call("win_gotoid",[s],!0),i.command("normal! G",!0),e&&i.command("wincmd p",!0),await i.resumeNotification()),!0):!1}async hide(){let{bufnr:e,nvim:t}=this;if(!e)return;let i=await t.call("bufwinnr",e);i!=-1&&await t.command(`${i}close!`)}dispose(){let{bufnr:e,nvim:t}=this;!e||t.call("coc#terminal#close",[e],!0)}}});var Hg,dj=R(()=>{de();Hg=class{constructor(e,t){this._create=e;this.workspace=t;this.disposables=[];this.itemsMap=new Map;let{disposables:i}=this;for(let n of t.documents)this.create(n);t.onDidOpenTextDocument(n=>{let s=t.getDocument(n.bufnr);s&&this.create(s)},null,i),t.onDidChangeTextDocument(n=>{this.onChange(n)},null,i),t.onDidCloseTextDocument(n=>{this.delete(n.bufnr)},null,i)}get items(){return Array.from(this.itemsMap.values()).map(e=>e.item)}getItem(e){var i;if(typeof e=="number")return(i=this.itemsMap.get(e))==null?void 0:i.item;let t=Array.from(this.itemsMap.values()).find(n=>n.uri==e);return t?t.item:void 0}create(e){if(!e||e.isCommandLine||!e.attached)return;let t=this.itemsMap.get(e.bufnr);t&&t.item.dispose();let i=this._create(e);i&&this.itemsMap.set(e.bufnr,{uri:e.uri,item:i})}onChange(e){let t=this.itemsMap.get(e.bufnr);t&&typeof t.item.onChange=="function"&&t.item.onChange(e)}delete(e){let t=this.itemsMap.get(e);t&&(this.itemsMap.delete(e),t.item.dispose())}reset(){for(let e of this.itemsMap.values())e.item.dispose();this.itemsMap.clear()}dispose(){G(this.disposables);for(let e of this.itemsMap.values())e.item.dispose();this.itemsMap.clear()}}});function Zc(r,e,t){if(Array.isArray(r)){let i=0;for(let n of r){let s=Zc(n,e,t);if(s===10)return s;s>i&&(i=s)}return i}else{if(typeof r=="string")return r==="*"?5:r===t?10:0;if(r){let i=B.parse(e),{language:n,pattern:s,scheme:o}=r,a=0;if(o)if(o===i.scheme)a=5;else if(o==="*")a=3;else return 0;if(n)if(n===t)a=10;else if(n==="*")a=Math.max(a,5);else return 0;if(s){let l=Ba||GC,c=l?s.toLowerCase():s,u=l?i.fsPath.toLowerCase():i.fsPath;if(c===u||(0,hj.default)(u,c,{dot:!0}))a=5;else return 0}return a}else return 0}}var hj,c_=R(()=>{hj=E(Do());qe();eg()});var gj=x((T0e,mj)=>{var u_=4294967296,pj=[];for(var Qd=0;Qd<256;Qd++)pj[Qd]=(Qd>15?"":"0")+Qd.toString(16);var eh=mj.exports=function(r,e){r instanceof Buffer?(this.buffer=r,this.offset=e||0):Object.prototype.toString.call(r)=="[object Uint8Array]"?(this.buffer=new Buffer(r),this.offset=e||0):(this.buffer=this.buffer||new Buffer(8),this.offset=0,this.setValue.apply(this,arguments))};eh.MAX_INT=Math.pow(2,53);eh.MIN_INT=-Math.pow(2,53);eh.prototype={constructor:eh,_2scomp:function(){for(var r=this.buffer,e=this.offset,t=1,i=e+7;i>=e;i--){var n=(r[i]^255)+t;r[i]=n&255,t=n>>8}},setValue:function(r,e){var t=!1;if(arguments.length==1)if(typeof r=="number"){if(t=r<0,r=Math.abs(r),e=r%u_,r=r/u_,r>u_)throw new RangeError(r+" is outside Int64 range");r=r|0}else if(typeof r=="string")r=(r+"").replace(/^0x/,""),e=r.substr(-8),r=r.length>8?r.substr(0,r.length-8):"",r=parseInt(r,16),e=parseInt(e,16);else throw new Error(r+" must be a Number or String");for(var i=this.buffer,n=this.offset,s=7;s>=0;s--)i[n+s]=e&255,e=s==4?r:e>>>8;t&&this._2scomp()},toNumber:function(r){for(var e=this.buffer,t=this.offset,i=e[t]&128,n=0,s=1,o=7,a=1;o>=0;o--,a*=256){var l=e[t+o];i&&(l=(l^255)+s,s=l>>8,l=l&255),n+=l*a}return!r&&n>=eh.MAX_INT?i?-1/0:1/0:i?-n:n},valueOf:function(){return this.toNumber(!1)},toString:function(r){return this.valueOf().toString(r||10)},toOctetString:function(r){for(var e=new Array(8),t=this.buffer,i=this.offset,n=0;n<8;n++)e[n]=pj[t[i+n]];return e.join(r||"")},toBuffer:function(r){if(r&&this.offset===0)return this.buffer;var e=new Buffer(8);return this.buffer.copy(e,0,this.offset,this.offset+8),e},copy:function(r,e){this.buffer.copy(r,e||0,this.offset,this.offset+8)},compare:function(r){if((this.buffer[this.offset]&128)!=(r.buffer[r.offset]&128))return r.buffer[r.offset]-this.buffer[this.offset];for(var e=0;e<8;e++)if(this.buffer[this.offset+e]!==r.buffer[r.offset+e])return this.buffer[this.offset+e]-r.buffer[r.offset+e];return 0},equals:function(r){return this.compare(r)===0},inspect:function(){return"[Int64 value:"+this+" octets:"+this.toOctetString(" ")+"]"}}});var Dj=x(ih=>{var vj=require("events").EventEmitter,ole=require("util"),ale=require("os"),D0e=require("assert"),th=gj(),Lo=ale.endianness()=="BE";function bj(r){return Math.pow(2,Math.ceil(Math.log(r)/Math.LN2))}function si(r){this.buf=Buffer.alloc(bj(r||8192)),this.readOffset=0,this.writeOffset=0}ih.Accumulator=si;si.prototype.writeAvail=function(){return this.buf.length-this.writeOffset};si.prototype.readAvail=function(){return this.writeOffset-this.readOffset};si.prototype.reserve=function(r){if(!(r0&&(this.buf.copy(this.buf,0,this.readOffset,this.writeOffset),this.writeOffset-=this.readOffset,this.readOffset=0),!(r0)this.assertReadableSize(r);else if(r<0&&this.readOffset+r<0)throw new Error("advance with negative offset "+r+" would seek off the start of the buffer");this.readOffset+=r};si.prototype.writeByte=function(r){this.reserve(1),this.buf.writeInt8(r,this.writeOffset),++this.writeOffset};si.prototype.writeInt=function(r,e){switch(this.reserve(e),e){case 1:this.buf.writeInt8(r,this.writeOffset);break;case 2:Lo?this.buf.writeInt16BE(r,this.writeOffset):this.buf.writeInt16LE(r,this.writeOffset);break;case 4:Lo?this.buf.writeInt32BE(r,this.writeOffset):this.buf.writeInt32LE(r,this.writeOffset);break;default:throw new Error("unsupported integer size "+e)}this.writeOffset+=e};si.prototype.writeDouble=function(r){this.reserve(8),Lo?this.buf.writeDoubleBE(r,this.writeOffset):this.buf.writeDoubleLE(r,this.writeOffset),this.writeOffset+=8};var f_=0,d_=1,h_=2,p_=3,m_=4,Wg=5,zg=6,yj=7,wj=8,xj=9,Sj=10,Cj=11,lle=12,g_=0,_j=1,cle=127,ule=32767,fle=2147483647;function sr(){vj.call(this),this.buf=new si,this.state=g_}ole.inherits(sr,vj);ih.BunserBuf=sr;sr.prototype.append=function(r,e){if(e)return this.buf.append(r),this.process(e);try{this.buf.append(r)}catch(t){this.emit("error",t);return}this.processLater()};sr.prototype.processLater=function(){var r=this;process.nextTick(function(){try{r.process(!1)}catch(e){r.emit("error",e)}})};sr.prototype.process=function(r){if(this.state==g_){if(this.buf.readAvail()<2)return;if(this.expectCode(0),this.expectCode(1),this.pduLen=this.decodeInt(!0),this.pduLen===!1){this.buf.readAdvance(-2);return}this.buf.reserve(this.pduLen),this.state=_j}if(this.state==_j){if(this.buf.readAvail()0&&this.processLater()};sr.prototype.raise=function(r){throw new Error(r+", in Buffer of length "+this.buf.buf.length+" ("+this.buf.readAvail()+" readable) at offset "+this.buf.readOffset+" buffer: "+JSON.stringify(this.buf.buf.slice(this.buf.readOffset,this.buf.readOffset+32).toJSON()))};sr.prototype.expectCode=function(r){var e=this.buf.readInt(1);e!=r&&this.raise("expected bser opcode "+r+" but got "+e)};sr.prototype.decodeAny=function(){var r=this.buf.peekInt(1);switch(r){case p_:case m_:case Wg:case zg:return this.decodeInt();case yj:return this.buf.readAdvance(1),this.buf.readDouble();case wj:return this.buf.readAdvance(1),!0;case xj:return this.buf.readAdvance(1),!1;case Sj:return this.buf.readAdvance(1),null;case h_:return this.decodeString();case f_:return this.decodeArray();case d_:return this.decodeObject();case Cj:return this.decodeTemplate();default:this.raise("unhandled bser opcode "+r)}};sr.prototype.decodeArray=function(){this.expectCode(f_);for(var r=this.decodeInt(),e=[],t=0;t{"use strict";var ple=require("net"),Rj=require("events").EventEmitter,mle=require("util"),gle=require("child_process"),Pj=Dj(),kj=["subscription","log"];function Ns(r){var e=this;Rj.call(this),this.watchmanBinaryPath="watchman",r&&r.watchmanBinaryPath&&(this.watchmanBinaryPath=r.watchmanBinaryPath.trim()),this.commands=[]}mle.inherits(Ns,Rj);Lj.exports.Client=Ns;Ns.prototype.sendNextCommand=function(){this.currentCommand||(this.currentCommand=this.commands.shift(),!!this.currentCommand&&this.socket.write(Pj.dumpToBuffer(this.currentCommand.cmd)))};Ns.prototype.cancelCommands=function(r){var e=new Error(r),t=this.commands;this.commands=[],this.currentCommand&&(t.unshift(this.currentCommand),this.currentCommand=null),t.forEach(function(i){i.cb(e)})};Ns.prototype.connect=function(){var r=this;function e(l){r.bunser=new Pj.BunserBuf,r.bunser.on("value",function(c){for(var u=!1,f=0;f=0:!1}Ns.prototype._synthesizeCapabilityCheck=function(r,e,t){r.capabilities={};var i=r.version;return e.forEach(function(n){r.capabilities[n]=Oj(i,n)}),t.forEach(function(n){var s=Oj(i,n);r.capabilities[n]=s,s||(r.error="client required capability `"+n+"` is not supported by this server")}),r};Ns.prototype.capabilityCheck=function(r,e){var t=r.optional||[],i=r.required||[],n=this;this.command(["version",{optional:t,required:i}],function(s,o){if(s){e(s);return}if(!("capabilities"in o)&&(o=n._synthesizeCapabilityCheck(o,t,i),o.error)){s=new Error(o.error),s.watchmanResponse=o,e(s);return}e(null,o)})};Ns.prototype.end=function(){this.cancelCommands("The client was ended"),this.socket&&(this.socket.end(),this.socket=null),this.bunser=null}});function yle(r){return!(r=="/"||r=="/tmp"||r=="/private/tmp"||r.toLowerCase()===v_.default.homedir().toLowerCase()||Kg.default.parse(r).base==r||r.startsWith("/tmp/")||r.startsWith("/private/tmp/")||lt(v_.default.tmpdir(),r,!0))}var Fj,v_,Kg,Mj,Nj,Jg,ble,b_,Pn,Yg=R(()=>{Fj=E(Aj()),v_=E(require("os")),Kg=E(require("path"));Ye();Mj=E(H()),Nj=E(Do());Nt();Jg=U()("watchman"),ble=["relative_root","cmd-watch-project","wildmatch","field-new"],b_=new Map,Pn=class{constructor(e,t){this.channel=t;this._disposed=!1;this.client=new Fj.default.Client({watchmanBinaryPath:e}),this.client.setMaxListeners(300)}checkCapability(){let{client:e}=this;return new Promise((t,i)=>{e.capabilityCheck({optional:[],required:ble},(n,s)=>{if(n)return i(n);let{capabilities:o}=s;for(let a of Object.keys(o))if(!o[a])return t(!1);t(!0)})})}async watchProject(e){try{let t=await this.command(["watch-project",e]),{watch:i,warning:n,relative_path:s}=t;n&&Jg.warn(n),this.watch=i,this.relative_path=s,Jg.info(`watchman watching project: ${e}`),this.appendOutput(`watchman watching project: ${e}`)}catch(t){return Jg.error(t),!1}return!0}command(e){return new Promise((t,i)=>{this.client.command(e,(n,s)=>{if(n)return i(n);t(s)})})}async subscribe(e,t){let{watch:i,relative_path:n}=this;if(!i)return this.appendOutput(`watchman not watching: ${i}`,"Error"),null;let{clock:s}=await this.command(["clock",i]),o=Ms(),a={expression:["allof",["match","**/*","wholename"]],fields:["name","size","new","exists","type","mtime_ms","ctime_ms"],since:s},l=i;n&&(a.relative_root=n,l=Kg.default.join(i,n));let{subscribe:c}=await this.command(["subscribe",i,o,a]);return global.hasOwnProperty("__TEST__")&&(global.subscribe=c),this.appendOutput(`subscribing "${e}" in ${l}`),this.client.on("subscription",u=>{if(!u||u.subscription!=o)return;let{files:f}=u;if(!f||(f=f.filter(h=>h.type=="f"&&(0,Nj.default)(h.name,e,{dot:!0})),!f.length))return;let d=Object.assign({},u);this.relative_path&&(d.root=Kg.default.resolve(u.root,this.relative_path)),this.appendOutput(`file change detected: ${JSON.stringify(d,null,2)}`),t(d)}),Mj.Disposable.create(()=>this.unsubscribe(c))}unsubscribe(e){if(this._disposed)return Promise.resolve();let{watch:t}=this;if(!!t)return this.appendOutput(`unsubscribe "${e}" in: ${t}`),this.command(["unsubscribe",t,e]).catch(i=>{Jg.error(i)})}dispose(){this._disposed||(this._disposed=!0,this.client.removeAllListeners(),this.client.end())}appendOutput(e,t="Info"){this.channel&&this.channel.appendLine(`[${t} - ${new Date().toLocaleTimeString()}] ${e}`)}static dispose(){for(let e of b_.values())e.then(t=>{t.dispose()},t=>{})}static createClient(e,t,i){if(!yle(t))return null;let n=b_.get(t);if(n)return n;let s=new Promise(async(o,a)=>{try{let l=new Pn(e,i);if(!await l.checkCapability()||!await l.watchProject(t))return o(null);o(l)}catch(l){a(l)}});return b_.set(t,s),s}}});var Xg,y_=R(()=>{Xg="0.0.80"});var qj,$j,Gt,kn,Ne,ne,Bj,jj,rh,Zg,xle,Uj,v,Y=R(()=>{qj=E(eB()),$j=E(jc()),Gt=E(pn()),kn=E(require("os")),Ne=E(require("path"));Ye();ne=E(H());qe();Bj=E(Ed());w0();JB();YB();_e();r_();ij();oj();$g();cj();uj();fj();dj();En();Xd();Nt();de();c_();Vt();yt();Yg();Te();y_();jj=10,rh=U()("workspace"),Zg=2e3,xle=["showMessage","runTerminalCommand","openTerminal","showQuickpick","menuPick","openLocalConfig","showPrompt","createStatusBarItem","createOutputChannel","showOutputChannel","requestInput","echoLines","getCursorPosition","moveTo","getOffset"],Uj=class{constructor(){this.keymaps=new Map;this.resolver=new Xc;this.rootPatterns=new Map;this._workspaceFolders=[];this._insertMode=!1;this._cwd=process.cwd();this._initialized=!1;this._attached=!1;this.buffers=new Map;this.autocmdMaxId=0;this.autocmds=new Map;this.terminals=new Map;this.creatingSources=new Map;this.schemeProviderMap=new Map;this.namespaceMap=new Map;this.disposables=[];this.watchedOptions=new Set;this._dynAutocmd=!1;this._disposed=!1;this._onDidOpenDocument=new ne.Emitter;this._onDidCloseDocument=new ne.Emitter;this._onDidChangeDocument=new ne.Emitter;this._onWillSaveDocument=new ne.Emitter;this._onDidSaveDocument=new ne.Emitter;this._onDidChangeWorkspaceFolders=new ne.Emitter;this._onDidChangeConfiguration=new ne.Emitter;this._onDidWorkspaceInitialized=new ne.Emitter;this._onDidOpenTerminal=new ne.Emitter;this._onDidCloseTerminal=new ne.Emitter;this._onDidRuntimePathChange=new ne.Emitter;this.onDidCloseTerminal=this._onDidCloseTerminal.event;this.onDidOpenTerminal=this._onDidOpenTerminal.event;this.onDidChangeWorkspaceFolders=this._onDidChangeWorkspaceFolders.event;this.onDidOpenTextDocument=this._onDidOpenDocument.event;this.onDidCloseTextDocument=this._onDidCloseDocument.event;this.onDidChangeTextDocument=this._onDidChangeDocument.event;this.onWillSaveTextDocument=this._onWillSaveDocument.event;this.onDidSaveTextDocument=this._onDidSaveDocument.event;this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this.onDidWorkspaceInitialized=this._onDidWorkspaceInitialized.event;this.onDidRuntimePathChange=this._onDidRuntimePathChange.event;this._onDidCreateFiles=new ne.Emitter;this._onDidRenameFiles=new ne.Emitter;this._onDidDeleteFiles=new ne.Emitter;this._onWillCreateFiles=new ne.Emitter;this._onWillRenameFiles=new ne.Emitter;this._onWillDeleteFiles=new ne.Emitter;this.onDidCreateFiles=this._onDidCreateFiles.event;this.onDidRenameFiles=this._onDidRenameFiles.event;this.onDidDeleteFiles=this._onDidDeleteFiles.event;this.onWillCreateFiles=this._onWillCreateFiles.event;this.onWillRenameFiles=this._onWillRenameFiles.event;this.onWillDeleteFiles=this._onWillDeleteFiles.event;this.version=Xg,this.configurations=this.createConfigurations();let e=process.cwd();e!=kn.default.homedir()&&Ro(e,[".vim"])&&this._workspaceFolders.push({uri:B.file(e).toString(),name:Ne.default.basename(e)})}async init(){let{nvim:e}=this;for(let n of xle)Object.defineProperty(this,n,{get:()=>(...s)=>D[n].apply(D,s)});this._env=await e.call("coc#util#vim_info"),this._env.apiversion!=jj&&(console.error(`API version ${this._env.apiversion} is not ${jj}, please build coc.nvim by 'yarn install' after pull source code.`),process.exit()),this._insertMode=this._env.mode.startsWith("insert"),this._env.workspaceFolders&&Array.isArray(this._env.workspaceFolders)&&(this._workspaceFolders=this._env.workspaceFolders.map(n=>({uri:B.file(n).toString(),name:Ne.default.dirname(n)}))),this.configurations.updateUserConfig(this._env.config);let i=this.getConfiguration("coc.preferences").get("maxFileSize","10MB");this.maxFileSize=qj.default.parse(i),O.on(["InsertEnter","CursorMovedI"],()=>{this._insertMode=!0},null,this.disposables),O.on(["InsertLeave","CursorMoved"],()=>{this._insertMode=!1},null,this.disposables),O.on("BufEnter",this.onBufEnter,this,this.disposables),O.on("CursorMoved",this.checkCurrentBuffer,this,this.disposables),O.on("CursorMovedI",this.checkCurrentBuffer,this,this.disposables),O.on("DirChanged",this.onDirChanged,this,this.disposables),O.on("BufCreate",this.onBufCreate,this,this.disposables),O.on("BufUnload",this.onBufUnload,this,this.disposables),O.on("TermOpen",this.onBufCreate,this,this.disposables),O.on("TermClose",this.onBufUnload,this,this.disposables),O.on("BufWritePost",this.onBufWritePost,this,this.disposables),O.on("BufWritePre",this.onBufWritePre,this,this.disposables),O.on("FileType",this.onFileTypeChange,this,this.disposables),O.on("CursorHold",this.checkCurrentBuffer,this,this.disposables),O.on("TextChanged",this.checkBuffer,this,this.disposables),O.on("BufReadCmd",this.onBufReadCmd,this,this.disposables),O.on("VimResized",(n,s)=>{Object.assign(this._env,{columns:n,lines:s})},null,this.disposables),await this.attach(),this.attachChangedEvents(),this.configurations.onDidChange(n=>{this._onDidChangeConfiguration.fire(n)},null,this.disposables),this.watchOption("runtimepath",(n,s)=>{let o=(0,$j.default)(n,s);for(let[a,l]of o)if(a==1){let c=l.replace(/,$/,"").split(",");this._onDidRuntimePathChange.fire(c)}this._env.runtimepath=s},this.disposables),this.watchGlobal("coc_sources_disable_map",async(n,s)=>{this.env.disabledSources=s}),this.disposables.push(this.registerTextDocumentContentProvider("output",Ga.getProvider(e)))}getConfigFile(e){return this.configurations.getConfigFile(e)}registerAutocmd(e){this.autocmdMaxId+=1;let t=this.autocmdMaxId;return this.autocmds.set(t,e),this.setupDynamicAutocmd(),ne.Disposable.create(()=>{this.autocmds.delete(t),this.setupDynamicAutocmd()})}watchOption(e,t,i){let n=this.watchedOptions.has(e);n||(this.watchedOptions.add(e),this.setupDynamicAutocmd());let s=O.on("OptionSet",async(o,a,l)=>{o==e&&t&&await Promise.resolve(t(a,l))});i&&i.push(ne.Disposable.create(()=>{s.dispose(),!n&&(this.watchedOptions.delete(e),this.setupDynamicAutocmd())}))}watchGlobal(e,t,i){let{nvim:n}=this;n.call("coc#_watch",e,!0);let s=O.on("GlobalChange",async(o,a,l)=>{o==e&&t&&await Promise.resolve(t(a,l))});i&&i.push(ne.Disposable.create(()=>{s.dispose(),n.call("coc#_unwatch",e,!0)}))}get cwd(){return this._cwd}get env(){return this._env}get root(){return this._root||this.cwd}get rootPath(){return this.root}get workspaceFolders(){return this._workspaceFolders}get uri(){let{bufnr:e}=this;if(e){let t=this.getDocument(e);if(t&&t.schema=="file")return t.uri}return null}get workspaceFolder(){let{rootPath:e}=this;return e==kn.default.homedir()?null:{uri:B.file(e).toString(),name:Ne.default.basename(e)}}get textDocuments(){let e=[];for(let t of this.buffers.values())e.push(t.textDocument);return e}get documents(){return Array.from(this.buffers.values())}createNameSpace(e=""){return this.namespaceMap.has(e)?this.namespaceMap.get(e):(Zg=Zg+1,this.namespaceMap.set(e,Zg),Zg)}get channelNames(){return Ga.names}get pluginRoot(){return Ne.default.dirname(__dirname)}get isVim(){return this._env.isVim}get isNvim(){return!this._env.isVim}get completeOpt(){return this._env.completeOpt}get initialized(){return this._initialized}get ready(){return this._initialized?Promise.resolve():new Promise(e=>{let t=this.onDidWorkspaceInitialized(()=>{t.dispose(),e()})})}get filetypes(){let e=new Set;for(let t of this.documents)e.add(t.filetype);return e}match(e,t){return Zc(e,t.uri,t.languageId)}async findUp(e){let{cwd:t}=this,i=await this.nvim.call("expand","%:p");i=Ne.default.normalize(i);let n=i&&Ne.default.isAbsolute(i);if(n&&!lt(t,i,!0))return Vc(e,Ne.default.dirname(i));let s=Vc(e,t);return s&&s!=kn.default.homedir()?s:n?Vc(e,Ne.default.dirname(i)):null}async resolveRootFolder(e,t){let{cwd:i}=this;if(e.scheme!="file")return i;let n=Ne.default.normalize(e.fsPath),s=Ne.default.dirname(n);return Gd(s,t)||s}createFileSystemWatcher(e,t,i,n){let s=global.hasOwnProperty("__TEST__")?null:this.getWatchmanPath(),o=s?D.createOutputChannel("watchman"):null,a=s?Pn.createClient(s,this.root,o):Promise.resolve(null);return new qg(a,e,!!t,!!i,!!n)}getWatchmanPath(){let t=this.getConfiguration("coc.preferences").get("watchmanPath","watchman");try{return Bj.default.sync(t)}catch(i){return null}}getConfiguration(e,t){return this.configurations.getConfiguration(e,t)}getDocument(e){if(typeof e=="number")return this.buffers.get(e);let t=kc.isWindows||kc.isMacintosh;e=B.parse(e).toString();for(let i of this.buffers.values())if(!!i&&(i.uri===e||Ne.default.resolve(i.uri)===Ne.default.resolve(e)||t&&i.uri.toLowerCase()===e.toLowerCase()))return i;return null}async applyEdit(e){let{nvim:t}=this,{documentChanges:i,changes:n}=e,[s,o]=await t.eval('[bufnr("%"),coc#cursor#position()]'),a=this.getDocument(s),l=a?a.uri:null,c=null,u=[],f=0,d=this.getConfiguration("coc.preferences"),h=!global.hasOwnProperty("__TEST__")&&d.get("promptWorkspaceEdit",!0),p=d.get("listOfWorkspaceEdit","quickfix");try{if(i&&i.length){let g=this.getChangedUris(i);if(f=g.length,h){let y=g.reduce((S,w)=>S+(this.getDocument(w)==null?1:0),0);if(y&&!await D.showPrompt(`${y} documents on disk would be loaded for change, confirm?`))return}let b=new Map;for(let y of i)if(ne.TextDocumentEdit.is(y)){let{textDocument:S,edits:w}=y,_=await this.loadFile(S.uri);S.uri==l&&(c=w),await _.applyEdits(w);for(let L of w)u.push({uri:_.uri,range:L.range})}else if(ne.CreateFile.is(y)){let S=B.parse(y.uri).fsPath;await this.createFile(S,y.options)}else ne.RenameFile.is(y)?(b.set(y.oldUri,y.newUri),await this.renameFile(B.parse(y.oldUri).fsPath,B.parse(y.newUri).fsPath,y.options)):ne.DeleteFile.is(y)&&await this.deleteFile(B.parse(y.uri).fsPath,y.options);b.size&&u.forEach(y=>{let S=b.get(y.uri);S&&(y.uri=S)})}else if(n){let g=Object.keys(n),b=g.filter(y=>this.getDocument(y)==null);if(b.length){if(h&&!await D.showPrompt(`${b.length} documents on disk would be loaded for change, confirm?`))return;await this.loadFiles(b)}for(let y of Object.keys(n)){let S=this.getDocument(y);B.parse(y).toString()==y&&(c=n[y]);let w=n[y];for(let _ of w)u.push({uri:S.uri,range:_.range});await S.applyEdits(w)}f=g.length}if(c){let g=$c({line:o[0],character:o[1]},c);g&&await D.moveTo({line:o[0]+g.line,character:o[1]+g.character})}if(u.length){let g=await Promise.all(u.map(y=>this.getQuickfixItem(y))),b=u.every(y=>y.uri==l);p=="quickfix"?(await this.nvim.call("setqflist",[g]),b||D.showMessage(`changed ${f} buffers, use :wa to save changes to disk and :copen to open quickfix list`,"more")):p=="location"&&(await t.setVar("coc_jump_locations",g),b||D.showMessage(`changed ${f} buffers, use :wa to save changes to disk and :CocList location to manage changed locations`,"more"))}}catch(g){return rh.error("Error on applyEdits:",e,g),D.showMessage(`Error on applyEdits: ${g.message}`,"error"),!1}return await bt(50),!0}async getQuickfixItem(e,t,i="",n){ne.LocationLink.is(e)&&(e=ne.Location.create(e.targetUri,e.targetRange));let s=this.getDocument(e.uri),{uri:o,range:a}=e,{line:l,character:c}=a.start,u=B.parse(o),f=s?s.bufnr:-1;!t&&u.scheme=="file"&&(t=await this.getLine(o,l),c=Ci(t,c));let d={uri:o,filename:u.scheme=="file"?u.fsPath:o,lnum:l+1,col:c+1,text:t||"",range:a};return n&&(d.module=n),i&&(d.type=i),f!=-1&&(d.bufnr=f),d}createMru(e){return new Oo(e)}async getSelectedRange(e,t){let{nvim:i}=this;if(e==="line"){let u=await i.call("line",["."]);return t.getline(u-1).length?ne.Range.create(u-1,0,u,0):null}if(e==="cursor"){let[u,f]=await i.eval("coc#cursor#position()");return ne.Range.create(u,f,u,f)}if(!["v","V","char","line",""].includes(e))throw new Error(`Mode '${e}' not supported`);let n=["v","V",""].includes(e),[,s,o]=await i.call("getpos",n?"'<":"'["),[,a,l]=await i.call("getpos",n?"'>":"']"),c=ne.Range.create(t.getPosition(s,o),t.getPosition(a,l));return(e=="v"||e=="")&&(c.end.character=c.end.character+1),c}async selectRange(e){let{nvim:t}=this,{start:i,end:n}=e,[s,o,a]=await t.eval("[bufnr('%'), &virtualedit, &selection]"),l=this.getDocument(s);if(!l||!l.attached)return;let c=l.getline(i.line),u=c?re(c.slice(0,i.character)):0,f=l.getline(n.line),d=f?re(f.slice(0,n.character)):0,h="",p=!1;h+="v",d=await t.eval(`virtcol([${n.line+1}, ${d}])`),a=="inclusive"?n.character==0?h+=`${n.line}G`:h+=`${n.line+1}G${d}|`:a=="old"?h+=`${n.line+1}G${d}|`:h+=`${n.line+1}G${d+1}|`,u=await t.eval(`virtcol([${i.line+1}, ${u}])`),h+=`o${i.line+1}G${u+1}|o`,t.pauseNotification(),o!="onemore"&&(p=!0,t.setOption("virtualedit","onemore",!0)),t.command(`noa call cursor(${i.line+1},${u+(h=="a"?0:1)})`,!0),t.command(`normal! ${h}`,!0),p&&t.setOption("virtualedit",o,!0),this.isVim&&t.command("redraw",!0),await t.resumeNotification()}async showLocations(e){let t=await Promise.all(e.map(s=>this.getQuickfixItem(s))),{nvim:i}=this;if(this.getConfiguration("coc.preferences").get("useQuickfixForLocations",!1)){let s=await i.getVar("coc_quickfix_open_command");typeof s!="string"&&(s=t.length<10?`copen ${t.length}`:"copen"),i.pauseNotification(),i.call("setqflist",[t],!0),i.command(s,!0),i.resumeNotification(!1,!0)}else await i.setVar("coc_jump_locations",t),this.env.locationlist?i.command("CocList --normal --auto-preview location",!0):i.call("coc#util#do_autocmd",["CocLocationsChange"],!0)}async getLine(e,t){let i=this.getDocument(e);if(i)return i.getline(t)||"";if(!e.startsWith("file:"))return"";let n=B.parse(e).fsPath;return Gt.default.existsSync(n)?await GB(n,t):""}getWorkspaceFolder(e){this.workspaceFolders.sort((i,n)=>n.uri.length-i.uri.length);let t=B.parse(e).fsPath;return this.workspaceFolders.find(i=>lt(B.parse(i.uri).fsPath,t,!0))}async readFile(e){let t=this.getDocument(e);if(t)return await t.patchChange(),t.content;let i=B.parse(e);return i.scheme!="file"?"":(await this.nvim.call("readfile",[i.fsPath])).join(` +`)+` +`}get document(){return new Promise((e,t)=>{this.nvim.buffer.then(i=>{let n=i.id;if(this.bufnr=n,this.buffers.has(n)){e(this.buffers.get(n));return}this.onBufCreate(n).catch(t);let s=this.onDidOpenTextDocument(o=>{s.dispose(),e(this.getDocument(o.uri))})},t)})}async getCurrentState(){let e=await this.document,t=await D.getCursorPosition();return{document:e.textDocument,position:t}}async getFormatOptions(e){let t;e&&(t=this.getDocument(e));let i=t?t.bufnr:0,[n,s]=await this.nvim.call("coc#util#get_format_opts",[i]);return{tabSize:n,insertSpaces:s==1}}async jumpTo(e,t,i){let n=this.getConfiguration("coc.preferences"),s=i||n.get("jumpCommand","edit"),{nvim:o}=this,a=this.getDocument(e),l=a?a.bufnr:-1;if(l!=-1&&s=="edit"){if(o.pauseNotification(),o.command("silent! normal! m'",!0),o.command(`buffer ${l}`,!0),t){let c=a.getline(t.line),u=re(c.slice(0,t.character))+1;o.call("cursor",[t.line+1,u],!0)}this.isVim&&o.command("redraw",!0),await o.resumeNotification()}else{let{fsPath:c,scheme:u}=B.parse(e),f=t==null?null:[t.line,t.character];if(u=="file"){let d=Kd(Ne.default.normalize(c));await this.nvim.call("coc#util#jump",[s,d,f])}else kn.default.platform()=="win32"&&(e=e.replace(/\/?/,"?")),await this.nvim.call("coc#util#jump",[s,e,f])}}async createFile(e,t={}){let i=await Mt(e);if(i&&!t.overwrite&&!t.ignoreIfExists){D.showMessage(`${e} already exists!`,"error");return}if(!i||t.overwrite)if(e.endsWith("/"))try{e=this.expand(e),await Gt.default.mkdirp(e)}catch(n){D.showMessage(`Can't create ${e}: ${n.message}`,"error")}else{let n=B.file(e).toString();if(this.getDocument(n))return;Gt.default.existsSync(Ne.default.dirname(e))||Gt.default.mkdirpSync(Ne.default.dirname(e)),Gt.default.writeFileSync(e,"","utf8"),await this.loadFile(n)}}async loadFile(e){let t=this.getDocument(e);if(t)return t;let{nvim:i}=this,n=e.startsWith("file")?B.parse(e).fsPath:e;return i.call("coc#util#open_files",[[n]],!0),await new Promise((s,o)=>{let a=this.onDidOpenTextDocument(c=>{let u=B.parse(c.uri).fsPath;(c.uri==e||u==n)&&(clearTimeout(l),a.dispose(),s(this.getDocument(e)))}),l=setTimeout(()=>{a.dispose(),o(new Error(`Create document ${e} timeout after 1s.`))},1e3)})}async loadFiles(e){if(e=e.filter(n=>this.getDocument(n)==null),!(!e.length||!(await this.nvim.call("coc#util#open_files",[e.map(n=>B.parse(n).fsPath)])).filter(n=>this.getDocument(n)==null).length))return new Promise((n,s)=>{let o=setTimeout(()=>{a.dispose(),s(new Error("Create document timeout after 2s."))},2e3),a=this.onDidOpenTextDocument(()=>{e.every(l=>this.getDocument(l)!=null)&&(clearTimeout(o),a.dispose(),n())})})}async renameFile(e,t,i={}){let{overwrite:n,ignoreIfExists:s}=i,{nvim:o}=this;try{let a=await Mt(t);if(a&&!n&&!s)throw new Error(`${t} already exists`);if(!a||n){let l=B.file(e).toString(),c=B.file(t).toString(),u=this.getDocument(l);if(u!=null){let f=u.bufnr==this.bufnr,d=this.getDocument(c);d&&await this.nvim.command(`silent ${d.bufnr}bwipeout!`);let h=u.getDocumentContent();if(await Gt.default.writeFile(t,h,"utf8"),!f)await o.call("coc#util#open_files",[[t]]),await o.command(`silent ${u.bufnr}bwipeout!`);else{let p=await o.call("winsaveview");o.pauseNotification(),o.call("coc#util#open_file",["keepalt edit",t],!0),o.command(`silent ${u.bufnr}bwipeout!`,!0),o.call("winrestview",[p],!0),await o.resumeNotification()}await Gt.default.unlink(e)}else await zB(e,t)}}catch(a){D.showMessage(`Rename error: ${a.message}`,"error")}}async deleteFile(e,t={}){let{ignoreIfNotExists:i,recursive:n}=t,s=await Mt(e.replace(/\/$/,"")),o=s&&s.isDirectory();if(e.endsWith("/")&&!o){D.showMessage(`${e} is not directory`,"error");return}if(!s&&!i){D.showMessage(`${e} not exists`,"error");return}if(s!=null){if(o&&!n){D.showMessage("Can't remove directory, recursive not set","error");return}try{if(o&&n?await Gt.default.remove(e):o?await Gt.default.rmdir(e):await Gt.default.unlink(e),!o){let a=B.file(e).toString(),l=this.getDocument(a);l&&await this.nvim.command(`silent! bwipeout! ${l.bufnr}`)}}catch(a){D.showMessage(`Error on delete ${e}: ${a.message}`,"error")}}}async openResource(e){let{nvim:t}=this;if(e.startsWith("http")){await t.call("coc#util#open_url",e);return}let i=await t.getOption("wildignore");await t.setOption("wildignore",""),await this.jumpTo(e),await t.setOption("wildignore",i)}async resolveModule(e){return await this.resolver.resolveModule(e)}async runCommand(e,t,i){return t=t||this.cwd,Vn(e,{cwd:t},i)}expand(e){if(!e)return e;if(e.startsWith("~")&&(e=kn.default.homedir()+e.slice(1)),e.includes("$")){let t=this.getDocument(this.bufnr),i=t?B.parse(t.uri).fsPath:"";e=e.replace(/\$\{(.*?)\}/g,(n,s)=>{if(s.startsWith("env:")){let o=s.split(":")[1];return o?process.env[o]:""}switch(s){case"workspace":case"workspaceRoot":case"workspaceFolder":return this.root;case"workspaceFolderBasename":return Ne.default.dirname(this.root);case"cwd":return this.cwd;case"file":return i;case"fileDirname":return i?Ne.default.dirname(i):"";case"fileExtname":return i?Ne.default.extname(i):"";case"fileBasename":return i?Ne.default.basename(i):"";case"fileBasenameNoExtension":{let o=i?Ne.default.basename(i):"";return o?o.slice(0,o.length-Ne.default.extname(o).length):""}default:return n}}),e=e.replace(/\$[\w]+/g,n=>n=="$HOME"?kn.default.homedir():process.env[n.slice(1)]||n)}return e}async createTerminal(e){let t=e.shellPath,i=e.shellArgs;t||(t=await this.nvim.getOption("shell"));let n=new Ug(t,i||[],this.nvim,e.name);return await n.start(e.cwd||this.cwd,e.env),this.terminals.set(n.bufnr,n),this._onDidOpenTerminal.fire(n),n}async callAsync(e,t){return this.isNvim?await this.nvim.call(e,t):await this.nvim.callAsync("coc#util#with_callback",[e,t])}registerTextDocumentContentProvider(e,t){this.schemeProviderMap.set(e,t),this.setupDynamicAutocmd();let i=[];return t.onDidChange&&t.onDidChange(async n=>{let s=this.getDocument(n.toString());if(s){let{buffer:o}=s,a=new ne.CancellationTokenSource,l=await Promise.resolve(t.provideTextDocumentContent(n,a.token));await o.setLines(l.split(/\r?\n/),{start:0,end:-1,strictIndexing:!1})}},null,i),ne.Disposable.create(()=>{this.schemeProviderMap.delete(e),G(i),this.setupDynamicAutocmd()})}registerKeymap(e,t,i,n={}){if(!t)throw new Error(`Invalid key ${t} of registerKeymap`);if(this.keymaps.has(t))throw new Error(`${t} already exists.`);n=Object.assign({sync:!0,cancel:!0,silent:!0,repeat:!1},n);let{nvim:s}=this;this.keymaps.set(t,[i,!!n.repeat]);let o=n.sync?"request":"notify",a=n.silent?"":"";for(let l of e)if(l=="i")s.command(`inoremap ${a} (coc-${t}) coc#_insert_key('${o}', '${t}', ${n.cancel?1:0})`,!0);else{let c=JC(l);s.command(`${l}noremap ${a} (coc-${t}) :${c}call coc#rpc#${o}('doKeymap', ['${t}'])`,!0)}return ne.Disposable.create(()=>{this.keymaps.delete(t);for(let l of e)s.command(`${l}unmap (coc-${t})`,!0)})}registerExprKeymap(e,t,i,n=!1){if(!t)return;let s=`${e}${global.Buffer.from(t).toString("base64")}${n?"1":"0"}`,{nvim:o}=this;return this.keymaps.set(s,[i,!1]),e=="i"?o.command(`inoremap ${n?"":""} ${t} coc#_insert_key('request', '${s}')`,!0):o.command(`${e}noremap ${n?"":""} ${t} coc#rpc#request('doKeymap', ['${s}'])`,!0),ne.Disposable.create(()=>{this.keymaps.delete(s),o.command(`${e}unmap ${n?"":""} ${t}`,!0)})}registerLocalKeymap(e,t,i,n=!1){let s=Ms(),{nvim:o,bufnr:a}=this;this.keymaps.set(s,[i,!1]);let l=n?"notify":"request",c=JC(e),u=t.startsWith("<")&&t.endsWith(">")?`{${t.slice(1,-1)}}`:t;if(this.isNvim&&!global.hasOwnProperty("__TEST__"))o.call("nvim_buf_set_keymap",[0,e,t,`:${c}call coc#rpc#${l}('doKeymap', ['${s}', '', '${u}'])`,{silent:!0,nowait:!0}],!0);else{let f=`${e}noremap ${t} :${c}call coc#rpc#${l}('doKeymap', ['${s}', '', '${u}'])`;o.command(f,!0)}return ne.Disposable.create(()=>{this.keymaps.delete(s),o.call("coc#compat#buf_del_keymap",[a,e,t],!0)})}createDatabase(e){let t;global.hasOwnProperty("__TEST__")?(t=Ne.default.join(kn.default.tmpdir(),`coc-${process.pid}`),Gt.default.mkdirpSync(t)):t=Ne.default.dirname(this.env.extensionRoot);let i=Ne.default.join(t,e+".json");return new Kc(i)}createTask(e){return new jg(this.nvim,e)}registerBufferSync(e){return new Hg(e,this)}setupDynamicAutocmd(e=!1){if(!e&&!this._dynAutocmd)return;this._dynAutocmd=!0;let t=this.schemeProviderMap.keys(),i=[];for(let s of t)i.push(`autocmd BufReadCmd,FileReadCmd,SourceCmd ${s}:/* call coc#rpc#request('CocAutocmd', ['BufReadCmd','${s}', expand('')])`);for(let[s,o]of this.autocmds.entries()){let a=o.arglist&&o.arglist.length?", "+o.arglist.join(", "):"",l=Array.isArray(o.event)?o.event.join(","):o.event,c=o.pattern!=null?o.pattern:"*";/\buser\b/i.test(l)&&(c=""),i.push(`autocmd ${l} ${c} call coc#rpc#${o.request?"request":"notify"}('doAutocmd', [${s}${a}])`)}for(let s of this.watchedOptions)i.push(`autocmd OptionSet ${s} call coc#rpc#notify('OptionSet',[expand(''), v:option_old, v:option_new])`);let n=` +augroup coc_dynamic_autocmd + autocmd! + ${i.join(` + `)} +augroup end`;try{let s=Ne.default.join(process.env.TMPDIR,`coc.nvim-${process.pid}`);Gt.default.existsSync(s)||Gt.default.mkdirpSync(s);let o=Ne.default.join(s,`coc-${process.pid}.vim`);Gt.default.writeFileSync(o,n,"utf8");let a=`source ${o}`;this.env.isCygwin&&kc.isWindows&&(a=`execute "source" . substitute(system('cygpath ${o.replace(/\\/g,"/")}'), '\\n', '', 'g')`),this.nvim.command(a).logError()}catch(s){D.showMessage(`Can't create tmp file: ${s.message}`,"error")}}async onBufReadCmd(e,t){let i=this.schemeProviderMap.get(e);if(!i){D.showMessage(`Provider for ${e} not found`,"error");return}let n=new ne.CancellationTokenSource,s=await Promise.resolve(i.provideTextDocumentContent(B.parse(t),n.token)),o=await this.nvim.buffer;await o.setLines(s.split(/\r?\n/),{start:0,end:-1,strictIndexing:!1}),setTimeout(async()=>{await O.fire("BufCreate",[o.id])},30)}async attach(){if(this._attached)return;this._attached=!0;let[e,t,i]=await this.nvim.eval(`[map(getbufinfo({'bufloaded': 1}),'v:val["bufnr"]'),bufnr('%'),win_getid()]`);this.bufnr=t,await Promise.all(e.map(n=>this.onBufCreate(n))),this._initialized||(this._onDidWorkspaceInitialized.fire(void 0),this._initialized=!0),await O.fire("BufEnter",[t]),await O.fire("BufWinEnter",[t,i])}getChangedUris(e){let t=new Set,i=new Set;for(let n of e)if(ne.TextDocumentEdit.is(n)){let{textDocument:s}=n,{uri:o,version:a}=s;if(t.add(o),a!=null&&a>0){let l=this.getDocument(o);if(!l)throw new Error(`${o} not loaded`);if(l.version!=a)throw new Error(`${o} changed before apply edit`)}}else if(ne.CreateFile.is(n)||ne.DeleteFile.is(n)){if(!Og(n.uri))throw new Error(`change of scheme ${n.uri} not supported`);i.add(n.uri),t.add(n.uri)}else if(ne.RenameFile.is(n)){if(!Og(n.oldUri)||!Og(n.newUri))throw new Error(`change of scheme ${n.oldUri} not supported`);let s=B.parse(n.newUri).fsPath;if(Gt.default.existsSync(s))throw new Error(`file "${s}" already exists for rename`);t.add(n.oldUri)}else throw new Error(`Invalid document change: ${JSON.stringify(n,null,2)}`);return Array.from(t)}createConfigurations(){let e=Ne.default.normalize(process.env.COC_VIMCONFIG)||Ne.default.join(kn.default.homedir(),".vim"),t=Ne.default.join(e,Is);return new ko(t,new Lg(this))}attachChangedEvents(){if(this.isVim){let e=t=>{let i=this.getDocument(t);i&&i.attached&&i.fetchContent()};O.on("TextChangedP",e,null,this.disposables),O.on("TextChangedI",e,null,this.disposables),O.on("TextChanged",e,null,this.disposables)}}async onBufCreate(e){let t=typeof e=="number"?this.nvim.createBuffer(e):e,i=t.id;if(this.creatingSources.has(i))return;let n=this.getDocument(i),s=new ne.CancellationTokenSource;try{n&&this.onBufUnload(i,!0),n=new Fg(t,this._env,this.maxFileSize);let o=s.token;this.creatingSources.set(i,s),await n.init(this.nvim,o)||(n=null)}catch(o){rh.error("Error on create buffer:",o),n=null}if(this.creatingSources.get(i)==s&&(s.dispose(),this.creatingSources.delete(i)),!(!n||!n.textDocument)){if(this.buffers.set(i,n),n.attached&&n.onDocumentDetach(o=>{let a=this.getDocument(o);a&&this.onBufUnload(a.bufnr)}),n.buftype==""&&n.schema=="file"&&(this.configurations.checkFolderConfiguration(n.uri),!this.getConfiguration("workspace").get("ignoredFiletypes",[]).includes(n.filetype))){let l=this.resolveRoot(n);l&&(this.addWorkspaceFolder(l),this.bufnr==t.id&&(this._root=l))}if(n.enabled){let o=Object.assign(n.textDocument,{bufnr:i});this._onDidOpenDocument.fire(o),n.onDocumentChange(a=>this._onDidChangeDocument.fire(a))}rh.debug("buffer created",t.id)}}onBufEnter(e){this.bufnr=e;let t=this.getDocument(e);if(t){this.configurations.setFolderConfiguration(t.uri);let i=this.getWorkspaceFolder(t.uri);i&&(this._root=B.parse(i.uri).fsPath)}}async checkCurrentBuffer(e){this.bufnr=e,await this.checkBuffer(e)}onBufWritePost(e){let t=this.buffers.get(e);!t||this._onDidSaveDocument.fire(t.textDocument)}onBufUnload(e,t=!1){if(rh.debug("buffer unload",e),!t){let n=this.creatingSources.get(e);n&&(n.cancel(),this.creatingSources.delete(e))}if(this.terminals.has(e)){let n=this.terminals.get(e);this._onDidCloseTerminal.fire(n),this.terminals.delete(e)}let i=this.buffers.get(e);if(i){let n=Object.assign(i.textDocument,{bufnr:e});this._onDidCloseDocument.fire(n),this.buffers.delete(e),i.detach()}}async onBufWritePre(e){let t=this.buffers.get(e);if(!t||!t.attached)return;await t.synchronize();let i=!0,n=[],s={document:t.textDocument,reason:ne.TextDocumentSaveReason.Manual,waitUntil:a=>{i?n.push(a):(rh.error("Can't call waitUntil in async manner:",Error().stack),D.showMessage("waitUntil can't be used in async manner, check log for details","error"))}};this._onWillSaveDocument.fire(s),i=!1;let o=n.length;if(o){let l=await new Promise(c=>{let f=this.getConfiguration("coc.preferences").get("willSaveHandlerTimeout",500),d=setTimeout(()=>{D.showMessage(`Will save handler timeout after ${f}ms`,"warning"),c(void 0)},f),h=0,p=!1;for(let g of n){let b=y=>{p||(p=!0,clearTimeout(d),c(y))};g.then(y=>{if(Array.isArray(y)&&y.length&&ne.TextEdit.is(y[0]))return b(y);h=h+1,h==o&&b(void 0)},()=>{h=h+1,h==o&&b(void 0)})}});l&&await t.applyEdits(l)}}onDirChanged(e){e!=this._cwd&&(this._cwd=e)}onFileTypeChange(e,t){let i=this.getDocument(t);if(!i||i.convertFiletype(e)==i.filetype)return;let s=Object.assign(i.textDocument,{bufnr:t});this._onDidCloseDocument.fire(s),i.setFiletype(e),this._onDidOpenDocument.fire(Object.assign(i.textDocument,{bufnr:t}))}async checkBuffer(e){if(this._disposed||!e)return;!this.getDocument(e)&&!this.creatingSources.has(e)&&await this.onBufCreate(e)}resolveRoot(e){let t=[ir.Buffer,ir.LanguageServer,ir.Global],i=B.parse(e.uri),n=Ne.default.dirname(i.fsPath),{cwd:s}=this,o=this.getConfiguration("workspace"),a=o.get("bottomUpFiletypes",[]),l=o.get("workspaceFolderCheckCwd",!0);for(let c of t){let u=this.getRootPatterns(e,c);if(u&&u.length){let f=a.includes(e.filetype),d=Gd(n,u,s,f,l);if(d)return d}}return this.cwd!=kn.default.homedir()&<(this.cwd,n,!0)?this.cwd:null}getRootPatterns(e,t){let{uri:i}=e;return t==ir.Buffer?e.getVar("root_patterns",[])||[]:t==ir.LanguageServer?this.getServerRootPatterns(e.filetype):this.getConfiguration("coc.preferences",i).get("rootPatterns",[".git",".hg",".projections.json"]).slice()}async renameCurrent(){let{nvim:e}=this,t=await e.call("bufnr","%"),i=await e.call("getcwd"),n=this.getDocument(t);if(!n||n.buftype!=""||n.schema!="file"){e.errWriteLine("current buffer is not file.");return}let s=B.parse(n.uri).fsPath,o=await e.callAsync("coc#util#with_callback",["input",["New path: ",s,"file"]]);if(o=o?o.trim():null,o==s||!o)return;let a=await n.buffer.lines,l=Gt.default.existsSync(s);if(l){if(await e.eval("&modified")&&await e.command("noa w"),s.toLowerCase()!=o.toLowerCase()&&Gt.default.existsSync(o)){if(!await D.showPrompt(`${o} exists, overwrite?`))return;Gt.default.unlinkSync(o)}Gt.default.renameSync(s,o)}this._onWillRenameFiles.fire({files:[{newUri:B.parse(o),oldUri:B.parse(s)}],waitUntil:async f=>{let d=await Promise.resolve(f);d&&ne.WorkspaceEdit.is(d)&&await this.applyEdit(d)}}),this._onDidRenameFiles.fire({files:[{newUri:B.parse(o),oldUri:B.parse(s)}]});let c=lt(i,o)?Ne.default.relative(i,o):o,u=await e.call("winsaveview");e.pauseNotification(),s.toLowerCase()==o.toLowerCase()?(e.command(`keepalt ${t}bwipeout!`,!0),e.call("coc#util#open_file",["keepalt edit",c],!0)):(e.call("coc#util#open_file",["keepalt edit",c],!0),e.command(`${t}bwipeout!`,!0)),!l&&a.join(` +`)!=` +`&&(e.call("append",[0,a],!0),e.command("normal! Gdd",!0)),e.call("winrestview",[u],!0),await e.resumeNotification()}get folderPaths(){return this.workspaceFolders.map(e=>B.parse(e.uri).fsPath)}get floatSupported(){let{env:e}=this;return e.floating||e.textprop}removeWorkspaceFolder(e){let t=this._workspaceFolders.findIndex(i=>B.parse(i.uri).fsPath==e);if(t!=-1){let i=this._workspaceFolders[t];this._workspaceFolders.splice(t,1),this._onDidChangeWorkspaceFolders.fire({removed:[i],added:[]})}}renameWorkspaceFolder(e,t){let i=this._workspaceFolders.findIndex(o=>B.parse(o.uri).fsPath==e);if(i==-1)return;let n=this._workspaceFolders[i],s={uri:B.file(t).toString(),name:Ne.default.dirname(t)};this._workspaceFolders.splice(i,1),this._workspaceFolders.push(s),this._onDidChangeWorkspaceFolders.fire({removed:[n],added:[s]})}addRootPattern(e,t){let i=this.rootPatterns.get(e)||[];for(let n of t)i.includes(n)||i.push(n);this.rootPatterns.set(e,i)}get insertMode(){return this._insertMode}async detach(){if(!!this._attached){this._attached=!1,Ga.dispose();for(let e of this.buffers.keys())await O.fire("BufUnload",[e])}}dispose(){this._disposed=!0;for(let e of this.documents)e.detach();G(this.disposables),Pn.dispose(),this.configurations.dispose(),this.buffers.clear()}addWorkspaceFolder(e){if(e==kn.default.homedir())return;let{_workspaceFolders:t}=this,i=B.file(e).toString(),n={uri:i,name:Ne.default.basename(e)};return t.findIndex(s=>s.uri==i)==-1&&(t.push(n),this._initialized&&this._onDidChangeWorkspaceFolders.fire({added:[n],removed:[]})),n}getServerRootPatterns(e){let t=this.getConfiguration().get("languageserver",{}),i=[];for(let n of Object.keys(t)){let s=t[n],{filetypes:o,rootPatterns:a}=s;Array.isArray(o)&&a&&o.includes(e)&&i.push(...a)}return i=i.concat(this.rootPatterns.get(e)||[]),i.length?Ng(i):null}},v=new Uj});function kle(r){return r.toLowerCase()===r}function Ile(r){return r.toUpperCase()===r}function Ole(r){let e=r.length,t=new Array(e),i="/";for(let n=0;n1024)return Qc;let n=new Array(t),s=new Array(t);return Wj(r,e,n,s),s[t-1][i-1]}function zj(r){let e=[];for(let t=0;t1024)return n;let s=new Array(t),o=new Array(t);Wj(r,e,s,o);let a=!1;for(let l=t-1,c=i-1;l>=0;l--)for(;c>=0;c--)if(s[l][c]!==Qc&&(a||s[l][c]===o[l][c])){a=l&&c&&o[l][c]===s[l-1][c-1]+Hj,n[l]=c--;break}return n}function ev(r,e){r=r.toLowerCase(),e=e.toLowerCase();let t=r.length;for(let i=0,n=0;i{Qc=-1/0,Sle=1/0,Cle=-.005,_le=-.005,Ele=-.01,Hj=1,Tle=.9,Dle=.8,Rle=.7,Ple=.6});var iv,tu,rv,Vj=R(()=>{_e();iv=E(H());de();tu="filter",rv=class{constructor(e,t){this.nvim=e;this._activated=!1;this.history=[];this.disposables=[];this._onDidUpdate=new iv.Emitter;this._onDidExit=new iv.Emitter;this._onDidKeyPress=new iv.Emitter;this.onDidKeyPress=this._onDidKeyPress.event;this.onDidUpdate=this._onDidUpdate.event;this.onDidExit=this._onDidExit.event;this.text="",O.on("InputChar",(i,n)=>{if(!(i!==tu||!this._activated)){if(!t.includes(n)){if(n.length==1){this.text=this.text+n,this._onDidUpdate.fire(this.text);return}if(n==""){this.text=this.text.slice(0,-1),this._onDidUpdate.fire(this.text);return}if(n==""){this.text="",this._onDidUpdate.fire(this.text);return}if(n==""){let s=this.history.indexOf(this.text),o=this.history[s+1]||this.history[0];o&&(this.text=o,this._onDidUpdate.fire(this.text));return}if(n==""){let s=this.history.indexOf(this.text),o=this.history[s-1]||this.history[this.history.length-1];o&&(this.text=o,this._onDidUpdate.fire(this.text))}if(n==""||n==""){this.deactivate();return}}this._onDidKeyPress.fire(n)}},null,this.disposables)}active(){this._activated||(this._activated=!0,this.text="",this.nvim.call("coc#prompt#start_prompt",[tu],!0))}deactivate(e){if(!this._activated)return;this.nvim.call("coc#prompt#stop_prompt",[tu],!0),this._activated=!1;let{text:t}=this;this.text="",this._onDidExit.fire(e),t&&!this.history.includes(t)&&this.history.push(t)}get activated(){return this._activated}dispose(){this.deactivate(),this.history=[],this._onDidKeyPress.dispose(),this._onDidUpdate.dispose(),this._onDidExit.dispose(),G(this.disposables)}}});var Gj,nh,$e,Kn,nv=R(()=>{qe();Gj=E(require("path"));(function(e){function r(t){return typeof t.label=="string"}e.is=r})(nh||(nh={}));(function(i){i[i.None=0]="None",i[i.Collapsed=1]="Collapsed",i[i.Expanded=2]="Expanded"})($e||($e={}));Kn=class{constructor(e,t=0){this.collapsibleState=t;B.isUri(e)?(this.resourceUri=e,this.label=Gj.default.basename(e.path),this.id=e.toString()):this.label=e}}});var Kj={};Bn(Kj,{default:()=>Ya});var or,w_,x_,S_,C_,Ya,sv=R(()=>{or=E(H());Ei();_e();Va();de();As();ri();yt();tv();Y();Te();Vj();nv();w_=U()("BasicTreeView"),x_="tree",S_=3e3,C_=1,Ya=class{constructor(e,t){this.viewId=e;this._selection=[];this._onDidExpandElement=new or.Emitter;this._onDidCollapseElement=new or.Emitter;this._onDidChangeSelection=new or.Emitter;this._onDidChangeVisibility=new or.Emitter;this.onDidExpandElement=this._onDidExpandElement.event;this.onDidCollapseElement=this._onDidCollapseElement.event;this.onDidChangeSelection=this._onDidChangeSelection.event;this.onDidChangeVisibility=this._onDidChangeVisibility.event;this.retryTimers=0;this.renderedItems=[];this.nodesMap=new Map;this.mutex=new hi;this.disposables=[];this.lineState={titleCount:0,messageCount:0};this.loadConfiguration(),v.onDidChangeConfiguration(this.loadConfiguration,this,this.disposables),t.enableFilter&&(this.filter=new rv(this.nvim,[this.keys.selectNext,this.keys.selectPrevious,this.keys.invoke])),this.tooltipFactory=new tr(v.nvim),this.canSelectMany=!!t.canSelectMany,this.provider=t.treeDataProvider,this.leafIndent=t.disableLeafIndent!==!0,this.winfixwidth=t.winfixwidth!==!1;let i;Object.defineProperty(this,"message",{set:a=>{i=a?a.replace(/\r?\n/g," "):void 0,this.updateHeadLines()},get:()=>i});let n=e.replace(/\r?\n/g," ");Object.defineProperty(this,"title",{set:a=>{n=a?a.replace(/\r?\n/g," "):void 0,this.updateHeadLines()},get:()=>n});let s;Object.defineProperty(this,"description",{set:a=>{s=a?a.replace(/\r?\n/g," "):void 0,this.updateHeadLines()},get:()=>s});let o;Object.defineProperty(this,"filterText",{set:a=>{let{titleCount:l,messageCount:c}=this.lineState,u=l+c;if(a!=null){let f=[{lnum:u,colStart:re(a),colEnd:re(a)+1,hlGroup:"Cursor"}];this.renderedItems=[],this.updateUI([a+" "],f,u,-1,!0),this.doFilter(a)}else o!=null&&this.updateUI([],[],u,u+1);o=a},get:()=>o}),this.provider.onDidChangeTreeData&&this.provider.onDidChangeTreeData(this.onDataChange,this,this.disposables),O.on("BufUnload",a=>{a==this.bufnr&&(this.winid=void 0,this.bufnr=void 0,this._onDidChangeVisibility.fire({visible:!1}),this.dispose())},null,this.disposables),O.on("CursorHold",async a=>{a==this.bufnr&&await this.onHover()},null,this.disposables),O.on(["CursorMoved","BufEnter"],()=>{this.cancelResolve()},null,this.disposables),O.on("WinEnter",a=>{var d;if(a!=this.windowId||!((d=this.filter)==null?void 0:d.activated))return;let l=this.nvim.createBuffer(this.bufnr),c=this.startLnum-1,u=this.filterText?this.filterText.length:0,f=or.Range.create(c,u,c,u+1);l.highlightRanges(x_,"Cursor",[f]),this.nvim.call("coc#prompt#start_prompt",[tu],!0),this.redraw()},null,this.disposables),O.on("WinLeave",a=>{var c;if(a!=this.windowId||!((c=this.filter)==null?void 0:c.activated))return;let l=this.nvim.createBuffer(this.bufnr);this.nvim.call("coc#prompt#stop_prompt",[tu],!0),l.clearNamespace(x_,this.startLnum-1,this.startLnum)},null,this.disposables),this.disposables.push(this._onDidChangeVisibility,this._onDidChangeSelection,this._onDidCollapseElement,this._onDidExpandElement),this.filter&&(this.filter.onDidExit(a=>{this.nodesMap.clear(),this.filterText=void 0,this.itemsToFilter=void 0,a&&typeof this.provider.getParent=="function"?(this.renderedItems=[],this.reveal(a,{focus:!0})):(this.clearSelection(),this.render())}),this.filter.onDidUpdate(a=>{this.filterText=a}),this.filter.onDidKeyPress(async a=>{var u,f;let l=this.renderedItems;if(!(l==null?void 0:l.length))return;let c=this.selection[0];if(a==""||a==this.keys.selectPrevious){let d=l.findIndex(g=>g.node==c),h=d==-1||d==0?l.length-1:d-1,p=(u=l[h])==null?void 0:u.node;p&&this.selectItem(p,!0)}if(a==""||a==this.keys.selectNext){let d=l.findIndex(g=>g.node==c),h=d==-1||d==l.length-1?0:d+1,p=(f=l[h])==null?void 0:f.node;p&&this.selectItem(p,!0)}if(a==""||a==this.keys.invoke){if(!c)return;await this.invokeCommand(c),this.filter.deactivate(c)}}))}get windowId(){return this.winid}get startLnum(){let e=this.filterText==null?0:1;return this.lineState.messageCount+this.lineState.titleCount+e}get nvim(){return v.nvim}loadConfiguration(e){if(!e||e.affectsConfiguration("tree")){let t=v.getConfiguration("tree");this.config={openedIcon:t.get("openedIcon"," "),closedIcon:t.get("closedIcon"," ")},this.keys={close:t.get("key.close"),invoke:t.get("key.invoke"),toggle:t.get("key.toggle"),actions:t.get("key.actions"),collapseAll:t.get("key.collapseAll"),toggleSelection:t.get("key.toggleSelection"),activeFilter:t.get("key.activeFilter"),selectNext:t.get("key.selectNext"),selectPrevious:t.get("key.selectPrevious")},e&&this.render()}}async doFilter(e){let t=[],i=0,n=await this.mutex.acquire();try{if(!this.itemsToFilter){let l=[],c=async f=>{for(let d of f){l.push(d);let h=await Promise.resolve(this.provider.getChildren(d));(h==null?void 0:h.length)&&await c(h)}},u=await Promise.resolve(this.provider.getChildren());await c(u),this.itemsToFilter=l}for(let l of this.itemsToFilter){let c=await this.getTreeItem(l),u=nh.is(c.label)?c.label.label:c.label;if(!e||ev(e,u)){let f=e?Qg(e,u):[];c.collapsibleState=$e.None,c.label={label:u,highlights:e?zj(f):[]};let{line:d,highlights:h}=this.getRenderedLine(c,i,0);t.push({level:0,node:l,line:d,index:i,score:e?eu(e,u):0,highlights:h}),i+=1}}t.sort((l,c)=>l.score!=c.score?c.score-l.score:l.index-c.index);let s=this.startLnum,o=[],a=this.renderedItems=t.map((l,c)=>(o.push(...l.highlights.map(u=>(u.lnum=s+c,u))),delete l.index,delete l.score,delete l.highlights,l));this.updateUI(a.map(l=>l.line),o,s,-1,!0),a.length?this.selectItem(a[0].node,!0):this.clearSelection(),this.redraw(),n()}catch(s){n(),w_.error(`Error on tree filter: ${s.message}`,s)}}async onHover(){let{nvim:e}=this,t=await e.call("line",["."]),i=this.getElementByLnum(t-1);if(!i)return;let n=this.nodesMap.get(i);if(!n)return;let s=n.item;if(!n.resolved&&(s=await this.resolveItem(i,s),!s)||!s.tooltip||!this.bufnr)return;let a={filetype:or.MarkupContent.is(s.tooltip)&&s.tooltip.kind==or.MarkupKind.Markdown?"markdown":"txt",content:or.MarkupContent.is(s.tooltip)?s.tooltip.value:s.tooltip};await this.tooltipFactory.show([a],{modes:["n"]})}async onClick(e){let{nvim:t}=this,[i,n]=await t.eval("[getline('.'),col('.')]"),s=zt(i,0,n-1),o=i[s.length];if(!o)return;let{openedIcon:a,closedIcon:l}=this.config;/^\s*$/.test(s)&&[a,l].includes(o)?await this.toggleExpand(e):await this.invokeCommand(e)}async invokeCommand(e){let t=this.nodesMap.get(e);if(!t)return;this.selectItem(e);let i=t.item;if(!(!i.command&&(i=await this.resolveItem(e,i),!i))){if(!i.command)throw new Error("Failed to resolve command from TreeItem.");await se.execute(i.command)}}async invokeActions(e){if(this.selectItem(e),typeof this.provider.resolveActions!="function"){await D.showWarningMessage("No actions");return}let t=this.nodesMap.get(e),i=await Promise.resolve(this.provider.resolveActions(t.item,e));if(!i||i.length==0){await D.showWarningMessage("No actions available");return}let n=i.map(o=>o.title),s=await D.showMenuPicker(n,"Choose action");s!=-1&&await Promise.resolve(i[s].handler(e))}async onDataChange(e){var i;if((i=this.filter)==null?void 0:i.activated){this.itemsToFilter=void 0,await this.doFilter(this.filterText);return}if(this.clearSelection(),!e){await this.render();return}let t=await this.mutex.acquire();try{let n=this.renderedItems,s=n.findIndex(o=>o.node===e);if(s!=-1&&this.bufnr){let a=n[s].level,l=0;for(let d=s;da)&&(l+=1)}let c=[],u=[],f=s+this.startLnum;await this.appendTreeNode(e,a,f,c,u),n.splice(s,l,...c),this.updateUI(c.map(d=>d.line),u,f,f+l)}t()}catch(n){let s=`Error on tree refresh: ${n.message}`;w_.error(s,n),this.nvim.errWriteLine("[coc.nvim] "+s),t()}}async resolveItem(e,t){if(typeof this.provider.resolveTreeItem=="function"){let i=this.resolveTokenSource=new or.CancellationTokenSource,n=i.token;if(t=await Promise.resolve(this.provider.resolveTreeItem(t,e,n)),i.dispose(),this.resolveTokenSource=void 0,n.isCancellationRequested)return}return this.nodesMap.set(e,{item:t,resolved:!0}),t}get visible(){return this.winid!=null}get selection(){return this._selection.slice()}async checkLines(){if(!this.bufnr)return;let t=await this.nvim.createBuffer(this.bufnr).lines,{titleCount:i,messageCount:n}=this.lineState;t=t.slice(i+n);let s=this.renderedItems.map(o=>o.line);return je(t,s)}async toggleExpand(e){let t=this.nodesMap.get(e);if(!t)return;let i=t.item,n=this.getItemLnum(e),s=n-this.startLnum,o=this.renderedItems[s];if(!o||i.collapsibleState==$e.None){if(typeof this.provider.getParent=="function"){let u=await Promise.resolve(this.provider.getParent(e));u&&(await this.toggleExpand(u),this.focusItem(u))}return}let a=0;if(i.collapsibleState==$e.Expanded){let u=o.level;for(let f=s+1;fu.line),c,n,n+a+1),this.refreshSigns(),i.collapsibleState==$e.Collapsed?this._onDidCollapseElement.fire({element:e}):this._onDidExpandElement.fire({element:e})}toggleSelection(e){let t=this._selection.findIndex(i=>i===e);t!==-1?this.unselectItem(t):this.selectItem(e)}clearSelection(){if(!this.bufnr)return;this._selection=[],this.nvim.createBuffer(this.bufnr).unplaceSign({group:"CocTree"}),this._onDidChangeSelection.fire({selection:[]})}selectItem(e,t,i){let{nvim:n}=this;if(!this.bufnr||!v.env.sign)return;let s=this.getItemLnum(e);if(s==null)return;let o=n.createBuffer(this.bufnr),a=this._selection.includes(e);!this.canSelectMany||t?this._selection=[e]:a||this._selection.push(e),n.pauseNotification(),(!this.canSelectMany||t)&&o.unplaceSign({group:"CocTree"}),n.call("coc#compat#execute",[this.winid,`exe ${s+1}`],!0),o.placeSign({id:S_+s,lnum:s+1,name:"CocTreeSelected",group:"CocTree"}),i||this.redraw(),n.resumeNotification(!1,!0),a||this._onDidChangeSelection.fire({selection:this._selection})}unselectItem(e){let t=this._selection[e],i=this.getItemLnum(t);if(i==null||!this.bufnr||!v.env.sign)return;this._selection.splice(e,1),this.nvim.createBuffer(this.bufnr).unplaceSign({group:"CocTree",id:S_+i}),this._onDidChangeSelection.fire({selection:this._selection})}focusItem(e){if(!this.winid)return;let t=this.getItemLnum(e);t!=null&&this.nvim.call("coc#compat#execute",[this.winid,`exe ${t+1}`],!0)}getElementByLnum(e){let t=this.renderedItems[e-this.startLnum];return t?t.node:void 0}getItemLnum(e){let t=this.renderedItems.findIndex(i=>i.node===e);if(t!=-1)return this.startLnum+t}async getTreeItem(e){let t,i=!1,n=this.nodesMap.get(e);n!=null&&(t=n.item,i=n.resolved);let s=await Promise.resolve(this.provider.getTreeItem(e));if(s.id&&!t){for(let o of this.nodesMap.values())if(o.item.id===s.id){i=o.resolved,t=o.item;break}}return t&&t.collapsibleState!=$e.None&&s.collapsibleState!=$e.None&&(s.collapsibleState=t.collapsibleState),this.nodesMap.set(e,{item:s,resolved:i}),s}getRenderedLine(e,t,i){let{openedIcon:n,closedIcon:s}=this.config,o=[],{label:a,deprecated:l,description:c}=e,u=" ".repeat(i),f=(h,p)=>{let g=re(u);o.push({lnum:t,hlGroup:p,colStart:g,colEnd:g+re(h)})};switch(e.collapsibleState){case $e.Expanded:{f(n,"CocTreeOpenClose"),u+=n+" ";break}case $e.Collapsed:{f(s,"CocTreeOpenClose"),u+=s+" ";break}default:u+=this.leafIndent?" ":""}if(e.icon){let{text:h,hlGroup:p}=e.icon;f(h,p),u+=h+" "}if(nh.is(a)&&Array.isArray(a.highlights)){let h=re(u);for(let p of a.highlights)o.push({lnum:t,hlGroup:"Search",colStart:h+p[0],colEnd:h+p[1]})}let d=typeof a=="string"?a:a.label;return l&&f(d,"CocDeprecatedHighlight"),u+=d,c&&c.indexOf(` +`)==-1&&(u+=" ",f(c,"CocTreeDescription"),u+=c),{line:u,highlights:o}}async appendTreeNode(e,t,i,n,s){let o=1,a=await this.getTreeItem(e),l=this.getRenderedLine(a,i,t);if(s.push(...l.highlights),n.push({level:t,line:l.line,node:e}),a.collapsibleState==$e.Expanded){let c=t+1,u=await Promise.resolve(this.provider.getChildren(e))||[];for(let f of u){let d=await this.appendTreeNode(f,c,i+o,n,s);o=o+d}}return o}updateUI(e,t,i=0,n=-1,s=!1){if(!this.bufnr)return;let{nvim:o}=this,a=o.createBuffer(this.bufnr);if(o.pauseNotification(),a.setOption("modifiable",!0,!0),a.setLines(e,{start:i,end:n,strictIndexing:!1},!0),t.length){let l=n==-1?-1:i+e.length;o.call("coc#highlight#update_highlights",[this.bufnr,x_,t,i,l],!0)}a.setOption("modifiable",!1,!0),s||this.redraw(),o.resumeNotification(!1,!0)}async reveal(e,t={}){var l;if((l=this.filter)==null?void 0:l.activated)return;let i=this.getItemLnum(e)!=null,{select:n,focus:s,expand:o}=t,a=e;if(typeof this.provider.getParent!="function")throw new Error("missing getParent function from provider for reveal.");if(!i)for(;a;){let c=await Promise.resolve(this.provider.getParent(a));if(c){let u=await this.getTreeItem(c);u.collapsibleState=$e.Expanded,a=c}else break}if(o){let c=await this.getTreeItem(e);if(c.collapsibleState==$e.None)return;if(c.collapsibleState=$e.Expanded,typeof o=="number"&&o>1){let u=Math.min(o,2),f=await Promise.resolve(this.provider.getChildren(e));for(;(f==null?void 0:f.length)>0;){let d=[];for(let h of f){let p=await this.getTreeItem(h);if(p.collapsibleState!=$e.None&&(p.collapsibleState=$e.Expanded,u>1)){let g=await Promise.resolve(this.provider.getChildren(h));d.push(...g)}}f=d,u=u-1}}}(!i||o)&&await this.render(),n!==!1&&this.selectItem(e),s&&this.focusItem(e)}updateHeadLines(e=!1){let{titleCount:t,messageCount:i}=this.lineState,n=e?-1:t+i,s=[],o=[];try{if(this.message&&(o.push({hlGroup:"MoreMsg",colStart:0,colEnd:re(this.message),lnum:0}),s.push(this.message),s.push("")),this.title){if(o.push({hlGroup:"CocTreeTitle",colStart:0,colEnd:re(this.title),lnum:s.length}),this.description){let a=re(this.title)+1;o.push({hlGroup:"Comment",colStart:a,colEnd:a+re(this.description),lnum:s.length})}s.push(this.title+(this.description?" "+this.description:""))}this.lineState.messageCount=this.message?2:0,this.lineState.titleCount=this.title?1:0,this.updateUI(s,o,0,n),e||this.refreshSigns()}catch(a){this.nvim.errWriteLine("[coc.nvim] Error on update head lines:"+a.message),w_.error("Error on update head lines:",a)}}refreshSigns(){let{selection:e,nvim:t,bufnr:i}=this;if(!e.length||!i||!v.env.sign)return;let n=t.createBuffer(i);t.pauseNotification(),n.unplaceSign({group:"CocTree"});for(let s of e){let o=this.getItemLnum(s);o!=null&&n.placeSign({id:S_+o,lnum:o+1,name:"CocTreeSelected",group:"CocTree"})}t.resumeNotification(!1,!0)}async render(){if(!this.bufnr)return;let e=await this.mutex.acquire();try{let t=[],i=[],{startLnum:n}=this,s=await Promise.resolve(this.provider.getChildren()),o=0,a=n,l=[];if(!(s==null?void 0:s.length))this.message="No results";else for(let u of s)a+=await this.appendTreeNode(u,o,a,l,i);t.push(...l.map(u=>u.line)),this.renderedItems=l;let c=this.startLnum-n;c&&i.forEach(u=>u.lnum=u.lnum+c),this.updateUI(t,i,this.startLnum,-1),this.retryTimers=0,e()}catch(t){this.renderedItems=[],this.nodesMap.clear(),this.lineState={titleCount:0,messageCount:1},e();let i=`${t.message}`.replace(/\r?\n/g," ");if(this.updateUI([i],[{hlGroup:"WarningMsg",colStart:0,colEnd:re(i),lnum:0}]),this.retryTimers==5)return;this.timer=setTimeout(()=>{this.retryTimers=this.retryTimers+1,this.render()},500)}}async show(e="belowright 30vs"){if(this.bufnr||this._creating)return;this._creating=!0;let{nvim:t}=this;this.originalWin=await t.call("win_getid");let i=await t.call("coc#window#find",["cocViewId",this.viewId]),n=C_;C_=C_+1,t.pauseNotification(),i!=-1?(t.call("win_gotoid",[i],!0),t.command(`silent edit +setl\\ buftype=nofile CocTree${n}`,!0)):t.command(`silent keepalt ${e} +setl\\ buftype=nofile CocTree${n}`,!0),t.command("setl bufhidden=wipe nolist nonumber norelativenumber foldcolumn=0",!0),t.command(`setl signcolumn=${this.canSelectMany?"yes":"no"}${this.winfixwidth?" winfixwidth":""}`,!0),t.command("setl nocursorline nobuflisted wrap undolevels=-1 filetype=coctree nomodifiable noswapfile",!0),t.command(`let w:cocViewId = "${this.viewId.replace(/"/g,'\\"')}"`,!0),t.call("bufnr",["%"],!0),t.call("win_getid",[],!0);let s=await t.resumeNotification();if(s[1])throw new Error("Error on buffer create:"+JSON.stringify(s[1]));this._onDidChangeVisibility.fire({visible:!0}),this.registerKeymaps();let o=s[0];this.bufnr=o[o.length-2],this.winid=o[o.length-1],this._creating=!1,this.updateHeadLines(!0),this.render()}registerKeymaps(){let{toggleSelection:e,actions:t,close:i,invoke:n,toggle:s,collapseAll:o,activeFilter:a}=this.keys,{nvim:l}=this,c=(u,f,d,h=!1)=>{this.disposables.push(v.registerLocalKeymap(u,f,async()=>{let p=await l.call("line",["."]),g=this.getElementByLnum(p-1);g&&!this.nodesMap.has(g)||await Promise.resolve(d(g))},h))};this.disposables.push(v.registerLocalKeymap("n","",()=>{l.call("win_gotoid",[this.originalWin],!0)},!0)),c("n","",async u=>{u&&await this.onClick(u)}),this.filter&&a&&c("n",a,async()=>{this.nvim.command(`exe ${this.startLnum}`,!0),this.filter.active(),this.filterText=""},!0),e&&c("n",e,async u=>{u&&this.toggleSelection(u)}),n&&c("n",n,async u=>{u&&await this.invokeCommand(u)},!0),t&&c("n",t,async u=>{u&&await this.invokeActions(u)},!0),s&&c("n",s,async u=>{u&&await this.toggleExpand(u)},!0),o&&c("n",o,async()=>{for(let u of this.nodesMap.values()){let f=u.item;f.collapsibleState==$e.Expanded&&(f.collapsibleState=$e.Collapsed)}await this.render()}),i&&c("n",i,async()=>{this.hide()},!0)}hide(){!this.bufnr||(this.nvim.command(`bd! ${this.bufnr}`,!0),this.redraw(),this._onDidChangeVisibility.fire({visible:!1}),this.bufnr=void 0,this.winid=void 0)}redraw(){var e;(v.isVim||((e=this.filter)==null?void 0:e.activated))&&this.nvim.command("redraw",!0)}cancelResolve(){this.resolveTokenSource&&(this.resolveTokenSource.cancel(),this.resolveTokenSource=void 0)}dispose(){var e;!this.provider||(this.timer&&(clearTimeout(this.timer),this.timer=void 0),(e=this.filter)==null||e.dispose(),this._selection=[],this.hide(),this.itemsToFilter=[],this.cancelResolve(),this.tooltipFactory.dispose(),this.renderedItems=[],this.nodesMap.clear(),this.provider=void 0,G(this.disposables))}}});var __,Jj,E_,Yj,iu,Xj,D,Te=R(()=>{__=E(require("fs")),Jj=E(require("os")),E_=E(require("path")),Yj=E(H());qe();w0();_e();q$();B$();S0();W$();V$();P0();En();de();As();eg();Y();iu=U()("window"),Xj=class{constructor(){this.mutex=new hi}get nvim(){return v.nvim}dispose(){var e;(e=this.statusLine)==null||e.dispose()}showMessage(e,t="more"){if(this.mutex.busy||!this.nvim)return;let{messageLevel:i}=this,n=process.env.VIM_NODE_RPC=="1"?"callTimer":"call";global.hasOwnProperty("__TEST__")&&iu.info(e);let s="Error",o=_n.Error;switch(t){case"more":o=_n.More,s="MoreMsg";break;case"warning":o=_n.Warning,s="WarningMsg";break}o>=i&&this.nvim[n]("coc#util#echo_messages",[s,("[coc.nvim] "+e).split(` +`)],!0)}async runTerminalCommand(e,t,i=!1){return t=t||v.cwd,await this.nvim.callAsync("coc#util#run_terminal",{cmd:e,cwd:t,keepfocus:i?1:0})}async openTerminal(e,t={}){return await this.nvim.call("coc#util#open_terminal",ut({cmd:e},t))}async showQuickpick(e,t="Choose by number"){let i=await this.mutex.acquire();try{let n=t+":";e=e.map((a,l)=>`${l+1}. ${a}`);let s=await this.nvim.callAsync("coc#util#quickpick",[n,e.map(a=>a.trim())]);i();let o=parseInt(s,10);return isNaN(o)||o<=0||o>e.length?-1:o-1}catch(n){return i(),-1}}async showMenuPicker(e,t,i){if(v.env.dialog){let n=await this.mutex.acquire();if(i&&i.isCancellationRequested)return n(),-1;try{let s=new gg(this.nvim,{items:e.map(l=>l.trim()),title:t},i),o=new Promise(l=>{s.onDidClose(c=>{l(c)})});await s.show(this.dialogPreference);let a=await o;return n(),a}catch(s){iu.error("Error on showMenuPicker:",s),n()}}return await this.showQuickpick(e)}async openLocalConfig(){let{root:e}=v;if(e==Jj.default.homedir()){this.showMessage("Can't create local config in home directory","warning");return}let t=E_.default.join(e,".vim");if(!__.default.existsSync(t)){if(!await this.showPrompt(`Would you like to create folder'${e}/.vim'?`))return;__.default.mkdirSync(t)}await v.jumpTo(B.file(E_.default.join(t,Is)).toString())}async showPrompt(e){let t=await this.mutex.acquire();try{let i=await this.nvim.callAsync("coc#float#prompt_confirm",[e]);return t(),i==1}catch(i){return t(),!1}}async showDialog(e){if(!this.checkDialog())return null;let t=new pg(this.nvim,e);return await t.show(this.dialogPreference),t}async requestInput(e,t){let{nvim:i}=this,n=v.getConfiguration("coc.preferences");if(v.env.dialog&&n.get("promptInput",!0)&&!Ba){let s=await this.mutex.acquire(),o=this.dialogPreference;try{let a={};o.floatHighlight&&(a.highlight=o.floatHighlight),o.floatBorderHighlight&&(a.borderhighlight=o.floatBorderHighlight);let l=await i.call("coc#float#create_prompt_win",[e,t||"",a]),[c,u]=l,f=await new Promise(d=>{let h=[];O.on("BufWinLeave",p=>{p==c&&(G(h),d(null))},null,h),O.on("PromptInsert",async p=>{G(h),await i.call("coc#float#close",[u]),p?d(p):(this.showMessage("Empty word, canceled","warning"),d(null))},null,h)});return s(),f}catch(a){iu.error("Error on requestInput:",a),s()}}else{let s=await v.callAsync("input",[e+": ",t||""]);return i.command("normal! :",!0),s||(this.showMessage("Empty word, canceled","warning"),null)}}createStatusBarItem(e=0,t={}){if(!v.env){let i=()=>{};return{text:"",show:i,dispose:i,hide:i,priority:0,isProgress:!1}}return this.statusLine||(this.statusLine=new xg(this.nvim)),this.statusLine.createStatusBarItem(e,t.progress||!1)}createOutputChannel(e){return Ga.create(e,this.nvim)}showOutputChannel(e,t){Ga.show(e,t)}async echoLines(e,t=!1){let{nvim:i}=this,n=v.env.cmdheight;e.length>n&&t&&(e=e.slice(0,n));let s=v.env.columns-12;if(e=e.map(o=>(o=o.replace(/\n/g," "),t&&(o=o.slice(0,s)),o)),t&&e.length==n){let o=e[e.length-1];e[n-1]=`${o.length==s?o.slice(0,-4):o} ...`}await i.call("coc#util#echo_lines",[e])}async getCursorPosition(){let[e,t]=await this.nvim.eval("[line('.')-1, strpart(getline('.'), 0, col('.') - 1)]");return Yj.Position.create(e,t.length)}async moveTo(e){await this.nvim.call("coc#cursor#move_to",[e.line,e.character]),v.env.isVim&&this.nvim.command("redraw",!0)}async getOffset(){return await this.nvim.call("coc#cursor#char_offset")}async getCursorScreenPosition(){let[e,t]=await this.nvim.call("coc#cursor#screen_pos");return{row:e,col:t}}async showPickerDialog(e,t,i){if(!this.checkDialog())return;let n=await this.mutex.acquire();if(i&&i.isCancellationRequested){n();return}try{let s=typeof e[0]=="string",o=new vg(this.nvim,{title:t,items:s?e.map(u=>({label:u})):e},i),a=new Promise(u=>{o.onDidClose(f=>{u(f)})});await o.show(this.dialogPreference);let l=await a,c=l==null?void 0:e.filter((u,f)=>l.includes(f));return n(),c}catch(s){iu.error("Error on showPickerDialog:",s),n()}}async showInformationMessage(e,...t){if(!this.enableMessageDialog)return await this.showConfirm(e,t,"Info");let i=typeof t[0]=="string"?t:t.map(s=>s.title),n=await this.createNotification("CocInfoFloat",e,i);return n==-1?void 0:t[n]}async showWarningMessage(e,...t){if(!this.enableMessageDialog)return await this.showConfirm(e,t,"Warning");let i=typeof t[0]=="string"?t:t.map(s=>s.title),n=await this.createNotification("CocWarningFloat",e,i);return n==-1?void 0:t[n]}async showErrorMessage(e,...t){if(!this.enableMessageDialog)return await this.showConfirm(e,t,"Error");let i=typeof t[0]=="string"?t:t.map(s=>s.title),n=await this.createNotification("CocErrorFloat",e,i);return n==-1?void 0:t[n]}async showNotification(e){return this.checkDialog()?await new Ka(this.nvim,e).show(this.notificationPreference):!1}async showConfirm(e,t,i){if(!t||t.length==0){let a=i=="Info"?"more":i=="Error"?"error":"warning";this.showMessage(e,a);return}let s=(typeof t[0]=="string"?t.slice():t.map(a=>a.title)).map((a,l)=>`${l+1}${a}`),o=await this.nvim.callAsync("coc#util#with_callback",["confirm",[e,s.join(` +`),0,i]]);return t[o-1]}async withProgress(e,t){return this.checkDialog()?await new bg(this.nvim,{task:t,title:e.title,cancellable:e.cancellable}).show(this.notificationPreference):void 0}createTreeView(e,t){let i=(sv(),Kj).default;return new i(e,t)}createNotification(e,t,i){return new Promise(n=>{let s={content:t,borderhighlight:e,close:!0,buttons:i.map((a,l)=>({text:a,index:l})),callback:a=>{n(a)}};new Ka(this.nvim,s).show(this.notificationPreference).then(a=>{a||(iu.error("Unable to open notification window"),n(-1)),i.length||n(-1)},a=>{iu.error("Unable to open notification window",a),n(-1)})})}get dialogPreference(){let e=v.getConfiguration("dialog");return{maxWidth:e.get("maxWidth"),maxHeight:e.get("maxHeight"),floatHighlight:e.get("floatHighlight"),floatBorderHighlight:e.get("floatBorderHighlight"),pickerButtons:e.get("pickerButtons"),pickerButtonShortcut:e.get("pickerButtonShortcut"),confirmKey:e.get("confirmKey")}}get notificationPreference(){let e=v.getConfiguration("notification");return{top:e.get("marginTop"),right:e.get("marginRight"),maxWidth:e.get("maxWidth"),maxHeight:e.get("maxHeight"),highlight:e.get("highlightGroup"),minProgressWidth:e.get("minProgressWidth")}}checkDialog(){return v.env.dialog?!0:(this.showMessage("Dialog requires vim >= 8.2.0750 or neovim >= 0.4.0, please upgrade your vim","warning"),!1)}get enableMessageDialog(){return v.env.dialog?v.getConfiguration("coc.preferences").get("enableMessageDialog",!1):!1}get messageLevel(){switch(v.getConfiguration("coc.preferences").get("messageLevel","more")){case"error":return _n.Error;case"warning":return _n.Warning;default:return _n.More}}},D=new Xj});function sh(r){switch(r){case Ti.DiagnosticSeverity.Warning:return"Warning";case Ti.DiagnosticSeverity.Information:return"Information";case Ti.DiagnosticSeverity.Hint:return"Hint";default:return"Error"}}function Zj(r){switch(r){case Ti.DiagnosticSeverity.Warning:return"W";case Ti.DiagnosticSeverity.Information:return"I";case Ti.DiagnosticSeverity.Hint:return"I";default:return"E"}}function T_(r){switch(r){case"hint":return Ti.DiagnosticSeverity.Hint;case"information":return Ti.DiagnosticSeverity.Information;case"warning":return Ti.DiagnosticSeverity.Warning;case"error":return Ti.DiagnosticSeverity.Error;default:return Ti.DiagnosticSeverity.Hint}}function D_(r){switch(r){case Ti.DiagnosticSeverity.Error:return"CocError";case Ti.DiagnosticSeverity.Warning:return"CocWarning";case Ti.DiagnosticSeverity.Information:return"CocInfo";case Ti.DiagnosticSeverity.Hint:return"CocHint";default:return"CocError"}}function ov(r,e){let{start:t}=e.range,i=e.source||"coc.nvim",n=e.message.split(` +`)[0],s=sh(e.severity).slice(0,1).toUpperCase();return{bufnr:r,lnum:t.line+1,col:t.character+1,text:`[${i}${e.code?" "+e.code:""}] ${n} [${s}]`,type:s}}var Ti,R_=R(()=>{Ti=E(H())});function k_(r,e){if((r.severity||1)!=(e.severity||1))return(r.severity||1)-(e.severity||1);let t=De(r.range.start,e.range.start);return t!=0?t:r.source>e.source?1:-1}function Ale(r){let e=r.tags||[];if(e.includes(Jn.DiagnosticTag.Deprecated))return Ao.Deprecated;if(e.includes(Jn.DiagnosticTag.Unnecessary))return Ao.Unused;switch(r.severity){case Jn.DiagnosticSeverity.Warning:return Ao.Warning;case Jn.DiagnosticSeverity.Information:return Ao.Information;case Jn.DiagnosticSeverity.Hint:return Ao.Hint;default:return Ao.Error}}var Jn,Lle,$Ee,Qj,eU,tU,Ao,P_,iU=R(()=>{As();Jn=E(H());ri();Vt();Y();_e();R_();Lle=process.env.VIM_NODE_RPC=="1",$Ee=U()("diagnostic-buffer"),Qj="CocDiagnostic",eU="diagnostic",tU=["CocErrorHighlight","CocWarningHighlight","CocInfoHighlight","CocHintHighlight","CocDeprecatedHighlight","CocUnusedHighlight"];(function(o){o.Error="CocErrorHighlight",o.Warning="CocWarningHighlight",o.Information="CocInfoHighlight",o.Hint="CocHintHighlight",o.Deprecated="CocDeprecatedHighlight",o.Unused="CocUnusedHighlight"})(Ao||(Ao={}));P_=class{constructor(e,t,i,n,s){this.nvim=e;this.bufnr=t;this.uri=i;this.config=n;this.onRefresh=s;this.diagnosticsMap=new Map;this.mutex=new hi;this._disposed=!1}get displayByAle(){return this.config.displayByAle}clearHighlight(e){this.buffer.clearNamespace(eU+e)}clearSigns(e){this.buffer.unplaceSign({group:Qj+e})}get diagnostics(){let e=[];for(let t of this.diagnosticsMap.values())e.push(...t);return e}get buffer(){return this.nvim.createBuffer(this.bufnr)}refreshAle(e,t){let i=t.map(s=>{let o=s.range;return{text:s.message,code:s.code,lnum:o.start.line+1,col:o.start.character+1,end_lnum:o.end.line+1,end_col:o.end.character,type:Zj(s.severity)}}),n=global.hasOwnProperty("__TEST__")?"MockAleResults":"ale#other_source#ShowResults";this.nvim.call(n,[this.bufnr,"coc"+e,i],!0)}async refresh(e,t){let i=await this.mutex.acquire();try{await this._refresh(e,t===!0),i()}catch(n){i(),this.nvim.echoError(n)}}async _refresh(e,t){let{refreshOnInsertMode:i}=this.config,{nvim:n}=this,s=!this.displayByAle&&!i;if(O.insertMode&&s)return;let o=await n.call("coc#util#diagnostic_info",[this.bufnr,s]);if(!(!o||this._disposed)){if(this.displayByAle){n.pauseNotification();for(let[a,l]of Object.entries(e))this.diagnosticsMap.set(a,[]),this.refreshAle(a,l);await n.resumeNotification()}else{let a=!1,l=!1;n.pauseNotification();for(let[c,u]of Object.entries(e)){let f=this.diagnosticsMap.get(c)||[];this.diagnosticsMap.set(c,u),je(f,u)?f.length&&t&&(l=!0,this.updateHighlights(c,u)):(a=!0,l=!0,this.addSigns(c,u),this.updateHighlights(c,u))}a&&(this.showVirtualText(o.lnum,o.bufnr),this.updateLocationList(o.winid,o.locationlist),this.setDiagnosticInfo()),Lle&&l&&this.nvim.command("redraw",!0),await this.nvim.resumeNotification()}this.onRefresh(this.diagnostics)}}updateLocationList(e,t){if(!this.config.locationlistUpdate||e==-1||t!=="Diagnostics of coc")return;let i=[],{diagnostics:n}=this;n.sort(k_);for(let s of n){let o=ov(this.bufnr,s);i.push(o)}this.nvim.call("setloclist",[e,[],"r",{title:"Diagnostics of coc",items:i}],!0)}addSigns(e,t){if(!this.config.enableSign)return;let i=Qj+e;this.buffer.unplaceSign({group:i});let n=new Map;for(let s of t){let{range:o,severity:a}=s,l=o.start.line,c=n.get(l)||[];if(c.includes(a))continue;c.push(a),n.set(l,c);let u=this.config.signPriority+4-a,f=D_(a);this.buffer.placeSign({name:f,lnum:l+1,group:i,priority:u})}}setDiagnosticInfo(){let e=[0,0,0,0],t={error:0,warning:0,information:0,hint:0,lnums:e};for(let n of this.diagnosticsMap.values())for(let s of n){let o=s.range.start.line+1;switch(s.severity){case Jn.DiagnosticSeverity.Warning:t.warning=t.warning+1,e[1]=e[1]?Math.min(e[1],o):o;break;case Jn.DiagnosticSeverity.Information:t.information=t.information+1,e[2]=e[2]?Math.min(e[2],o):o;break;case Jn.DiagnosticSeverity.Hint:t.hint=t.hint+1,e[3]=e[3]?Math.min(e[3],o):o;break;default:e[0]=e[0]?Math.min(e[0],o):o,t.error=t.error+1}}this.nvim.createBuffer(this.bufnr).setVar("coc_diagnostic_info",t,!0),this.nvim.call("coc#util#do_autocmd",["CocDiagnosticChange"],!0)}showVirtualText(e,t){if(!this.config.virtualText)return;let{virtualTextSrcId:i,virtualTextPrefix:n,virtualTextCurrentLineOnly:s}=this.config,{diagnostics:o,buffer:a}=this;if(s){if(t&&this.bufnr!=t)return;o=o.filter(l=>{let{start:c,end:u}=l.range;return c.line<=e-1&&u.line>=e-1})}o.sort(k_),a.clearNamespace(i);for(let l=o.length-1;l>=0;l--){let c=o[l],{line:u}=c.range.start,f=D_(c.severity)+"VirtualText",d=c.message.split(/\n/).map(h=>h.trim()).filter(h=>h.length>0).slice(0,this.config.virtualTextLines).join(this.config.virtualTextLineSeparator);a.setVirtualText(i,u,[[n+d,f]],{})}}updateHighlights(e,t){if(!t.length)this.clearHighlight(e);else{let i=this.getHighlightItems(t);this.buffer.updateHighlights(eU+e,i)}}getHighlightItems(e){let t=v.getDocument(this.bufnr);if(!t)return[];let i=[];for(let n of e.slice(0,this.config.highlighLimit)){let s=Ale(n);t.addHighlights(i,s,n.range)}return i.sort((n,s)=>n.lnum!=s.lnum?n.lnum-s.lnum:n.colStart!=s.colStart?n.colStart-s.colStart:tU.indexOf(s.hlGroup)-tU.indexOf(n.hlGroup)),i}clear(){let{nvim:e}=this,t=Array.from(this.diagnosticsMap.keys());if(this.diagnosticsMap.clear(),this.displayByAle)for(let i of t){let n=global.hasOwnProperty("__TEST__")?"MockAleResults":"ale#other_source#ShowResults";this.nvim.call(n,[this.bufnr,i,[]],!0)}else{e.pauseNotification();for(let i of t)this.clearHighlight(i),this.clearSigns(i);this.config.virtualText&&this.buffer.clearNamespace(this.config.virtualTextSrcId),this.buffer.deleteVar("coc_diagnostic_info"),e.resumeNotification(!1,!0)}}getDiagnosticsAt(e,t){let i=[];for(let n of this.diagnosticsMap.values())t?i.push(...n.filter(s=>O$(e.line,s.range))):i.push(...n.filter(s=>Ft(e,s.range)==0));return i.sort(k_),i}async isEnabled(){return this._disposed?!1:await this.nvim.createBuffer(this.bufnr).getVar("coc_diagnostic_disable")!=1}dispose(){this._disposed=!0,this.clear()}}});var av,zEe,lv,rU=R(()=>{av=E(H());qe();Y();zEe=U()("diagnostic-collection"),lv=class{constructor(e,t){this.name=e;this.onDispose=t;this.diagnosticsMap=new Map;this._onDidDiagnosticsChange=new av.Emitter;this.onDidDiagnosticsChange=this._onDidDiagnosticsChange.event}set(e,t){let i=new Map;if(Array.isArray(e))for(let n of e){let[s,o]=n,a=v.getDocument(s);s=a?a.uri:s,o==null?o=[]:o=(i.get(s)||[]).concat(o),i.set(s,o)}else{let n=v.getDocument(e),s=n?n.uri:e;i.set(s,t||[])}for(let n of i){let[s,o]=n;s=B.parse(s).toString(),o.forEach(a=>{a.range=a.range||av.Range.create(0,0,0,0),a.message=a.message||"",a.source=a.source||this.name}),this.diagnosticsMap.set(s,o),this._onDidDiagnosticsChange.fire(s)}}delete(e){this.diagnosticsMap.delete(e),this._onDidDiagnosticsChange.fire(e)}clear(){let e=this.diagnosticsMap.keys();this.diagnosticsMap.clear();for(let t of e)this._onDidDiagnosticsChange.fire(t)}forEach(e,t){for(let i of this.diagnosticsMap.keys()){let n=this.diagnosticsMap.get(i);e.call(t,i,n,this)}}get(e){let t=this.diagnosticsMap.get(e);return t==null?[]:t}has(e){return this.diagnosticsMap.has(e)}dispose(){this.clear(),this.onDispose&&this.onDispose(),this._onDidDiagnosticsChange.dispose()}}});var nU,_t,oTe,sU,Lt,Xa=R(()=>{nU=E(Ui()),_t=E(H());qe();_e();Va();de();Vt();Te();Y();iU();rU();R_();oTe=U()("diagnostic-manager"),sU=class{constructor(){this.enabled=!0;this._onDidRefresh=new _t.Emitter;this.onDidRefresh=this._onDidRefresh.event;this.collections=[];this.disposables=[]}init(){this.setConfiguration(),v.onDidChangeConfiguration(s=>{this.setConfiguration(s)},null,this.disposables),this.floatFactory=new tr(this.nvim),this.buffers=v.registerBufferSync(s=>{if(s.buftype!=="")return;let o=new P_(this.nvim,s.bufnr,s.uri,this.config,l=>{this._onDidRefresh.fire({diagnostics:l,uri:o.uri,bufnr:o.bufnr}),!["never","jump"].includes(this.config.enableMessage)&&(O.insertMode||this.echoMessage(!0).logError())}),a=this.getCollections(s.uri);if(this.enabled&&a.length){let l=this.getDiagnostics(s.uri);o.refresh(l)}return o}),v.onDidCloseTextDocument(s=>{for(let o of this.collections)o.delete(s.uri)},null,this.disposables),O.on("CursorMoved",s=>{this.config.enableMessage=="always"&&(!this.buffers.getItem(s)||(this.timer&&clearTimeout(this.timer),this.timer=setTimeout(async()=>{await this.echoMessage(!0)},this.config.messageDelay)))},null,this.disposables);let e=(0,nU.default)((s,o)=>{if(!this.config.virtualTextCurrentLineOnly)return;let a=this.buffers.getItem(s);a&&a.showVirtualText(o[0])},100);O.on("CursorMoved",e,null,this.disposables),this.disposables.push(_t.Disposable.create(()=>{e.clear()}));let t;O.on("InsertLeave",async s=>{if(this.config.refreshOnInsertMode||!this.autoRefresh)return;let o=v.getDocument(s);!(o==null?void 0:o.attached)||(o._forceSync(),t=setTimeout(()=>{if(!O.insertMode)for(let a of this.buffers.items)a.refresh(this.getDiagnostics(a.uri),!1)},Math.max(0,500-Date.now()+O.lastChangeTs)))},null,this.disposables);let i=()=>{t&&clearTimeout(t)};this.disposables.push({dispose:i}),O.on("InsertEnter",i,null,this.disposables),O.on("BufEnter",async()=>{this.timer&&clearTimeout(this.timer)},null,this.disposables);let n=v.configurations.errorItems;this.setConfigurationErrors(n),v.configurations.onError(s=>{this.setConfigurationErrors(s)},null,this.disposables)}defineSigns(){let{nvim:e}=this,{enableHighlightLineNumber:t,enableSign:i}=this.config;if(!!i){e.pauseNotification();for(let n of["Error","Warning","Info","Hint"]){let s=this.config[n.toLowerCase()+"Sign"],o=`sign define Coc${n} linehl=Coc${n}Line`;s&&(o+=` texthl=Coc${n}Sign text=${s}`),t&&(o+=` numhl=Coc${n}Sign`),e.command(o,!0)}e.resumeNotification(!1,!0)}}async setLocationlist(e){let t=this.buffers.getItem(e),i=t?this.getDiagnostics(t.uri):{},n=[];for(let a of Object.values(i))for(let l of a){let c=ov(e,l);n.push(c)}let s=await this.nvim.call("getloclist",[0,{title:1}]),o=s.title&&s.title.indexOf("Diagnostics of coc")!=-1?"r":" ";await this.nvim.call("setloclist",[0,[],o,{title:"Diagnostics of coc",items:n}])}setConfigurationErrors(e){let t=this.create("config");if(e==null?void 0:e.length){let i=new Map;for(let n of e){let{uri:s}=n.location,o=i.get(s)||[];o.push(_t.Diagnostic.create(n.location.range,n.message,_t.DiagnosticSeverity.Error)),i.set(s,o)}t.set(Array.from(i))}else t.clear()}create(e){let t=this.getCollectionByName(e);return t||(t=new lv(e,()=>{let i=this.collections.findIndex(n=>n==t);i!==-1&&this.collections.splice(i,1)}),this.collections.push(t),t.onDidDiagnosticsChange(i=>{let n=this.buffers.getItem(i);!this.autoRefresh||!n||O.insertMode&&!this.config.refreshOnInsertMode||n.refresh(this.getDiagnostics(i,e),!0)}),t)}getSortedRanges(e,t){let i=this.getCollections(e),n=[],s=t?T_(t):0;for(let o of i){let a=o.get(e);if(s)a=a.filter(c=>c.severity==s);else{let c=this.config.level;c&&c<_t.DiagnosticSeverity.Hint&&(a=a.filter(u=>!(u.severity&&u.severity>c)))}let l=a.map(c=>c.range);n.push(...l)}return n.sort((o,a)=>o.start.line!=a.start.line?o.start.line-a.start.line:o.start.character-a.start.character),n}getDiagnostics(e,t){let i={},n=t?[this.getCollectionByName(t)]:this.getCollections(e),{level:s,showUnused:o,showDeprecated:a}=this.config;for(let l of n){if(!l)continue;let c=l.get(e)||[];c.length&&(c=c.filter(u=>{var f,d;return!(s&&u.severity&&u.severity>s||!o&&((f=u.tags)==null?void 0:f.includes(_t.DiagnosticTag.Unnecessary))||!a&&((d=u.tags)==null?void 0:d.includes(_t.DiagnosticTag.Deprecated)))}),c.sort((u,f)=>De(u.range.start,f.range.start))),i[l.name]=c}return i}getDiagnosticsInRange(e,t){let i=this.getCollections(e.uri),n=[];for(let s of i){let o=s.get(e.uri);if(!!o)for(let a of o)qc(a.range,t)&&n.push(a)}return n}async preview(){let e=await this.getCurrentDiagnostics();if(e.length==0){this.nvim.command("pclose",!0);return}let t=[];for(let i of e){let{source:n,code:s,severity:o,message:a}=i,l=sh(o)[0];t.push(`[${n}${s?" "+s:""}] [${l}]`),t.push(...a.split(/\r?\n/)),t.push("")}this.nvim.call("coc#util#preview_info",[t,"txt"],!0)}async jumpPrevious(e){let t=await this.nvim.buffer,i=v.getDocument(t.id);if(!i)return;let n=await D.getCursorPosition(),s=this.getSortedRanges(i.uri,e),o;for(let a=s.length-1;a>=0;a--){let l=s[a].end;if(De(l,n)<0){o=s[a].start;break}else a==0&&await this.nvim.getOption("wrapscan")&&(o=s[s.length-1].start)}if(o){if(await D.moveTo(o),this.config.enableMessage=="never")return;await this.echoMessage(!1)}}async jumpNext(e){let t=await this.nvim.buffer,i=v.getDocument(t.id),n=await D.getCursorPosition(),s=this.getSortedRanges(i.uri,e),o;for(let a=0;a<=s.length-1;a++){let l=s[a].start;if(De(l,n)>0){o=s[a].start;break}else a==s.length-1&&await this.nvim.getOption("wrapscan")&&(o=s[0].start)}if(o){if(await D.moveTo(o),this.config.enableMessage=="never")return;await this.echoMessage(!1)}}getDiagnosticList(){let e=[],{level:t,showUnused:i,showDeprecated:n}=this.config;for(let s of this.collections)s.forEach((o,a)=>{var c,u;let l=B.parse(o).fsPath;for(let f of a){if(f.severity&&f.severity>t||!i&&((c=f.tags)==null?void 0:c.includes(_t.DiagnosticTag.Unnecessary))||!n&&((u=f.tags)==null?void 0:u.includes(_t.DiagnosticTag.Deprecated)))continue;let{start:d}=f.range,h={file:l,lnum:d.line+1,col:d.character+1,code:f.code,source:f.source||s.name,message:f.message,severity:sh(f.severity),level:f.severity||0,location:_t.Location.create(o,f.range)};e.push(h)}});return e.sort((s,o)=>s.level!==o.level?s.level-o.level:s.file!==o.file?s.file>o.file?1:-1:s.lnum!=o.lnum?s.lnum-o.lnum:s.col-o.col),e}getDiagnosticsAt(e,t,i=!1,n=!1){let s=this.buffers.getItem(e);if(!s)return[];let o=_t.Position.create(t[0],t[1]),a=s.getDiagnosticsAt(o,this.config.checkCurrentLine);return this.config.checkCurrentLine||a.length||i&&(o=_t.Position.create(t[0],t[1]+1),a=s.getDiagnosticsAt(o,!1),a.length)||n&&t[1]==0&&(o=_t.Position.create(t[0]+1,0),a=s.getDiagnosticsAt(o,!1)),a}async getCurrentDiagnostics(){let[e,t,i,n]=await this.nvim.eval(`[bufnr("%"),coc#cursor#position(),col('.')==col('$')-1,line('.')==line('$')]`);return this.getDiagnosticsAt(e,t,i==1,n==1)}async echoMessage(e=!1){let t=this.config;if(!this.enabled||t.displayByAle)return;this.timer&&clearTimeout(this.timer);let i=t.messageTarget=="float",[n,s]=await this.nvim.eval("[&filetype,mode()]");if(s!="n")return;let o=await this.getCurrentDiagnostics();if(o.length==0){i&&this.floatFactory.close();return}if(e&&v.insertMode)return;let a=[],l="";if(Object.keys(t.filetypeMap).length>0){let c=t.filetypeMap.default||"";l=t.filetypeMap[n]||(c=="bufferType"?n:c)}if(o.forEach(c=>{let{source:u,code:f,severity:d,message:h}=c,p=sh(d)[0],g=f?" "+f:"",b=t.format.replace("%source",u).replace("%code",g).replace("%severity",p).replace("%message",h),y="Error";if(l==="")switch(d){case _t.DiagnosticSeverity.Hint:y="Hint";break;case _t.DiagnosticSeverity.Warning:y="Warning";break;case _t.DiagnosticSeverity.Information:y="Info";break}else y=l;a.push({filetype:y,content:b})}),i){let c=this.floatFactory.applyFloatConfig({modes:["n"],maxWidth:80},this.config.floatConfig);await this.floatFactory.show(a,c)}else{let c=a.map(u=>u.content).join(` +`).split(/\r?\n/);c.length&&(await this.nvim.command('echo ""'),await D.echoLines(c,e))}}async jumpRelated(){let e=await this.getCurrentDiagnostics();if(!e)return;let t=e.find(n=>n.relatedInformation!=null);if(!t)return;let i=t.relatedInformation.map(n=>n.location);i.length==1?await v.jumpTo(i[0].uri,i[0].range.start):i.length>1&&await v.showLocations(i)}reset(){this.timer&&clearTimeout(this.timer),this.buffers.reset();for(let e of this.collections)e.dispose();this.collections=[]}dispose(){var e;this.buffers.dispose(),this.timer&&clearTimeout(this.timer);for(let t of this.collections)t.dispose();(e=this.floatFactory)==null||e.close(),this.collections=[],G(this.disposables)}get nvim(){return v.nvim}setConfiguration(e){if(e&&!e.affectsConfiguration("diagnostic"))return;let t=v.getConfiguration("diagnostic"),i=t.get("messageTarget","float");i=="float"&&!v.env.floating&&!v.env.textprop&&(i="echo");let n=t.get("enableHighlightLineNumber",!0);v.isNvim||(n=!1),this.config={floatConfig:t.get("floatConfig",{}),messageTarget:i,enableHighlightLineNumber:n,highlighLimit:t.get("highlighLimit",1e3),autoRefresh:t.get("autoRefresh",!0),virtualTextSrcId:v.createNameSpace("diagnostic-virtualText"),checkCurrentLine:t.get("checkCurrentLine",!1),enableSign:v.env.sign&&t.get("enableSign",!0),locationlistUpdate:t.get("locationlistUpdate",!0),enableMessage:t.get("enableMessage","always"),messageDelay:t.get("messageDelay",200),virtualText:t.get("virtualText",!1)&&this.nvim.hasFunction("nvim_buf_set_virtual_text"),virtualTextCurrentLineOnly:t.get("virtualTextCurrentLineOnly",!0),virtualTextPrefix:t.get("virtualTextPrefix"," "),virtualTextLineSeparator:t.get("virtualTextLineSeparator"," \\ "),virtualTextLines:t.get("virtualTextLines",3),displayByAle:t.get("displayByAle",!1),level:T_(t.get("level","hint")),signPriority:t.get("signPriority",10),errorSign:t.get("errorSign",">>"),warningSign:t.get("warningSign",">>"),infoSign:t.get("infoSign",">>"),hintSign:t.get("hintSign",">>"),refreshOnInsertMode:t.get("refreshOnInsertMode",!1),filetypeMap:t.get("filetypeMap",{}),showUnused:t.get("showUnused",!0),showDeprecated:t.get("showDeprecated",!0),format:t.get("format","[%source%code] [%severity] %message")},this.enabled=t.get("enable",!0),this.defineSigns()}getCollectionByName(e){return this.collections.find(t=>t.name==e)}getCollections(e){return this.collections.filter(t=>t.has(e))}toggleDiagnostic(){let{enabled:e}=this;this.enabled=!e;for(let t of this.buffers.items)this.enabled?this.refreshBuffer(t.uri,!0):t.clear()}async toggleDiagnosticBuffer(e){if(!this.enabled)return;let t=this.buffers.getItem(e);if(t){let i=await t.isEnabled();await this.nvim.call("setbufvar",[e,"coc_diagnostic_disable",i?1:0]),i?t.clear():this.refreshBuffer(e,!0)}}get autoRefresh(){return this.enabled&&this.config.autoRefresh}async refreshBuffer(e,t=!1){let i=this.buffers.getItem(e);return i?(await i.refresh(this.getDiagnostics(i.uri),t),!0):!1}refresh(e){if(e){let t=this.buffers.getItem(e);t&&this.refreshBuffer(t.uri,!0)}else for(let t of this.buffers.items)this.refreshBuffer(t.uri,!0)}},Lt=new sU});var qt,oU=R(()=>{(function(m){m[m.Null=0]="Null",m[m.Backspace=8]="Backspace",m[m.Tab=9]="Tab",m[m.LineFeed=10]="LineFeed",m[m.CarriageReturn=13]="CarriageReturn",m[m.Space=32]="Space",m[m.ExclamationMark=33]="ExclamationMark",m[m.DoubleQuote=34]="DoubleQuote",m[m.Hash=35]="Hash",m[m.DollarSign=36]="DollarSign",m[m.PercentSign=37]="PercentSign",m[m.Ampersand=38]="Ampersand",m[m.SingleQuote=39]="SingleQuote",m[m.OpenParen=40]="OpenParen",m[m.CloseParen=41]="CloseParen",m[m.Asterisk=42]="Asterisk",m[m.Plus=43]="Plus",m[m.Comma=44]="Comma",m[m.Dash=45]="Dash",m[m.Period=46]="Period",m[m.Slash=47]="Slash",m[m.Digit0=48]="Digit0",m[m.Digit1=49]="Digit1",m[m.Digit2=50]="Digit2",m[m.Digit3=51]="Digit3",m[m.Digit4=52]="Digit4",m[m.Digit5=53]="Digit5",m[m.Digit6=54]="Digit6",m[m.Digit7=55]="Digit7",m[m.Digit8=56]="Digit8",m[m.Digit9=57]="Digit9",m[m.Colon=58]="Colon",m[m.Semicolon=59]="Semicolon",m[m.LessThan=60]="LessThan",m[m.Equals=61]="Equals",m[m.GreaterThan=62]="GreaterThan",m[m.QuestionMark=63]="QuestionMark",m[m.AtSign=64]="AtSign",m[m.A=65]="A",m[m.B=66]="B",m[m.C=67]="C",m[m.D=68]="D",m[m.E=69]="E",m[m.F=70]="F",m[m.G=71]="G",m[m.H=72]="H",m[m.I=73]="I",m[m.J=74]="J",m[m.K=75]="K",m[m.L=76]="L",m[m.M=77]="M",m[m.N=78]="N",m[m.O=79]="O",m[m.P=80]="P",m[m.Q=81]="Q",m[m.R=82]="R",m[m.S=83]="S",m[m.T=84]="T",m[m.U=85]="U",m[m.V=86]="V",m[m.W=87]="W",m[m.X=88]="X",m[m.Y=89]="Y",m[m.Z=90]="Z",m[m.OpenSquareBracket=91]="OpenSquareBracket",m[m.Backslash=92]="Backslash",m[m.CloseSquareBracket=93]="CloseSquareBracket",m[m.Caret=94]="Caret",m[m.Underline=95]="Underline",m[m.BackTick=96]="BackTick",m[m.a=97]="a",m[m.b=98]="b",m[m.c=99]="c",m[m.d=100]="d",m[m.e=101]="e",m[m.f=102]="f",m[m.g=103]="g",m[m.h=104]="h",m[m.i=105]="i",m[m.j=106]="j",m[m.k=107]="k",m[m.l=108]="l",m[m.m=109]="m",m[m.n=110]="n",m[m.o=111]="o",m[m.p=112]="p",m[m.q=113]="q",m[m.r=114]="r",m[m.s=115]="s",m[m.t=116]="t",m[m.u=117]="u",m[m.v=118]="v",m[m.w=119]="w",m[m.x=120]="x",m[m.y=121]="y",m[m.z=122]="z",m[m.OpenCurlyBrace=123]="OpenCurlyBrace",m[m.Pipe=124]="Pipe",m[m.CloseCurlyBrace=125]="CloseCurlyBrace",m[m.Tilde=126]="Tilde",m[m.U_Combining_Grave_Accent=768]="U_Combining_Grave_Accent",m[m.U_Combining_Acute_Accent=769]="U_Combining_Acute_Accent",m[m.U_Combining_Circumflex_Accent=770]="U_Combining_Circumflex_Accent",m[m.U_Combining_Tilde=771]="U_Combining_Tilde",m[m.U_Combining_Macron=772]="U_Combining_Macron",m[m.U_Combining_Overline=773]="U_Combining_Overline",m[m.U_Combining_Breve=774]="U_Combining_Breve",m[m.U_Combining_Dot_Above=775]="U_Combining_Dot_Above",m[m.U_Combining_Diaeresis=776]="U_Combining_Diaeresis",m[m.U_Combining_Hook_Above=777]="U_Combining_Hook_Above",m[m.U_Combining_Ring_Above=778]="U_Combining_Ring_Above",m[m.U_Combining_Double_Acute_Accent=779]="U_Combining_Double_Acute_Accent",m[m.U_Combining_Caron=780]="U_Combining_Caron",m[m.U_Combining_Vertical_Line_Above=781]="U_Combining_Vertical_Line_Above",m[m.U_Combining_Double_Vertical_Line_Above=782]="U_Combining_Double_Vertical_Line_Above",m[m.U_Combining_Double_Grave_Accent=783]="U_Combining_Double_Grave_Accent",m[m.U_Combining_Candrabindu=784]="U_Combining_Candrabindu",m[m.U_Combining_Inverted_Breve=785]="U_Combining_Inverted_Breve",m[m.U_Combining_Turned_Comma_Above=786]="U_Combining_Turned_Comma_Above",m[m.U_Combining_Comma_Above=787]="U_Combining_Comma_Above",m[m.U_Combining_Reversed_Comma_Above=788]="U_Combining_Reversed_Comma_Above",m[m.U_Combining_Comma_Above_Right=789]="U_Combining_Comma_Above_Right",m[m.U_Combining_Grave_Accent_Below=790]="U_Combining_Grave_Accent_Below",m[m.U_Combining_Acute_Accent_Below=791]="U_Combining_Acute_Accent_Below",m[m.U_Combining_Left_Tack_Below=792]="U_Combining_Left_Tack_Below",m[m.U_Combining_Right_Tack_Below=793]="U_Combining_Right_Tack_Below",m[m.U_Combining_Left_Angle_Above=794]="U_Combining_Left_Angle_Above",m[m.U_Combining_Horn=795]="U_Combining_Horn",m[m.U_Combining_Left_Half_Ring_Below=796]="U_Combining_Left_Half_Ring_Below",m[m.U_Combining_Up_Tack_Below=797]="U_Combining_Up_Tack_Below",m[m.U_Combining_Down_Tack_Below=798]="U_Combining_Down_Tack_Below",m[m.U_Combining_Plus_Sign_Below=799]="U_Combining_Plus_Sign_Below",m[m.U_Combining_Minus_Sign_Below=800]="U_Combining_Minus_Sign_Below",m[m.U_Combining_Palatalized_Hook_Below=801]="U_Combining_Palatalized_Hook_Below",m[m.U_Combining_Retroflex_Hook_Below=802]="U_Combining_Retroflex_Hook_Below",m[m.U_Combining_Dot_Below=803]="U_Combining_Dot_Below",m[m.U_Combining_Diaeresis_Below=804]="U_Combining_Diaeresis_Below",m[m.U_Combining_Ring_Below=805]="U_Combining_Ring_Below",m[m.U_Combining_Comma_Below=806]="U_Combining_Comma_Below",m[m.U_Combining_Cedilla=807]="U_Combining_Cedilla",m[m.U_Combining_Ogonek=808]="U_Combining_Ogonek",m[m.U_Combining_Vertical_Line_Below=809]="U_Combining_Vertical_Line_Below",m[m.U_Combining_Bridge_Below=810]="U_Combining_Bridge_Below",m[m.U_Combining_Inverted_Double_Arch_Below=811]="U_Combining_Inverted_Double_Arch_Below",m[m.U_Combining_Caron_Below=812]="U_Combining_Caron_Below",m[m.U_Combining_Circumflex_Accent_Below=813]="U_Combining_Circumflex_Accent_Below",m[m.U_Combining_Breve_Below=814]="U_Combining_Breve_Below",m[m.U_Combining_Inverted_Breve_Below=815]="U_Combining_Inverted_Breve_Below",m[m.U_Combining_Tilde_Below=816]="U_Combining_Tilde_Below",m[m.U_Combining_Macron_Below=817]="U_Combining_Macron_Below",m[m.U_Combining_Low_Line=818]="U_Combining_Low_Line",m[m.U_Combining_Double_Low_Line=819]="U_Combining_Double_Low_Line",m[m.U_Combining_Tilde_Overlay=820]="U_Combining_Tilde_Overlay",m[m.U_Combining_Short_Stroke_Overlay=821]="U_Combining_Short_Stroke_Overlay",m[m.U_Combining_Long_Stroke_Overlay=822]="U_Combining_Long_Stroke_Overlay",m[m.U_Combining_Short_Solidus_Overlay=823]="U_Combining_Short_Solidus_Overlay",m[m.U_Combining_Long_Solidus_Overlay=824]="U_Combining_Long_Solidus_Overlay",m[m.U_Combining_Right_Half_Ring_Below=825]="U_Combining_Right_Half_Ring_Below",m[m.U_Combining_Inverted_Bridge_Below=826]="U_Combining_Inverted_Bridge_Below",m[m.U_Combining_Square_Below=827]="U_Combining_Square_Below",m[m.U_Combining_Seagull_Below=828]="U_Combining_Seagull_Below",m[m.U_Combining_X_Above=829]="U_Combining_X_Above",m[m.U_Combining_Vertical_Tilde=830]="U_Combining_Vertical_Tilde",m[m.U_Combining_Double_Overline=831]="U_Combining_Double_Overline",m[m.U_Combining_Grave_Tone_Mark=832]="U_Combining_Grave_Tone_Mark",m[m.U_Combining_Acute_Tone_Mark=833]="U_Combining_Acute_Tone_Mark",m[m.U_Combining_Greek_Perispomeni=834]="U_Combining_Greek_Perispomeni",m[m.U_Combining_Greek_Koronis=835]="U_Combining_Greek_Koronis",m[m.U_Combining_Greek_Dialytika_Tonos=836]="U_Combining_Greek_Dialytika_Tonos",m[m.U_Combining_Greek_Ypogegrammeni=837]="U_Combining_Greek_Ypogegrammeni",m[m.U_Combining_Bridge_Above=838]="U_Combining_Bridge_Above",m[m.U_Combining_Equals_Sign_Below=839]="U_Combining_Equals_Sign_Below",m[m.U_Combining_Double_Vertical_Line_Below=840]="U_Combining_Double_Vertical_Line_Below",m[m.U_Combining_Left_Angle_Below=841]="U_Combining_Left_Angle_Below",m[m.U_Combining_Not_Tilde_Above=842]="U_Combining_Not_Tilde_Above",m[m.U_Combining_Homothetic_Above=843]="U_Combining_Homothetic_Above",m[m.U_Combining_Almost_Equal_To_Above=844]="U_Combining_Almost_Equal_To_Above",m[m.U_Combining_Left_Right_Arrow_Below=845]="U_Combining_Left_Right_Arrow_Below",m[m.U_Combining_Upwards_Arrow_Below=846]="U_Combining_Upwards_Arrow_Below",m[m.U_Combining_Grapheme_Joiner=847]="U_Combining_Grapheme_Joiner",m[m.U_Combining_Right_Arrowhead_Above=848]="U_Combining_Right_Arrowhead_Above",m[m.U_Combining_Left_Half_Ring_Above=849]="U_Combining_Left_Half_Ring_Above",m[m.U_Combining_Fermata=850]="U_Combining_Fermata",m[m.U_Combining_X_Below=851]="U_Combining_X_Below",m[m.U_Combining_Left_Arrowhead_Below=852]="U_Combining_Left_Arrowhead_Below",m[m.U_Combining_Right_Arrowhead_Below=853]="U_Combining_Right_Arrowhead_Below",m[m.U_Combining_Right_Arrowhead_And_Up_Arrowhead_Below=854]="U_Combining_Right_Arrowhead_And_Up_Arrowhead_Below",m[m.U_Combining_Right_Half_Ring_Above=855]="U_Combining_Right_Half_Ring_Above",m[m.U_Combining_Dot_Above_Right=856]="U_Combining_Dot_Above_Right",m[m.U_Combining_Asterisk_Below=857]="U_Combining_Asterisk_Below",m[m.U_Combining_Double_Ring_Below=858]="U_Combining_Double_Ring_Below",m[m.U_Combining_Zigzag_Above=859]="U_Combining_Zigzag_Above",m[m.U_Combining_Double_Breve_Below=860]="U_Combining_Double_Breve_Below",m[m.U_Combining_Double_Breve=861]="U_Combining_Double_Breve",m[m.U_Combining_Double_Macron=862]="U_Combining_Double_Macron",m[m.U_Combining_Double_Macron_Below=863]="U_Combining_Double_Macron_Below",m[m.U_Combining_Double_Tilde=864]="U_Combining_Double_Tilde",m[m.U_Combining_Double_Inverted_Breve=865]="U_Combining_Double_Inverted_Breve",m[m.U_Combining_Double_Rightwards_Arrow_Below=866]="U_Combining_Double_Rightwards_Arrow_Below",m[m.U_Combining_Latin_Small_Letter_A=867]="U_Combining_Latin_Small_Letter_A",m[m.U_Combining_Latin_Small_Letter_E=868]="U_Combining_Latin_Small_Letter_E",m[m.U_Combining_Latin_Small_Letter_I=869]="U_Combining_Latin_Small_Letter_I",m[m.U_Combining_Latin_Small_Letter_O=870]="U_Combining_Latin_Small_Letter_O",m[m.U_Combining_Latin_Small_Letter_U=871]="U_Combining_Latin_Small_Letter_U",m[m.U_Combining_Latin_Small_Letter_C=872]="U_Combining_Latin_Small_Letter_C",m[m.U_Combining_Latin_Small_Letter_D=873]="U_Combining_Latin_Small_Letter_D",m[m.U_Combining_Latin_Small_Letter_H=874]="U_Combining_Latin_Small_Letter_H",m[m.U_Combining_Latin_Small_Letter_M=875]="U_Combining_Latin_Small_Letter_M",m[m.U_Combining_Latin_Small_Letter_R=876]="U_Combining_Latin_Small_Letter_R",m[m.U_Combining_Latin_Small_Letter_T=877]="U_Combining_Latin_Small_Letter_T",m[m.U_Combining_Latin_Small_Letter_V=878]="U_Combining_Latin_Small_Letter_V",m[m.U_Combining_Latin_Small_Letter_X=879]="U_Combining_Latin_Small_Letter_X",m[m.LINE_SEPARATOR_2028=8232]="LINE_SEPARATOR_2028",m[m.U_CIRCUMFLEX=94]="U_CIRCUMFLEX",m[m.U_GRAVE_ACCENT=96]="U_GRAVE_ACCENT",m[m.U_DIAERESIS=168]="U_DIAERESIS",m[m.U_MACRON=175]="U_MACRON",m[m.U_ACUTE_ACCENT=180]="U_ACUTE_ACCENT",m[m.U_CEDILLA=184]="U_CEDILLA",m[m.U_MODIFIER_LETTER_LEFT_ARROWHEAD=706]="U_MODIFIER_LETTER_LEFT_ARROWHEAD",m[m.U_MODIFIER_LETTER_RIGHT_ARROWHEAD=707]="U_MODIFIER_LETTER_RIGHT_ARROWHEAD",m[m.U_MODIFIER_LETTER_UP_ARROWHEAD=708]="U_MODIFIER_LETTER_UP_ARROWHEAD",m[m.U_MODIFIER_LETTER_DOWN_ARROWHEAD=709]="U_MODIFIER_LETTER_DOWN_ARROWHEAD",m[m.U_MODIFIER_LETTER_CENTRED_RIGHT_HALF_RING=722]="U_MODIFIER_LETTER_CENTRED_RIGHT_HALF_RING",m[m.U_MODIFIER_LETTER_CENTRED_LEFT_HALF_RING=723]="U_MODIFIER_LETTER_CENTRED_LEFT_HALF_RING",m[m.U_MODIFIER_LETTER_UP_TACK=724]="U_MODIFIER_LETTER_UP_TACK",m[m.U_MODIFIER_LETTER_DOWN_TACK=725]="U_MODIFIER_LETTER_DOWN_TACK",m[m.U_MODIFIER_LETTER_PLUS_SIGN=726]="U_MODIFIER_LETTER_PLUS_SIGN",m[m.U_MODIFIER_LETTER_MINUS_SIGN=727]="U_MODIFIER_LETTER_MINUS_SIGN",m[m.U_BREVE=728]="U_BREVE",m[m.U_DOT_ABOVE=729]="U_DOT_ABOVE",m[m.U_RING_ABOVE=730]="U_RING_ABOVE",m[m.U_OGONEK=731]="U_OGONEK",m[m.U_SMALL_TILDE=732]="U_SMALL_TILDE",m[m.U_DOUBLE_ACUTE_ACCENT=733]="U_DOUBLE_ACUTE_ACCENT",m[m.U_MODIFIER_LETTER_RHOTIC_HOOK=734]="U_MODIFIER_LETTER_RHOTIC_HOOK",m[m.U_MODIFIER_LETTER_CROSS_ACCENT=735]="U_MODIFIER_LETTER_CROSS_ACCENT",m[m.U_MODIFIER_LETTER_EXTRA_HIGH_TONE_BAR=741]="U_MODIFIER_LETTER_EXTRA_HIGH_TONE_BAR",m[m.U_MODIFIER_LETTER_HIGH_TONE_BAR=742]="U_MODIFIER_LETTER_HIGH_TONE_BAR",m[m.U_MODIFIER_LETTER_MID_TONE_BAR=743]="U_MODIFIER_LETTER_MID_TONE_BAR",m[m.U_MODIFIER_LETTER_LOW_TONE_BAR=744]="U_MODIFIER_LETTER_LOW_TONE_BAR",m[m.U_MODIFIER_LETTER_EXTRA_LOW_TONE_BAR=745]="U_MODIFIER_LETTER_EXTRA_LOW_TONE_BAR",m[m.U_MODIFIER_LETTER_YIN_DEPARTING_TONE_MARK=746]="U_MODIFIER_LETTER_YIN_DEPARTING_TONE_MARK",m[m.U_MODIFIER_LETTER_YANG_DEPARTING_TONE_MARK=747]="U_MODIFIER_LETTER_YANG_DEPARTING_TONE_MARK",m[m.U_MODIFIER_LETTER_UNASPIRATED=749]="U_MODIFIER_LETTER_UNASPIRATED",m[m.U_MODIFIER_LETTER_LOW_DOWN_ARROWHEAD=751]="U_MODIFIER_LETTER_LOW_DOWN_ARROWHEAD",m[m.U_MODIFIER_LETTER_LOW_UP_ARROWHEAD=752]="U_MODIFIER_LETTER_LOW_UP_ARROWHEAD",m[m.U_MODIFIER_LETTER_LOW_LEFT_ARROWHEAD=753]="U_MODIFIER_LETTER_LOW_LEFT_ARROWHEAD",m[m.U_MODIFIER_LETTER_LOW_RIGHT_ARROWHEAD=754]="U_MODIFIER_LETTER_LOW_RIGHT_ARROWHEAD",m[m.U_MODIFIER_LETTER_LOW_RING=755]="U_MODIFIER_LETTER_LOW_RING",m[m.U_MODIFIER_LETTER_MIDDLE_GRAVE_ACCENT=756]="U_MODIFIER_LETTER_MIDDLE_GRAVE_ACCENT",m[m.U_MODIFIER_LETTER_MIDDLE_DOUBLE_GRAVE_ACCENT=757]="U_MODIFIER_LETTER_MIDDLE_DOUBLE_GRAVE_ACCENT",m[m.U_MODIFIER_LETTER_MIDDLE_DOUBLE_ACUTE_ACCENT=758]="U_MODIFIER_LETTER_MIDDLE_DOUBLE_ACUTE_ACCENT",m[m.U_MODIFIER_LETTER_LOW_TILDE=759]="U_MODIFIER_LETTER_LOW_TILDE",m[m.U_MODIFIER_LETTER_RAISED_COLON=760]="U_MODIFIER_LETTER_RAISED_COLON",m[m.U_MODIFIER_LETTER_BEGIN_HIGH_TONE=761]="U_MODIFIER_LETTER_BEGIN_HIGH_TONE",m[m.U_MODIFIER_LETTER_END_HIGH_TONE=762]="U_MODIFIER_LETTER_END_HIGH_TONE",m[m.U_MODIFIER_LETTER_BEGIN_LOW_TONE=763]="U_MODIFIER_LETTER_BEGIN_LOW_TONE",m[m.U_MODIFIER_LETTER_END_LOW_TONE=764]="U_MODIFIER_LETTER_END_LOW_TONE",m[m.U_MODIFIER_LETTER_SHELF=765]="U_MODIFIER_LETTER_SHELF",m[m.U_MODIFIER_LETTER_OPEN_SHELF=766]="U_MODIFIER_LETTER_OPEN_SHELF",m[m.U_MODIFIER_LETTER_LOW_LEFT_ARROW=767]="U_MODIFIER_LETTER_LOW_LEFT_ARROW",m[m.U_GREEK_LOWER_NUMERAL_SIGN=885]="U_GREEK_LOWER_NUMERAL_SIGN",m[m.U_GREEK_TONOS=900]="U_GREEK_TONOS",m[m.U_GREEK_DIALYTIKA_TONOS=901]="U_GREEK_DIALYTIKA_TONOS",m[m.U_GREEK_KORONIS=8125]="U_GREEK_KORONIS",m[m.U_GREEK_PSILI=8127]="U_GREEK_PSILI",m[m.U_GREEK_PERISPOMENI=8128]="U_GREEK_PERISPOMENI",m[m.U_GREEK_DIALYTIKA_AND_PERISPOMENI=8129]="U_GREEK_DIALYTIKA_AND_PERISPOMENI",m[m.U_GREEK_PSILI_AND_VARIA=8141]="U_GREEK_PSILI_AND_VARIA",m[m.U_GREEK_PSILI_AND_OXIA=8142]="U_GREEK_PSILI_AND_OXIA",m[m.U_GREEK_PSILI_AND_PERISPOMENI=8143]="U_GREEK_PSILI_AND_PERISPOMENI",m[m.U_GREEK_DASIA_AND_VARIA=8157]="U_GREEK_DASIA_AND_VARIA",m[m.U_GREEK_DASIA_AND_OXIA=8158]="U_GREEK_DASIA_AND_OXIA",m[m.U_GREEK_DASIA_AND_PERISPOMENI=8159]="U_GREEK_DASIA_AND_PERISPOMENI",m[m.U_GREEK_DIALYTIKA_AND_VARIA=8173]="U_GREEK_DIALYTIKA_AND_VARIA",m[m.U_GREEK_DIALYTIKA_AND_OXIA=8174]="U_GREEK_DIALYTIKA_AND_OXIA",m[m.U_GREEK_VARIA=8175]="U_GREEK_VARIA",m[m.U_GREEK_OXIA=8189]="U_GREEK_OXIA",m[m.U_GREEK_DASIA=8190]="U_GREEK_DASIA",m[m.U_OVERLINE=8254]="U_OVERLINE",m[m.UTF8_BOM=65279]="UTF8_BOM"})(qt||(qt={}))});function aU(r,e){let t=[...r];for(;t.length>0;){let i=t.shift();if(!e(i))break;t.unshift(...i.children)}}var fTe,J,In,I_,Za,wt,O_,Er,oh,cv,Xr,Yn,ah,Fo,uv=R(()=>{oU();yt();fTe=U()("snippets-parser");(function(g){g[g.Dollar=0]="Dollar",g[g.Colon=1]="Colon",g[g.Comma=2]="Comma",g[g.CurlyOpen=3]="CurlyOpen",g[g.CurlyClose=4]="CurlyClose",g[g.Backslash=5]="Backslash",g[g.Forwardslash=6]="Forwardslash",g[g.Pipe=7]="Pipe",g[g.Int=8]="Int",g[g.VariableName=9]="VariableName",g[g.Format=10]="Format",g[g.Plus=11]="Plus",g[g.Dash=12]="Dash",g[g.QuestionMark=13]="QuestionMark",g[g.EOF=14]="EOF"})(J||(J={}));In=class{static isDigitCharacter(e){return e>=qt.Digit0&&e<=qt.Digit9}static isVariableCharacter(e){return e===qt.Underline||e>=qt.a&&e<=qt.z||e>=qt.A&&e<=qt.Z}constructor(){this.text("")}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};let e=this.pos,t=0,i=this.value.charCodeAt(e),n;if(n=In._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(In.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(In.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(In.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(In.isVariableCharacter(i)||In.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}n=10;do t+=1,i=this.value.charCodeAt(e+t);while(!isNaN(i)&&typeof In._table[i]=="undefined"&&!In.isDigitCharacter(i)&&!In.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}},I_=In;I_._table={[qt.DollarSign]:0,[qt.Colon]:1,[qt.Comma]:2,[qt.OpenCurlyBrace]:3,[qt.CloseCurlyBrace]:4,[qt.Backslash]:5,[qt.Slash]:6,[qt.Pipe]:7,[qt.Plus]:11,[qt.Dash]:12,[qt.QuestionMark]:13};Za=class{constructor(){this._children=[]}appendChild(e){return e instanceof wt&&this._children[this._children.length-1]instanceof wt?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}setOnlyChild(e){e.parent=this,this._children=[e]}replace(e,t){let{parent:i}=e,n=i.children.indexOf(e),s=i.children.slice(0);s.splice(n,1,...t),i._children=s,function o(a,l){for(let c of a)c.parent=l,o(c.children,c)}(t,i)}get children(){return this._children}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof ah)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}get next(){let{parent:e}=this,{children:t}=e,i=t.indexOf(this);return t[i+1]}},wt=class extends Za{constructor(e){super();this.value=e}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}toString(){return this.value}toTextmateString(){return wt.escape(this.value)}len(){return this.value.length}clone(){return new wt(this.value)}},O_=class extends Za{},Er=class extends O_{constructor(e){super();this.index=e}static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.indext.index?1:0}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof oh?this._children[0]:void 0}toTextmateString(){let e="";return this.transform&&(e=this.transform.toTextmateString()),this.children.length===0&&!this.transform?`$${this.index}`:this.children.length===0?`\${${this.index}${e}}`:this.choice?`\${${this.index}|${this.choice.toTextmateString()}|${e}}`:`\${${this.index}:${this.children.map(t=>t.toTextmateString()).join("")}${e}}`}clone(){let e=new Er(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}},oh=class extends Za{constructor(){super(...arguments);this.options=[]}appendChild(e){return e instanceof wt&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}toTextmateString(){return this.options.map(e=>e.value.replace(/\||,/g,"\\$&")).join(",")}len(){return this.options[0].len()}clone(){let e=new oh;for(let t of this.options)e.appendChild(t);return e}},cv=class extends Za{resolve(e){let t=!1,i=e.replace(this.regexp,(...n)=>(t=!0,this._replace(n.slice(0,-2))));return!t&&this._children.some(n=>n instanceof Xr&&Boolean(n.elseValue))&&(i=this._replace([])),i}_replace(e){let t="";for(let i of this._children)if(i instanceof Xr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}toTextmateString(){return`/${this.regexp.source}/${this.children.map(e=>e.toTextmateString())}/${(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")}`}clone(){let e=new cv;return e.regexp=new RegExp(this.regexp.source,""+(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(t=>t.clone()),e}},Xr=class extends Za{constructor(e,t,i,n){super();this.index=e;this.shorthandName=t;this.ifValue=i;this.elseValue=n}resolve(e){return this.shorthandName==="upcase"?e?e.toLocaleUpperCase():"":this.shorthandName==="downcase"?e?e.toLocaleLowerCase():"":this.shorthandName==="capitalize"?e?e[0].toLocaleUpperCase()+e.substr(1):"":this.shorthandName==="pascalcase"?e?this._toPascalCase(e):"":Boolean(e)&&typeof this.ifValue=="string"?this.ifValue:!e&&typeof this.elseValue=="string"?this.elseValue:e||""}_toPascalCase(e){let t=e.match(/[a-z]+/gi);return t?t.map(i=>i.charAt(0).toUpperCase()+i.substr(1).toLowerCase()).join(""):e}toTextmateString(){let e="${";return e+=this.index,this.shorthandName?e+=`:/${this.shorthandName}`:this.ifValue&&this.elseValue?e+=`:?${this.ifValue}:${this.elseValue}`:this.ifValue?e+=`:+${this.ifValue}`:this.elseValue&&(e+=`:-${this.elseValue}`),e+="}",e}clone(){return new Xr(this.index,this.shorthandName,this.ifValue,this.elseValue)}},Yn=class extends O_{constructor(e){super();this.name=e}async resolve(e){let t=await e.resolve(this);if(t&&t.includes(` +`)){let i="";this.snippet.walk(l=>{if(l==this)return!1;if(l instanceof wt){let c=l.toString().split(/\r?\n/);i=c[c.length-1].match(/^\s*/)[0]}return!0});let n=t.split(` +`),s=n.filter(l=>l.length>0).map(l=>l.match(/^\s*/)[0]),o=s.length==0?"":s.reduce((l,c)=>l.lengthc==0||l.length==0||!l.startsWith(o)?l:i+l.slice(o.length)).join(` +`)}return this.transform&&(t=this.transform.resolve(t||"")),t!==void 0?(this._children=[new wt(t)],!0):!1}toTextmateString(){let e="";return this.transform&&(e=this.transform.toTextmateString()),this.children.length===0?`\${${this.name}${e}}`:`\${${this.name}:${this.children.map(t=>t.toTextmateString()).join("")}${e}}`}clone(){let e=new Yn(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}};ah=class extends Za{get placeholderInfo(){if(!this._placeholders){this._variables=[];let e=[],t;this.walk(i=>{if(i instanceof Er)e.push(i),t=!t||t.index90)&&this._variables.push(i)}return!0}),this._placeholders={all:e,last:t}}return this._placeholders}get variables(){return this._variables}get placeholders(){let{all:e}=this.placeholderInfo;return e}get maxIndexNumber(){let{placeholders:e}=this;return e.reduce((t,i)=>Math.max(t,i.index),0)}get minIndexNumber(){let{placeholders:e}=this,t=e.map(i=>i.index);return t.sort((i,n)=>i-n),t.length>1&&t[0]==0?t[1]:t[0]||0}insertSnippet(e,t,i){let n=this.placeholders[t];if(!n)return;let{index:s}=n,[o,a]=x$(n.toString(),i),l=new Fo().parse(e,!0),c=l.maxIndexNumber+1,u=[];for(let d of l.placeholders)d.isFinalTabstop?d.index=c+s:d.index=d.index+s,u.push(d.index);this.walk(d=>(d instanceof Er&&d.index>s&&(d.index=d.index+c),!0));let f=l.children;return o&&f.unshift(new wt(o)),a&&f.push(new wt(a)),this.replace(n,f),Math.min.apply(null,u)}updatePlaceholder(e,t){let i=this.placeholders[e];for(let n of this.placeholders)if(n.index==i.index){let s=n.children[0],o=n.transform?n.transform.resolve(t):t;s?n.setOnlyChild(new wt(o)):n.appendChild(new wt(o))}this._placeholders=void 0}updateVariable(e,t){let i=this.variables[e-this.maxIndexNumber-1];if(i){let n=this.variables.filter(s=>s.name==i.name);for(let s of n){let o=s.transform?s.transform.resolve(t):t;s.setOnlyChild(new wt(o))}}}getPlaceholderText(e,t){let i=this.placeholders[e];return i&&i.transform?i.transform.resolve(t):t}offset(e){let t=0,i=!1;return this.walk(n=>n===e?(i=!0,!1):(t+=n.len(),!0)),i?t:-1}fullLen(e){let t=0;return aU([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){let t=[],{parent:i}=e;for(;i;)i instanceof Er&&t.push(i),i=i.parent;return t}async resolveVariables(e){let t=[];this.walk(i=>(i instanceof Yn&&t.push(i),!0)),await Promise.all(t.map(i=>i.resolve(e)))}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}toTextmateString(){return this.children.reduce((e,t)=>e+t.toTextmateString(),"")}clone(){let e=new ah;return this._children=this.children.map(t=>t.clone()),e}walk(e){aU(this.children,e)}},Fo=class{constructor(){this._scanner=new I_}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}text(e){return this.parse(e).toString()}parse(e,t){this._scanner.text(e),this._token=this._scanner.next();let i=new ah;for(;this._parse(i););let n=new Map,s=[];i.walk(o=>(o instanceof Er&&(o.isFinalTabstop?n.set(0,void 0):!n.has(o.index)&&o.children.length>0?n.set(o.index,o.children):s.push(o)),!0));for(let o of s)if(n.has(o.index)){let a=new Er(o.index);a.transform=o.transform;for(let l of n.get(o.index)){let c=l.clone();if(a.transform){if(c instanceof wt)c=new wt(a.transform.resolve(c.value));else for(let u of c.children)if(u instanceof wt){c.replace(u,[new wt(a.transform.resolve(u.value))]);break}}a.appendChild(c)}i.replace(o,[a])}return!n.has(0)&&t&&i.appendChild(new Er(0)),i}_accept(e,t){if(e===void 0||this._token.type===e){let i=t?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),i}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){if(this._token.type===14)return!1;let t=this._token;for(;this._token.type!==e;)if(this._token=this._scanner.next(),this._token.type===14)return!1;let i=this._scanner.value.substring(t.pos,this._token.pos);return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new wt(t)),!0):!1}_parseTabstopOrVariableName(e){let t,i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new Er(Number(t)):new Yn(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t,i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);let s=new Er(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new wt("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){let o=new oh;for(;;){if(this._parseChoiceElement(o)){if(this._accept(2))continue;if(this._accept(7)&&(s.appendChild(o),this._accept(4)))return e.appendChild(s),!0}return this._backTo(i),!1}}else return this._accept(6)?this._parseTransform(s)?(e.appendChild(s),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(s),!0):this._backTo(i)}_parseChoiceElement(e){let t=this._token,i=[];for(;!(this._token.type===2||this._token.type===7);){let n;if((n=this._accept(5,!0))?n=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||n:n=this._accept(void 0,!0),!n)return this._backTo(t),!1;i.push(n)}return i.length===0?(this._backTo(t),!1):(e.appendChild(new wt(i.join(""))),!0)}_parseComplexVariable(e){let t,i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);let s=new Yn(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new wt("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else return this._accept(6)?this._parseTransform(s)?(e.appendChild(s),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(s),!0):this._backTo(i)}_parseTransform(e){let t=new cv,i="",n="";for(;!this._accept(6);){let s;if(s=this._accept(5,!0)){s=this._accept(6,!0)||s,i+=s;continue}if(this._token.type!==14){i+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let s;if(s=this._accept(5,!0)){s=this._accept(6,!0)||s,t.appendChild(new wt(s));continue}if(this._parseFormatString(t)||this._parseAnything(t)){let o=t.children[0];o&&o.value&&o.value.includes("\\n")&&(o.value=o.value.replace(/\\n/g,` +`));continue}return!1}for(;!this._accept(4);){if(this._token.type!==14){n+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(i,n)}catch(s){return!1}return e.transform=t,!0}_parseFormatString(e){let t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);let n=this._accept(8,!0);if(n)if(i){if(this._accept(4))return e.appendChild(new Xr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Xr(Number(n))),!0;else return this._backTo(t),!1;if(this._accept(6)){let s=this._accept(9,!0);return!s||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new Xr(Number(n),s)),!0)}else if(this._accept(11)){let s=this._until(4);if(s)return e.appendChild(new Xr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){let s=this._until(4);if(s)return e.appendChild(new Xr(Number(n),void 0,void 0,s)),!0}else if(this._accept(13)){let s=this._until(1);if(s){let o=this._until(4);if(o)return e.appendChild(new Xr(Number(n),void 0,s,o)),!0}}else{let s=this._until(4);if(s)return e.appendChild(new Xr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){if(this._token.type!==14){let t=this._scanner.tokenText(this._token);return e.appendChild(new wt(t)),this._accept(void 0),!0}return!1}}});var lh=x((hTe,lU)=>{var Fle="2.0.0",Mle=256,Nle=Number.MAX_SAFE_INTEGER||9007199254740991,qle=16;lU.exports={SEMVER_SPEC_VERSION:Fle,MAX_LENGTH:Mle,MAX_SAFE_INTEGER:Nle,MAX_SAFE_COMPONENT_LENGTH:qle}});var ch=x((pTe,cU)=>{var $le=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};cU.exports=$le});var Qa=x((Mo,uU)=>{var{MAX_SAFE_COMPONENT_LENGTH:L_}=lh(),Ble=ch();Mo=uU.exports={};var jle=Mo.re=[],Z=Mo.src=[],Q=Mo.t={},Ule=0,xe=(r,e,t)=>{let i=Ule++;Ble(i,e),Q[r]=i,Z[i]=e,jle[i]=new RegExp(e,t?"g":void 0)};xe("NUMERICIDENTIFIER","0|[1-9]\\d*");xe("NUMERICIDENTIFIERLOOSE","[0-9]+");xe("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");xe("MAINVERSION",`(${Z[Q.NUMERICIDENTIFIER]})\\.(${Z[Q.NUMERICIDENTIFIER]})\\.(${Z[Q.NUMERICIDENTIFIER]})`);xe("MAINVERSIONLOOSE",`(${Z[Q.NUMERICIDENTIFIERLOOSE]})\\.(${Z[Q.NUMERICIDENTIFIERLOOSE]})\\.(${Z[Q.NUMERICIDENTIFIERLOOSE]})`);xe("PRERELEASEIDENTIFIER",`(?:${Z[Q.NUMERICIDENTIFIER]}|${Z[Q.NONNUMERICIDENTIFIER]})`);xe("PRERELEASEIDENTIFIERLOOSE",`(?:${Z[Q.NUMERICIDENTIFIERLOOSE]}|${Z[Q.NONNUMERICIDENTIFIER]})`);xe("PRERELEASE",`(?:-(${Z[Q.PRERELEASEIDENTIFIER]}(?:\\.${Z[Q.PRERELEASEIDENTIFIER]})*))`);xe("PRERELEASELOOSE",`(?:-?(${Z[Q.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Z[Q.PRERELEASEIDENTIFIERLOOSE]})*))`);xe("BUILDIDENTIFIER","[0-9A-Za-z-]+");xe("BUILD",`(?:\\+(${Z[Q.BUILDIDENTIFIER]}(?:\\.${Z[Q.BUILDIDENTIFIER]})*))`);xe("FULLPLAIN",`v?${Z[Q.MAINVERSION]}${Z[Q.PRERELEASE]}?${Z[Q.BUILD]}?`);xe("FULL",`^${Z[Q.FULLPLAIN]}$`);xe("LOOSEPLAIN",`[v=\\s]*${Z[Q.MAINVERSIONLOOSE]}${Z[Q.PRERELEASELOOSE]}?${Z[Q.BUILD]}?`);xe("LOOSE",`^${Z[Q.LOOSEPLAIN]}$`);xe("GTLT","((?:<|>)?=?)");xe("XRANGEIDENTIFIERLOOSE",`${Z[Q.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);xe("XRANGEIDENTIFIER",`${Z[Q.NUMERICIDENTIFIER]}|x|X|\\*`);xe("XRANGEPLAIN",`[v=\\s]*(${Z[Q.XRANGEIDENTIFIER]})(?:\\.(${Z[Q.XRANGEIDENTIFIER]})(?:\\.(${Z[Q.XRANGEIDENTIFIER]})(?:${Z[Q.PRERELEASE]})?${Z[Q.BUILD]}?)?)?`);xe("XRANGEPLAINLOOSE",`[v=\\s]*(${Z[Q.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Z[Q.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Z[Q.XRANGEIDENTIFIERLOOSE]})(?:${Z[Q.PRERELEASELOOSE]})?${Z[Q.BUILD]}?)?)?`);xe("XRANGE",`^${Z[Q.GTLT]}\\s*${Z[Q.XRANGEPLAIN]}$`);xe("XRANGELOOSE",`^${Z[Q.GTLT]}\\s*${Z[Q.XRANGEPLAINLOOSE]}$`);xe("COERCE",`(^|[^\\d])(\\d{1,${L_}})(?:\\.(\\d{1,${L_}}))?(?:\\.(\\d{1,${L_}}))?(?:$|[^\\d])`);xe("COERCERTL",Z[Q.COERCE],!0);xe("LONETILDE","(?:~>?)");xe("TILDETRIM",`(\\s*)${Z[Q.LONETILDE]}\\s+`,!0);Mo.tildeTrimReplace="$1~";xe("TILDE",`^${Z[Q.LONETILDE]}${Z[Q.XRANGEPLAIN]}$`);xe("TILDELOOSE",`^${Z[Q.LONETILDE]}${Z[Q.XRANGEPLAINLOOSE]}$`);xe("LONECARET","(?:\\^)");xe("CARETTRIM",`(\\s*)${Z[Q.LONECARET]}\\s+`,!0);Mo.caretTrimReplace="$1^";xe("CARET",`^${Z[Q.LONECARET]}${Z[Q.XRANGEPLAIN]}$`);xe("CARETLOOSE",`^${Z[Q.LONECARET]}${Z[Q.XRANGEPLAINLOOSE]}$`);xe("COMPARATORLOOSE",`^${Z[Q.GTLT]}\\s*(${Z[Q.LOOSEPLAIN]})$|^$`);xe("COMPARATOR",`^${Z[Q.GTLT]}\\s*(${Z[Q.FULLPLAIN]})$|^$`);xe("COMPARATORTRIM",`(\\s*)${Z[Q.GTLT]}\\s*(${Z[Q.LOOSEPLAIN]}|${Z[Q.XRANGEPLAIN]})`,!0);Mo.comparatorTrimReplace="$1$2$3";xe("HYPHENRANGE",`^\\s*(${Z[Q.XRANGEPLAIN]})\\s+-\\s+(${Z[Q.XRANGEPLAIN]})\\s*$`);xe("HYPHENRANGELOOSE",`^\\s*(${Z[Q.XRANGEPLAINLOOSE]})\\s+-\\s+(${Z[Q.XRANGEPLAINLOOSE]})\\s*$`);xe("STAR","(<|>)?=?\\s*\\*");xe("GTE0","^\\s*>=\\s*0.0.0\\s*$");xe("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var uh=x((mTe,fU)=>{var Hle=["includePrerelease","loose","rtl"],Wle=r=>r?typeof r!="object"?{loose:!0}:Hle.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};fU.exports=Wle});var fv=x((gTe,pU)=>{var dU=/^[0-9]+$/,hU=(r,e)=>{let t=dU.test(r),i=dU.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:rhU(e,r);pU.exports={compareIdentifiers:hU,rcompareIdentifiers:zle}});var Di=x((vTe,bU)=>{var dv=ch(),{MAX_LENGTH:mU,MAX_SAFE_INTEGER:hv}=lh(),{re:gU,t:vU}=Qa(),Vle=uh(),{compareIdentifiers:fh}=fv(),Zr=class{constructor(e,t){if(t=Vle(t),e instanceof Zr){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>mU)throw new TypeError(`version is longer than ${mU} characters`);dv("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?gU[vU.LOOSE]:gU[vU.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>hv||this.major<0)throw new TypeError("Invalid major version");if(this.minor>hv||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>hv||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};bU.exports=Zr});var el=x((bTe,SU)=>{var{MAX_LENGTH:Gle}=lh(),{re:yU,t:wU}=Qa(),xU=Di(),Kle=uh(),Jle=(r,e)=>{if(e=Kle(e),r instanceof xU)return r;if(typeof r!="string"||r.length>Gle||!(e.loose?yU[wU.LOOSE]:yU[wU.FULL]).test(r))return null;try{return new xU(r,e)}catch(i){return null}};SU.exports=Jle});var _U=x((yTe,CU)=>{var Yle=el(),Xle=(r,e)=>{let t=Yle(r,e);return t?t.version:null};CU.exports=Xle});var TU=x((wTe,EU)=>{var Zle=el(),Qle=(r,e)=>{let t=Zle(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};EU.exports=Qle});var RU=x((xTe,DU)=>{var ece=Di(),tce=(r,e,t,i)=>{typeof t=="string"&&(i=t,t=void 0);try{return new ece(r,t).inc(e,i).version}catch(n){return null}};DU.exports=tce});var Qr=x((STe,kU)=>{var PU=Di(),ice=(r,e,t)=>new PU(r,t).compare(new PU(e,t));kU.exports=ice});var pv=x((CTe,IU)=>{var rce=Qr(),nce=(r,e,t)=>rce(r,e,t)===0;IU.exports=nce});var AU=x((_Te,LU)=>{var OU=el(),sce=pv(),oce=(r,e)=>{if(sce(r,e))return null;{let t=OU(r),i=OU(e),n=t.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in t)if((a==="major"||a==="minor"||a==="patch")&&t[a]!==i[a])return s+a;return o}};LU.exports=oce});var MU=x((ETe,FU)=>{var ace=Di(),lce=(r,e)=>new ace(r,e).major;FU.exports=lce});var qU=x((TTe,NU)=>{var cce=Di(),uce=(r,e)=>new cce(r,e).minor;NU.exports=uce});var BU=x((DTe,$U)=>{var fce=Di(),dce=(r,e)=>new fce(r,e).patch;$U.exports=dce});var UU=x((RTe,jU)=>{var hce=el(),pce=(r,e)=>{let t=hce(r,e);return t&&t.prerelease.length?t.prerelease:null};jU.exports=pce});var WU=x((PTe,HU)=>{var mce=Qr(),gce=(r,e,t)=>mce(e,r,t);HU.exports=gce});var VU=x((kTe,zU)=>{var vce=Qr(),bce=(r,e)=>vce(r,e,!0);zU.exports=bce});var mv=x((ITe,KU)=>{var GU=Di(),yce=(r,e,t)=>{let i=new GU(r,t),n=new GU(e,t);return i.compare(n)||i.compareBuild(n)};KU.exports=yce});var YU=x((OTe,JU)=>{var wce=mv(),xce=(r,e)=>r.sort((t,i)=>wce(t,i,e));JU.exports=xce});var ZU=x((LTe,XU)=>{var Sce=mv(),Cce=(r,e)=>r.sort((t,i)=>Sce(i,t,e));XU.exports=Cce});var dh=x((ATe,QU)=>{var _ce=Qr(),Ece=(r,e,t)=>_ce(r,e,t)>0;QU.exports=Ece});var gv=x((FTe,eH)=>{var Tce=Qr(),Dce=(r,e,t)=>Tce(r,e,t)<0;eH.exports=Dce});var A_=x((MTe,tH)=>{var Rce=Qr(),Pce=(r,e,t)=>Rce(r,e,t)!==0;tH.exports=Pce});var vv=x((NTe,iH)=>{var kce=Qr(),Ice=(r,e,t)=>kce(r,e,t)>=0;iH.exports=Ice});var bv=x((qTe,rH)=>{var Oce=Qr(),Lce=(r,e,t)=>Oce(r,e,t)<=0;rH.exports=Lce});var F_=x(($Te,nH)=>{var Ace=pv(),Fce=A_(),Mce=dh(),Nce=vv(),qce=gv(),$ce=bv(),Bce=(r,e,t,i)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return Ace(r,t,i);case"!=":return Fce(r,t,i);case">":return Mce(r,t,i);case">=":return Nce(r,t,i);case"<":return qce(r,t,i);case"<=":return $ce(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};nH.exports=Bce});var oH=x((BTe,sH)=>{var jce=Di(),Uce=el(),{re:yv,t:wv}=Qa(),Hce=(r,e)=>{if(r instanceof jce)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(yv[wv.COERCE]);else{let i;for(;(i=yv[wv.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),yv[wv.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;yv[wv.COERCERTL].lastIndex=-1}return t===null?null:Uce(`${t[2]}.${t[3]||"0"}.${t[4]||"0"}`,e)};sH.exports=Hce});var lH=x((jTe,aH)=>{"use strict";aH.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var hh=x((UTe,cH)=>{"use strict";cH.exports=Ue;Ue.Node=tl;Ue.create=Ue;function Ue(r){var e=this;if(e instanceof Ue||(e=new Ue),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach=="function")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Ue.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Ue.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Ue.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Ue.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ue;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Ue.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i{"use strict";var Gce=hh(),il=Symbol("max"),qs=Symbol("length"),ru=Symbol("lengthCalculator"),ph=Symbol("allowStale"),rl=Symbol("maxAge"),$s=Symbol("dispose"),uH=Symbol("noDisposeOnSet"),oi=Symbol("lruList"),On=Symbol("cache"),fH=Symbol("updateAgeOnGet"),M_=()=>1,dH=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let t=this[il]=e.max||1/0,i=e.length||M_;if(this[ru]=typeof i!="function"?M_:i,this[ph]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[rl]=e.maxAge||0,this[$s]=e.dispose,this[uH]=e.noDisposeOnSet||!1,this[fH]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[il]=e||1/0,mh(this)}get max(){return this[il]}set allowStale(e){this[ph]=!!e}get allowStale(){return this[ph]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[rl]=e,mh(this)}get maxAge(){return this[rl]}set lengthCalculator(e){typeof e!="function"&&(e=M_),e!==this[ru]&&(this[ru]=e,this[qs]=0,this[oi].forEach(t=>{t.length=this[ru](t.value,t.key),this[qs]+=t.length})),mh(this)}get lengthCalculator(){return this[ru]}get length(){return this[qs]}get itemCount(){return this[oi].length}rforEach(e,t){t=t||this;for(let i=this[oi].tail;i!==null;){let n=i.prev;pH(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[oi].head;i!==null;){let n=i.next;pH(this,e,i,t),i=n}}keys(){return this[oi].toArray().map(e=>e.key)}values(){return this[oi].toArray().map(e=>e.value)}reset(){this[$s]&&this[oi]&&this[oi].length&&this[oi].forEach(e=>this[$s](e.key,e.value)),this[On]=new Map,this[oi]=new Gce,this[qs]=0}dump(){return this[oi].map(e=>xv(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[oi]}set(e,t,i){if(i=i||this[rl],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[ru](t,e);if(this[On].has(e)){if(s>this[il])return nu(this,this[On].get(e)),!1;let l=this[On].get(e).value;return this[$s]&&(this[uH]||this[$s](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[qs]+=s-l.length,l.length=s,this.get(e),mh(this),!0}let o=new hH(e,t,s,n,i);return o.length>this[il]?(this[$s]&&this[$s](e,t),!1):(this[qs]+=o.length,this[oi].unshift(o),this[On].set(e,this[oi].head),mh(this),!0)}has(e){if(!this[On].has(e))return!1;let t=this[On].get(e).value;return!xv(this,t)}get(e){return N_(this,e,!0)}peek(e){return N_(this,e,!1)}pop(){let e=this[oi].tail;return e?(nu(this,e),e.value):null}del(e){nu(this,this[On].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[On].forEach((e,t)=>N_(this,t,!1))}},N_=(r,e,t)=>{let i=r[On].get(e);if(i){let n=i.value;if(xv(r,n)){if(nu(r,i),!r[ph])return}else t&&(r[fH]&&(i.value.now=Date.now()),r[oi].unshiftNode(i));return n.value}},xv=(r,e)=>{if(!e||!e.maxAge&&!r[rl])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[rl]&&t>r[rl]},mh=r=>{if(r[qs]>r[il])for(let e=r[oi].tail;r[qs]>r[il]&&e!==null;){let t=e.prev;nu(r,e),e=t}},nu=(r,e)=>{if(e){let t=e.value;r[$s]&&r[$s](t.key,t.value),r[qs]-=t.length,r[On].delete(t.key),r[oi].removeNode(e)}},hH=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},pH=(r,e,t,i)=>{let n=t.value;xv(r,n)&&(nu(r,t),r[ph]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};mH.exports=dH});var en=x((WTe,wH)=>{var su=class{constructor(e,t){if(t=Jce(t),e instanceof su)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new su(e.raw,t);if(e instanceof q_)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!bH(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&eue(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=vH.get(i);if(n)return n;let s=this.options.loose,o=s?Ri[pi.HYPHENRANGELOOSE]:Ri[pi.HYPHENRANGE];e=e.replace(o,uue(this.options.includePrerelease)),$t("hyphen replace",e),e=e.replace(Ri[pi.COMPARATORTRIM],Xce),$t("comparator trim",e,Ri[pi.COMPARATORTRIM]),e=e.replace(Ri[pi.TILDETRIM],Zce),e=e.replace(Ri[pi.CARETTRIM],Qce),e=e.split(/\s+/).join(" ");let a=s?Ri[pi.COMPARATORLOOSE]:Ri[pi.COMPARATOR],l=e.split(" ").map(d=>tue(d,this.options)).join(" ").split(/\s+/).map(d=>cue(d,this.options)).filter(this.options.loose?d=>!!d.match(a):()=>!0).map(d=>new q_(d,this.options)),c=l.length,u=new Map;for(let d of l){if(bH(d))return[d];u.set(d.value,d)}u.size>1&&u.has("")&&u.delete("");let f=[...u.values()];return vH.set(i,f),f}intersects(e,t){if(!(e instanceof su))throw new TypeError("a Range is required");return this.set.some(i=>yH(i,t)&&e.set.some(n=>yH(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Yce(e,this.options)}catch(t){return!1}for(let t=0;tr.value==="<0.0.0-0",eue=r=>r.value==="",yH=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},tue=(r,e)=>($t("comp",r,e),r=nue(r,e),$t("caret",r),r=iue(r,e),$t("tildes",r),r=oue(r,e),$t("xrange",r),r=lue(r,e),$t("stars",r),r),Hi=r=>!r||r.toLowerCase()==="x"||r==="*",iue=(r,e)=>r.trim().split(/\s+/).map(t=>rue(t,e)).join(" "),rue=(r,e)=>{let t=e.loose?Ri[pi.TILDELOOSE]:Ri[pi.TILDE];return r.replace(t,(i,n,s,o,a)=>{$t("tilde",r,i,n,s,o,a);let l;return Hi(n)?l="":Hi(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:Hi(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?($t("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,$t("tilde return",l),l})},nue=(r,e)=>r.trim().split(/\s+/).map(t=>sue(t,e)).join(" "),sue=(r,e)=>{$t("caret",r,e);let t=e.loose?Ri[pi.CARETLOOSE]:Ri[pi.CARET],i=e.includePrerelease?"-0":"";return r.replace(t,(n,s,o,a,l)=>{$t("caret",r,n,s,o,a,l);let c;return Hi(s)?c="":Hi(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:Hi(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?($t("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):($t("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),$t("caret return",c),c})},oue=(r,e)=>($t("replaceXRanges",r,e),r.split(/\s+/).map(t=>aue(t,e)).join(" ")),aue=(r,e)=>{r=r.trim();let t=e.loose?Ri[pi.XRANGELOOSE]:Ri[pi.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{$t("xRange",r,i,n,s,o,a,l);let c=Hi(s),u=c||Hi(o),f=u||Hi(a),d=f;return n==="="&&d&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&d?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:f&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),$t("xRange return",i),i})},lue=(r,e)=>($t("replaceStars",r,e),r.trim().replace(Ri[pi.STAR],"")),cue=(r,e)=>($t("replaceGTE0",r,e),r.trim().replace(Ri[e.includePrerelease?pi.GTE0PRE:pi.GTE0],"")),uue=r=>(e,t,i,n,s,o,a,l,c,u,f,d,h)=>(Hi(i)?t="":Hi(n)?t=`>=${i}.0.0${r?"-0":""}`:Hi(s)?t=`>=${i}.${n}.0${r?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,Hi(c)?l="":Hi(u)?l=`<${+c+1}.0.0-0`:Hi(f)?l=`<${c}.${+u+1}.0-0`:d?l=`<=${c}.${u}.${f}-${d}`:r?l=`<${c}.${u}.${+f+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),fue=(r,e,t)=>{for(let i=0;i0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var gh=x((zTe,EH)=>{var vh=Symbol("SemVer ANY"),bh=class{static get ANY(){return vh}constructor(e,t){if(t=due(t),e instanceof bh){if(e.loose===!!t.loose)return e;e=e.value}B_("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===vh?this.value="":this.value=this.operator+this.semver.version,B_("comp",this)}parse(e){let t=this.options.loose?xH[SH.COMPARATORLOOSE]:xH[SH.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new CH(i[2],this.options.loose):this.semver=vh}toString(){return this.value}test(e){if(B_("Comparator.test",e,this.options.loose),this.semver===vh||e===vh)return!0;if(typeof e=="string")try{e=new CH(e,this.options)}catch(t){return!1}return $_(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof bh))throw new TypeError("a Comparator is required");if((!t||typeof t!="object")&&(t={loose:!!t,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new _H(e.value,t).test(this.value);if(e.operator==="")return e.value===""?!0:new _H(this.value,t).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=$_(this.semver,"<",e.semver,t)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=$_(this.semver,">",e.semver,t)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};EH.exports=bh;var due=uh(),{re:xH,t:SH}=Qa(),$_=F_(),B_=ch(),CH=Di(),_H=en()});var yh=x((VTe,TH)=>{var hue=en(),pue=(r,e,t)=>{try{e=new hue(e,t)}catch(i){return!1}return e.test(r)};TH.exports=pue});var RH=x((GTe,DH)=>{var mue=en(),gue=(r,e)=>new mue(r,e).set.map(t=>t.map(i=>i.value).join(" ").trim().split(" "));DH.exports=gue});var kH=x((KTe,PH)=>{var vue=Di(),bue=en(),yue=(r,e,t)=>{let i=null,n=null,s=null;try{s=new bue(e,t)}catch(o){return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new vue(i,t))}),i};PH.exports=yue});var OH=x((JTe,IH)=>{var wue=Di(),xue=en(),Sue=(r,e,t)=>{let i=null,n=null,s=null;try{s=new xue(e,t)}catch(o){return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new wue(i,t))}),i};IH.exports=Sue});var FH=x((YTe,AH)=>{var j_=Di(),Cue=en(),LH=dh(),_ue=(r,e)=>{r=new Cue(r,e);let t=new j_("0.0.0");if(r.test(t)||(t=new j_("0.0.0-0"),r.test(t)))return t;t=null;for(let i=0;i{let a=new j_(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||LH(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||LH(t,s))&&(t=s)}return t&&r.test(t)?t:null};AH.exports=_ue});var NH=x((XTe,MH)=>{var Eue=en(),Tue=(r,e)=>{try{return new Eue(r,e).range||"*"}catch(t){return null}};MH.exports=Tue});var Sv=x((ZTe,jH)=>{var Due=Di(),qH=gh(),{ANY:Rue}=qH,Pue=en(),kue=yh(),$H=dh(),BH=gv(),Iue=bv(),Oue=vv(),Lue=(r,e,t,i)=>{r=new Due(r,i),e=new Pue(e,i);let n,s,o,a,l;switch(t){case">":n=$H,s=Iue,o=BH,a=">",l=">=";break;case"<":n=BH,s=Oue,o=$H,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(kue(r,e,i))return!1;for(let c=0;c{h.semver===Rue&&(h=new qH(">=0.0.0")),f=f||h,d=d||h,n(h.semver,f.semver,i)?f=h:o(h.semver,d.semver,i)&&(d=h)}),f.operator===a||f.operator===l||(!d.operator||d.operator===a)&&s(r,d.semver))return!1;if(d.operator===l&&o(r,d.semver))return!1}return!0};jH.exports=Lue});var HH=x((QTe,UH)=>{var Aue=Sv(),Fue=(r,e,t)=>Aue(r,e,">",t);UH.exports=Fue});var zH=x((eDe,WH)=>{var Mue=Sv(),Nue=(r,e,t)=>Mue(r,e,"<",t);WH.exports=Nue});var KH=x((tDe,GH)=>{var VH=en(),que=(r,e,t)=>(r=new VH(r,t),e=new VH(e,t),r.intersects(e));GH.exports=que});var YH=x((iDe,JH)=>{var $ue=yh(),Bue=Qr();JH.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,f)=>Bue(u,f,t));for(let u of o)$ue(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,f]of i)u===f?a.push(u):!f&&u===o[0]?a.push("*"):f?u===o[0]?a.push(`<=${f}`):a.push(`${u} - ${f}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var XH=en(),Cv=gh(),{ANY:U_}=Cv,wh=yh(),H_=Qr(),jue=(r,e,t={})=>{if(r===e)return!0;r=new XH(r,t),e=new XH(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=Uue(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},Uue=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===U_){if(e.length===1&&e[0].semver===U_)return!0;t.includePrerelease?r=[new Cv(">=0.0.0-0")]:r=[new Cv(">=0.0.0")]}if(e.length===1&&e[0].semver===U_){if(t.includePrerelease)return!0;e=[new Cv(">=0.0.0")]}let i=new Set,n,s;for(let h of r)h.operator===">"||h.operator===">="?n=ZH(n,h,t):h.operator==="<"||h.operator==="<="?s=QH(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=H_(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!wh(h,String(n),t)||s&&!wh(h,String(s),t))return null;for(let p of e)if(!wh(h,String(p),t))return!1;return!0}let a,l,c,u,f=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,d=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;f&&f.prerelease.length===1&&s.operator==="<"&&f.prerelease[0]===0&&(f=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(d&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===d.major&&h.semver.minor===d.minor&&h.semver.patch===d.patch&&(d=!1),h.operator===">"||h.operator===">="){if(a=ZH(n,h,t),a===h&&a!==n)return!1}else if(n.operator===">="&&!wh(n.semver,String(h),t))return!1}if(s){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator==="<"||h.operator==="<="){if(l=QH(s,h,t),l===h&&l!==s)return!1}else if(s.operator==="<="&&!wh(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||d||f)},ZH=(r,e,t)=>{if(!r)return e;let i=H_(r.semver,e.semver,t);return i>0?r:i<0||e.operator===">"&&r.operator===">="?e:r},QH=(r,e,t)=>{if(!r)return e;let i=H_(r.semver,e.semver,t);return i<0?r:i>0||e.operator==="<"&&r.operator==="<="?e:r};eW.exports=jue});var _v=x((nDe,iW)=>{var W_=Qa();iW.exports={re:W_.re,src:W_.src,tokens:W_.t,SEMVER_SPEC_VERSION:lh().SEMVER_SPEC_VERSION,SemVer:Di(),compareIdentifiers:fv().compareIdentifiers,rcompareIdentifiers:fv().rcompareIdentifiers,parse:el(),valid:_U(),clean:TU(),inc:RU(),diff:AU(),major:MU(),minor:qU(),patch:BU(),prerelease:UU(),compare:Qr(),rcompare:WU(),compareLoose:VU(),compareBuild:mv(),sort:YU(),rsort:ZU(),gt:dh(),lt:gv(),eq:pv(),neq:A_(),gte:vv(),lte:bv(),cmp:F_(),coerce:oH(),Comparator:gh(),Range:en(),satisfies:yh(),toComparators:RH(),maxSatisfying:kH(),minSatisfying:OH(),minVersion:FH(),validRange:NH(),outside:Sv(),gtr:HH(),ltr:zH(),intersects:KH(),simplifyRange:YH(),subset:tW()}});var rW,oDe,Ln,xh,nW=R(()=>{rW=E(require("events"));P0();oDe=U()("model-installBuffer");(function(n){n[n.Waiting=0]="Waiting",n[n.Faild=1]="Faild",n[n.Progressing=2]="Progressing",n[n.Success=3]="Success"})(Ln||(Ln={}));xh=class extends rW.EventEmitter{constructor(e=!1,t=!1,i=void 0){super();this.isUpdate=e;this.isSync=t;this.channel=i;this.statMap=new Map;this.messagesMap=new Map;this.names=[]}setExtensions(e){this.statMap.clear(),this.names=e;for(let t of e)this.statMap.set(t,0)}addMessage(e,t,i=!1){if(i&&this.channel)return;let n=this.messagesMap.get(e)||[];this.messagesMap.set(e,n.concat(t.trim().split(/\r?\n/))),this.channel&&this.channel.appendLine(`[${e}] ${t}`)}startProgress(e){for(let t of e)this.statMap.set(t,2)}finishProgress(e,t=!0){this.channel&&(t?this.channel.appendLine(`[${e}] install succeed!`):this.channel.appendLine(`[${e}] install failed!`)),this.statMap.set(e,t?3:1)}get remains(){let e=0;for(let t of this.names){let i=this.statMap.get(t);[3,1].includes(i)||(e=e+1)}return e}getLines(){let e=[];for(let t of this.names){let i=this.statMap.get(t),n="*";switch(i){case 2:{let o=new Date,a=Math.floor(o.getMilliseconds()/100);n=R0[a];break}case 1:n="\u2717";break;case 3:n="\u2713";break}let s=this.messagesMap.get(t)||[];e.push(`- ${n} ${t} ${s.length?s[s.length-1]:""}`)}return e}getMessages(e){if(e<=1)return[];let t=this.names[e-2];return t?this.messagesMap.get(t):[]}draw(e,t){let{remains:i}=this,s=[i==0?`${this.isUpdate?"Update":"Install"} finished`:`Installing, ${i} remains...`,"",...this.getLines()];t.setLines(s,{start:0,end:-1,strictIndexing:!1},!0),i==0&&this.interval&&(clearInterval(this.interval),this.interval=null),process.env.VIM_NODE_RPC&&e.command("redraw",!0)}highlight(e){e.call("matchadd",["CocListFgCyan","^\\-\\s\\zs\\*"],!0),e.call("matchadd",["CocListFgGreen","^\\-\\s\\zs\u2713"],!0),e.call("matchadd",["CocListFgRed","^\\-\\s\\zs\u2717"],!0),e.call("matchadd",["CocListFgYellow","^-.\\{3\\}\\zs\\S\\+"],!0)}async show(e){let{isSync:t}=this;if(this.channel)return;e.pauseNotification(),e.command(t?"enew":"vs +enew",!0),e.call("bufnr",["%"],!0),e.command("setl buftype=nofile bufhidden=wipe noswapfile nobuflisted wrap undolevels=-1",!0),t||e.command("nnoremap q :q",!0),this.highlight(e);let i=await e.resumeNotification(),n=i&&i[1]==null?i[0][1]:null;if(!n)return;this.bufnr=n;let s=e.createBuffer(n);this.interval=setInterval(()=>{this.draw(e,s)},100)}dispose(){this.interval&&clearInterval(this.interval)}}});var lW=x(nl=>{nl.parse=nl.decode=Hue;nl.stringify=nl.encode=sW;nl.safe=ou;nl.unsafe=Ev;var z_=typeof process!="undefined"&&process.platform==="win32"?`\r +`:` +`;function sW(r,e){var t=[],i="";typeof e=="string"?e={section:e,whitespace:!1}:(e=e||{},e.whitespace=e.whitespace===!0);var n=e.whitespace?" = ":"=";return Object.keys(r).forEach(function(s,o,a){var l=r[s];l&&Array.isArray(l)?l.forEach(function(c){i+=ou(s+"[]")+n+ou(c)+` +`}):l&&typeof l=="object"?t.push(s):i+=ou(s)+n+ou(l)+z_}),e.section&&i.length&&(i="["+ou(e.section)+"]"+z_+i),t.forEach(function(s,o,a){var l=oW(s).join("\\."),c=(e.section?e.section+".":"")+l,u=sW(r[s],{section:c,whitespace:e.whitespace});i.length&&u.length&&(i+=z_),i+=u}),i}function oW(r){return r.replace(/\1/g,"LITERAL\\1LITERAL").replace(/\\\./g,"").split(/\./).map(function(e){return e.replace(/\1/g,"\\.").replace(/\2LITERAL\\1LITERAL\2/g,"")})}function Hue(r){var e={},t=e,i=null,n=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i,s=r.split(/[\r\n]+/g);return s.forEach(function(o,a,l){if(!(!o||o.match(/^\s*[;#]/))){var c=o.match(n);if(!!c){if(c[1]!==void 0){if(i=Ev(c[1]),i==="__proto__"){t={};return}t=e[i]=e[i]||{};return}var u=Ev(c[2]);if(u!=="__proto__"){var f=c[3]?Ev(c[4]):!0;switch(f){case"true":case"false":case"null":f=JSON.parse(f)}if(u.length>2&&u.slice(-2)==="[]"){if(u=u.substring(0,u.length-2),u==="__proto__")return;t[u]?Array.isArray(t[u])||(t[u]=[t[u]]):t[u]=[]}Array.isArray(t[u])?t[u].push(f):t[u]=f}}}}),Object.keys(e).filter(function(o,a,l){if(!e[o]||typeof e[o]!="object"||Array.isArray(e[o]))return!1;var c=oW(o),u=e,f=c.pop(),d=f.replace(/\\\./g,".");return c.forEach(function(h,p,g){h!=="__proto__"&&((!u[h]||typeof u[h]!="object")&&(u[h]={}),u=u[h])}),u===e&&d===f?!1:(u[d]=e[o],!0)}).forEach(function(o,a,l){delete e[o]}),e}function aW(r){return r.charAt(0)==='"'&&r.slice(-1)==='"'||r.charAt(0)==="'"&&r.slice(-1)==="'"}function ou(r){return typeof r!="string"||r.match(/[=\r\n]/)||r.match(/^\[/)||r.length>1&&aW(r)||r!==r.trim()?JSON.stringify(r):r.replace(/;/g,"\\;").replace(/#/g,"\\#")}function Ev(r,e){if(r=(r||"").trim(),aW(r)){r.charAt(0)==="'"&&(r=r.substr(1,r.length-2));try{r=JSON.parse(r)}catch(a){}}else{for(var t=!1,i="",n=0,s=r.length;n{"use strict";var V_=1,cW=2;function Wue(){return""}function zue(r,e,t){return r.slice(e,t).replace(/\S/g," ")}uW.exports=function(r,e){e=e||{};for(var t,i,n=!1,s=!1,o=0,a="",l=e.whitespace===!1?Wue:zue,c=0;c{"use strict";var dW=require("fs"),Vue=lW(),Sh=require("path"),Gue=fW(),Kue=au.parse=function(r){return/^\s*{/.test(r)?JSON.parse(Gue(r)):Vue.parse(r)},Jue=au.file=function(){var r=[].slice.call(arguments).filter(function(n){return n!=null});for(var e in r)if(typeof r[e]!="string")return;var t=Sh.join.apply(null,r),i;try{return dW.readFileSync(t,"utf-8")}catch(n){return}},uDe=au.json=function(){var r=Jue.apply(null,arguments);return r?Kue(r):null},fDe=au.env=function(r,e){e=e||process.env;var t={},i=r.length;for(var n in e)if(n.toLowerCase().indexOf(r.toLowerCase())===0){for(var s=n.substring(i).split("__"),o;(o=s.indexOf(""))>-1;)s.splice(o,1);var a=t;s.forEach(function(c,u){!c||typeof a!="object"||(u===s.length-1&&(a[c]=e[n]),a[c]===void 0&&(a[c]={}),a=a[c])})}return t},dDe=au.find=function(){var r=Sh.join.apply(null,[].slice.call(arguments));function e(t,i){var n=Sh.join(t,i);try{return dW.statSync(n),n}catch(s){if(Sh.dirname(t)!==t)return e(Sh.dirname(t),i)}}return e(process.cwd(),r)}});var yW=x((pDe,bW)=>{"use strict";function pW(r){return r instanceof Buffer||r instanceof Date||r instanceof RegExp}function mW(r){if(r instanceof Buffer){var e=Buffer.alloc?Buffer.alloc(r.length):new Buffer(r.length);return r.copy(e),e}else{if(r instanceof Date)return new Date(r.getTime());if(r instanceof RegExp)return new RegExp(r);throw new Error("Unexpected situation")}}function gW(r){var e=[];return r.forEach(function(t,i){typeof t=="object"&&t!==null?Array.isArray(t)?e[i]=gW(t):pW(t)?e[i]=mW(t):e[i]=G_({},t):e[i]=t}),e}function vW(r,e){return e==="__proto__"?void 0:r[e]}var G_=bW.exports=function(){if(arguments.length<1||typeof arguments[0]!="object")return!1;if(arguments.length<2)return arguments[0];var r=arguments[0],e=Array.prototype.slice.call(arguments,1),t,i,n;return e.forEach(function(s){typeof s!="object"||s===null||Array.isArray(s)||Object.keys(s).forEach(function(o){if(i=vW(r,o),t=vW(s,o),t!==r)if(typeof t!="object"||t===null){r[o]=t;return}else if(Array.isArray(t)){r[o]=gW(t);return}else if(pW(t)){r[o]=mW(t);return}else if(typeof i!="object"||i===null||Array.isArray(i)){r[o]=G_({},t);return}else{r[o]=G_(i,t);return}})}),r}});var SW=x((mDe,xW)=>{xW.exports=function(r,e){e||(e={});var t={bools:{},strings:{},unknownFn:null};typeof e.unknown=="function"&&(t.unknownFn=e.unknown),typeof e.boolean=="boolean"&&e.boolean?t.allBools=!0:[].concat(e.boolean).filter(Boolean).forEach(function(_){t.bools[_]=!0});var i={};Object.keys(e.alias||{}).forEach(function(_){i[_]=[].concat(e.alias[_]),i[_].forEach(function(L){i[L]=[_].concat(i[_].filter(function($){return L!==$}))})}),[].concat(e.string).filter(Boolean).forEach(function(_){t.strings[_]=!0,i[_]&&(t.strings[i[_]]=!0)});var n=e.default||{},s={_:[]};Object.keys(t.bools).forEach(function(_){l(_,n[_]===void 0?!1:n[_])});var o=[];r.indexOf("--")!==-1&&(o=r.slice(r.indexOf("--")+1),r=r.slice(0,r.indexOf("--")));function a(_,L){return t.allBools&&/^--[^=]+$/.test(L)||t.strings[_]||t.bools[_]||i[_]}function l(_,L,$){if(!($&&t.unknownFn&&!a(_,$)&&t.unknownFn($)===!1)){var I=!t.strings[_]&&wW(L)?Number(L):L;c(s,_.split("."),I),(i[_]||[]).forEach(function(W){c(s,W.split("."),I)})}}function c(_,L,$){for(var I=_,W=0;W{var Ch=hW(),lu=require("path").join,Xue=yW(),CW="/etc",_W=process.platform==="win32",_h=_W?process.env.USERPROFILE:process.env.HOME;EW.exports=function(r,e,t,i){if(typeof r!="string")throw new Error("rc(name): name *must* be string");t||(t=SW()(process.argv.slice(2))),e=(typeof e=="string"?Ch.json(e):e)||{},i=i||Ch.parse;var n=Ch.env(r+"_"),s=[e],o=[];function a(l){if(!(o.indexOf(l)>=0)){var c=Ch.file(l);c&&(s.push(i(c)),o.push(l))}}return _W||[lu(CW,r,"config"),lu(CW,r+"rc")].forEach(a),_h&&[lu(_h,".config",r,"config"),lu(_h,".config",r),lu(_h,"."+r,"config"),lu(_h,"."+r+"rc")].forEach(a),a(Ch.find("."+r+"rc")),n.config&&a(n.config),t.config&&a(t.config),Xue.apply(null,s.concat([n,t,o.length?{configs:o,config:o[o.length-1]}:void 0]))}});var PW=x((K_,RW)=>{var Tv=require("buffer"),Bs=Tv.Buffer;function DW(r,e){for(var t in r)e[t]=r[t]}Bs.from&&Bs.alloc&&Bs.allocUnsafe&&Bs.allocUnsafeSlow?RW.exports=Tv:(DW(Tv,K_),K_.Buffer=cu);function cu(r,e,t){return Bs(r,e,t)}DW(Bs,cu);cu.from=function(r,e,t){if(typeof r=="number")throw new TypeError("Argument must not be a number");return Bs(r,e,t)};cu.alloc=function(r,e,t){if(typeof r!="number")throw new TypeError("Argument must be a number");var i=Bs(r);return e!==void 0?typeof t=="string"?i.fill(e,t):i.fill(e):i.fill(0),i};cu.allocUnsafe=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return Bs(r)};cu.allocUnsafeSlow=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return Tv.SlowBuffer(r)}});var FW=x((vDe,J_)=>{"use strict";J_.exports=lfe;J_.exports.parse=dfe;var kW=require("path").basename,Zue=PW().Buffer,Que=/[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g,efe=/%[0-9A-Fa-f]{2}/,tfe=/%([0-9A-Fa-f]{2})/g,IW=/[^\x20-\x7e\xa0-\xff]/g,ife=/\\([\u0000-\u007f])/g,rfe=/([\\"])/g,OW=/;[\x09\x20]*([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*=[\x09\x20]*("(?:[\x20!\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*/g,nfe=/^[\x20-\x7e\x80-\xff]+$/,sfe=/^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/,ofe=/^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+.^_`|~-])+)$/,afe=/^([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*(?:$|;)/;function lfe(r,e){var t=e||{},i=t.type||"attachment",n=cfe(r,t.fallback);return ufe(new AW(i,n))}function cfe(r,e){if(r!==void 0){var t={};if(typeof r!="string")throw new TypeError("filename must be a string");if(e===void 0&&(e=!0),typeof e!="string"&&typeof e!="boolean")throw new TypeError("fallback must be a string or boolean");if(typeof e=="string"&&IW.test(e))throw new TypeError("fallback must be ISO-8859-1 string");var i=kW(r),n=nfe.test(i),s=typeof e!="string"?e&&LW(i):kW(e),o=typeof s=="string"&&s!==i;return(o||!n||efe.test(i))&&(t["filename*"]=i),(n||o)&&(t.filename=o?s:i),t}}function ufe(r){var e=r.parameters,t=r.type;if(!t||typeof t!="string"||!sfe.test(t))throw new TypeError("invalid type");var i=String(t).toLowerCase();if(e&&typeof e=="object")for(var n,s=Object.keys(e).sort(),o=0;o{var Dv;MW.exports=function(){if(!Dv)try{Dv=Bt()("follow-redirects")}catch(r){Dv=function(){}}Dv.apply(null,arguments)}});var eE=x((yDe,Q_)=>{var uu=require("url"),Y_=uu.URL,vfe=require("http"),bfe=require("https"),qW=require("stream").Writable,yfe=require("assert"),$W=NW(),sl=["abort","aborted","connect","error","socket","timeout"],X_=Object.create(null);sl.forEach(function(r){X_[r]=function(e,t,i){this._redirectable.emit(r,e,t,i)}});var wfe=Rv("ERR_FR_REDIRECTION_FAILURE",""),xfe=Rv("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded"),Sfe=Rv("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),Cfe=Rv("ERR_STREAM_WRITE_AFTER_END","write after end");function Tr(r,e){qW.call(this),this._sanitizeOptions(r),this._options=r,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],e&&this.on("response",e);var t=this;this._onNativeResponse=function(i){t._processResponse(i)},this._performRequest()}Tr.prototype=Object.create(qW.prototype);Tr.prototype.abort=function(){UW(this._currentRequest),this.emit("abort")};Tr.prototype.write=function(r,e,t){if(this._ending)throw new Cfe;if(!(typeof r=="string"||typeof r=="object"&&"length"in r))throw new TypeError("data should be a string, Buffer or Uint8Array");if(typeof e=="function"&&(t=e,e=null),r.length===0){t&&t();return}this._requestBodyLength+r.length<=this._options.maxBodyLength?(this._requestBodyLength+=r.length,this._requestBodyBuffers.push({data:r,encoding:e}),this._currentRequest.write(r,e,t)):(this.emit("error",new Sfe),this.abort())};Tr.prototype.end=function(r,e,t){if(typeof r=="function"?(t=r,r=e=null):typeof e=="function"&&(t=e,e=null),!r)this._ended=this._ending=!0,this._currentRequest.end(null,null,t);else{var i=this,n=this._currentRequest;this.write(r,e,function(){i._ended=!0,n.end(null,null,t)}),this._ending=!0}};Tr.prototype.setHeader=function(r,e){this._options.headers[r]=e,this._currentRequest.setHeader(r,e)};Tr.prototype.removeHeader=function(r){delete this._options.headers[r],this._currentRequest.removeHeader(r)};Tr.prototype.setTimeout=function(r,e){var t=this;e&&this.on("timeout",e);function i(o){o.setTimeout(r),o.removeListener("timeout",o.destroy),o.addListener("timeout",o.destroy)}function n(o){t._timeout&&clearTimeout(t._timeout),t._timeout=setTimeout(function(){t.emit("timeout"),s()},r),i(o)}function s(){clearTimeout(this._timeout),e&&t.removeListener("timeout",e),this.socket||t._currentRequest.removeListener("socket",n)}return this.socket?n(this.socket):this._currentRequest.once("socket",n),this.on("socket",i),this.once("response",s),this.once("error",s),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(r){Tr.prototype[r]=function(e,t){return this._currentRequest[r](e,t)}});["aborted","connection","socket"].forEach(function(r){Object.defineProperty(Tr.prototype,r,{get:function(){return this._currentRequest[r]}})});Tr.prototype._sanitizeOptions=function(r){if(r.headers||(r.headers={}),r.host&&(r.hostname||(r.hostname=r.host),delete r.host),!r.pathname&&r.path){var e=r.path.indexOf("?");e<0?r.pathname=r.path:(r.pathname=r.path.substring(0,e),r.search=r.path.substring(e))}};Tr.prototype._performRequest=function(){var r=this._options.protocol,e=this._options.nativeProtocols[r];if(!e){this.emit("error",new TypeError("Unsupported protocol "+r));return}if(this._options.agents){var t=r.substr(0,r.length-1);this._options.agent=this._options.agents[t]}var i=this._currentRequest=e.request(this._options,this._onNativeResponse);this._currentUrl=uu.format(this._options),i._redirectable=this;for(var n=0;n=300&&e<400){if(UW(this._currentRequest),r.destroy(),++this._redirectCount>this._options.maxRedirects){this.emit("error",new xfe);return}((e===301||e===302)&&this._options.method==="POST"||e===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],Z_(/^content-/i,this._options.headers));var i=Z_(/^host$/i,this._options.headers)||uu.parse(this._currentUrl).hostname,n=uu.resolve(this._currentUrl,t);$W("redirecting to",n),this._isRedirect=!0;var s=uu.parse(n);if(Object.assign(this._options,s),s.hostname!==i&&Z_(/^authorization$/i,this._options.headers),typeof this._options.beforeRedirect=="function"){var o={headers:r.headers};try{this._options.beforeRedirect.call(null,this._options,o)}catch(l){this.emit("error",l);return}this._sanitizeOptions(this._options)}try{this._performRequest()}catch(l){var a=new wfe("Redirected request failed: "+l.message);a.cause=l,this.emit("error",a)}}else r.responseUrl=this._currentUrl,r.redirects=this._redirects,this.emit("response",r),this._requestBodyBuffers=[]};function BW(r){var e={maxRedirects:21,maxBodyLength:10*1024*1024},t={};return Object.keys(r).forEach(function(i){var n=i+":",s=t[n]=r[i],o=e[i]=Object.create(s);function a(c,u,f){if(typeof c=="string"){var d=c;try{c=jW(new Y_(d))}catch(h){c=uu.parse(d)}}else Y_&&c instanceof Y_?c=jW(c):(f=u,u=c,c={protocol:n});return typeof u=="function"&&(f=u,u=null),u=Object.assign({maxRedirects:e.maxRedirects,maxBodyLength:e.maxBodyLength},c,u),u.nativeProtocols=t,yfe.equal(u.protocol,n,"protocol mismatch"),$W("options",u),new Tr(u,f)}function l(c,u,f){var d=o.request(c,u,f);return d.end(),d}Object.defineProperties(o,{request:{value:a,configurable:!0,enumerable:!0,writable:!0},get:{value:l,configurable:!0,enumerable:!0,writable:!0}})}),e}function _fe(){}function jW(r){var e={protocol:r.protocol,hostname:r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,hash:r.hash,search:r.search,pathname:r.pathname,path:r.pathname+r.search,href:r.href};return r.port!==""&&(e.port=Number(r.port)),e}function Z_(r,e){var t;for(var i in e)r.test(i)&&(t=e[i],delete e[i]);return t}function Rv(r,e){function t(i){Error.captureStackTrace(this,this.constructor),this.message=i||e}return t.prototype=new Error,t.prototype.constructor=t,t.prototype.name="Error ["+r+"]",t.prototype.code=r,t}function UW(r){for(var e=0;e{"use strict";var HW=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);WW.exports=r=>r?Object.keys(r).map(e=>[HW.has(e)?HW.get(e):e,r[e]]).reduce((e,t)=>(e[t[0]]=t[1],e),Object.create(null)):{}});var du=x((xDe,QW)=>{"use strict";var Efe=require("events"),zW=require("stream"),Eh=hh(),VW=require("string_decoder").StringDecoder,js=Symbol("EOF"),Th=Symbol("maybeEmitEnd"),No=Symbol("emittedEnd"),Pv=Symbol("emittingEnd"),kv=Symbol("closed"),GW=Symbol("read"),tE=Symbol("flush"),KW=Symbol("flushChunk"),ar=Symbol("encoding"),Us=Symbol("decoder"),Iv=Symbol("flowing"),Dh=Symbol("paused"),Rh=Symbol("resume"),Wi=Symbol("bufferLength"),JW=Symbol("bufferPush"),iE=Symbol("bufferShift"),Pi=Symbol("objectMode"),ki=Symbol("destroyed"),YW=global._MP_NO_ITERATOR_SYMBOLS_!=="1",Tfe=YW&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),Dfe=YW&&Symbol.iterator||Symbol("iterator not implemented"),XW=r=>r==="end"||r==="finish"||r==="prefinish",Rfe=r=>r instanceof ArrayBuffer||typeof r=="object"&&r.constructor&&r.constructor.name==="ArrayBuffer"&&r.byteLength>=0,Pfe=r=>!Buffer.isBuffer(r)&&ArrayBuffer.isView(r);QW.exports=class ZW extends zW{constructor(e){super();this[Iv]=!1,this[Dh]=!1,this.pipes=new Eh,this.buffer=new Eh,this[Pi]=e&&e.objectMode||!1,this[Pi]?this[ar]=null:this[ar]=e&&e.encoding||null,this[ar]==="buffer"&&(this[ar]=null),this[Us]=this[ar]?new VW(this[ar]):null,this[js]=!1,this[No]=!1,this[Pv]=!1,this[kv]=!1,this.writable=!0,this.readable=!0,this[Wi]=0,this[ki]=!1}get bufferLength(){return this[Wi]}get encoding(){return this[ar]}set encoding(e){if(this[Pi])throw new Error("cannot set encoding in objectMode");if(this[ar]&&e!==this[ar]&&(this[Us]&&this[Us].lastNeed||this[Wi]))throw new Error("cannot change encoding");this[ar]!==e&&(this[Us]=e?new VW(e):null,this.buffer.length&&(this.buffer=this.buffer.map(t=>this[Us].write(t)))),this[ar]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Pi]}set objectMode(e){this[Pi]=this[Pi]||!!e}write(e,t,i){if(this[js])throw new Error("write after end");return this[ki]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof t=="function"&&(i=t,t="utf8"),t||(t="utf8"),!this[Pi]&&!Buffer.isBuffer(e)&&(Pfe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):Rfe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[Wi]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[Pi]&&!(t===this[ar]&&!this[Us].lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[ar]&&(e=this[Us].write(e)),this.flowing?(this[Wi]!==0&&this[tE](!0),this.emit("data",e)):this[JW](e),this[Wi]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[ki])return null;try{return this[Wi]===0||e===0||e>this[Wi]?null:(this[Pi]&&(e=null),this.buffer.length>1&&!this[Pi]&&(this.encoding?this.buffer=new Eh([Array.from(this.buffer).join("")]):this.buffer=new Eh([Buffer.concat(Array.from(this.buffer),this[Wi])])),this[GW](e||null,this.buffer.head.value))}finally{this[Th]()}}[GW](e,t){return e===t.length||e===null?this[iE]():(this.buffer.head.value=t.slice(e),t=t.slice(0,e),this[Wi]-=e),this.emit("data",t),!this.buffer.length&&!this[js]&&this.emit("drain"),t}end(e,t,i){return typeof e=="function"&&(i=e,e=null),typeof t=="function"&&(i=t,t="utf8"),e&&this.write(e,t),i&&this.once("end",i),this[js]=!0,this.writable=!1,(this.flowing||!this[Dh])&&this[Th](),this}[Rh](){this[ki]||(this[Dh]=!1,this[Iv]=!0,this.emit("resume"),this.buffer.length?this[tE]():this[js]?this[Th]():this.emit("drain"))}resume(){return this[Rh]()}pause(){this[Iv]=!1,this[Dh]=!0}get destroyed(){return this[ki]}get flowing(){return this[Iv]}get paused(){return this[Dh]}[JW](e){return this[Pi]?this[Wi]+=1:this[Wi]+=e.length,this.buffer.push(e)}[iE](){return this.buffer.length&&(this[Pi]?this[Wi]-=1:this[Wi]-=this.buffer.head.value.length),this.buffer.shift()}[tE](e){do;while(this[KW](this[iE]()));!e&&!this.buffer.length&&!this[js]&&this.emit("drain")}[KW](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,t){if(this[ki])return;let i=this[No];t=t||{},e===process.stdout||e===process.stderr?t.end=!1:t.end=t.end!==!1;let n={dest:e,opts:t,ondrain:s=>this[Rh]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[Rh](),i&&n.opts.end&&n.dest.end(),e}addListener(e,t){return this.on(e,t)}on(e,t){try{return super.on(e,t)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[Rh]():XW(e)&&this[No]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[No]}[Th](){!this[Pv]&&!this[No]&&!this[ki]&&this.buffer.length===0&&this[js]&&(this[Pv]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[kv]&&this.emit("close"),this[Pv]=!1)}emit(e,t){if(e!=="error"&&e!=="close"&&e!==ki&&this[ki])return;if(e==="data"){if(!t)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(t)===!1&&this.pause())}else if(e==="end"){if(this[No]===!0)return;this[No]=!0,this.readable=!1,this[Us]&&(t=this[Us].end(),t&&(this.pipes.forEach(n=>n.dest.write(t)),super.emit("data",t))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[kv]=!0,!this[No]&&!this[ki]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=t,arguments.length>2)for(let n=2;n{e.push(i),this[Pi]||(e.dataLength+=i.length)}),t.then(()=>e)}concat(){return this[Pi]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Pi]?Promise.reject(new Error("cannot concat in objectMode")):this[ar]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(ki,()=>t(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>t(i))})}[Tfe](){return{next:()=>{let t=this.read();if(t!==null)return Promise.resolve({done:!1,value:t});if(this[js])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[js]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(ki,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[Dfe](){return{next:()=>{let t=this.read();return{value:t,done:t===null}}}}destroy(e){return this[ki]?(e?this.emit("error",e):this.emit(ki),this):(this[ki]=!0,this.buffer=new Eh,this[Wi]=0,typeof this.close=="function"&&!this[kv]&&this.close(),e?this.emit("error",e):this.emit(ki),this)}static isStream(e){return!!e&&(e instanceof ZW||e instanceof zW||e instanceof Efe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var t2=x((SDe,e2)=>{var kfe=require("zlib").constants||{ZLIB_VERNUM:4736};e2.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},kfe))});var fE=x(Dr=>{"use strict";var rE=require("assert"),qo=require("buffer").Buffer,i2=require("zlib"),ol=Dr.constants=t2(),Ife=du(),r2=qo.concat,al=Symbol("_superWrite"),Ph=class extends Error{constructor(e){super("zlib: "+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},Ofe=Symbol("opts"),kh=Symbol("flushFlag"),n2=Symbol("finishFlushFlag"),nE=Symbol("fullFlushFlag"),ct=Symbol("handle"),Ov=Symbol("onError"),hu=Symbol("sawError"),sE=Symbol("level"),oE=Symbol("strategy"),aE=Symbol("ended"),CDe=Symbol("_defaultFullFlush"),lE=class extends Ife{constructor(e,t){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[hu]=!1,this[aE]=!1,this[Ofe]=e,this[kh]=e.flush,this[n2]=e.finishFlush;try{this[ct]=new i2[t](e)}catch(i){throw new Ph(i)}this[Ov]=i=>{this[hu]||(this[hu]=!0,this.close(),this.emit("error",i))},this[ct].on("error",i=>this[Ov](new Ph(i))),this.once("end",()=>this.close)}close(){this[ct]&&(this[ct].close(),this[ct]=null,this.emit("close"))}reset(){if(!this[hu])return rE(this[ct],"zlib binding closed"),this[ct].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[nE]),this.write(Object.assign(qo.alloc(0),{[kh]:e})))}end(e,t,i){return e&&this.write(e,t),this.flush(this[n2]),this[aE]=!0,super.end(null,null,i)}get ended(){return this[aE]}write(e,t,i){if(typeof t=="function"&&(i=t,t="utf8"),typeof e=="string"&&(e=qo.from(e,t)),this[hu])return;rE(this[ct],"zlib binding closed");let n=this[ct]._handle,s=n.close;n.close=()=>{};let o=this[ct].close;this[ct].close=()=>{},qo.concat=c=>c;let a;try{let c=typeof e[kh]=="number"?e[kh]:this[kh];a=this[ct]._processChunk(e,c),qo.concat=r2}catch(c){qo.concat=r2,this[Ov](new Ph(c))}finally{this[ct]&&(this[ct]._handle=n,n.close=s,this[ct].close=o,this[ct].removeAllListeners("error"))}this[ct]&&this[ct].on("error",c=>this[Ov](new Ph(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[al](qo.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[ct].params(e,t)}finally{this[ct].flush=i}this[ct]&&(this[sE]=e,this[oE]=t)}}}},s2=class extends $o{constructor(e){super(e,"Deflate")}},o2=class extends $o{constructor(e){super(e,"Inflate")}},cE=Symbol("_portable"),a2=class extends $o{constructor(e){super(e,"Gzip");this[cE]=e&&!!e.portable}[al](e){return this[cE]?(this[cE]=!1,e[9]=255,super[al](e)):super[al](e)}},l2=class extends $o{constructor(e){super(e,"Gunzip")}},c2=class extends $o{constructor(e){super(e,"DeflateRaw")}},u2=class extends $o{constructor(e){super(e,"InflateRaw")}},f2=class extends $o{constructor(e){super(e,"Unzip")}},uE=class extends lE{constructor(e,t){e=e||{},e.flush=e.flush||ol.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||ol.BROTLI_OPERATION_FINISH,super(e,t),this[nE]=ol.BROTLI_OPERATION_FLUSH}},d2=class extends uE{constructor(e){super(e,"BrotliCompress")}},h2=class extends uE{constructor(e){super(e,"BrotliDecompress")}};Dr.Deflate=s2;Dr.Inflate=o2;Dr.Gzip=a2;Dr.Gunzip=l2;Dr.DeflateRaw=c2;Dr.InflateRaw=u2;Dr.Unzip=f2;typeof i2.BrotliCompress=="function"?(Dr.BrotliCompress=d2,Dr.BrotliDecompress=h2):Dr.BrotliCompress=Dr.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var pu=x((EDe,p2)=>{var Lfe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;p2.exports=Lfe!=="win32"?r=>r:r=>r&&r.replace(/\\/g,"/")});var Lv=x((DDe,m2)=>{"use strict";var Afe=du(),dE=pu(),hE=Symbol("slurp");m2.exports=class extends Afe{constructor(e,t,i){super();switch(this.pause(),this.extended=t,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=dE(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=dE(e.linkpath),this.uname=e.uname,this.gname=e.gname,t&&this[hE](t),i&&this[hE](i,!0)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-t),this.blockRemain=Math.max(0,n-t),this.ignore?!0:i>=t?super.write(e):super.write(e.slice(0,i))}[hE](e,t){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(t&&i==="path")&&(this[i]=i==="path"||i==="linkpath"?dE(e[i]):e[i])}}});var pE=x(Av=>{"use strict";Av.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);Av.code=new Map(Array.from(Av.name).map(r=>[r[1],r[0]]))});var y2=x((PDe,b2)=>{"use strict";var Ffe=(r,e)=>{if(Number.isSafeInteger(r))r<0?Nfe(r,e):Mfe(r,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},Mfe=(r,e)=>{e[0]=128;for(var t=e.length;t>1;t--)e[t-1]=r&255,r=Math.floor(r/256)},Nfe=(r,e)=>{e[0]=255;var t=!1;r=r*-1;for(var i=e.length;i>1;i--){var n=r&255;r=Math.floor(r/256),t?e[i-1]=g2(n):n===0?e[i-1]=0:(t=!0,e[i-1]=v2(n))}},qfe=r=>{let e=r[0],t=e===128?Bfe(r.slice(1,r.length)):e===255?$fe(r):null;if(t===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(t))throw Error("parsed number outside of javascript safe integer range");return t},$fe=r=>{for(var e=r.length,t=0,i=!1,n=e-1;n>-1;n--){var s=r[n],o;i?o=g2(s):s===0?o=s:(i=!0,o=v2(s)),o!==0&&(t-=o*Math.pow(256,e-n-1))}return t},Bfe=r=>{for(var e=r.length,t=0,i=e-1;i>-1;i--){var n=r[i];n!==0&&(t+=n*Math.pow(256,e-i-1))}return t},g2=r=>(255^r)&255,v2=r=>(255^r)+1&255;b2.exports={encode:Ffe,parse:qfe}});var gu=x((kDe,S2)=>{"use strict";var mE=pE(),mu=require("path").posix,w2=y2(),gE=Symbol("slurp"),Rr=Symbol("type"),x2=class{constructor(e,t,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Rr]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,t||0,i,n):e&&this.set(e)}decode(e,t,i,n){if(t||(t=0),!e||!(e.length>=t+512))throw new Error("need 512 bytes for header");if(this.path=ll(e,t,100),this.mode=Bo(e,t+100,8),this.uid=Bo(e,t+108,8),this.gid=Bo(e,t+116,8),this.size=Bo(e,t+124,12),this.mtime=vE(e,t+136,12),this.cksum=Bo(e,t+148,12),this[gE](i),this[gE](n,!0),this[Rr]=ll(e,t+156,1),this[Rr]===""&&(this[Rr]="0"),this[Rr]==="0"&&this.path.substr(-1)==="/"&&(this[Rr]="5"),this[Rr]==="5"&&(this.size=0),this.linkpath=ll(e,t+157,100),e.slice(t+257,t+265).toString()==="ustar\x0000")if(this.uname=ll(e,t+265,32),this.gname=ll(e,t+297,32),this.devmaj=Bo(e,t+329,8),this.devmin=Bo(e,t+337,8),e[t+475]!==0){let o=ll(e,t+345,155);this.path=o+"/"+this.path}else{let o=ll(e,t+345,130);o&&(this.path=o+"/"+this.path),this.atime=vE(e,t+476,12),this.ctime=vE(e,t+488,12)}let s=8*32;for(let o=t;o=t+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=jfe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=cl(e,t,100,s)||this.needPax,this.needPax=jo(e,t+100,8,this.mode)||this.needPax,this.needPax=jo(e,t+108,8,this.uid)||this.needPax,this.needPax=jo(e,t+116,8,this.gid)||this.needPax,this.needPax=jo(e,t+124,12,this.size)||this.needPax,this.needPax=bE(e,t+136,12,this.mtime)||this.needPax,e[t+156]=this[Rr].charCodeAt(0),this.needPax=cl(e,t+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",t+257,8),this.needPax=cl(e,t+265,32,this.uname)||this.needPax,this.needPax=cl(e,t+297,32,this.gname)||this.needPax,this.needPax=jo(e,t+329,8,this.devmaj)||this.needPax,this.needPax=jo(e,t+337,8,this.devmin)||this.needPax,this.needPax=cl(e,t+345,i,o)||this.needPax,e[t+475]!==0?this.needPax=cl(e,t+345,155,o)||this.needPax:(this.needPax=cl(e,t+345,130,o)||this.needPax,this.needPax=bE(e,t+476,12,this.atime)||this.needPax,this.needPax=bE(e,t+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=t;l{let t=100,i=r,n="",s,o=mu.parse(r).root||".";if(Buffer.byteLength(i)t&&Buffer.byteLength(n)<=e?s=[i.substr(0,t-1),n,!0]:(i=mu.join(mu.basename(n),i),n=mu.dirname(n));while(n!==o&&!s);s||(s=[r.substr(0,t-1),"",!0])}return s},ll=(r,e,t)=>r.slice(e,e+t).toString("utf8").replace(/\0.*/,""),vE=(r,e,t)=>Ufe(Bo(r,e,t)),Ufe=r=>r===null?null:new Date(r*1e3),Bo=(r,e,t)=>r[e]&128?w2.parse(r.slice(e,e+t)):Wfe(r,e,t),Hfe=r=>isNaN(r)?null:r,Wfe=(r,e,t)=>Hfe(parseInt(r.slice(e,e+t).toString("utf8").replace(/\0.*$/,"").trim(),8)),zfe={12:8589934591,8:2097151},jo=(r,e,t,i)=>i===null?!1:i>zfe[t]||i<0?(w2.encode(i,r.slice(e,e+t)),!0):(Vfe(r,e,t,i),!1),Vfe=(r,e,t,i)=>r.write(Gfe(i,t),e,t,"ascii"),Gfe=(r,e)=>Kfe(Math.floor(r).toString(8),e),Kfe=(r,e)=>(r.length===e-1?r:new Array(e-r.length-1).join("0")+r+" ")+"\0",bE=(r,e,t,i)=>i===null?!1:jo(r,e,t,i.getTime()/1e3),Jfe=new Array(156).join("\0"),cl=(r,e,t,i)=>i===null?!1:(r.write(i+Jfe,e,t,"utf8"),i.length!==Buffer.byteLength(i)||i.length>t);S2.exports=x2});var Mv=x((IDe,C2)=>{"use strict";var Yfe=gu(),Xfe=require("path"),Fv=class{constructor(e,t){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=t||!1}encode(){let e=this.encodeBody();if(e==="")return null;let t=Buffer.byteLength(e),i=512*Math.ceil(1+t/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new Yfe({path:("PaxHeader/"+Xfe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:t,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,t,"utf8");for(let s=t+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};Fv.parse=(r,e,t)=>new Fv(Zfe(Qfe(r),e),t);var Zfe=(r,e)=>e?Object.keys(r).reduce((t,i)=>(t[i]=r[i],t),e):r,Qfe=r=>r.replace(/\n$/,"").split(` +`).reduce(ede,Object.create(null)),ede=(r,e)=>{let t=parseInt(e,10);if(t!==Buffer.byteLength(e)+1)return r;e=e.substr((t+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return r;let s=i.join("=");return r[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,r};C2.exports=Fv});var vu=x((ODe,_2)=>{_2.exports=r=>{let e=r.length-1,t=-1;for(;e>-1&&r.charAt(e)==="/";)t=e,e--;return t===-1?r:r.slice(0,t)}});var Nv=x((LDe,E2)=>{"use strict";E2.exports=r=>class extends r{warn(e,t,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=t instanceof Error&&t.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(t instanceof Error&&(i=Object.assign(t,i),t=t.message),this.emit("warn",i.tarCode,t,i)):t instanceof Error?this.emit("error",Object.assign(t,i)):this.emit("error",Object.assign(new Error(`${e}: ${t}`),i))}}});var wE=x((ADe,T2)=>{"use strict";var qv=["|","<",">","?",":"],yE=qv.map(r=>String.fromCharCode(61440+r.charCodeAt(0))),tde=new Map(qv.map((r,e)=>[r,yE[e]])),ide=new Map(yE.map((r,e)=>[r,qv[e]]));T2.exports={encode:r=>qv.reduce((e,t)=>e.split(t).join(tde.get(t)),r),decode:r=>yE.reduce((e,t)=>e.split(t).join(ide.get(t)),r)}});var xE=x((FDe,R2)=>{var{isAbsolute:rde,parse:D2}=require("path").win32;R2.exports=r=>{let e="",t=D2(r);for(;rde(r)||t.root;){let i=r.charAt(0)==="/"&&r.slice(0,4)!=="//?/"?"/":t.root;r=r.substr(i.length),e+=i,t=D2(r)}return[e,r]}});var k2=x((MDe,P2)=>{"use strict";P2.exports=(r,e,t)=>(r&=4095,t&&(r=(r|384)&~18),e&&(r&256&&(r|=64),r&32&&(r|=8),r&4&&(r|=1)),r)});var kE=x(($De,z2)=>{"use strict";var I2=du(),O2=Mv(),L2=gu(),Xn=require("fs"),A2=require("path"),Zn=pu(),nde=vu(),F2=(r,e)=>e?(r=Zn(r).replace(/^\.(\/|$)/,""),nde(e)+"/"+r):Zn(r),sde=16*1024*1024,M2=Symbol("process"),N2=Symbol("file"),q2=Symbol("directory"),SE=Symbol("symlink"),$2=Symbol("hardlink"),Ih=Symbol("header"),$v=Symbol("read"),CE=Symbol("lstat"),Bv=Symbol("onlstat"),_E=Symbol("onread"),EE=Symbol("onreadlink"),TE=Symbol("openfile"),DE=Symbol("onopenfile"),Uo=Symbol("close"),jv=Symbol("mode"),RE=Symbol("awaitDrain"),PE=Symbol("ondrain"),Qn=Symbol("prefix"),B2=Symbol("hadError"),j2=Nv(),ode=wE(),U2=xE(),H2=k2(),Uv=j2(class extends I2{constructor(e,t){if(t=t||{},super(t),typeof e!="string")throw new TypeError("path is required");this.path=Zn(e),this.portable=!!t.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=t.maxReadSize||sde,this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.preservePaths=!!t.preservePaths,this.cwd=Zn(t.cwd||process.cwd()),this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,this.prefix=t.prefix?Zn(t.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths){let[n,s]=U2(this.path);n&&(this.path=s,i=n)}this.win32=!!t.win32||process.platform==="win32",this.win32&&(this.path=ode.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=Zn(t.absolute||A2.resolve(this.cwd,e)),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[Bv](this.statCache.get(this.absolute)):this[CE]()}emit(e,...t){return e==="error"&&(this[B2]=!0),super.emit(e,...t)}[CE](){Xn.lstat(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[Bv](t)})}[Bv](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=lde(e),this.emit("stat",e),this[M2]()}[M2](){switch(this.type){case"File":return this[N2]();case"Directory":return this[q2]();case"SymbolicLink":return this[SE]();default:return this.end()}}[jv](e){return H2(e,this.type==="Directory",this.portable)}[Qn](e){return F2(e,this.prefix)}[Ih](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new L2({path:this[Qn](this.path),linkpath:this.type==="Link"?this[Qn](this.linkpath):this.linkpath,mode:this[jv](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new O2({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[Qn](this.path),linkpath:this.type==="Link"?this[Qn](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[q2](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[Ih](),this.end()}[SE](){Xn.readlink(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[EE](t)})}[EE](e){this.linkpath=Zn(e),this[Ih](),this.end()}[$2](e){this.type="Link",this.linkpath=Zn(A2.relative(this.cwd,e)),this.stat.size=0,this[Ih](),this.end()}[N2](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let t=this.linkCache.get(e);if(t.indexOf(this.cwd)===0)return this[$2](t)}this.linkCache.set(e,this.absolute)}if(this[Ih](),this.stat.size===0)return this.end();this[TE]()}[TE](){Xn.open(this.absolute,"r",(e,t)=>{if(e)return this.emit("error",e);this[DE](t)})}[DE](e){if(this.fd=e,this[B2])return this[Uo]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let t=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(t),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[$v]()}[$v](){let{fd:e,buf:t,offset:i,length:n,pos:s}=this;Xn.read(e,t,i,n,s,(o,a)=>{if(o)return this[Uo](()=>this.emit("error",o));this[_E](a)})}[Uo](e){Xn.close(this.fd,e)}[_E](e){if(e<=0&&this.remain>0){let n=new Error("encountered unexpected EOF");return n.path=this.absolute,n.syscall="read",n.code="EOF",this[Uo](()=>this.emit("error",n))}if(e>this.remain){let n=new Error("did not encounter expected EOF");return n.path=this.absolute,n.syscall="read",n.code="EOF",this[Uo](()=>this.emit("error",n))}if(e===this.remain)for(let n=e;nthis[PE]())}[RE](e){this.once("drain",e)}write(e){if(this.blockRemaine?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[$v]()}}),W2=class extends Uv{[CE](){this[Bv](Xn.lstatSync(this.absolute))}[SE](){this[EE](Xn.readlinkSync(this.absolute))}[TE](){this[DE](Xn.openSync(this.absolute,"r"))}[$v](){let e=!0;try{let{fd:t,buf:i,offset:n,length:s,pos:o}=this,a=Xn.readSync(t,i,n,s,o);this[_E](a),e=!1}finally{if(e)try{this[Uo](()=>{})}catch(t){}}}[RE](e){e()}[Uo](e){Xn.closeSync(this.fd),e()}},ade=j2(class extends I2{constructor(e,t){t=t||{},super(t),this.preservePaths=!!t.preservePaths,this.portable=!!t.portable,this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=t.prefix||null,this.path=Zn(e.path),this.mode=this[jv](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:t.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=Zn(e.linkpath),typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths){let[n,s]=U2(this.path);n&&(this.path=s,i=n)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new L2({path:this[Qn](this.path),linkpath:this.type==="Link"?this[Qn](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new O2({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[Qn](this.path),linkpath:this.type==="Link"?this[Qn](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[Qn](e){return F2(e,this.prefix)}[jv](e){return H2(e,this.type==="Directory",this.portable)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=t,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});Uv.Sync=W2;Uv.Tar=ade;var lde=r=>r.isFile()?"File":r.isDirectory()?"Directory":r.isSymbolicLink()?"SymbolicLink":"Unsupported";z2.exports=Uv});var Yv=x((jDe,Q2)=>{"use strict";var IE=class{constructor(e,t){this.path=e||"./",this.absolute=t,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},cde=du(),ude=fE(),fde=Lv(),OE=kE(),dde=OE.Sync,hde=OE.Tar,pde=hh(),V2=Buffer.alloc(1024),Hv=Symbol("onStat"),Wv=Symbol("ended"),es=Symbol("queue"),bu=Symbol("current"),ul=Symbol("process"),zv=Symbol("processing"),G2=Symbol("processJob"),ts=Symbol("jobs"),LE=Symbol("jobDone"),Vv=Symbol("addFSEntry"),K2=Symbol("addTarEntry"),AE=Symbol("stat"),FE=Symbol("readdir"),Gv=Symbol("onreaddir"),Kv=Symbol("pipe"),J2=Symbol("entry"),ME=Symbol("entryOpt"),NE=Symbol("writeEntryClass"),Y2=Symbol("write"),qE=Symbol("ondrain"),Jv=require("fs"),X2=require("path"),mde=Nv(),$E=pu(),BE=mde(class extends cde{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=$E(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[NE]=OE,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new ude.Gzip(e.gzip),this.zip.on("data",t=>super.write(t)),this.zip.on("end",t=>super.end()),this.zip.on("drain",t=>this[qE]()),this.on("resume",t=>this.zip.resume())):this.on("drain",this[qE]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:t=>!0,this[es]=new pde,this[ts]=0,this.jobs=+e.jobs||4,this[zv]=!1,this[Wv]=!1}[Y2](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[Wv]=!0,this[ul](),this}write(e){if(this[Wv])throw new Error("write after end");return e instanceof fde?this[K2](e):this[Vv](e),this.flowing}[K2](e){let t=$E(X2.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let i=new IE(e.path,t,!1);i.entry=new hde(e,this[ME](i)),i.entry.on("end",n=>this[LE](i)),this[ts]+=1,this[es].push(i)}this[ul]()}[Vv](e){let t=$E(X2.resolve(this.cwd,e));this[es].push(new IE(e,t)),this[ul]()}[AE](e){e.pending=!0,this[ts]+=1;let t=this.follow?"stat":"lstat";Jv[t](e.absolute,(i,n)=>{e.pending=!1,this[ts]-=1,i?this.emit("error",i):this[Hv](e,n)})}[Hv](e,t){this.statCache.set(e.absolute,t),e.stat=t,this.filter(e.path,t)||(e.ignore=!0),this[ul]()}[FE](e){e.pending=!0,this[ts]+=1,Jv.readdir(e.absolute,(t,i)=>{if(e.pending=!1,this[ts]-=1,t)return this.emit("error",t);this[Gv](e,i)})}[Gv](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[ul]()}[ul](){if(!this[zv]){this[zv]=!0;for(let e=this[es].head;e!==null&&this[ts]this.warn(t,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[J2](e){this[ts]+=1;try{return new this[NE](e.path,this[ME](e)).on("end",()=>this[LE](e)).on("error",t=>this.emit("error",t))}catch(t){this.emit("error",t)}}[qE](){this[bu]&&this[bu].entry&&this[bu].entry.resume()}[Kv](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[Vv](o+n)});let t=e.entry,i=this.zip;i?t.on("data",n=>{i.write(n)||t.pause()}):t.on("data",n=>{super.write(n)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),Z2=class extends BE{constructor(e){super(e);this[NE]=dde}pause(){}resume(){}[AE](e){let t=this.follow?"statSync":"lstatSync";this[Hv](e,Jv[t](e.absolute))}[FE](e,t){this[Gv](e,Jv.readdirSync(e.absolute))}[Kv](e){let t=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[Vv](o+n)}),i?t.on("data",n=>{i.write(n)}):t.on("data",n=>{super[Y2](n)})}};BE.Sync=Z2;Q2.exports=BE});var Tu=x(Lh=>{"use strict";var gde=du(),vde=require("events").EventEmitter,lr=require("fs"),jE=lr.writev;if(!jE){let r=process.binding("fs"),e=r.FSReqWrap||r.FSReqCallback;jE=(t,i,n,s)=>{let o=(l,c)=>s(l,c,i),a=new e;a.oncomplete=o,r.writeBuffers(t,i,n,a)}}var yu=Symbol("_autoClose"),An=Symbol("_close"),Oh=Symbol("_ended"),tt=Symbol("_fd"),e3=Symbol("_finished"),Ho=Symbol("_flags"),UE=Symbol("_flush"),HE=Symbol("_handleChunk"),WE=Symbol("_makeBuf"),Xv=Symbol("_mode"),Zv=Symbol("_needDrain"),wu=Symbol("_onerror"),xu=Symbol("_onopen"),zE=Symbol("_onread"),Su=Symbol("_onwrite"),Wo=Symbol("_open"),Hs=Symbol("_path"),fl=Symbol("_pos"),is=Symbol("_queue"),Cu=Symbol("_read"),t3=Symbol("_readSize"),zo=Symbol("_reading"),Qv=Symbol("_remain"),i3=Symbol("_size"),eb=Symbol("_write"),_u=Symbol("_writing"),tb=Symbol("_defaultFlag"),Eu=Symbol("_errored"),VE=class extends gde{constructor(e,t){if(t=t||{},super(t),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[Eu]=!1,this[tt]=typeof t.fd=="number"?t.fd:null,this[Hs]=e,this[t3]=t.readSize||16*1024*1024,this[zo]=!1,this[i3]=typeof t.size=="number"?t.size:1/0,this[Qv]=this[i3],this[yu]=typeof t.autoClose=="boolean"?t.autoClose:!0,typeof this[tt]=="number"?this[Cu]():this[Wo]()}get fd(){return this[tt]}get path(){return this[Hs]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[Wo](){lr.open(this[Hs],"r",(e,t)=>this[xu](e,t))}[xu](e,t){e?this[wu](e):(this[tt]=t,this.emit("open",t),this[Cu]())}[WE](){return Buffer.allocUnsafe(Math.min(this[t3],this[Qv]))}[Cu](){if(!this[zo]){this[zo]=!0;let e=this[WE]();if(e.length===0)return process.nextTick(()=>this[zE](null,0,e));lr.read(this[tt],e,0,e.length,null,(t,i,n)=>this[zE](t,i,n))}}[zE](e,t,i){this[zo]=!1,e?this[wu](e):this[HE](t,i)&&this[Cu]()}[An](){if(this[yu]&&typeof this[tt]=="number"){let e=this[tt];this[tt]=null,lr.close(e,t=>t?this.emit("error",t):this.emit("close"))}}[wu](e){this[zo]=!0,this[An](),this.emit("error",e)}[HE](e,t){let i=!1;return this[Qv]-=e,e>0&&(i=super.write(ethis[xu](e,t))}[xu](e,t){this[tb]&&this[Ho]==="r+"&&e&&e.code==="ENOENT"?(this[Ho]="w",this[Wo]()):e?this[wu](e):(this[tt]=t,this.emit("open",t),this[UE]())}end(e,t){return e&&this.write(e,t),this[Oh]=!0,!this[_u]&&!this[is].length&&typeof this[tt]=="number"&&this[Su](null,0),this}write(e,t){return typeof e=="string"&&(e=Buffer.from(e,t)),this[Oh]?(this.emit("error",new Error("write() after end()")),!1):this[tt]===null||this[_u]||this[is].length?(this[is].push(e),this[Zv]=!0,!1):(this[_u]=!0,this[eb](e),!0)}[eb](e){lr.write(this[tt],e,0,e.length,this[fl],(t,i)=>this[Su](t,i))}[Su](e,t){e?this[wu](e):(this[fl]!==null&&(this[fl]+=t),this[is].length?this[UE]():(this[_u]=!1,this[Oh]&&!this[e3]?(this[e3]=!0,this[An](),this.emit("finish")):this[Zv]&&(this[Zv]=!1,this.emit("drain"))))}[UE](){if(this[is].length===0)this[Oh]&&this[Su](null,0);else if(this[is].length===1)this[eb](this[is].pop());else{let e=this[is];this[is]=[],jE(this[tt],e,this[fl],(t,i)=>this[Su](t,i))}}[An](){if(this[yu]&&typeof this[tt]=="number"){let e=this[tt];this[tt]=null,lr.close(e,t=>t?this.emit("error",t):this.emit("close"))}}},n3=class extends GE{[Wo](){let e;if(this[tb]&&this[Ho]==="r+")try{e=lr.openSync(this[Hs],this[Ho],this[Xv])}catch(t){if(t.code==="ENOENT")return this[Ho]="w",this[Wo]();throw t}else e=lr.openSync(this[Hs],this[Ho],this[Xv]);this[xu](null,e)}[An](){if(this[yu]&&typeof this[tt]=="number"){let e=this[tt];this[tt]=null,lr.closeSync(e),this.emit("close")}}[eb](e){let t=!0;try{this[Su](null,lr.writeSync(this[tt],e,0,e.length,this[fl])),t=!1}finally{if(t)try{this[An]()}catch(i){}}}};Lh.ReadStream=VE;Lh.ReadStreamSync=r3;Lh.WriteStream=GE;Lh.WriteStreamSync=n3});var lb=x((WDe,f3)=>{"use strict";var bde=Nv(),yde=gu(),wde=require("events"),xde=hh(),Sde=1024*1024,Cde=Lv(),s3=Mv(),_de=fE(),KE=Buffer.from([31,139]),tn=Symbol("state"),dl=Symbol("writeEntry"),Ws=Symbol("readEntry"),JE=Symbol("nextEntry"),o3=Symbol("processEntry"),rn=Symbol("extendedHeader"),Ah=Symbol("globalExtendedHeader"),Vo=Symbol("meta"),a3=Symbol("emitMeta"),dt=Symbol("buffer"),zs=Symbol("queue"),hl=Symbol("ended"),l3=Symbol("emittedEnd"),pl=Symbol("emit"),cr=Symbol("unzip"),ib=Symbol("consumeChunk"),rb=Symbol("consumeChunkSub"),YE=Symbol("consumeBody"),c3=Symbol("consumeMeta"),u3=Symbol("consumeHeader"),nb=Symbol("consuming"),XE=Symbol("bufferConcat"),ZE=Symbol("maybeEnd"),Fh=Symbol("writing"),Go=Symbol("aborted"),sb=Symbol("onDone"),ml=Symbol("sawValidEntry"),ob=Symbol("sawNullBlock"),ab=Symbol("sawEOF"),Ede=r=>!0;f3.exports=bde(class extends wde{constructor(e){e=e||{},super(e),this.file=e.file||"",this[ml]=null,this.on(sb,t=>{(this[tn]==="begin"||this[ml]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(sb,e.ondone):this.on(sb,t=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||Sde,this.filter=typeof e.filter=="function"?e.filter:Ede,this.writable=!0,this.readable=!1,this[zs]=new xde,this[dt]=null,this[Ws]=null,this[dl]=null,this[tn]="begin",this[Vo]="",this[rn]=null,this[Ah]=null,this[hl]=!1,this[cr]=null,this[Go]=!1,this[ob]=!1,this[ab]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[u3](e,t){this[ml]===null&&(this[ml]=!1);let i;try{i=new yde(e,t,this[rn],this[Ah])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[ob]?(this[ab]=!0,this[tn]==="begin"&&(this[tn]="header"),this[pl]("eof")):(this[ob]=!0,this[pl]("nullBlock"));else if(this[ob]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[dl]=new Cde(i,this[rn],this[Ah]);if(!this[ml])if(s.remain){let o=()=>{s.invalid||(this[ml]=!0)};s.on("end",o)}else this[ml]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[pl]("ignoredEntry",s),this[tn]="ignore",s.resume()):s.size>0&&(this[Vo]="",s.on("data",o=>this[Vo]+=o),this[tn]="meta"):(this[rn]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[pl]("ignoredEntry",s),this[tn]=s.remain?"ignore":"header",s.resume()):(s.remain?this[tn]="body":(this[tn]="header",s.end()),this[Ws]?this[zs].push(s):(this[zs].push(s),this[JE]())))}}}[o3](e){let t=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[Ws]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[JE]()),t=!1)):(this[Ws]=null,t=!1),t}[JE](){do;while(this[o3](this[zs].shift()));if(!this[zs].length){let e=this[Ws];!e||e.flowing||e.size===e.remain?this[Fh]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[YE](e,t){let i=this[dl],n=i.blockRemain,s=n>=e.length&&t===0?e:e.slice(t,t+n);return i.write(s),i.blockRemain||(this[tn]="header",this[dl]=null,i.end()),s.length}[c3](e,t){let i=this[dl],n=this[YE](e,t);return this[dl]||this[a3](i),n}[pl](e,t,i){!this[zs].length&&!this[Ws]?this.emit(e,t,i):this[zs].push([e,t,i])}[a3](e){switch(this[pl]("meta",this[Vo]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[rn]=s3.parse(this[Vo],this[rn],!1);break;case"GlobalExtendedHeader":this[Ah]=s3.parse(this[Vo],this[Ah],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[rn]=this[rn]||Object.create(null),this[rn].path=this[Vo].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[rn]=this[rn]||Object.create(null),this[rn].linkpath=this[Vo].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[Go]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[Go])return;if(this[cr]===null&&e){if(this[dt]&&(e=Buffer.concat([this[dt],e]),this[dt]=null),e.lengththis[ib](s)),this[cr].on("error",s=>this.abort(s)),this[cr].on("end",s=>{this[hl]=!0,this[ib]()}),this[Fh]=!0;let n=this[cr][i?"end":"write"](e);return this[Fh]=!1,n}}this[Fh]=!0,this[cr]?this[cr].write(e):this[ib](e),this[Fh]=!1;let t=this[zs].length?!1:this[Ws]?this[Ws].flowing:!0;return!t&&!this[zs].length&&this[Ws].once("drain",i=>this.emit("drain")),t}[XE](e){e&&!this[Go]&&(this[dt]=this[dt]?Buffer.concat([this[dt],e]):e)}[ZE](){if(this[hl]&&!this[l3]&&!this[Go]&&!this[nb]){this[l3]=!0;let e=this[dl];if(e&&e.blockRemain){let t=this[dt]?this[dt].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${t} available)`,{entry:e}),this[dt]&&e.write(this[dt]),e.end()}this[pl](sb)}}[ib](e){if(this[nb])this[XE](e);else if(!e&&!this[dt])this[ZE]();else{if(this[nb]=!0,this[dt]){this[XE](e);let t=this[dt];this[dt]=null,this[rb](t)}else this[rb](e);for(;this[dt]&&this[dt].length>=512&&!this[Go]&&!this[ab];){let t=this[dt];this[dt]=null,this[rb](t)}this[nb]=!1}(!this[dt]||this[hl])&&this[ZE]()}[rb](e){let t=0,i=e.length;for(;t+512<=i&&!this[Go]&&!this[ab];)switch(this[tn]){case"begin":case"header":this[u3](e,t),t+=512;break;case"ignore":case"body":t+=this[YE](e,t);break;case"meta":t+=this[c3](e,t);break;default:throw new Error("invalid state: "+this[tn])}t{"use strict";var Tde=fu(),d3=lb(),Du=require("fs"),Dde=Tu(),h3=require("path"),QE=vu();m3.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=Tde(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&Pde(i,e),i.noResume||Rde(i),i.file&&i.sync?kde(i):i.file?Ide(i,t):p3(i)};var Rde=r=>{let e=r.onentry;r.onentry=e?t=>{e(t),t.resume()}:t=>t.resume()},Pde=(r,e)=>{let t=new Map(e.map(s=>[QE(s),!0])),i=r.filter,n=(s,o)=>{let a=o||h3.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(h3.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(QE(s)):s=>n(QE(s))},kde=r=>{let e=p3(r),t=r.file,i=!0,n;try{let s=Du.statSync(t),o=r.maxReadSize||16*1024*1024;if(s.size{let t=new d3(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("end",o),Du.stat(n,(l,c)=>{if(l)a(l);else{let u=new Dde.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},p3=r=>new d3(r)});var x3=x((VDe,w3)=>{"use strict";var Ode=fu(),ub=Yv(),g3=Tu(),v3=cb(),b3=require("path");w3.exports=(r,e,t)=>{if(typeof e=="function"&&(t=e),Array.isArray(r)&&(e=r,r={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=Ode(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?Lde(i,e):i.file?Ade(i,e,t):i.sync?Fde(i,e):Mde(i,e)};var Lde=(r,e)=>{let t=new ub.Sync(r),i=new g3.WriteStreamSync(r.file,{mode:r.mode||438});t.pipe(i),y3(t,e)},Ade=(r,e,t)=>{let i=new ub(r),n=new g3.WriteStream(r.file,{mode:r.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return eT(i,e),t?s.then(t,t):s},y3=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?v3({file:b3.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},eT=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return v3({file:b3.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>eT(r,e));r.add(t)}r.end()},Fde=(r,e)=>{let t=new ub.Sync(r);return y3(t,e),t},Mde=(r,e)=>{let t=new ub(r);return eT(t,e),t}});var tT=x((GDe,R3)=>{"use strict";var Nde=fu(),S3=Yv(),Pr=require("fs"),C3=Tu(),_3=cb(),E3=require("path"),T3=gu();R3.exports=(r,e,t)=>{let i=Nde(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?qde(i,e):Bde(i,e,t)};var qde=(r,e)=>{let t=new S3.Sync(r),i=!0,n,s;try{try{n=Pr.openSync(r.file,"r+")}catch(l){if(l.code==="ENOENT")n=Pr.openSync(r.file,"w+");else throw l}let o=Pr.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,r.mtimeCache&&r.mtimeCache.set(l.path,l.mtime)}i=!1,$de(r,t,s,n,e)}finally{if(i)try{Pr.closeSync(n)}catch(o){}}},$de=(r,e,t,i,n)=>{let s=new C3.WriteStreamSync(r.file,{fd:i,start:t});e.pipe(s),jde(e,n)},Bde=(r,e,t)=>{e=Array.from(e);let i=new S3(r),n=(o,a,l)=>{let c=(p,g)=>{p?Pr.close(o,b=>l(p)):l(null,g)},u=0;if(a===0)return c(null,0);let f=0,d=Buffer.alloc(512),h=(p,g)=>{if(p)return c(p);if(f+=g,f<512&&g)return Pr.read(o,d,f,d.length-f,u+f,h);if(u===0&&d[0]===31&&d[1]===139)return c(new Error("cannot append to compressed archives"));if(f<512)return c(null,u);let b=new T3(d);if(!b.cksumValid)return c(null,u);let y=512*Math.ceil(b.size/512);if(u+y+512>a||(u+=y+512,u>=a))return c(null,u);r.mtimeCache&&r.mtimeCache.set(b.path,b.mtime),f=0,Pr.read(o,d,0,512,u,h)};Pr.read(o,d,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,f)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",Pr.open(r.file,l,c);if(u)return a(u);Pr.fstat(f,(d,h)=>{if(d)return Pr.close(f,()=>a(d));n(f,h.size,(p,g)=>{if(p)return a(p);let b=new C3.WriteStream(r.file,{fd:f,start:g});i.pipe(b),b.on("error",a),b.on("close",o),D3(i,e)})})};Pr.open(r.file,l,c)});return t?s.then(t,t):s},jde=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?_3({file:E3.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},D3=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return _3({file:E3.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>D3(r,e));r.add(t)}r.end()}});var k3=x((KDe,P3)=>{"use strict";var Ude=fu(),Hde=tT();P3.exports=(r,e,t)=>{let i=Ude(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),Wde(i),Hde(i,e,t)};var Wde=r=>{let e=r.filter;r.mtimeCache||(r.mtimeCache=new Map),r.filter=e?(t,i)=>e(t,i)&&!(r.mtimeCache.get(t)>i.mtime):(t,i)=>!(r.mtimeCache.get(t)>i.mtime)}});var L3=x((JDe,O3)=>{var{promisify:I3}=require("util"),Ko=require("fs"),zde=r=>{if(!r)r={mode:511,fs:Ko};else if(typeof r=="object")r=ut({mode:511,fs:Ko},r);else if(typeof r=="number")r={mode:r,fs:Ko};else if(typeof r=="string")r={mode:parseInt(r,8),fs:Ko};else throw new TypeError("invalid options argument");return r.mkdir=r.mkdir||r.fs.mkdir||Ko.mkdir,r.mkdirAsync=I3(r.mkdir),r.stat=r.stat||r.fs.stat||Ko.stat,r.statAsync=I3(r.stat),r.statSync=r.statSync||r.fs.statSync||Ko.statSync,r.mkdirSync=r.mkdirSync||r.fs.mkdirSync||Ko.mkdirSync,r};O3.exports=zde});var F3=x((YDe,A3)=>{var Vde=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:Gde,parse:Kde}=require("path"),Jde=r=>{if(/\0/.test(r))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:r,code:"ERR_INVALID_ARG_VALUE"});if(r=Gde(r),Vde==="win32"){let e=/[*|"<>?:]/,{root:t}=Kde(r);if(e.test(r.substr(t.length)))throw Object.assign(new Error("Illegal characters in path."),{path:r,code:"EINVAL"})}return r};A3.exports=Jde});var B3=x((XDe,$3)=>{var{dirname:M3}=require("path"),N3=(r,e,t=void 0)=>t===e?Promise.resolve():r.statAsync(e).then(i=>i.isDirectory()?t:void 0,i=>i.code==="ENOENT"?N3(r,M3(e),e):void 0),q3=(r,e,t=void 0)=>{if(t!==e)try{return r.statSync(e).isDirectory()?t:void 0}catch(i){return i.code==="ENOENT"?q3(r,M3(e),e):void 0}};$3.exports={findMade:N3,findMadeSync:q3}});var nT=x((ZDe,U3)=>{var{dirname:j3}=require("path"),iT=(r,e,t)=>{e.recursive=!1;let i=j3(r);return i===r?e.mkdirAsync(r,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(r,e).then(()=>t||r,n=>{if(n.code==="ENOENT")return iT(i,e).then(s=>iT(r,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(r).then(s=>{if(s.isDirectory())return t;throw n},()=>{throw n})})},rT=(r,e,t)=>{let i=j3(r);if(e.recursive=!1,i===r)try{return e.mkdirSync(r,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(r,e),t||r}catch(n){if(n.code==="ENOENT")return rT(r,e,rT(i,e,t));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(r).isDirectory())throw n}catch(s){throw n}}};U3.exports={mkdirpManual:iT,mkdirpManualSync:rT}});var z3=x((QDe,W3)=>{var{dirname:H3}=require("path"),{findMade:Yde,findMadeSync:Xde}=B3(),{mkdirpManual:Zde,mkdirpManualSync:Qde}=nT(),ehe=(r,e)=>(e.recursive=!0,H3(r)===r?e.mkdirAsync(r,e):Yde(e,r).then(i=>e.mkdirAsync(r,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return Zde(r,e);throw n}))),the=(r,e)=>{if(e.recursive=!0,H3(r)===r)return e.mkdirSync(r,e);let i=Xde(e,r);try{return e.mkdirSync(r,e),i}catch(n){if(n.code==="ENOENT")return Qde(r,e);throw n}};W3.exports={mkdirpNative:ehe,mkdirpNativeSync:the}});var J3=x((eRe,K3)=>{var V3=require("fs"),ihe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,sT=ihe.replace(/^v/,"").split("."),G3=+sT[0]>10||+sT[0]==10&&+sT[1]>=12,rhe=G3?r=>r.mkdir===V3.mkdir:()=>!1,nhe=G3?r=>r.mkdirSync===V3.mkdirSync:()=>!1;K3.exports={useNative:rhe,useNativeSync:nhe}});var tz=x((tRe,ez)=>{var Ru=L3(),Pu=F3(),{mkdirpNative:Y3,mkdirpNativeSync:X3}=z3(),{mkdirpManual:Z3,mkdirpManualSync:Q3}=nT(),{useNative:she,useNativeSync:ohe}=J3(),ku=(r,e)=>(r=Pu(r),e=Ru(e),she(e)?Y3(r,e):Z3(r,e)),ahe=(r,e)=>(r=Pu(r),e=Ru(e),ohe(e)?X3(r,e):Q3(r,e));ku.sync=ahe;ku.native=(r,e)=>Y3(Pu(r),Ru(e));ku.manual=(r,e)=>Z3(Pu(r),Ru(e));ku.nativeSync=(r,e)=>X3(Pu(r),Ru(e));ku.manualSync=(r,e)=>Q3(Pu(r),Ru(e));ez.exports=ku});var lz=x((iRe,az)=>{"use strict";var nn=require("fs"),gl=require("path"),lhe=nn.lchown?"lchown":"chown",che=nn.lchownSync?"lchownSync":"chownSync",iz=nn.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),rz=(r,e,t)=>{try{return nn[che](r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},uhe=(r,e,t)=>{try{return nn.chownSync(r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},fhe=iz?(r,e,t,i)=>n=>{!n||n.code!=="EISDIR"?i(n):nn.chown(r,e,t,i)}:(r,e,t,i)=>i,oT=iz?(r,e,t)=>{try{return rz(r,e,t)}catch(i){if(i.code!=="EISDIR")throw i;uhe(r,e,t)}}:(r,e,t)=>rz(r,e,t),dhe=process.version,nz=(r,e,t)=>nn.readdir(r,e,t),hhe=(r,e)=>nn.readdirSync(r,e);/^v4\./.test(dhe)&&(nz=(r,e,t)=>nn.readdir(r,t));var fb=(r,e,t,i)=>{nn[lhe](r,e,t,fhe(r,e,t,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},sz=(r,e,t,i,n)=>{if(typeof e=="string")return nn.lstat(gl.resolve(r,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,sz(r,o,t,i,n)});if(e.isDirectory())aT(gl.resolve(r,e.name),t,i,s=>{if(s)return n(s);let o=gl.resolve(r,e.name);fb(o,t,i,n)});else{let s=gl.resolve(r,e.name);fb(s,t,i,n)}},aT=(r,e,t,i)=>{nz(r,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return fb(r,e,t,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return fb(r,e,t,i)}};s.forEach(c=>sz(r,c,e,t,l))})},phe=(r,e,t,i)=>{if(typeof e=="string")try{let n=nn.lstatSync(gl.resolve(r,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&oz(gl.resolve(r,e.name),t,i),oT(gl.resolve(r,e.name),t,i)},oz=(r,e,t)=>{let i;try{i=hhe(r,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return oT(r,e,t);throw n}return i&&i.length&&i.forEach(n=>phe(r,n,e,t)),oT(r,e,t)};az.exports=aT;aT.sync=oz});var dz=x((rRe,uT)=>{"use strict";var cz=tz(),sn=require("fs"),db=require("path"),uz=lz(),Fn=pu(),lT=class extends Error{constructor(e,t){super("Cannot extract through symbolic link");this.path=t,this.symlink=e}get name(){return"SylinkError"}},cT=class extends Error{constructor(e,t){super(t+": Cannot cd into '"+e+"'");this.path=e,this.code=t}get name(){return"CwdError"}},hb=(r,e)=>r.get(Fn(e)),Mh=(r,e,t)=>r.set(Fn(e),t),mhe=(r,e)=>{sn.stat(r,(t,i)=>{(t||!i.isDirectory())&&(t=new cT(r,t&&t.code||"ENOTDIR")),e(t)})};uT.exports=(r,e,t)=>{r=Fn(r);let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,f=e.cache,d=Fn(e.cwd),h=(b,y)=>{b?t(b):(Mh(f,r,!0),y&&l?uz(y,o,a,S=>h(S)):s?sn.chmod(r,n,t):t())};if(f&&hb(f,r)===!0)return h();if(r===d)return mhe(r,h);if(c)return cz(r,{mode:n}).then(b=>h(null,b),h);let g=Fn(db.relative(d,r)).split("/");pb(d,g,n,f,u,d,null,h)};var pb=(r,e,t,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=Fn(db.resolve(r+"/"+l));if(hb(i,c))return pb(c,e,t,i,n,s,o,a);sn.mkdir(c,t,fz(c,e,t,i,n,s,o,a))},fz=(r,e,t,i,n,s,o,a)=>l=>{l?sn.lstat(r,(c,u)=>{if(c)c.path=c.path&&Fn(c.path),a(c);else if(u.isDirectory())pb(r,e,t,i,n,s,o,a);else if(n)sn.unlink(r,f=>{if(f)return a(f);sn.mkdir(r,t,fz(r,e,t,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new lT(r,r+"/"+e.join("/")));a(l)}}):(o=o||r,pb(r,e,t,i,n,s,o,a))},ghe=r=>{let e=!1,t="ENOTDIR";try{e=sn.statSync(r).isDirectory()}catch(i){t=i.code}finally{if(!e)throw new cT(r,t)}};uT.exports.sync=(r,e)=>{r=Fn(r);let t=e.umask,i=e.mode|448,n=(i&t)!=0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,f=Fn(e.cwd),d=b=>{Mh(u,r,!0),b&&a&&uz.sync(b,s,o),n&&sn.chmodSync(r,i)};if(u&&hb(u,r)===!0)return d();if(r===f)return ghe(f),d();if(l)return d(cz.sync(r,i));let p=Fn(db.relative(f,r)).split("/"),g=null;for(let b=p.shift(),y=f;b&&(y+="/"+b);b=p.shift())if(y=Fn(db.resolve(y)),!hb(u,y))try{sn.mkdirSync(y,i),g=g||y,Mh(u,y,!0)}catch(S){let w=sn.lstatSync(y);if(w.isDirectory()){Mh(u,y,!0);continue}else if(c){sn.unlinkSync(y),sn.mkdirSync(y,i),g=g||y,Mh(u,y,!0);continue}else if(w.isSymbolicLink())return new lT(y,y+"/"+p.join("/"))}return d(g)}});var dT=x((nRe,hz)=>{var fT=Object.create(null),{hasOwnProperty:vhe}=Object.prototype;hz.exports=r=>(vhe.call(fT,r)||(fT[r]=r.normalize("NFKD")),fT[r])});var vz=x((sRe,gz)=>{var pz=require("assert"),bhe=dT(),yhe=vu(),{join:mz}=require("path"),whe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,xhe=whe==="win32";gz.exports=()=>{let r=new Map,e=new Map,t=c=>c.split("/").slice(0,-1).reduce((f,d)=>(f.length&&(d=mz(f[f.length-1],d)),f.push(d||"/"),f),[]),i=new Set,n=c=>{let u=e.get(c);if(!u)throw new Error("function does not have any path reservations");return{paths:u.paths.map(f=>r.get(f)),dirs:[...u.dirs].map(f=>r.get(f))}},s=c=>{let{paths:u,dirs:f}=n(c);return u.every(d=>d[0]===c)&&f.every(d=>d[0]instanceof Set&&d[0].has(c))},o=c=>i.has(c)||!s(c)?!1:(i.add(c),c(()=>a(c)),!0),a=c=>{if(!i.has(c))return!1;let{paths:u,dirs:f}=e.get(c),d=new Set;return u.forEach(h=>{let p=r.get(h);pz.equal(p[0],c),p.length===1?r.delete(h):(p.shift(),typeof p[0]=="function"?d.add(p[0]):p[0].forEach(g=>d.add(g)))}),f.forEach(h=>{let p=r.get(h);pz(p[0]instanceof Set),p[0].size===1&&p.length===1?r.delete(h):p[0].size===1?(p.shift(),d.add(p[0])):p[0].delete(c)}),i.delete(c),d.forEach(h=>o(h)),!0};return{check:s,reserve:(c,u)=>{c=xhe?["win32 parallelization disabled"]:c.map(d=>bhe(yhe(mz(d))).toLowerCase());let f=new Set(c.map(d=>t(d)).reduce((d,h)=>d.concat(h)));return e.set(u,{dirs:f,paths:c}),c.forEach(d=>{let h=r.get(d);h?h.push(u):r.set(d,[u])}),f.forEach(d=>{let h=r.get(d);h?h[h.length-1]instanceof Set?h[h.length-1].add(u):h.push(new Set([u])):r.set(d,[new Set([u])])}),o(u)}}}});var wz=x((oRe,yz)=>{var She=process.env.__FAKE_PLATFORM__||process.platform,Che=She==="win32",_he=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:Ehe,O_TRUNC:The,O_WRONLY:Dhe,UV_FS_O_FILEMAP:bz=0}=_he.constants,Rhe=Che&&!!bz,Phe=512*1024,khe=bz|The|Ehe|Dhe;yz.exports=Rhe?r=>r"w"});var wT=x((aRe,Fz)=>{"use strict";var Ihe=require("assert"),Ohe=lb(),He=require("fs"),Lhe=Tu(),Vs=require("path"),xz=dz(),Sz=wE(),Ahe=vz(),Fhe=xE(),kr=pu(),Mhe=vu(),Nhe=dT(),Cz=Symbol("onEntry"),hT=Symbol("checkFs"),_z=Symbol("checkFs2"),mb=Symbol("pruneCache"),pT=Symbol("isReusable"),on=Symbol("makeFs"),mT=Symbol("file"),gT=Symbol("directory"),gb=Symbol("link"),Ez=Symbol("symlink"),Tz=Symbol("hardlink"),Dz=Symbol("unsupported"),Rz=Symbol("checkPath"),Jo=Symbol("mkdir"),Ii=Symbol("onError"),vb=Symbol("pending"),Pz=Symbol("pend"),Iu=Symbol("unpend"),vT=Symbol("ended"),bT=Symbol("maybeClose"),yT=Symbol("skip"),Nh=Symbol("doChown"),qh=Symbol("uid"),$h=Symbol("gid"),Bh=Symbol("checkedCwd"),kz=require("crypto"),Iz=wz(),qhe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,jh=qhe==="win32",$he=(r,e)=>{if(!jh)return He.unlink(r,e);let t=r+".DELETE."+kz.randomBytes(16).toString("hex");He.rename(r,t,i=>{if(i)return e(i);He.unlink(t,e)})},Bhe=r=>{if(!jh)return He.unlinkSync(r);let e=r+".DELETE."+kz.randomBytes(16).toString("hex");He.renameSync(r,e),He.unlinkSync(e)},Oz=(r,e,t)=>r===r>>>0?r:e===e>>>0?e:t,Lz=r=>Nhe(Mhe(kr(r))).toLowerCase(),jhe=(r,e)=>{e=Lz(e);for(let t of r.keys()){let i=Lz(t);(i===e||i.indexOf(e+"/")===0)&&r.delete(t)}},Uhe=r=>{for(let e of r.keys())r.delete(e)},bb=class extends Ohe{constructor(e){if(e||(e={}),e.ondone=t=>{this[vT]=!0,this[bT]()},super(e),this[Bh]=!1,this.reservations=Ahe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[vb]=0,this[vT]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||jh,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=kr(Vs.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",t=>this[Cz](t))}warn(e,t,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,t,i)}[bT](){this[vT]&&this[vb]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[Rz](e){if(this.strip){let t=kr(e.path).split("/");if(t.length=this.strip)e.linkpath=i.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let t=kr(e.path),i=t.split("/");if(i.includes("..")||jh&&/^[a-z]:\.\.$/i.test(i[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:t}),!1;let[n,s]=Fhe(t);n&&(e.path=s,this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:t}))}if(Vs.isAbsolute(e.path)?e.absolute=kr(Vs.resolve(e.path)):e.absolute=kr(Vs.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:kr(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:t}=Vs.win32.parse(e.absolute);e.absolute=t+Sz.encode(e.absolute.substr(t.length));let{root:i}=Vs.win32.parse(e.path);e.path=i+Sz.encode(e.path.substr(i.length))}return!0}[Cz](e){if(!this[Rz](e))return e.resume();switch(Ihe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[hT](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[Dz](e)}}[Ii](e,t){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:t}),this[Iu](),t.resume())}[Jo](e,t,i){xz(kr(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t,noChmod:this.noChmod},i)}[Nh](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[qh](e){return Oz(this.uid,e.uid,this.processUid)}[$h](e){return Oz(this.gid,e.gid,this.processGid)}[mT](e,t){let i=e.mode&4095||this.fmode,n=new Lhe.WriteStream(e.absolute,{flags:Iz(e.size),mode:i,autoClose:!1});n.on("error",l=>{n.fd&&He.close(n.fd,()=>{}),n.write=()=>!0,this[Ii](l,e),t()});let s=1,o=l=>{if(l){n.fd&&He.close(n.fd,()=>{}),this[Ii](l,e),t();return}--s==0&&He.close(n.fd,c=>{c?this[Ii](c,e):this[Iu](),t()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let f=e.atime||new Date,d=e.mtime;He.futimes(u,f,d,h=>h?He.utimes(c,f,d,p=>o(p&&h)):o())}if(this[Nh](e)){s++;let f=this[qh](e),d=this[$h](e);He.fchown(u,f,d,h=>h?He.chown(c,f,d,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>{this[Ii](l,e),t()}),e.pipe(a)),a.pipe(n)}[gT](e,t){let i=e.mode&4095||this.dmode;this[Jo](e.absolute,i,n=>{if(n){this[Ii](n,e),t();return}let s=1,o=a=>{--s==0&&(t(),this[Iu](),e.resume())};e.mtime&&!this.noMtime&&(s++,He.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[Nh](e)&&(s++,He.chown(e.absolute,this[qh](e),this[$h](e),o)),o()})}[Dz](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[Ez](e,t){this[gb](e,e.linkpath,"symlink",t)}[Tz](e,t){let i=kr(Vs.resolve(this.cwd,e.linkpath));this[gb](e,i,"link",t)}[Pz](){this[vb]++}[Iu](){this[vb]--,this[bT]()}[yT](e){this[Iu](),e.resume()}[pT](e,t){return e.type==="File"&&!this.unlink&&t.isFile()&&t.nlink<=1&&!jh}[hT](e){this[Pz]();let t=[e.path];e.linkpath&&t.push(e.linkpath),this.reservations.reserve(t,i=>this[_z](e,i))}[mb](e){e.type==="SymbolicLink"?Uhe(this.dirCache):e.type!=="Directory"&&jhe(this.dirCache,e.absolute)}[_z](e,t){this[mb](e);let i=a=>{this[mb](e),t(a)},n=()=>{this[Jo](this.cwd,this.dmode,a=>{if(a){this[Ii](a,e),i();return}this[Bh]=!0,s()})},s=()=>{if(e.absolute!==this.cwd){let a=kr(Vs.dirname(e.absolute));if(a!==this.cwd)return this[Jo](a,this.dmode,l=>{if(l){this[Ii](l,e),i();return}o()})}o()},o=()=>{He.lstat(e.absolute,(a,l)=>{if(l&&(this.keep||this.newer&&l.mtime>e.mtime)){this[yT](e),i();return}if(a||this[pT](e,l))return this[on](null,e,i);if(l.isDirectory()){if(e.type==="Directory"){let c=!this.noChmod&&e.mode&&(l.mode&4095)!==e.mode,u=f=>this[on](f,e,i);return c?He.chmod(e.absolute,e.mode,u):u()}if(e.absolute!==this.cwd)return He.rmdir(e.absolute,c=>this[on](c,e,i))}if(e.absolute===this.cwd)return this[on](null,e,i);$he(e.absolute,c=>this[on](c,e,i))})};this[Bh]?s():n()}[on](e,t,i){if(e){this[Ii](e,t),i();return}switch(t.type){case"File":case"OldFile":case"ContiguousFile":return this[mT](t,i);case"Link":return this[Tz](t,i);case"SymbolicLink":return this[Ez](t,i);case"Directory":case"GNUDumpDir":return this[gT](t,i)}}[gb](e,t,i,n){He[i](t,e.absolute,s=>{s?this[Ii](s,e):(this[Iu](),e.resume()),n()})}},yb=r=>{try{return[null,r()]}catch(e){return[e,null]}},Az=class extends bb{[on](e,t){return super[on](e,t,()=>{})}[hT](e){if(this[mb](e),!this[Bh]){let s=this[Jo](this.cwd,this.dmode);if(s)return this[Ii](s,e);this[Bh]=!0}if(e.absolute!==this.cwd){let s=kr(Vs.dirname(e.absolute));if(s!==this.cwd){let o=this[Jo](s,this.dmode);if(o)return this[Ii](o,e)}}let[t,i]=yb(()=>He.lstatSync(e.absolute));if(i&&(this.keep||this.newer&&i.mtime>e.mtime))return this[yT](e);if(t||this[pT](e,i))return this[on](null,e);if(i.isDirectory()){if(e.type==="Directory"){let o=!this.noChmod&&e.mode&&(i.mode&4095)!==e.mode,[a]=o?yb(()=>{He.chmodSync(e.absolute,e.mode)}):[];return this[on](a,e)}let[s]=yb(()=>He.rmdirSync(e.absolute));this[on](s,e)}let[n]=e.absolute===this.cwd?[]:yb(()=>Bhe(e.absolute));this[on](n,e)}[mT](e,t){let i=e.mode&4095||this.fmode,n=a=>{let l;try{He.closeSync(s)}catch(c){l=c}(a||l)&&this[Ii](a||l,e),t()},s;try{s=He.openSync(e.absolute,Iz(e.size),i)}catch(a){return n(a)}let o=this.transform&&this.transform(e)||e;o!==e&&(o.on("error",a=>this[Ii](a,e)),e.pipe(o)),o.on("data",a=>{try{He.writeSync(s,a,0,a.length)}catch(l){n(l)}}),o.on("end",a=>{let l=null;if(e.mtime&&!this.noMtime){let c=e.atime||new Date,u=e.mtime;try{He.futimesSync(s,c,u)}catch(f){try{He.utimesSync(e.absolute,c,u)}catch(d){l=f}}}if(this[Nh](e)){let c=this[qh](e),u=this[$h](e);try{He.fchownSync(s,c,u)}catch(f){try{He.chownSync(e.absolute,c,u)}catch(d){l=l||f}}}n(l)})}[gT](e,t){let i=e.mode&4095||this.dmode,n=this[Jo](e.absolute,i);if(n){this[Ii](n,e),t();return}if(e.mtime&&!this.noMtime)try{He.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[Nh](e))try{He.chownSync(e.absolute,this[qh](e),this[$h](e))}catch(s){}t(),e.resume()}[Jo](e,t){try{return xz.sync(kr(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t})}catch(i){return i}}[gb](e,t,i,n){try{He[i+"Sync"](t,e.absolute),n(),e.resume()}catch(s){return this[Ii](s,e)}}};bb.Sync=Az;Fz.exports=bb});var Bz=x((lRe,$z)=>{"use strict";var Hhe=fu(),wb=wT(),Mz=require("fs"),Nz=Tu(),qz=require("path"),xT=vu();$z.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=Hhe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&Whe(i,e),i.file&&i.sync?zhe(i):i.file?Vhe(i,t):i.sync?Ghe(i):Khe(i)};var Whe=(r,e)=>{let t=new Map(e.map(s=>[xT(s),!0])),i=r.filter,n=(s,o)=>{let a=o||qz.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(qz.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(xT(s)):s=>n(xT(s))},zhe=r=>{let e=new wb.Sync(r),t=r.file,i=Mz.statSync(t),n=r.maxReadSize||16*1024*1024;new Nz.ReadStreamSync(t,{readSize:n,size:i.size}).pipe(e)},Vhe=(r,e)=>{let t=new wb(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("close",o),Mz.stat(n,(l,c)=>{if(l)a(l);else{let u=new Nz.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},Ghe=r=>new wb.Sync(r),Khe=r=>new wb(r)});var jz=x(Zt=>{"use strict";Zt.c=Zt.create=x3();Zt.r=Zt.replace=tT();Zt.t=Zt.list=cb();Zt.u=Zt.update=k3();Zt.x=Zt.extract=Bz();Zt.Pack=Yv();Zt.Unpack=wT();Zt.Parse=lb();Zt.ReadEntry=Lv();Zt.WriteEntry=kE();Zt.Header=gu();Zt.Pax=Mv();Zt.types=pE()});var zz=x((uRe,Wz)=>{Wz.exports=Oi;function Oi(r){if(!(this instanceof Oi))return new Oi(r);this.value=r}Oi.prototype.get=function(r){for(var e=this.value,t=0;t{var Jhe=zz(),Yhe=require("events").EventEmitter;Vz.exports=Ou;function Ou(r){var e=Ou.saw(r,{}),t=r.call(e.handlers,e);return t!==void 0&&(e.handlers=t),e.record(),e.chain()}Ou.light=function(e){var t=Ou.saw(e,{}),i=e.call(t.handlers,t);return i!==void 0&&(t.handlers=i),t.chain()};Ou.saw=function(r,e){var t=new Yhe;return t.handlers=e,t.actions=[],t.chain=function(){var i=Jhe(t.handlers).map(function(n){if(this.isRoot)return n;var s=this.path;typeof n=="function"&&this.update(function(){return t.actions.push({path:s,args:[].slice.call(arguments)}),i})});return process.nextTick(function(){t.emit("begin"),t.next()}),i},t.pop=function(){return t.actions.shift()},t.next=function(){var i=t.pop();if(!i)t.emit("end");else if(!i.trap){var n=t.handlers;i.path.forEach(function(s){n=n[s]}),n.apply(t.handlers,i.args)}},t.nest=function(i){var n=[].slice.call(arguments,1),s=!0;if(typeof i=="boolean"){var s=i;i=n.shift()}var o=Ou.saw(r,{}),a=r.call(o.handlers,o);a!==void 0&&(o.handlers=a),typeof t.step!="undefined"&&o.record(),i.apply(o.chain(),n),s!==!1&&o.on("end",t.next)},t.record=function(){Xhe(t)},["trap","down","jump"].forEach(function(i){t[i]=function(){throw new Error("To use the trap, down and jump features, please call record() first to start recording actions.")}}),t};function Xhe(r){r.step=0,r.pop=function(){return r.actions[r.step++]},r.trap=function(e,t){var i=Array.isArray(e)?e:[e];r.actions.push({path:i,step:r.step,cb:t,trap:!0})},r.down=function(e){var t=(Array.isArray(e)?e:[e]).join("/"),i=r.actions.slice(r.step).map(function(s){return s.trap&&s.step<=r.step?!1:s.path.join("/")==t}).indexOf(!0);i>=0?r.step+=i:r.step=r.actions.length;var n=r.actions[r.step-1];n&&n.trap?(r.step=n.step,n.cb()):r.next()},r.jump=function(e){r.step=e,r.next()}}});var Jz=x((dRe,Kz)=>{Kz.exports=zi;function zi(r){if(!(this instanceof zi))return new zi(r);this.buffers=r||[],this.length=this.buffers.reduce(function(e,t){return e+t.length},0)}zi.prototype.push=function(){for(var r=0;r=0?r:this.length-r,n=[].slice.call(arguments,2);e===void 0?e=this.length-i:e>this.length-i&&(e=this.length-i);for(var r=0;r0){var c=i-a;if(c+e0){var h=n.slice();h.unshift(f),h.push(d),t.splice.apply(t,[l,1].concat(h)),l+=h.length,n=[]}else t.splice(l,1,f,d),l+=2}else s.push(t[l].slice(c)),t[l]=t[l].slice(0,c),l++}for(n.length>0&&(t.splice.apply(t,[l,0].concat(n)),l+=n.length);s.lengththis.length&&(e=this.length);for(var i=0,n=0;n=e-r?Math.min(c+(e-r)-o,l):l;t[a].copy(s,o,c,u),o+=u-c}return s};zi.prototype.pos=function(r){if(r<0||r>=this.length)throw new Error("oob");for(var e=r,t=0,i=null;;){if(i=this.buffers[t],e=this.buffers[t].length;)if(i=0,t++,t>=this.buffers.length)return-1;var l=this.buffers[t][i];if(l==r[n]){if(n==0&&(s={i:t,j:i,pos:o}),n++,n==r.length)return s.pos}else n!=0&&(t=s.i,i=s.j,o=s.pos,n=0);i++,o++}};zi.prototype.toBuffer=function(){return this.slice()};zi.prototype.toString=function(r,e,t){return this.slice(e,t).toString(r)}});var Xz=x((hRe,Yz)=>{Yz.exports=function(r){function e(i,n){var s=t.store,o=i.split(".");o.slice(0,-1).forEach(function(l){s[l]===void 0&&(s[l]={}),s=s[l]});var a=o[o.length-1];return arguments.length==1?s[a]:s[a]=n}var t={get:function(i){return e(i)},set:function(i,n){return e(i,n)},store:r||{}};return t}});var r4=x((vl,i4)=>{var Zhe=Gz(),Zz=require("events").EventEmitter,Qhe=Jz(),xb=Xz(),epe=require("stream").Stream;vl=i4.exports=function(r,e){if(Buffer.isBuffer(r))return vl.parse(r);var t=vl.stream();return r&&r.pipe?r.pipe(t):r&&(r.on(e||"data",function(i){t.write(i)}),r.on("end",function(){t.end()})),t};vl.stream=function(r){if(r)return vl.apply(null,arguments);var e=null;function t(f,d,h){e={bytes:f,skip:h,cb:function(p){e=null,d(p)}},n()}var i=null;function n(){if(!e){u&&(c=!0);return}if(typeof e=="function")e();else{var f=i+e.bytes;if(a.length>=f){var d;i==null?(d=a.splice(0,f),e.skip||(d=d.slice())):(e.skip||(d=a.slice(i,f)),i=f),e.skip?e.cb():e.cb(d)}}}function s(f){function d(){c||f.next()}var h=t4(function(p,g){return function(b){t(p,function(y){l.set(b,g(y)),d()})}});return h.tap=function(p){f.nest(p,l.store)},h.into=function(p,g){l.get(p)||l.set(p,{});var b=l;l=xb(b.get(p)),f.nest(function(){g.apply(this,arguments),this.tap(function(){l=b})},l.store)},h.flush=function(){l.store={},d()},h.loop=function(p){var g=!1;f.nest(!1,function b(){this.vars=l.store,p.call(this,function(){g=!0,d()},l.store),this.tap(function(){g?f.next():b.call(this)}.bind(this))},l.store)},h.buffer=function(p,g){typeof g=="string"&&(g=l.get(g)),t(g,function(b){l.set(p,b),d()})},h.skip=function(p){typeof p=="string"&&(p=l.get(p)),t(p,function(){d()})},h.scan=function(g,b){if(typeof b=="string")b=new Buffer(b);else if(!Buffer.isBuffer(b))throw new Error("search must be a Buffer or a string");var y=0;e=function(){var S=a.indexOf(b,i+y),w=S-i-y;S!==-1?(e=null,i!=null?(l.set(g,a.slice(i,i+y+w)),i+=y+w+b.length):(l.set(g,a.slice(0,y+w)),a.splice(0,y+w+b.length)),d(),n()):w=Math.max(a.length-b.length-i-y,0),y+=w},n()},h.peek=function(p){i=0,f.nest(function(){p.call(this,l.store),this.tap(function(){i=null})})},h}var o=Zhe.light(s);o.writable=!0;var a=Qhe();o.write=function(f){a.push(f),n()};var l=xb(),c=!1,u=!1;return o.end=function(){u=!0},o.pipe=epe.prototype.pipe,Object.getOwnPropertyNames(Zz.prototype).forEach(function(f){o[f]=Zz.prototype[f]}),o};vl.parse=function(e){var t=t4(function(s,o){return function(a){if(i+s<=e.length){var l=e.slice(i,i+s);i+=s,n.set(a,o(l))}else n.set(a,null);return t}}),i=0,n=xb();return t.vars=n.store,t.tap=function(s){return s.call(t,n.store),t},t.into=function(s,o){n.get(s)||n.set(s,{});var a=n;return n=xb(a.get(s)),o.call(t,n.store),n=a,t},t.loop=function(s){for(var o=!1,a=function(){o=!0};o===!1;)s.call(t,a,n.store);return t},t.buffer=function(s,o){typeof o=="string"&&(o=n.get(o));var a=e.slice(i,Math.min(e.length,i+o));return i+=o,n.set(s,a),t},t.skip=function(s){return typeof s=="string"&&(s=n.get(s)),i+=s,t},t.scan=function(s,o){if(typeof o=="string")o=new Buffer(o);else if(!Buffer.isBuffer(o))throw new Error("search must be a Buffer or a string");n.set(s,null);for(var a=0;a+i<=e.length-o.length+1;a++){for(var l=0;l=e.length},t};function Qz(r){for(var e=0,t=0;t{var n4=require("stream").Transform,rpe=require("util");function bl(r,e){if(!(this instanceof bl))return new bl;n4.call(this);var t=typeof r=="object"?r.pattern:r;this.pattern=Buffer.isBuffer(t)?t:Buffer.from(t),this.requiredLength=this.pattern.length,r.requiredExtraSize&&(this.requiredLength+=r.requiredExtraSize),this.data=new Buffer(""),this.bytesSoFar=0,this.matchFn=e}rpe.inherits(bl,n4);bl.prototype.checkDataChunk=function(r){var e=this.data.length>=this.requiredLength;if(!!e){var t=this.data.indexOf(this.pattern,r?1:0);if(t>=0&&t+this.requiredLength>this.data.length){if(t>0){var i=this.data.slice(0,t);this.push(i),this.bytesSoFar+=t,this.data=this.data.slice(t)}return}if(t===-1){var n=this.data.length-this.requiredLength+1,i=this.data.slice(0,n);this.push(i),this.bytesSoFar+=n,this.data=this.data.slice(n);return}if(t>0){var i=this.data.slice(0,t);this.data=this.data.slice(t),this.push(i),this.bytesSoFar+=t}var s=this.matchFn?this.matchFn(this.data,this.bytesSoFar):!0;if(s){this.data=new Buffer("");return}return!0}};bl.prototype._transform=function(r,e,t){this.data=Buffer.concat([this.data,r]);for(var i=!0;this.checkDataChunk(!i);)i=!1;t()};bl.prototype._flush=function(r){if(this.data.length>0)for(var e=!0;this.checkDataChunk(!e);)e=!1;this.data.length>0&&(this.push(this.data),this.data=null),r()};s4.exports=bl});var l4=x((mRe,a4)=>{"use strict";var ST=require("stream"),npe=require("util").inherits;function Uh(){if(!(this instanceof Uh))return new Uh;ST.PassThrough.call(this),this.path=null,this.type=null,this.isDirectory=!1}npe(Uh,ST.PassThrough);Uh.prototype.autodrain=function(){return this.pipe(new ST.Transform({transform:function(r,e,t){t()}}))};a4.exports=Uh});var _T=x((gRe,u4)=>{"use strict";var Yo=r4(),CT=require("stream"),spe=require("util"),ope=require("zlib"),ape=o4(),c4=l4(),fe={STREAM_START:0,START:1,LOCAL_FILE_HEADER:2,LOCAL_FILE_HEADER_SUFFIX:3,FILE_DATA:4,FILE_DATA_END:5,DATA_DESCRIPTOR:6,CENTRAL_DIRECTORY_FILE_HEADER:7,CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX:8,CDIR64_END:9,CDIR64_END_DATA_SECTOR:10,CDIR64_LOCATOR:11,CENTRAL_DIRECTORY_END:12,CENTRAL_DIRECTORY_END_COMMENT:13,TRAILING_JUNK:14,ERROR:99},Hh=4294967296,lpe=67324752,cpe=134695760,upe=33639248,fpe=101075792,dpe=117853008,hpe=101010256;function mi(r){if(!(this instanceof mi))return new mi(r);CT.Transform.call(this),this.options=r||{},this.data=new Buffer(""),this.state=fe.STREAM_START,this.skippedBytes=0,this.parsedEntity=null,this.outStreamInfo={}}spe.inherits(mi,CT.Transform);mi.prototype.processDataChunk=function(r){var e;switch(this.state){case fe.STREAM_START:case fe.START:e=4;break;case fe.LOCAL_FILE_HEADER:e=26;break;case fe.LOCAL_FILE_HEADER_SUFFIX:e=this.parsedEntity.fileNameLength+this.parsedEntity.extraFieldLength;break;case fe.DATA_DESCRIPTOR:e=12;break;case fe.CENTRAL_DIRECTORY_FILE_HEADER:e=42;break;case fe.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX:e=this.parsedEntity.fileNameLength+this.parsedEntity.extraFieldLength+this.parsedEntity.fileCommentLength;break;case fe.CDIR64_END:e=52;break;case fe.CDIR64_END_DATA_SECTOR:e=this.parsedEntity.centralDirectoryRecordSize-44;break;case fe.CDIR64_LOCATOR:e=16;break;case fe.CENTRAL_DIRECTORY_END:e=18;break;case fe.CENTRAL_DIRECTORY_END_COMMENT:e=this.parsedEntity.commentLength;break;case fe.FILE_DATA:return 0;case fe.FILE_DATA_END:return 0;case fe.TRAILING_JUNK:return this.options.debug&&console.log("found",r.length,"bytes of TRAILING_JUNK"),r.length;default:return r.length}var t=r.length;if(t>>8,(s&255)==80){o=a;break}return this.skippedBytes+=o,this.options.debug&&console.log("Skipped",this.skippedBytes,"bytes"),o}this.state=fe.ERROR;var l=n?"Not a valid zip file":"Invalid signature in zip file";if(this.options.debug){var c=r.readUInt32LE(0),u;try{u=r.slice(0,4).toString()}catch(_){}console.log("Unexpected signature in zip file: 0x"+c.toString(16),'"'+u+'", skipped',this.skippedBytes,"bytes")}return this.emit("error",new Error(l)),r.length}return this.skippedBytes=0,e;case fe.LOCAL_FILE_HEADER:return this.parsedEntity=this._readFile(r),this.state=fe.LOCAL_FILE_HEADER_SUFFIX,e;case fe.LOCAL_FILE_HEADER_SUFFIX:var f=new c4,d=(this.parsedEntity.flags&2048)!=0;f.path=this._decodeString(r.slice(0,this.parsedEntity.fileNameLength),d);var h=r.slice(this.parsedEntity.fileNameLength,this.parsedEntity.fileNameLength+this.parsedEntity.extraFieldLength),p=this._readExtraFields(h);if(p&&p.parsed&&(p.parsed.path&&!d&&(f.path=p.parsed.path),Number.isFinite(p.parsed.uncompressedSize)&&this.parsedEntity.uncompressedSize===Hh-1&&(this.parsedEntity.uncompressedSize=p.parsed.uncompressedSize),Number.isFinite(p.parsed.compressedSize)&&this.parsedEntity.compressedSize===Hh-1&&(this.parsedEntity.compressedSize=p.parsed.compressedSize)),this.parsedEntity.extra=p.parsed||{},this.options.debug){let _=Object.assign({},this.parsedEntity,{path:f.path,flags:"0x"+this.parsedEntity.flags.toString(16),extraFields:p&&p.debug});console.log("decoded LOCAL_FILE_HEADER:",JSON.stringify(_,null,2))}return this._prepareOutStream(this.parsedEntity,f),this.emit("entry",f),this.state=fe.FILE_DATA,e;case fe.CENTRAL_DIRECTORY_FILE_HEADER:return this.parsedEntity=this._readCentralDirectoryEntry(r),this.state=fe.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX,e;case fe.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX:var d=(this.parsedEntity.flags&2048)!=0,g=this._decodeString(r.slice(0,this.parsedEntity.fileNameLength),d),h=r.slice(this.parsedEntity.fileNameLength,this.parsedEntity.fileNameLength+this.parsedEntity.extraFieldLength),p=this._readExtraFields(h);p&&p.parsed&&p.parsed.path&&!d&&(g=p.parsed.path),this.parsedEntity.extra=p.parsed;var b=(this.parsedEntity.versionMadeBy&65280)>>8==3,y,S;if(b){y=this.parsedEntity.externalFileAttributes>>>16;var w=y>>>12;S=(w&10)==10}if(this.options.debug){let _=Object.assign({},this.parsedEntity,{path:g,flags:"0x"+this.parsedEntity.flags.toString(16),unixAttrs:y&&"0"+y.toString(8),isSymlink:S,extraFields:p.debug});console.log("decoded CENTRAL_DIRECTORY_FILE_HEADER:",JSON.stringify(_,null,2))}return this.state=fe.START,e;case fe.CDIR64_END:return this.parsedEntity=this._readEndOfCentralDirectory64(r),this.options.debug&&console.log("decoded CDIR64_END_RECORD:",this.parsedEntity),this.state=fe.CDIR64_END_DATA_SECTOR,e;case fe.CDIR64_END_DATA_SECTOR:return this.state=fe.START,e;case fe.CDIR64_LOCATOR:return this.state=fe.START,e;case fe.CENTRAL_DIRECTORY_END:return this.parsedEntity=this._readEndOfCentralDirectory(r),this.options.debug&&console.log("decoded CENTRAL_DIRECTORY_END:",this.parsedEntity),this.state=fe.CENTRAL_DIRECTORY_END_COMMENT,e;case fe.CENTRAL_DIRECTORY_END_COMMENT:return this.options.debug&&console.log("decoded CENTRAL_DIRECTORY_END_COMMENT:",r.slice(0,e).toString()),this.state=fe.TRAILING_JUNK,e;case fe.ERROR:return r.length;default:return console.log("didn't handle state #",this.state,"discarding"),r.length}};mi.prototype._prepareOutStream=function(r,e){var t=this,i=r.uncompressedSize===0&&/[\/\\]$/.test(e.path);e.path=e.path.replace(/^([/\\]*[.]+[/\\]+)*[/\\]*/,""),e.type=i?"Directory":"File",e.isDirectory=i;var n=!(r.flags&8);n&&(e.size=r.uncompressedSize);var s=r.versionsNeededToExtract<=45;if(this.outStreamInfo={stream:null,limit:n?r.compressedSize:-1,written:0},n)this.outStreamInfo.stream=new CT.PassThrough;else{var o=new Buffer(4);o.writeUInt32LE(cpe,0);var a=r.extra.zip64Mode,l=a?20:12,c={pattern:o,requiredExtraSize:l},u=new ape(c,function(g,b){var y=t._readDataDescriptor(g,a),S=y.compressedSize===b;if(!a&&!S&&b>=Hh)for(var w=b-Hh;w>=0&&(S=y.compressedSize===w,!S);)w-=Hh;if(!!S){t.state=fe.FILE_DATA_END;var _=a?24:16;return t.data.length>0?t.data=Buffer.concat([g.slice(_),t.data]):t.data=g.slice(_),!0}});this.outStreamInfo.stream=u}var f=r.flags&1||r.flags&64;if(f||!s){var d=f?"Encrypted files are not supported!":"Zip version "+Math.floor(r.versionsNeededToExtract/10)+"."+r.versionsNeededToExtract%10+" is not supported";e.skip=!0,setImmediate(()=>{e.emit("error",new Error(d))}),this.outStreamInfo.stream.pipe(new c4().autodrain());return}var h=r.compressionMethod>0;if(h){var p=ope.createInflateRaw();p.on("error",function(g){t.state=fe.ERROR,t.emit("error",g)}),this.outStreamInfo.stream.pipe(p).pipe(e)}else this.outStreamInfo.stream.pipe(e);this._drainAllEntries&&e.autodrain()};mi.prototype._readFile=function(r){var e=Yo.parse(r).word16lu("versionsNeededToExtract").word16lu("flags").word16lu("compressionMethod").word16lu("lastModifiedTime").word16lu("lastModifiedDate").word32lu("crc32").word32lu("compressedSize").word32lu("uncompressedSize").word16lu("fileNameLength").word16lu("extraFieldLength").vars;return e};mi.prototype._readExtraFields=function(r){var e={},t={parsed:e};this.options.debug&&(t.debug=[]);for(var i=0;i=l+4&&a&1&&(e.mtime=new Date(r.readUInt32LE(i+l)*1e3),l+=4),n.extraSize>=l+4&&a&2&&(e.atime=new Date(r.readUInt32LE(i+l)*1e3),l+=4),n.extraSize>=l+4&&a&4&&(e.ctime=new Date(r.readUInt32LE(i+l)*1e3));break;case 28789:s="Info-ZIP Unicode Path Extra Field";var c=r.readUInt8(i);if(c===1){var l=1,u=r.readUInt32LE(i+l);l+=4;var f=r.slice(i+l);e.path=f.toString()}break;case 13:case 22613:s=n.extraId===13?"PKWARE Unix":"Info-ZIP UNIX (type 1)";var l=0;if(n.extraSize>=8){var d=new Date(r.readUInt32LE(i+l)*1e3);l+=4;var h=new Date(r.readUInt32LE(i+l)*1e3);if(l+=4,e.atime=d,e.mtime=h,n.extraSize>=12){var p=r.readUInt16LE(i+l);l+=2;var g=r.readUInt16LE(i+l);l+=2,e.uid=p,e.gid=g}}break;case 30805:s="Info-ZIP UNIX (type 2)";var l=0;if(n.extraSize>=4){var p=r.readUInt16LE(i+l);l+=2;var g=r.readUInt16LE(i+l);l+=2,e.uid=p,e.gid=g}break;case 30837:s="Info-ZIP New Unix";var l=0,b=r.readUInt8(i);if(l+=1,b===1){var y=r.readUInt8(i+l);l+=1,y<=6&&(e.uid=r.readUIntLE(i+l,y)),l+=y;var S=r.readUInt8(i+l);l+=1,S<=6&&(e.gid=r.readUIntLE(i+l,S))}break;case 30062:s="ASi Unix";var l=0;if(n.extraSize>=14){var w=r.readUInt32LE(i+l);l+=4;var _=r.readUInt16LE(i+l);l+=2;var L=r.readUInt32LE(i+l);l+=4;var p=r.readUInt16LE(i+l);l+=2;var g=r.readUInt16LE(i+l);if(l+=2,e.mode=_,e.uid=p,e.gid=g,n.extraSize>14){var $=i+l,I=i+n.extraSize-14,W=this._decodeString(r.slice($,I));e.symlink=W}}break}this.options.debug&&t.debug.push({extraId:"0x"+n.extraId.toString(16),description:s,data:r.slice(i,i+n.extraSize).inspect()}),i+=n.extraSize}return t};mi.prototype._readDataDescriptor=function(r,e){if(e){var t=Yo.parse(r).word32lu("dataDescriptorSignature").word32lu("crc32").word64lu("compressedSize").word64lu("uncompressedSize").vars;return t}var t=Yo.parse(r).word32lu("dataDescriptorSignature").word32lu("crc32").word32lu("compressedSize").word32lu("uncompressedSize").vars;return t};mi.prototype._readCentralDirectoryEntry=function(r){var e=Yo.parse(r).word16lu("versionMadeBy").word16lu("versionsNeededToExtract").word16lu("flags").word16lu("compressionMethod").word16lu("lastModifiedTime").word16lu("lastModifiedDate").word32lu("crc32").word32lu("compressedSize").word32lu("uncompressedSize").word16lu("fileNameLength").word16lu("extraFieldLength").word16lu("fileCommentLength").word16lu("diskNumber").word16lu("internalFileAttributes").word32lu("externalFileAttributes").word32lu("offsetToLocalFileHeader").vars;return e};mi.prototype._readEndOfCentralDirectory64=function(r){var e=Yo.parse(r).word64lu("centralDirectoryRecordSize").word16lu("versionMadeBy").word16lu("versionsNeededToExtract").word32lu("diskNumber").word32lu("diskNumberWithCentralDirectoryStart").word64lu("centralDirectoryEntries").word64lu("totalCentralDirectoryEntries").word64lu("sizeOfCentralDirectory").word64lu("offsetToStartOfCentralDirectory").vars;return e};mi.prototype._readEndOfCentralDirectory=function(r){var e=Yo.parse(r).word16lu("diskNumber").word16lu("diskStart").word16lu("centralDirectoryEntries").word16lu("totalCentralDirectoryEntries").word32lu("sizeOfCentralDirectory").word32lu("offsetToStartOfCentralDirectory").word16lu("commentLength").vars;return e};var ppe="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0 ";mi.prototype._decodeString=function(r,e){if(e)return r.toString("utf8");if(this.options.decodeString)return this.options.decodeString(r);let t="";for(var i=0;i0&&(this.data=this.data.slice(t),this.data.length!==0););if(this.state===fe.FILE_DATA){if(this.outStreamInfo.limit>=0){var i=this.outStreamInfo.limit-this.outStreamInfo.written,n;i{if(this.state===fe.FILE_DATA_END)return this.state=fe.START,s.end(e);e()})}return}e()};mi.prototype.drainAll=function(){this._drainAllEntries=!0};mi.prototype._transform=function(r,e,t){var i=this;i.data.length>0?i.data=Buffer.concat([i.data,r]):i.data=r;var n=i.data.length,s=function(){if(i.data.length>0&&i.data.length0){e._parseOrOutput("buffer",function(){if(e.data.length>0)return setImmediate(function(){e._flush(r)});r()});return}if(e.state===fe.FILE_DATA)return r(new Error("Stream finished in an invalid state, uncompression failed"));setImmediate(r)};u4.exports=mi});var d4=x((vRe,f4)=>{var Wh=require("stream").Transform,mpe=require("util"),gpe=_T();function Xo(r){if(!(this instanceof Xo))return new Xo(r);var e=r||{};Wh.call(this,{readableObjectMode:!0}),this.opts=r||{},this.unzipStream=new gpe(this.opts);var t=this;this.unzipStream.on("entry",function(i){t.push(i)}),this.unzipStream.on("error",function(i){t.emit("error",i)})}mpe.inherits(Xo,Wh);Xo.prototype._transform=function(r,e,t){this.unzipStream.write(r,e,t)};Xo.prototype._flush=function(r){var e=this;this.unzipStream.end(function(){process.nextTick(function(){e.emit("close")}),r()})};Xo.prototype.on=function(r,e){return r==="entry"?Wh.prototype.on.call(this,"data",e):Wh.prototype.on.call(this,r,e)};Xo.prototype.drainAll=function(){return this.unzipStream.drainAll(),this.pipe(new Wh({objectMode:!0,transform:function(r,e,t){t()}}))};f4.exports=Xo});var g4=x((bRe,m4)=>{var zh=require("path"),h4=require("fs"),p4=parseInt("0777",8);m4.exports=Lu.mkdirp=Lu.mkdirP=Lu;function Lu(r,e,t,i){typeof e=="function"?(t=e,e={}):(!e||typeof e!="object")&&(e={mode:e});var n=e.mode,s=e.fs||h4;n===void 0&&(n=p4),i||(i=null);var o=t||function(){};r=zh.resolve(r),s.mkdir(r,n,function(a){if(!a)return i=i||r,o(null,i);switch(a.code){case"ENOENT":if(zh.dirname(r)===r)return o(a);Lu(zh.dirname(r),e,function(l,c){l?o(l,c):Lu(r,e,o,c)});break;default:s.stat(r,function(l,c){l||!c.isDirectory()?o(a,i):o(null,i)});break}})}Lu.sync=function r(e,t,i){(!t||typeof t!="object")&&(t={mode:t});var n=t.mode,s=t.fs||h4;n===void 0&&(n=p4),i||(i=null),e=zh.resolve(e);try{s.mkdirSync(e,n),i=i||e}catch(a){switch(a.code){case"ENOENT":i=r(zh.dirname(e),t,i),r(e,t,i);break;default:var o;try{o=s.statSync(e)}catch(l){throw a}if(!o.isDirectory())throw a;break}}return i}});var w4=x((yRe,y4)=>{var vpe=require("fs"),v4=require("path"),bpe=require("util"),ype=g4(),b4=require("stream").Transform,wpe=_T();function Zo(r){if(!(this instanceof Zo))return new Zo(r);b4.call(this),this.opts=r||{},this.unzipStream=new wpe(this.opts),this.unfinishedEntries=0,this.afterFlushWait=!1,this.createdDirectories={};var e=this;this.unzipStream.on("entry",this._processEntry.bind(this)),this.unzipStream.on("error",function(t){e.emit("error",t)})}bpe.inherits(Zo,b4);Zo.prototype._transform=function(r,e,t){this.unzipStream.write(r,e,t)};Zo.prototype._flush=function(r){var e=this,t=function(){process.nextTick(function(){e.emit("close")}),r()};this.unzipStream.end(function(){if(e.unfinishedEntries>0)return e.afterFlushWait=!0,e.on("await-finished",t);t()})};Zo.prototype._processEntry=function(r){var e=this,t=v4.join(this.opts.path,r.path),i=r.isDirectory?t:v4.dirname(t);this.unfinishedEntries++;var n=function(){var s=vpe.createWriteStream(t);s.on("close",function(){e.unfinishedEntries--,e._notifyAwaiter()}),s.on("error",function(o){e.emit("error",o)}),r.pipe(s)};if(this.createdDirectories[i]||i===".")return n();ype(i,function(s){if(s)return e.emit("error",s);if(e.createdDirectories[i]=!0,r.isDirectory){e.unfinishedEntries--,e._notifyAwaiter();return}n()})};Zo.prototype._notifyAwaiter=function(){this.afterFlushWait&&this.unfinishedEntries===0&&(this.emit("await-finished"),this.afterFlushWait=!1)};y4.exports=Zo});var x4=x(ET=>{"use strict";ET.Parse=d4();ET.Extract=w4()});var C4=x((xRe,S4)=>{"use strict";function xpe(){}function Sb(r,e){let t=Sb.spread(r,e),i=t.then(n=>n[0]);return i.cancel=t.cancel,i}(function(r){function e(t,i){let n=null,s=new Promise((o,a)=>{function l(){t.removeListener(i,c),t.removeListener("error",u),s.cancel=xpe}function c(...f){l(),o(f)}function u(f){l(),a(f)}n=l,t.on(i,c),t.on("error",u)});if(!n)throw new TypeError("Could not get `cancel()` function");return s.cancel=n,s}r.spread=e})(Sb||(Sb={}));S4.exports=Sb});var _4=x(TT=>{"use strict";Object.defineProperty(TT,"__esModule",{value:!0});function Spe(r){return function(e,t){return new Promise((i,n)=>{r.call(this,e,t,(s,o)=>{s?n(s):i(o)})})}}TT.default=Spe});var PT=x((RT,T4)=>{"use strict";var E4=RT&&RT.__importDefault||function(r){return r&&r.__esModule?r:{default:r}},Cpe=require("events"),_pe=E4(Bt()),Epe=E4(_4()),Vh=_pe.default("agent-base");function Tpe(r){return Boolean(r)&&typeof r.addRequest=="function"}function DT(){let{stack:r}=new Error;return typeof r!="string"?!1:r.split(` +`).some(e=>e.indexOf("(https.js:")!==-1||e.indexOf("node:https:")!==-1)}function Cb(r,e){return new Cb.Agent(r,e)}(function(r){class e extends Cpe.EventEmitter{constructor(i,n){super();let s=n;typeof i=="function"?this.callback=i:i&&(s=i),this.timeout=null,s&&typeof s.timeout=="number"&&(this.timeout=s.timeout),this.maxFreeSockets=1,this.maxSockets=1,this.maxTotalSockets=1/0,this.sockets={},this.freeSockets={},this.requests={},this.options={}}get defaultPort(){return typeof this.explicitDefaultPort=="number"?this.explicitDefaultPort:DT()?443:80}set defaultPort(i){this.explicitDefaultPort=i}get protocol(){return typeof this.explicitProtocol=="string"?this.explicitProtocol:DT()?"https:":"http:"}set protocol(i){this.explicitProtocol=i}callback(i,n,s){throw new Error('"agent-base" has no default implementation, you must subclass and override `callback()`')}addRequest(i,n){let s=Object.assign({},n);typeof s.secureEndpoint!="boolean"&&(s.secureEndpoint=DT()),s.host==null&&(s.host="localhost"),s.port==null&&(s.port=s.secureEndpoint?443:80),s.protocol==null&&(s.protocol=s.secureEndpoint?"https:":"http:"),s.host&&s.path&&delete s.path,delete s.agent,delete s.hostname,delete s._defaultAgent,delete s.defaultPort,delete s.createConnection,i._last=!0,i.shouldKeepAlive=!1;let o=!1,a=null,l=s.timeout||this.timeout,c=h=>{i._hadError||(i.emit("error",h),i._hadError=!0)},u=()=>{a=null,o=!0;let h=new Error(`A "socket" was not created for HTTP request before ${l}ms`);h.code="ETIMEOUT",c(h)},f=h=>{o||(a!==null&&(clearTimeout(a),a=null),c(h))},d=h=>{if(o)return;if(a!=null&&(clearTimeout(a),a=null),Tpe(h)){Vh("Callback returned another Agent instance %o",h.constructor.name),h.addRequest(i,s);return}if(h){h.once("free",()=>{this.freeSocket(h,s)}),i.onSocket(h);return}let p=new Error(`no Duplex stream was returned to agent-base for \`${i.method} ${i.path}\``);c(p)};if(typeof this.callback!="function"){c(new Error("`callback` is not defined"));return}this.promisifiedCallback||(this.callback.length>=3?(Vh("Converting legacy callback function to promise"),this.promisifiedCallback=Epe.default(this.callback)):this.promisifiedCallback=this.callback),typeof l=="number"&&l>0&&(a=setTimeout(u,l)),"port"in s&&typeof s.port!="number"&&(s.port=Number(s.port));try{Vh("Resolving socket for %o request: %o",s.protocol,`${i.method} ${i.path}`),Promise.resolve(this.promisifiedCallback(i,s)).then(d,f)}catch(h){Promise.reject(h).catch(f)}}freeSocket(i,n){Vh("Freeing socket %o %o",i.constructor.name,n),i.destroy()}destroy(){Vh("Destroying agent %o",this.constructor.name)}}r.Agent=e,r.prototype=r.Agent.prototype})(Cb||(Cb={}));T4.exports=Cb});var R4=x(yl=>{"use strict";var Dpe=yl&&yl.__awaiter||function(r,e,t,i){function n(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(f){o(f)}}function l(u){try{c(i.throw(u))}catch(f){o(f)}}function c(u){u.done?s(u.value):n(u.value).then(a,l)}c((i=i.apply(r,e||[])).next())})},Gh=yl&&yl.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(yl,"__esModule",{value:!0});var Rpe=Gh(require("net")),Ppe=Gh(require("tls")),kT=Gh(require("url")),kpe=Gh(Bt()),Ipe=Gh(C4()),Ope=PT(),Qo=kpe.default("http-proxy-agent");function Lpe(r){return typeof r=="string"?/^https:?$/i.test(r):!1}var D4=class extends Ope.Agent{constructor(e){let t;if(typeof e=="string"?t=kT.default.parse(e):t=e,!t)throw new Error("an HTTP(S) proxy server `host` and `port` must be specified!");Qo("Creating new HttpProxyAgent instance: %o",t),super(t);let i=Object.assign({},t);this.secureProxy=t.secureProxy||Lpe(i.protocol),i.host=i.hostname||i.host,typeof i.port=="string"&&(i.port=parseInt(i.port,10)),!i.port&&i.host&&(i.port=this.secureProxy?443:80),i.host&&i.path&&(delete i.path,delete i.pathname),this.proxy=i}callback(e,t){return Dpe(this,void 0,void 0,function*(){let{proxy:i,secureProxy:n}=this,s=kT.default.parse(e.path);s.protocol||(s.protocol="http:"),s.hostname||(s.hostname=t.hostname||t.host||null),s.port==null&&typeof t.port&&(s.port=String(t.port)),s.port==="80"&&delete s.port,e.path=kT.default.format(s),i.auth&&e.setHeader("Proxy-Authorization",`Basic ${Buffer.from(i.auth).toString("base64")}`);let o;if(n?(Qo("Creating `tls.Socket`: %o",i),o=Ppe.default.connect(i)):(Qo("Creating `net.Socket`: %o",i),o=Rpe.default.connect(i)),e._header){let a,l;Qo("Regenerating stored HTTP header string for request"),e._header=null,e._implicitHeader(),e.output&&e.output.length>0?(Qo("Patching connection write() output buffer with updated header"),a=e.output[0],l=a.indexOf(`\r +\r +`)+4,e.output[0]=e._header+a.substring(l),Qo("Output buffer: %o",e.output)):e.outputData&&e.outputData.length>0&&(Qo("Patching connection write() output buffer with updated header"),a=e.outputData[0].data,l=a.indexOf(`\r +\r +`)+4,e.outputData[0].data=e._header+a.substring(l),Qo("Output buffer: %o",e.outputData[0].data))}return yield Ipe.default(o,"connect"),o})}};yl.default=D4});var k4=x((LT,P4)=>{"use strict";var Ape=LT&<.__importDefault||function(r){return r&&r.__esModule?r:{default:r}},IT=Ape(R4());function OT(r){return new IT.default(r)}(function(r){r.HttpProxyAgent=IT.default,r.prototype=IT.default.prototype})(OT||(OT={}));P4.exports=OT});var I4=x(Jh=>{"use strict";var Fpe=Jh&&Jh.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Jh,"__esModule",{value:!0});var Mpe=Fpe(Bt()),Kh=Mpe.default("https-proxy-agent:parse-proxy-response");function Npe(r){return new Promise((e,t)=>{let i=0,n=[];function s(){let f=r.read();f?u(f):r.once("readable",s)}function o(){r.removeListener("end",l),r.removeListener("error",c),r.removeListener("close",a),r.removeListener("readable",s)}function a(f){Kh("onclose had error %o",f)}function l(){Kh("onend")}function c(f){o(),Kh("onerror %o",f),t(f)}function u(f){n.push(f),i+=f.length;let d=Buffer.concat(n,i);if(d.indexOf(`\r +\r +`)===-1){Kh("have not received end of HTTP headers yet..."),s();return}let p=d.toString("ascii",0,d.indexOf(`\r +`)),g=+p.split(" ")[1];Kh("got proxy server response: %o",p),e({statusCode:g,buffered:d})}r.on("error",c),r.on("close",a),r.on("end",l),s()})}Jh.default=Npe});var F4=x(wl=>{"use strict";var qpe=wl&&wl.__awaiter||function(r,e,t,i){function n(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(f){o(f)}}function l(u){try{c(i.throw(u))}catch(f){o(f)}}function c(u){u.done?s(u.value):n(u.value).then(a,l)}c((i=i.apply(r,e||[])).next())})},Au=wl&&wl.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(wl,"__esModule",{value:!0});var O4=Au(require("net")),L4=Au(require("tls")),$pe=Au(require("url")),Bpe=Au(require("assert")),jpe=Au(Bt()),Upe=PT(),Hpe=Au(I4()),Yh=jpe.default("https-proxy-agent:agent"),A4=class extends Upe.Agent{constructor(e){let t;if(typeof e=="string"?t=$pe.default.parse(e):t=e,!t)throw new Error("an HTTP(S) proxy server `host` and `port` must be specified!");Yh("creating new HttpsProxyAgent instance: %o",t),super(t);let i=Object.assign({},t);this.secureProxy=t.secureProxy||Vpe(i.protocol),i.host=i.hostname||i.host,typeof i.port=="string"&&(i.port=parseInt(i.port,10)),!i.port&&i.host&&(i.port=this.secureProxy?443:80),this.secureProxy&&!("ALPNProtocols"in i)&&(i.ALPNProtocols=["http 1.1"]),i.host&&i.path&&(delete i.path,delete i.pathname),this.proxy=i}callback(e,t){return qpe(this,void 0,void 0,function*(){let{proxy:i,secureProxy:n}=this,s;n?(Yh("Creating `tls.Socket`: %o",i),s=L4.default.connect(i)):(Yh("Creating `net.Socket`: %o",i),s=O4.default.connect(i));let o=Object.assign({},i.headers),l=`CONNECT ${`${t.host}:${t.port}`} HTTP/1.1\r +`;i.auth&&(o["Proxy-Authorization"]=`Basic ${Buffer.from(i.auth).toString("base64")}`);let{host:c,port:u,secureEndpoint:f}=t;zpe(u,f)||(c+=`:${u}`),o.Host=c,o.Connection="close";for(let b of Object.keys(o))l+=`${b}: ${o[b]}\r +`;let d=Hpe.default(s);s.write(`${l}\r +`);let{statusCode:h,buffered:p}=yield d;if(h===200){if(e.once("socket",Wpe),t.secureEndpoint){let b=t.servername||t.host;if(!b)throw new Error('Could not determine "servername"');return Yh("Upgrading socket connection to TLS"),L4.default.connect(Object.assign(Object.assign({},Gpe(t,"host","hostname","path","port")),{socket:s,servername:b}))}return s}s.destroy();let g=new O4.default.Socket;return g.readable=!0,e.once("socket",b=>{Yh("replaying proxy buffer for failed request"),Bpe.default(b.listenerCount("data")>0),b.push(p),b.push(null)}),g})}};wl.default=A4;function Wpe(r){r.resume()}function zpe(r,e){return Boolean(!e&&r===80||e&&r===443)}function Vpe(r){return typeof r=="string"?/^https:?$/i.test(r):!1}function Gpe(r,...e){let t={},i;for(i in r)e.includes(i)||(t[i]=r[i]);return t}});var N4=x((MT,M4)=>{"use strict";var Kpe=MT&&MT.__importDefault||function(r){return r&&r.__esModule?r:{default:r}},AT=Kpe(F4());function FT(r){return new AT.default(r)}(function(r){r.HttpsProxyAgent=AT.default,r.prototype=AT.default.prototype})(FT||(FT={}));M4.exports=FT});var $4=x((TRe,q4)=>{"use strict";var Jpe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];q4.exports=(r,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let t=new Set(Object.keys(r).concat(Jpe)),i={};for(let n of t)n in e||(i[n]={get(){let s=r[n];return typeof s=="function"?s.bind(r):s},set(s){r[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),r.once("aborted",()=>{e.destroy(),e.emit("aborted")}),r.once("close",()=>{r.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var j4=x((DRe,B4)=>{"use strict";var{Transform:Ype,PassThrough:Xpe}=require("stream"),NT=require("zlib"),Zpe=$4();B4.exports=r=>{let e=(r.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return r;let t=e==="br";if(t&&typeof NT.createBrotliDecompress!="function")return r.destroy(new Error("Brotli is not supported on Node.js < 12")),r;let i=!0,n=new Ype({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new Xpe({autoDestroy:!1,destroy(a,l){r.destroy(),l(a)}}),o=t?NT.createBrotliDecompress():NT.createUnzip();return o.once("error",a=>{if(i&&!r.readable){s.end();return}s.destroy(a)}),Zpe(r,s),r.pipe(n).pipe(o).pipe(s),s}});function Qpe(r){let e;r.protocol==="http:"?e=process.env.HTTP_PROXY||process.env.http_proxy||null:r.protocol==="https:"&&(e=process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||null);let t=process.env.NO_PROXY||process.env.no_proxy;if(t==="*")e=null;else if(t){let i=r.hostname.replace(/^\.*/,".").toLowerCase(),n=r.port||r.protocol.startsWith("https")?"443":"80",s=t.split(",");for(let o=0,a=s.length;o{if(i){let l=i.onCancellationRequested(()=>{l.dispose(),a.destroy(new Error("request aborted"))})}let a=n.request(t,l=>{let c=l;if(l.statusCode>=200&&l.statusCode<300||l.statusCode===1223){let u=l.headers||{},f=[],d=u["content-type"]||"";c=(0,V4.default)(l),c.on("data",h=>{f.push(h)}),c.on("end",()=>{let h=Buffer.concat(f);if(!t.buffer&&(d.startsWith("application/json")||d.startsWith("text/"))){let p=d.match(/charset=(\S+)/),g=p?p[1]:"utf8",b=h.toString(g);if(!d.includes("application/json"))s(b);else try{let y=JSON.parse(b);s(y)}catch(y){o(new Error(`Parse response error: ${y}`))}}else s(h)}),c.on("error",h=>{o(new Error(`Unable to connect ${r}: ${h.message}`))})}else o(new Error(`Bad response from ${r}: ${l.statusCode}`))});a.on("error",o),a.on("timeout",()=>{a.destroy(new Error(`Request timeout after ${t.timeout}ms`))}),e&&(typeof e=="string"||Buffer.isBuffer(e)?a.write(e):a.write(JSON.stringify(e))),t.timeout&&a.setTimeout(t.timeout),a.end()})}function ime(r){return r===null?"null":r===void 0?"undefined":typeof r=="string"?"string":Buffer.isBuffer(r)?"buffer":Array.isArray(r)||Wt(r)?"object":"unknown"}function Fu(r,e={},t){let i=$T(r,e);return tme(r,e.data,i,t).catch(n=>{if(G4.error(`Fetch error for ${r}:`,i,n),i.agent&&i.agent.proxy){let{proxy:s}=i.agent;throw new Error(`Request failed using proxy ${s.host}: ${n.message}`)}else throw n})}var _b,qT,U4,H4,W4,z4,V4,G4,Eb=R(()=>{_b=E(eE()),qT=E(require("url")),U4=E(require("fs"));Wr();Y();H4=E(require("querystring")),W4=E(k4()),z4=E(N4()),V4=E(j4()),G4=U()("model-fetch")});function Zh(r,e,t){let{dest:i,onProgress:n,extract:s}=e;if(!i||!Xh.default.isAbsolute(i))throw new Error("Expect absolute file path for dest option.");let o;try{o=Db.default.statSync(i)}catch(u){Db.default.mkdirpSync(i)}if(o&&!o.isDirectory())throw new Error(`${i} exists, but not directory!`);let a=r.startsWith("https")?Tb.https:Tb.http,l=$T(r,e),c=Xh.default.extname(r);return new Promise((u,f)=>{if(t){let h=t.onCancellationRequested(()=>{h.dispose(),d.destroy(new Error("request aborted"))})}let d=a.request(l,h=>{var p,g;if(h.statusCode>=200&&h.statusCode<300||h.statusCode===1223){let b=h.headers||{},y=b["content-disposition"];if(!c&&y){let L=K4.default.parse(y);((p=L.parameters)==null?void 0:p.filename)&&(c=Xh.default.extname(L.parameters.filename))}if(s===!0)if(c===".zip"||b["content-type"]=="application/zip")s="unzip";else if(c==".tgz")s="untar";else{f(new Error(`Unable to extract for ${r}`));return}let S=Number(b["content-length"]),w=0;isNaN(S)||h.on("data",L=>{w+=L.length;let $=(w/S*100).toFixed(1);n?n($):BT.info(`Download ${r} progress ${$}%`)}),h.on("error",L=>{f(new Error(`Unable to connect ${r}: ${L.message}`))}),h.on("end",()=>{BT.info("Download completed:",r)});let _;s==="untar"?_=h.pipe(J4.default.x({strip:(g=e.strip)!=null?g:1,C:i})):s==="unzip"?_=h.pipe(Y4.default.Extract({path:i})):(i=Xh.default.join(i,`${Ms()}${c}`),_=h.pipe(Db.default.createWriteStream(i))),_.on("finish",()=>{BT.info(`Downloaded ${r} => ${i}`),setTimeout(()=>{u(i)},100)}),_.on("error",f)}else f(new Error(`Invalid response from ${r}: ${h.statusCode}`))});d.on("error",f),d.on("timeout",()=>{d.destroy(new Error(`request timeout after ${e.timeout}ms`))}),e.timeout&&d.setTimeout(e.timeout),d.end()})}var K4,Tb,Db,Xh,J4,Y4,BT,jT=R(()=>{K4=E(FW()),Tb=E(eE()),Db=E(pn()),Xh=E(require("path")),J4=E(jz()),Y4=E(x4());Ye();Eb();BT=U()("model-download")});function rme(r="coc.nvim"){let e=(0,t6.default)("npm",{registry:"https://registry.npmjs.org/"}),t=e[`${r}:registry`]||e.config_registry||e.registry;return t.endsWith("/")?t:t+"/"}function Pb(r,e){return t=>new r6(e,r,t)}var X4,Z4,Q4,Li,e6,rs,t6,Rb,i6,r6,n6=R(()=>{X4=E(require("events")),Z4=E(require("child_process"));Hd();Q4=E(require("readline")),Li=E(pn()),e6=E(require("os")),rs=E(require("path")),t6=E(TW()),Rb=E(_v());Y();jT();Eb();Nt();i6=U()("model-installer");r6=class extends X4.EventEmitter{constructor(e,t,i){super();this.root=e;this.npm=t;this.def=i;if(Li.default.existsSync(e)||Li.default.mkdirpSync(e),/^https?:/.test(i))this.url=i;else if(i.startsWith("@")){let n=i.indexOf("@",1);n>1?(this.name=i.substring(0,n),this.version=i.substring(n+1)):this.name=i}else if(i.includes("@")){let[n,s]=i.split("@",2);this.name=n,this.version=s}else this.name=i}get info(){return{name:this.name,version:this.version}}async install(){this.log(`Using npm from: ${this.npm}`);let e=await this.getInfo();i6.info(`Fetched info of ${this.def}`,e);let{name:t}=e,i=e["engines.coc"]?e["engines.coc"].replace(/^\^/,">="):"";if(i&&!Rb.default.satisfies(v.version,i))throw new Error(`${t} ${e.version} requires coc.nvim >= ${i}, please update coc.nvim.`);return await this.doInstall(e),t}async update(e){this.url=e;let t=rs.default.join(this.root,this.name);if((await Li.default.lstat(t)).isSymbolicLink()){this.log("Skipped update for symbol link");return}let n;if(Li.default.existsSync(rs.default.join(t,"package.json"))){let l=await Li.default.readFile(rs.default.join(t,"package.json"),"utf8");n=JSON.parse(l).version}this.log(`Using npm from: ${this.npm}`);let s=await this.getInfo();if(n&&s.version&&Rb.default.gte(n,s.version)){this.log(`Current version ${n} is up to date.`);return}let o=s["engines.coc"]?s["engines.coc"].replace(/^\^/,">="):"";if(o&&!Rb.default.satisfies(v.version,o))throw new Error(`${s.version} requires coc.nvim ${o}, please update coc.nvim.`);await this.doInstall(s);let a=rs.default.join(this.root,s.name,"package.json");if(Li.default.existsSync(a))return this.log(`Updated to v${s.version}`),rs.default.dirname(a);throw new Error(`Package.json not found: ${a}`)}async doInstall(e){let t=rs.default.join(this.root,e.name);if(Li.default.existsSync(t)&&!Li.default.statSync(t).isDirectory()){this.log(`${t} is not directory skipped install`);return}let i=await Li.default.mkdtemp(rs.default.join(e6.default.tmpdir(),`${e.name.replace("/","-")}-`)),n=e["dist.tarball"];this.log(`Downloading from ${n}`),await Zh(n,{dest:i,onProgress:d=>this.log(`Download progress ${d}%`,!0),extract:"untar"}),this.log(`Extension download at ${i}`);let s=await Li.default.readFile(rs.default.join(i,"package.json"),"utf8"),{dependencies:o}=JSON.parse(s);o&&Object.keys(o).length&&await new Promise((h,p)=>{let g=["install","--ignore-scripts","--no-lockfile","--production"];n.startsWith("https://github.com")&&(g=["install"]),(this.npm.endsWith("npm")||this.npm.endsWith("npm.CMD"))&&!this.npm.endsWith("pnpm")&&g.push("--legacy-peer-deps"),this.npm.endsWith("yarn")&&g.push("--ignore-engines"),this.log(`Installing dependencies by: ${this.npm} ${g.join(" ")}.`);let b=(0,Z4.spawn)(this.npm,g,{cwd:i});Q4.default.createInterface({input:b.stdout}).on("line",w=>{this.log(`[npm] ${w}`,!0)}),b.stderr.setEncoding("utf8"),b.stdout.setEncoding("utf8"),b.on("error",p);let S="";b.stderr.on("data",w=>{S+=w}),b.on("exit",w=>{if(w){S&&this.log(S),p(new Error(`${this.npm} install exited with ${w}`));return}h()})});let a=rs.default.resolve(this.root,global.hasOwnProperty("__TEST__")?"":"..","package.json"),l=[],c=Wc(Li.default.readFileSync(a,"utf8"),l,{allowTrailingComma:!0});if(l&&l.length>0)throw new Error(`Error on load ${a}`);c.dependencies=c.dependencies||{},this.url?c.dependencies[e.name]=this.url:c.dependencies[e.name]=">="+e.version;let u={dependencies:{}};Object.keys(c.dependencies).sort().forEach(d=>{u.dependencies[d]=c.dependencies[d]});let f=await Mt(t);f&&(f.isDirectory()?Li.default.removeSync(t):Li.default.unlinkSync(t)),await Li.default.move(i,t,{overwrite:!0}),await Li.default.writeFile(a,JSON.stringify(u,null,2),{encoding:"utf8"}),this.log(`Update package.json at ${a}`),this.log(`Installed extension ${this.name}@${e.version} at ${t}`)}async getInfo(){if(this.url)return await this.getInfoFromUri();let e=rme();this.log(`Get info from ${e}`);let t=await Fu(e+this.name,{timeout:1e4,buffer:!0}),i=JSON.parse(t.toString());this.version||(this.version=i["dist-tags"].latest);let n=i.versions[this.version];if(!n)throw new Error(`${this.def} doesn't exists in ${e}.`);let s=n.engines&&n.engines.coc;if(!s)throw new Error(`${this.def} is not valid coc extension, "engines" field with coc property required.`);return{"dist.tarball":n.dist.tarball,"engines.coc":s,version:n.version,name:i.name}}async getInfoFromUri(){let{url:e}=this;if(!e.includes("github.com"))throw new Error(`"${e}" is not supported, coc.nvim support github.com only`);e=e.replace(/\/$/,"");let t="master";if(e.includes("@")){let o=e.indexOf("@");t=e.substr(o+1),e=e.substring(0,o)}let i=e.replace("github.com","raw.githubusercontent.com")+`/${t}/package.json`;this.log(`Get info from ${i}`);let n=await Fu(i,{timeout:1e4}),s=typeof n=="string"?JSON.parse(n):n;return this.name=s.name,{"dist.tarball":`${e}/archive/${t}.tar.gz`,"engines.coc":s.engines?s.engines.coc:null,name:s.name,version:s.version}}log(e,t=!1){i6.info(e),this.emit("message",e,t)}}});var Mu,nme,kb,s6=R(()=>{Mu=E(require("fs"));ri();nme=U()("model-memos"),kb=class{constructor(e){this.filepath=e;Mu.default.existsSync(e)||Mu.default.writeFileSync(e,"{}","utf8")}fetchContent(e,t){try{let i=Mu.default.readFileSync(this.filepath,"utf8"),s=JSON.parse(i)[e];return s?s[t]:void 0}catch(i){return}}async update(e,t,i){let{filepath:n}=this;try{let s=Mu.default.readFileSync(n,"utf8"),o=s?JSON.parse(s):{};o[e]=o[e]||{},i!==void 0?o[e][t]=Ls(i):delete o[e][t],s=JSON.stringify(o,null,2),Mu.default.writeFileSync(n,s,"utf8")}catch(s){nme.error("Error on update memos:",s)}}createMemento(e){return{get:(t,i)=>{let n=this.fetchContent(e,t);return n===void 0?i:n},update:async(t,i)=>{await this.update(e,t,i)}}}}});function a6(r,...e){return r=Object(r),e.forEach(t=>{if(t!=null){t=Object(t);for(let i in t){let n=r[i];(n===void 0||n===o6[i]&&!sme.call(r,i))&&(r[i]=t[i])}}}),r}function ns(r,e){let t={};for(let i of Object.keys(r))e.includes(i)||(t[i]=r[i]);return t}var o6,sme,Nu=R(()=>{o6=Object.prototype,sme=o6.hasOwnProperty});function UT(r,e){let{range:t,uri:i}=e;r.find(n=>n.uri==i&&je(n.range,t))==null&&r.push(e)}var qu,ome,me,Et=R(()=>{qu=E(H());Y();ri();ome=U()("provider-manager"),me=class{constructor(){this.providers=new Set}hasProvider(e){return this.getProvider(e)!=null}getProvider(e){let t=0,i;for(let n of this.providers){let{selector:s,priority:o}=n,a=v.match(s,e);a!=0&&(typeof o=="number"&&(a=o),!(ai.id==e);return t?t.provider:null}getProviders(e){let t=Array.from(this.providers);return t=t.filter(i=>v.match(i.selector,e)>0),t.sort((i,n)=>v.match(n.selector,e)-v.match(i.selector,e))}toLocations(e){let t=[];for(let i of e)if(!!i)if(qu.Location.is(i))UT(t,i);else if(Array.isArray(i)){for(let n of i)if(qu.Location.is(n))UT(t,n);else if(qu.LocationLink.is(n)){let{targetUri:s,targetSelectionRange:o,targetRange:a}=n;UT(t,qu.Location.create(s,o||a))}}else ome.error("Bad definition",i);return t}}});var l6,Ib,c6=R(()=>{l6=E(H());Et();Ye();Ib=class extends me{register(e,t){let i={id:ue(),selector:e,provider:t};return this.providers.add(i),l6.Disposable.create(()=>{this.providers.delete(i)})}async prepareCallHierarchy(e,t,i){let n=this.getProvider(e);if(!n)return null;let{provider:s}=n;return s.prepareCallHierarchy===null?null:await Promise.resolve(s.prepareCallHierarchy(e,t,i))}async provideCallHierarchyOutgoingCalls(e,t,i){let n=this.getProvider(e);if(!n)return null;let{provider:s}=n;return s.provideCallHierarchyOutgoingCalls===null?null:await Promise.resolve(s.provideCallHierarchyOutgoingCalls(t,i))}async provideCallHierarchyIncomingCalls(e,t,i){let n=this.getProvider(e);if(!n)return null;let{provider:s}=n;return s.provideCallHierarchyIncomingCalls(t,i)===null?null:await Promise.resolve(s.provideCallHierarchyIncomingCalls(t,i))}}});var Ob,yPe,Lb,u6=R(()=>{Ob=E(H());Et();Ye();yPe=U()("codeActionManager"),Lb=class extends me{constructor(){super(...arguments);this.providerMap=new WeakMap}register(e,t,i,n){let s={id:ue(),selector:e,provider:t,kinds:n,clientId:i};return this.providers.add(s),Ob.Disposable.create(()=>{this.providers.delete(s)})}async provideCodeActions(e,t,i,n){let s=this.getProviders(e);if(!s.length)return null;if(i.only){let{only:a}=i;s=s.filter(l=>!(l.kinds&&!l.kinds.some(c=>a.includes(c))))}let o=[];return await Promise.all(s.map(a=>{let{provider:l,id:c}=a;return Promise.resolve(l.provideCodeActions(e,t,i,n)).then(u=>{if(!(!u||u.length==0))for(let f of u)if(Ob.Command.is(f)){let d={title:f.title,command:f};o.push(d),this.providerMap.set(d,c)}else{if(i.only){if(!f.kind)continue;let h=!1;for(let p of i.only)if(f.kind.startsWith(p)){h=!0;break}if(!h)continue}o.findIndex(h=>h.title==f.title)==-1&&(this.providerMap.set(f,c),o.push(f))}})})),o}async resolveCodeAction(e,t){if(e.edit!=null)return e;let i=this.providerMap.get(e);if(!i)throw new Error("provider id not found from codeAction");let n=this.getProviderById(i);if(!n||typeof n.resolveCodeAction!="function")return e;let s=await Promise.resolve(n.resolveCodeAction(e,t));return s&&this.providerMap.set(s,i),s||e}}});var f6,Ab,d6=R(()=>{f6=E(H());Et();Ye();Nu();Ab=class extends me{register(e,t){let i={id:ue(),selector:e,provider:t};return this.providers.add(i),f6.Disposable.create(()=>{this.providers.delete(i)})}async provideCodeLenses(e,t){let i=this.getProviders(e);if(!i.length)return null;let n=await Promise.all(i.map(s=>{let{provider:o,id:a}=s;return Promise.resolve(o.provideCodeLenses(e,t)).then(l=>{if(Array.isArray(l))for(let c of l)c.source=a;return l})}));return[].concat(...n)}async resolveCodeLens(e,t){if(e.command)return e;let{source:i}=e,n=this.getProviderById(i);if(!n||typeof n.resolveCodeLens!="function")return e;let s=await Promise.resolve(n.resolveCodeLens(ns(e,["source"]),t));return Object.assign(e,s),e}}});var h6,NPe,Fb,p6=R(()=>{h6=E(H());Et();Ye();NPe=U()("definitionManager"),Fb=class extends me{register(e,t){let i={id:ue(),selector:e,provider:t};return this.providers.add(i),h6.Disposable.create(()=>{this.providers.delete(i)})}async provideDeclaration(e,t,i){let n=this.getProvider(e);if(!n)return null;let{provider:s}=n;return await Promise.resolve(s.provideDeclaration(e,t,i))}}});var Mb,JPe,Nb,m6=R(()=>{Mb=E(H());Et();Ye();ri();JPe=U()("definitionManager"),Nb=class extends me{register(e,t){let i={id:ue(),selector:e,provider:t};return this.providers.add(i),Mb.Disposable.create(()=>{this.providers.delete(i)})}async getDefinitions(e,t,i){let n=this.getProviders(e);return n.length?await Promise.all(n.map(o=>{let{provider:a}=o;return Promise.resolve(a.provideDefinition(e,t,i))})):[]}async provideDefinition(e,t,i){let n=await this.getDefinitions(e,t,i);return this.toLocations(n)}async provideDefinitionLinks(e,t,i){let n=await this.getDefinitions(e,t,i),s=[];for(let o of n)if(!!Array.isArray(o))for(let a of o)Mb.LocationLink.is(a)&&s.findIndex(c=>c.targetUri==a.targetUri&&je(c.targetRange,a.targetRange))==-1&&s.push(a);return s}}});var g6,qb,v6=R(()=>{g6=E(H());Et();Ye();qb=class extends me{register(e,t){let i={id:ue(),selector:e,provider:t};return this.providers.add(i),g6.Disposable.create(()=>{this.providers.delete(i)})}async provideDocumentColors(e,t){let i=this.getProvider(e);if(!i)return null;let{provider:n}=i;return await Promise.resolve(n.provideDocumentColors(e,t))}async provideColorPresentations(e,t,i){let{range:n,color:s}=e,o=this.getProvider(t);if(!o)return null;let{provider:a}=o;return await Promise.resolve(a.provideColorPresentations(s,{document:t,range:n},i))}}});var b6,$b,y6=R(()=>{b6=E(H());Et();Ye();$b=class extends me{register(e,t){let i={id:ue(),selector:e,provider:t};return this.providers.add(i),b6.Disposable.create(()=>{this.providers.delete(i)})}async provideDocumentHighlights(e,t,i){let n=this.getProvider(e);if(!n)return null;let{provider:s}=n;return await Promise.resolve(s.provideDocumentHighlights(e,t,i))}}});var w6,Bb,x6=R(()=>{w6=E(H());Et();Ye();Bb=class extends me{register(e,t){let i={id:ue(),selector:e,provider:t};return this.providers.add(i),w6.Disposable.create(()=>{this.providers.delete(i)})}async _provideDocumentLinks(e,t,i){let{provider:n,id:s}=e,o=await Promise.resolve(n.provideDocumentLinks(t,i));return!o||!o.length?[]:(o.forEach(a=>{a.data=a.data||{},a.data.source=s}),o)}async provideDocumentLinks(e,t){let i=this.getProviders(e);if(i.length==0)return[];let n=await Promise.all(i.map(s=>this._provideDocumentLinks(s,e,t)));return[].concat(...n)}async resolveDocumentLink(e,t){let{data:i}=e;if(!i||!i.source)return null;for(let n of this.providers)if(n.id==i.source){let{provider:s}=n;return e=await Promise.resolve(s.resolveDocumentLink(e,t)),e}return null}}});var S6,jb,C6=R(()=>{S6=E(H());Et();Ye();jb=class extends me{register(e,t,i){let n={id:ue(),displayName:i,selector:e,provider:t};return this.providers.add(n),S6.Disposable.create(()=>{this.providers.delete(n)})}async provideDocumentSymbols(e,t){let i=this.getProvider(e);if(!i)return null;let{provider:n}=i;return await Promise.resolve(n.provideDocumentSymbols(e,t))||[]}}});var _6,Ub,E6=R(()=>{_6=E(H());Et();Ye();Ub=class extends me{register(e,t){let i={id:ue(),selector:e,provider:t};return this.providers.add(i),_6.Disposable.create(()=>{this.providers.delete(i)})}async provideFoldingRanges(e,t,i){let n=this.getProvider(e);if(!n)return null;let{provider:s}=n;return await Promise.resolve(s.provideFoldingRanges(e,t,i))||[]}}});var T6,Hb,D6=R(()=>{T6=E(H());Et();Ye();Hb=class extends me{register(e,t,i=0){let n={id:ue(),selector:e,priority:i,provider:t};return this.providers.add(n),T6.Disposable.create(()=>{this.providers.delete(n)})}handles(e){return this.getProvider(e)!=null}async provideDocumentFormattingEdits(e,t,i){let n=this.getProvider(e);if(!n)return null;let{provider:s}=n;return await Promise.resolve(s.provideDocumentFormattingEdits(e,t,i))}}});var R6,Wb,P6=R(()=>{R6=E(H());Et();Ye();Wb=class extends me{register(e,t,i=0){let n={id:ue(),selector:e,provider:t,priority:i};return this.providers.add(n),R6.Disposable.create(()=>{this.providers.delete(n)})}async provideDocumentRangeFormattingEdits(e,t,i,n){let s=this.getProvider(e);if(!s)return null;let{provider:o}=s;return await Promise.resolve(o.provideDocumentRangeFormattingEdits(e,t,i,n))}}});var k6,zb,I6=R(()=>{k6=E(H());Et();Ye();zb=class extends me{register(e,t){let i={id:ue(),selector:e,provider:t};return this.providers.add(i),k6.Disposable.create(()=>{this.providers.delete(i)})}async provideHover(e,t,i){let n=this.getProviders(e);if(n.length===0)return null;let s=[];for(let o=0,a=n.length;o{O6=E(H());Et();Ye();Vb=class extends me{register(e,t){let i={id:ue(),selector:e,provider:t};return this.providers.add(i),O6.Disposable.create(()=>{this.providers.delete(i)})}async provideReferences(e,t,i){let n=this.getProviders(e);if(!n.length)return null;let s=await Promise.all(n.map(o=>{let{provider:a}=o;return Promise.resolve(a.provideImplementation(e,t,i))}));return this.toLocations(s)}}});var A6,xIe,Gb,F6=R(()=>{Ye();A6=E(H());Et();xIe=U()("linkedEditingManager"),Gb=class extends me{register(e,t){let i={id:ue(),selector:e,provider:t};return this.providers.add(i),A6.Disposable.create(()=>{this.providers.delete(i)})}async provideLinkedEditingRanges(e,t,i){let n=this.getProvider(e);if(!n)return null;let{provider:s}=n;return s.provideLinkedEditingRanges?await Promise.resolve(s.provideLinkedEditingRanges(e,t,i)):null}}});var M6,RIe,Kb,N6=R(()=>{M6=E(H());Y();RIe=U()("onTypeFormatManager"),Kb=class{constructor(){this.providers=new Set}register(e,t,i){let n={triggerCharacters:i,selector:e,provider:t};return this.providers.add(n),M6.Disposable.create(()=>{this.providers.delete(n)})}hasProvider(e){for(let t of this.providers){let{selector:i}=t;if(v.match(i,e)>0)return!0}return!1}getProvider(e,t){for(let i of this.providers){let{triggerCharacters:n,selector:s}=i;if(v.match(s,e)>0&&n.includes(t))return i.provider}return null}async onCharacterType(e,t,i,n){let s=this.getProvider(t,e);if(!s)return;let o=await v.getFormatOptions(t.uri);return await Promise.resolve(s.provideOnTypeFormattingEdits(t,i,e,o,n))}}});var q6,Jb,$6=R(()=>{q6=E(H());Et();Ye();Jb=class extends me{register(e,t){let i={id:ue(),selector:e,provider:t};return this.providers.add(i),q6.Disposable.create(()=>{this.providers.delete(i)})}async provideReferences(e,t,i,n){let s=this.getProviders(e);if(!s.length)return null;let o=await Promise.all(s.map(a=>{let{provider:l}=a;return Promise.resolve(l.provideReferences(e,t,i,n))}));return this.toLocations(o)}}});var B6,Yb,j6=R(()=>{B6=E(H());Et();Ye();Yb=class extends me{register(e,t){let i={id:ue(),selector:e,provider:t};return this.providers.add(i),B6.Disposable.create(()=>{this.providers.delete(i)})}async provideRenameEdits(e,t,i,n){let s=this.getProvider(e);if(!s)return null;let{provider:o}=s;return await Promise.resolve(o.provideRenameEdits(e,t,i,n))}async prepareRename(e,t,i){let n=this.getProvider(e);if(!n)return null;let{provider:s}=n;if(s.prepareRename==null)return null;let o=await Promise.resolve(s.prepareRename(e,t,i));return o==null?!1:o}}});var U6,Xb,H6=R(()=>{U6=E(H());Et();Ye();Xb=class extends me{register(e,t){let i={id:ue(),selector:e,provider:t};return this.providers.add(i),U6.Disposable.create(()=>{this.providers.delete(i)})}async provideSelectionRanges(e,t,i){let n=this.getProvider(e);if(!n)return null;let{provider:s}=n,o=await Promise.resolve(s.provideSelectionRanges(e,t,i));if(!o||o.length==0)return[];for(let a=0;a{Ye();W6=E(H());Et();lOe=U()("semanticTokensManager"),Zb=class extends me{constructor(){super(...arguments);this.resolvedProvider=new Map}register(e,t,i,n){let s=ue(),o={id:s,selector:e,legend:i,provider:t};this.providers.add(o);let a;return typeof t.onDidChangeSemanticTokens=="function"&&(a=t.onDidChangeSemanticTokens(()=>{n()})),W6.Disposable.create(()=>{a==null||a.dispose();for(let[l,c]of this.resolvedProvider.entries())c==s&&this.resolvedProvider.delete(l);this.providers.delete(o)})}getLegend(e){let t=this.getProvider(e);if(!!t)return this.resolvedProvider.set(e.uri,t.id),t.legend}resolveProvider(e){var i;let t=this.resolvedProvider.get(e.uri);return t?this.getProviderById(t):(i=this.getProvider(e))==null?void 0:i.provider}hasSemanticTokensEdits(e){let t=this.resolveProvider(e);return t?typeof t.provideDocumentSemanticTokensEdits=="function":!1}async provideDocumentSemanticTokens(e,t){let i=this.resolveProvider(e);return!i||typeof i.provideDocumentSemanticTokens!="function"?null:await Promise.resolve(i.provideDocumentSemanticTokens(e,t))}async provideDocumentSemanticTokensEdits(e,t,i){let n=this.resolveProvider(e);return!n||typeof n.provideDocumentSemanticTokensEdits!="function"?null:await Promise.resolve(n.provideDocumentSemanticTokensEdits(e,t,i))}}});var V6,bOe,Qb,G6=R(()=>{Ye();V6=E(H());Et();bOe=U()("semanticTokensRangeManager"),Qb=class extends me{register(e,t,i){let n={id:ue(),selector:e,legend:i,provider:t};return this.providers.add(n),V6.Disposable.create(()=>{this.providers.delete(n)})}getLegend(e){let t=this.getProvider(e);if(!!t)return t.legend}async provideDocumentRangeSemanticTokens(e,t,i){let n=this.getProvider(e);if(!n)return null;let{provider:s}=n;return s.provideDocumentRangeSemanticTokens===null?null:await Promise.resolve(s.provideDocumentRangeSemanticTokens(e,t,i))}}});var K6,ey,J6=R(()=>{K6=E(H());Et();Ye();ey=class extends me{register(e,t,i){let n=i.reduce((o,a)=>o.concat(a.length==1?[a]:a.split(/\s*/g)),[]),s={id:ue(),selector:e,provider:t,triggerCharacters:n};return this.providers.add(s),K6.Disposable.create(()=>{this.providers.delete(s)})}shouldTrigger(e,t){let i=this.getProvider(e);if(!i)return!1;let{triggerCharacters:n}=i;return n&&n.indexOf(t)!=-1}async provideSignatureHelp(e,t,i,n){let s=this.getProvider(e);if(!s)return null;let o=await Promise.resolve(s.provider.provideSignatureHelp(e,t,i,n));return o&&o.signatures&&o.signatures.length?o:null}}});var Y6,ty,X6=R(()=>{Y6=E(H());Et();Ye();ty=class extends me{register(e,t){let i={id:ue(),selector:e,provider:t};return this.providers.add(i),Y6.Disposable.create(()=>{this.providers.delete(i)})}async provideTypeDefinition(e,t,i){let n=this.getProviders(e);if(!n.length)return null;let s=await Promise.all(n.map(o=>{let{provider:a}=o;return Promise.resolve(a.provideTypeDefinition(e,t,i))}));return this.toLocations(s)}}});var Z6,iy,Q6=R(()=>{Ye();Z6=E(H()),iy=class{constructor(){this.providers=new Map}register(e){let t=ue();return this.providers.set(t,e),Z6.Disposable.create(()=>{this.providers.delete(t)})}async provideWorkspaceSymbols(e,t){let i=Array.from(this.providers.entries());if(!i.length)return[];let n=[];return await Promise.all(i.map(s=>{let[o,a]=s;return Promise.resolve(a.provideWorkspaceSymbols(e,t)).then(l=>{l&&n.push(...l.map(c=>Object.assign({source:o},c)))})})),n}async resolveWorkspaceSymbol(e,t){let i=this.providers.get(e.source);if(!!i)return typeof i.resolveWorkspaceSymbol!="function"?Promise.resolve(e):await Promise.resolve(i.resolveWorkspaceSymbol(e,t))}hasProvider(){return this.providers.size>0}}});var Gs,W1e,e8,N,Re=R(()=>{Gs=E(H());Xa();c6();u6();d6();p6();m6();v6();y6();x6();C6();E6();D6();P6();I6();L6();F6();N6();$6();j6();H6();z6();G6();J6();X6();Q6();W1e=U()("languages"),e8=class{constructor(){this._onDidSemanticTokensRefresh=new Gs.Emitter;this.onDidSemanticTokensRefresh=this._onDidSemanticTokensRefresh.event;this.onTypeFormatManager=new Kb;this.documentLinkManager=new Bb;this.documentColorManager=new qb;this.foldingRangeManager=new Ub;this.renameManager=new Yb;this.formatManager=new Hb;this.codeActionManager=new Lb;this.workspaceSymbolsManager=new iy;this.formatRangeManager=new Wb;this.hoverManager=new zb;this.signatureManager=new ey;this.documentSymbolManager=new jb;this.documentHighlightManager=new $b;this.definitionManager=new Nb;this.declarationManager=new Fb;this.typeDefinitionManager=new ty;this.referenceManager=new Jb;this.implementationManager=new Vb;this.codeLensManager=new Ab;this.selectionRangeManager=new Xb;this.callHierarchyManager=new Ib;this.semanticTokensManager=new Zb;this.semanticTokensRangeManager=new Qb;this.linkedEditingManager=new Gb;this.cancelTokenSource=new Gs.CancellationTokenSource}hasFormatProvider(e){return!!(this.formatManager.hasProvider(e)||this.formatRangeManager.hasProvider(e))}registerOnTypeFormattingEditProvider(e,t,i){return this.onTypeFormatManager.register(e,t,i)}registerCompletionItemProvider(e,t,i,n,s=[],o,a){return i=typeof i=="string"?[{language:i}]:i,(xl(),t8).default.createLanguageSource(e,t,i,n,s,o,a)}registerCodeActionProvider(e,t,i,n){return this.codeActionManager.register(e,t,i,n)}registerHoverProvider(e,t){return this.hoverManager.register(e,t)}registerSelectionRangeProvider(e,t){return this.selectionRangeManager.register(e,t)}registerSignatureHelpProvider(e,t,i){return this.signatureManager.register(e,t,i)}registerDocumentSymbolProvider(e,t,i){return this.documentSymbolManager.register(e,t,i==null?void 0:i.label)}registerFoldingRangeProvider(e,t){return this.foldingRangeManager.register(e,t)}registerDocumentHighlightProvider(e,t){return this.documentHighlightManager.register(e,t)}registerCodeLensProvider(e,t){return this.codeLensManager.register(e,t)}registerDocumentLinkProvider(e,t){return this.documentLinkManager.register(e,t)}registerDocumentColorProvider(e,t){return this.documentColorManager.register(e,t)}registerDefinitionProvider(e,t){return this.definitionManager.register(e,t)}registerDeclarationProvider(e,t){return this.declarationManager.register(e,t)}registerTypeDefinitionProvider(e,t){return this.typeDefinitionManager.register(e,t)}registerImplementationProvider(e,t){return this.implementationManager.register(e,t)}registerReferencesProvider(e,t){return this.referenceManager.register(e,t)}registerRenameProvider(e,t){return this.renameManager.register(e,t)}registerWorkspaceSymbolProvider(e){return arguments.length>1&&typeof arguments[1].provideWorkspaceSymbols=="function"&&(e=arguments[1]),this.workspaceSymbolsManager.register(e)}registerDocumentFormatProvider(e,t,i=0){return this.formatManager.register(e,t,i)}registerDocumentRangeFormatProvider(e,t,i=0){return this.formatRangeManager.register(e,t,i)}registerCallHierarchyProvider(e,t){return this.callHierarchyManager.register(e,t)}registerDocumentSemanticTokensProvider(e,t,i){return this._onDidSemanticTokensRefresh.fire(e),this.semanticTokensManager.register(e,t,i,()=>{this._onDidSemanticTokensRefresh.fire(e)})}registerDocumentRangeSemanticTokensProvider(e,t,i){return this._onDidSemanticTokensRefresh.fire(e),this.semanticTokensRangeManager.register(e,t,i)}registerLinkedEditingRangeProvider(e,t){return this.linkedEditingManager.register(e,t)}shouldTriggerSignatureHelp(e,t){return this.signatureManager.shouldTrigger(e,t)}async getHover(e,t,i){return await this.hoverManager.provideHover(e,t,i)}async getSignatureHelp(e,t,i,n){return await this.signatureManager.provideSignatureHelp(e,t,i,n)}async getDefinition(e,t,i){return this.definitionManager.hasProvider(e)?await this.definitionManager.provideDefinition(e,t,i):null}async getDefinitionLinks(e,t,i){return this.definitionManager.hasProvider(e)?await this.definitionManager.provideDefinitionLinks(e,t,i):null}async getDeclaration(e,t,i){return this.declarationManager.hasProvider(e)?await this.declarationManager.provideDeclaration(e,t,i):null}async getTypeDefinition(e,t,i){return this.typeDefinitionManager.hasProvider(e)?await this.typeDefinitionManager.provideTypeDefinition(e,t,i):null}async getImplementation(e,t,i){return this.implementationManager.hasProvider(e)?await this.implementationManager.provideReferences(e,t,i):null}async getReferences(e,t,i,n){return this.referenceManager.hasProvider(e)?await this.referenceManager.provideReferences(e,i,t,n):null}async getDocumentSymbol(e,t){return await this.documentSymbolManager.provideDocumentSymbols(e,t)}async getSelectionRanges(e,t,i){return await this.selectionRangeManager.provideSelectionRanges(e,t,i)}async getWorkspaceSymbols(e,t){return e=e||"",await this.workspaceSymbolsManager.provideWorkspaceSymbols(e,t)}async resolveWorkspaceSymbol(e,t){return await this.workspaceSymbolsManager.resolveWorkspaceSymbol(e,t)}async prepareRename(e,t,i){return await this.renameManager.prepareRename(e,t,i)}async provideRenameEdits(e,t,i,n){return await this.renameManager.provideRenameEdits(e,t,i,n)}async provideDocumentFormattingEdits(e,t,i){if(!this.formatManager.hasProvider(e)){if(!this.formatRangeManager.hasProvider(e))return null;let s=e.positionAt(e.getText().length),o=Gs.Range.create(Gs.Position.create(0,0),s);return await this.provideDocumentRangeFormattingEdits(e,o,t,i)}return await this.formatManager.provideDocumentFormattingEdits(e,t,i)}async provideDocumentRangeFormattingEdits(e,t,i,n){return this.formatRangeManager.hasProvider(e)?await this.formatRangeManager.provideDocumentRangeFormattingEdits(e,t,i,n):null}async getCodeActions(e,t,i,n){return await this.codeActionManager.provideCodeActions(e,t,i,n)}async getDocumentHighLight(e,t,i){return await this.documentHighlightManager.provideDocumentHighlights(e,t,i)}async getDocumentLinks(e,t){return this.documentLinkManager.hasProvider(e)?await this.documentLinkManager.provideDocumentLinks(e,t)||[]:null}async resolveDocumentLink(e){return await this.documentLinkManager.resolveDocumentLink(e,this.token)}async provideDocumentColors(e,t){return await this.documentColorManager.provideDocumentColors(e,t)}async provideFoldingRanges(e,t,i){return this.foldingRangeManager.hasProvider(e)?await this.foldingRangeManager.provideFoldingRanges(e,t,i):null}async provideColorPresentations(e,t,i){return await this.documentColorManager.provideColorPresentations(e,t,i)}async getCodeLens(e,t){return await this.codeLensManager.provideCodeLenses(e,t)}async resolveCodeLens(e,t){return e.command!=null?e:await this.codeLensManager.resolveCodeLens(e,t)}async resolveCodeAction(e,t){return await this.codeActionManager.resolveCodeAction(e,t)}async provideDocumentOnTypeEdits(e,t,i,n){return this.onTypeFormatManager.onCharacterType(e,t,i,n)}canFormatOnType(e,t){return this.onTypeFormatManager.getProvider(t,e)!=null}async prepareCallHierarchy(e,t,i){return this.callHierarchyManager.prepareCallHierarchy(e,t,i)}async provideIncomingCalls(e,t,i){return this.callHierarchyManager.provideCallHierarchyIncomingCalls(e,t,i)}async provideOutgoingCalls(e,t,i){return this.callHierarchyManager.provideCallHierarchyOutgoingCalls(e,t,i)}getLegend(e,t){return t?this.semanticTokensRangeManager.getLegend(e):this.semanticTokensManager.getLegend(e)}hasSemanticTokensEdits(e){return this.semanticTokensManager.hasSemanticTokensEdits(e)}async provideDocumentSemanticTokens(e,t){return this.semanticTokensManager.provideDocumentSemanticTokens(e,t)}async provideDocumentSemanticTokensEdits(e,t,i){return this.semanticTokensManager.provideDocumentSemanticTokensEdits(e,t,i)}async provideDocumentRangeSemanticTokens(e,t,i){return this.semanticTokensRangeManager.provideDocumentRangeSemanticTokens(e,t,i)}hasLinkedEditing(e){return this.linkedEditingManager.hasProvider(e)}async provideLinkedEdits(e,t,i){return this.linkedEditingManager.provideLinkedEditingRanges(e,t,i)}hasProvider(e,t){switch(e){case"formatOnType":return this.onTypeFormatManager.hasProvider(t);case"rename":return this.renameManager.hasProvider(t);case"onTypeEdit":return this.onTypeFormatManager.hasProvider(t);case"documentLink":return this.documentLinkManager.hasProvider(t);case"documentColor":return this.documentColorManager.hasProvider(t);case"foldingRange":return this.foldingRangeManager.hasProvider(t);case"format":return this.formatManager.hasProvider(t)||this.formatRangeManager.hasProvider(t);case"codeAction":return this.codeActionManager.hasProvider(t);case"workspaceSymbols":return this.workspaceSymbolsManager.hasProvider();case"formatRange":return this.formatRangeManager.hasProvider(t);case"hover":return this.hoverManager.hasProvider(t);case"signature":return this.signatureManager.hasProvider(t);case"documentSymbol":return this.documentSymbolManager.hasProvider(t);case"documentHighlight":return this.documentHighlightManager.hasProvider(t);case"definition":return this.definitionManager.hasProvider(t);case"declaration":return this.declarationManager.hasProvider(t);case"typeDefinition":return this.typeDefinitionManager.hasProvider(t);case"reference":return this.referenceManager.hasProvider(t);case"implementation":return this.implementationManager.hasProvider(t);case"codeLens":return this.codeLensManager.hasProvider(t);case"selectionRange":return this.selectionRangeManager.hasProvider(t);case"callHierarchy":return this.callHierarchyManager.hasProvider(t);case"semanticTokens":return this.semanticTokensManager.hasProvider(t);case"linkedEditing":return this.linkedEditingManager.hasProvider(t);default:throw new Error(`Invalid provider name: ${e}`)}}createDiagnosticCollection(e){return Lt.create(e)}get token(){return this.cancelTokenSource=new Gs.CancellationTokenSource,this.cancelTokenSource.token}},N=new e8});var an,$u=R(()=>{Nc();yt();an=class{constructor(){this.lines=[];this.highlights=[]}addLine(e,t){if(e.includes(` +`)){for(let i of e.split(/\r?\n/))this.addLine(i,t);return}if(t&&this.highlights.push({lnum:this.lines.length,colStart:e.match(/^\s*/)[0].length,colEnd:re(e),hlGroup:t}),e.includes("")){let i=Mc(e);for(let n of i.highlights){let{span:s,hlGroup:o}=n;s[0]!=s[1]&&this.highlights.push({lnum:this.lines.length,colStart:s[0],colEnd:s[1],hlGroup:o})}this.lines.push(i.line)}else this.lines.push(e)}addLines(e){this.lines.push(...e)}addTexts(e){this.addLines("");for(let t of e)this.addText(t.text,t.hlGroup)}addText(e,t){let{lines:i}=this,n=i[i.length-1]||"";if(t){let s=re(n);this.highlights.push({lnum:i.length?i.length-1:0,colStart:s,colEnd:s+re(e),hlGroup:t})}i.length?i[i.length-1]=`${n}${e}`:i.push(e)}get length(){return this.lines.length}getline(e){return this.lines[e]||""}render(e,t=0,i=-1){e.setLines(this.lines,{start:t,end:i,strictIndexing:!1},!0);for(let n of this.highlights)e.addHighlight({hlGroup:n.hlGroup,colStart:n.colStart,colEnd:n.colEnd==null?-1:n.colEnd,line:t+n.lnum,srcId:-1})}}});var r8=x((J1e,i8)=>{"use strict";i8.exports=H()});function s8(r,e){if(!r.killed)if(ame)try{let t={stdio:["pipe","pipe","ignore"]};return e&&(t.cwd=e),Qh.execFileSync("taskkill",["/T","/F","/PID",r.pid.toString()],t),!0}catch(t){return!1}else if(cme||lme)try{let t=(0,ry.join)(ume,"bin/terminateProcess.sh");return n8.default.existsSync(t)?!Qh.spawnSync(t,[r.pid.toString()]).error:(console.error(`"${t}" not found`),!1)}catch(t){return!1}else return r.kill("SIGKILL"),!0}var Qh,ry,n8,ame,lme,cme,ume,o8=R(()=>{Qh=E(require("child_process")),ry=E(require("path")),n8=E(require("fs")),ame=process.platform==="win32",lme=process.platform==="darwin",cme=process.platform==="linux",ume=(0,ry.dirname)(__dirname)});var a8,aLe,ep,HT=R(()=>{a8=E(H());de();Te();"use strict";aLe=U()("language-client-progressPart"),ep=class{constructor(e,t,i){this.client=e;this.token=t;this.disposables=[];this._cancelled=!1;this.statusBarItem=D.createStatusBarItem(99,{progress:!0}),this.disposables.push(e.onProgress(a8.WorkDoneProgress.type,this.token,n=>{switch(n.kind){case"begin":this.begin(n);break;case"report":this.report(n);break;case"end":this.done(n.message),i&&i(this);break}}))}begin(e){typeof this.title!="string"&&(this.title=e.title,this.report(e))}report(e){let t=this.statusBarItem,i=[];this.title&&i.push(this.title),typeof e.percentage=="number"&&i.push(e.percentage.toFixed(0)+"%"),e.message&&i.push(e.message),t.text=i.join(" "),t.show()}cancel(){this._cancelled||(this._cancelled=!0,G(this.disposables))}done(e){if(this._cancelled)return;let t=this.statusBarItem;t.text=`${this.title} ${e||"finished"}`,setTimeout(()=>{t.dispose()},300),this.cancel()}}});var WT,zT,l8=R(()=>{WT=E(H()),zT=class{constructor(e){this.defaultDelay=e,this.timeout=void 0,this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0}trigger(e,t=this.defaultDelay){return this.task=e,t>=0&&this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(i=>{this.onSuccess=i}).then(()=>{this.completionPromise=void 0,this.onSuccess=void 0;let i=this.task();return this.task=void 0,i})),(t>=0||this.timeout===void 0)&&(this.timeout=(0,WT.RAL)().timer.setTimeout(()=>{this.timeout=void 0,this.onSuccess(void 0)},t>=0?t:this.defaultDelay)),this.completionPromise}forceDelivery(){if(!this.completionPromise)return;this.cancelTimeout();let e=this.task();return this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0,e}isTriggered(){return this.timeout!==void 0}cancel(){this.cancelTimeout(),this.completionPromise=void 0}dispose(){this.cancelTimeout()}cancelTimeout(){this.timeout!==void 0&&((0,WT.RAL)().timer.clearTimeout(this.timeout),this.timeout=void 0)}}});function c8(r){return{uri:r.uri,languageId:r.languageId,version:r.version,text:r.getText()}}function u8(r){return{textDocument:{uri:r.uri}}}function f8(r){return{textDocument:{uri:r.uri,version:r.version},contentChanges:[{text:r.getText()}]}}function VT(r){return{textDocument:ny(r.document),reason:r.reason}}function ny(r){return{uri:r.uri,version:r.version}}function d8(r,e){let t={textDocument:ny(r)};return e&&(t.text=r.getText()),t}function tp(r){return r.toString()}function h8(r,e,t){return{textDocument:{uri:r.uri},position:e,context:ns(t,["option"])}}function ur(r,e){return{textDocument:{uri:r.uri},position:e}}function p8(r,e,t){return{textDocument:Sl(r),position:e,context:t}}function Sl(r){return{uri:r.uri}}function m8(r,e,t){return{textDocument:{uri:r.uri},position:e,context:{includeDeclaration:t.includeDeclaration}}}function g8(r){return{textDocument:{uri:r.uri}}}function v8(r){return{textDocument:{uri:r.uri}}}var ea=R(()=>{Nu()});function We(){return ue()}var sy=R(()=>{Ye()});function fme(r,e,t,i,n){let s=new y8,o=(0,C.createProtocolConnection)(r,e,s,n);return o.onError(l=>{t(l[0],l[1],l[2])}),o.onClose(i),{listen:()=>o.listen(),sendRequest:(l,...c)=>o.sendRequest(Me(l)?l:l.method,...c),onRequest:(l,c)=>o.onRequest(Me(l)?l:l.method,c),sendNotification:(l,c)=>o.sendNotification(Me(l)?l:l.method,c),onNotification:(l,c)=>o.onNotification(Me(l)?l:l.method,c),onProgress:o.onProgress,sendProgress:o.sendProgress,trace:(l,c,u)=>{let f={sendNotification:!1,traceFormat:C.TraceFormat.Text};u===void 0?o.trace(l,c,f):(Os(u),o.trace(l,c,u))},initialize:l=>o.sendRequest(C.InitializeRequest.type,l),shutdown:()=>o.sendRequest(C.ShutdownRequest.type,void 0),exit:()=>o.sendNotification(C.ExitNotification.type),onLogMessage:l=>o.onNotification(C.LogMessageNotification.type,l),onShowMessage:l=>o.onNotification(C.ShowMessageNotification.type,l),onTelemetry:l=>o.onNotification(C.TelemetryEventNotification.type,l),didChangeConfiguration:l=>o.sendNotification(C.DidChangeConfigurationNotification.type,l),didChangeWatchedFiles:l=>o.sendNotification(C.DidChangeWatchedFilesNotification.type,l),didOpenTextDocument:l=>o.sendNotification(C.DidOpenTextDocumentNotification.type,l),didChangeTextDocument:l=>o.sendNotification(C.DidChangeTextDocumentNotification.type,l),didCloseTextDocument:l=>o.sendNotification(C.DidCloseTextDocumentNotification.type,l),didSaveTextDocument:l=>o.sendNotification(C.DidSaveTextDocumentNotification.type,l),onDiagnostics:l=>o.onNotification(C.PublishDiagnosticsNotification.type,l),dispose:()=>o.dispose()}}function ie(r,e){return r[e]===void 0&&(r[e]={}),r[e]}var GT,C,b8,ta,y8,KT,Cl,ss,w8,fr,dr,ye,x8,dme,S8,JT,os,C8,_8,E8,T8,D8,R8,P8,Fe,k8,I8,O8,L8,A8,F8,M8,N8,q8,$8,B8,j8,U8,H8,W8,z8,V8,G8,Bu,YT,XT,ln=R(()=>{GT=E(require("path")),C=E(H());qe();Ei();Re();Nt();Wr();Nu();Te();Y();xl();HT();l8();b8=E(require("os"));ea();sy();ta=U()("language-client-client"),y8=class{error(e){ta.error(e)}warn(e){ta.warn(e)}info(e){ta.info(e)}log(e){ta.log(e)}},KT=class{error(e){}warn(e){}info(e){}log(e){}};(function(t){t[t.Continue=1]="Continue",t[t.Shutdown=2]="Shutdown"})(Cl||(Cl={}));(function(t){t[t.DoNotRestart=1]="DoNotRestart",t[t.Restart=2]="Restart"})(ss||(ss={}));w8=class{constructor(e,t){this.name=e;this.maxRestartCount=t;this.restarts=[]}error(e,t,i){return i&&i<=3?1:2}closed(){return this.restarts.push(Date.now()),this.restarts.length0)return!0;return!1}register(e){!e.registerOptions.documentSelector||(this._listener||(this._listener=this._event(this.callback,this)),this._selectors.set(e.id,e.registerOptions.documentSelector))}callback(e){(!this._selectorFilter||this._selectorFilter(this._selectors.values(),e))&&(this._middleware?this._middleware(e,t=>this._client.sendNotification(this._type,this._createParams(t))):this._client.sendNotification(this._type,this._createParams(e)),this.notificationSent(e))}notificationSent(e){}unregister(e){this._selectors.delete(e),this._selectors.size===0&&this._listener&&(this._listener.dispose(),this._listener=void 0)}dispose(){this._selectors.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}getProvider(e){for(let t of this._selectors.values())if(v.match(t,e))return{send:i=>{this.callback(i)}}}},C8=class extends os{constructor(e,t){super(e,v.onDidOpenTextDocument,C.DidOpenTextDocumentNotification.type,e.clientOptions.middleware.didOpen,i=>({textDocument:c8(i)}),os.textDocumentFilter);this._syncedDocuments=t}get registrationType(){return C.DidOpenTextDocumentNotification.type}fillClientCapabilities(e){ie(ie(e,"textDocument"),"synchronization").dynamicRegistration=!0}initialize(e,t){let i=e.resolvedTextDocumentSync;t&&i&&i.openClose&&this.register({id:We(),registerOptions:{documentSelector:t}})}register(e){if(super.register(e),!e.registerOptions.documentSelector)return;let t=e.registerOptions.documentSelector;v.textDocuments.forEach(i=>{let n=i.uri.toString();if(!this._syncedDocuments.has(n)&&v.match(t,i)>0){let s=this._client.clientOptions.middleware,o=a=>{this._client.sendNotification(this._type,this._createParams(a))};s.didOpen?s.didOpen(i,o):o(i),this._syncedDocuments.set(n,i)}})}notificationSent(e){super.notificationSent(e),this._syncedDocuments.set(e.uri.toString(),e)}},_8=class extends os{constructor(e,t){super(e,v.onDidCloseTextDocument,C.DidCloseTextDocumentNotification.type,e.clientOptions.middleware.didClose,i=>u8(i),os.textDocumentFilter);this._syncedDocuments=t}get registrationType(){return C.DidCloseTextDocumentNotification.type}fillClientCapabilities(e){ie(ie(e,"textDocument"),"synchronization").dynamicRegistration=!0}initialize(e,t){let i=e.resolvedTextDocumentSync;t&&i&&i.openClose&&this.register({id:We(),registerOptions:{documentSelector:t}})}notificationSent(e){super.notificationSent(e),this._syncedDocuments.delete(e.uri.toString())}unregister(e){let t=this._selectors.get(e);super.unregister(e);let i=this._selectors.values();this._syncedDocuments.forEach(n=>{if(v.match(t,n)>0&&!this._selectorFilter(i,n)){let s=this._client.clientOptions.middleware,o=a=>{this._client.sendNotification(this._type,this._createParams(a))};this._syncedDocuments.delete(n.uri.toString()),s.didClose?s.didClose(n,o):o(n)}})}},E8=class{constructor(e){this._client=e;this._changeData=new Map}get registrationType(){return C.DidChangeTextDocumentNotification.type}fillClientCapabilities(e){ie(ie(e,"textDocument"),"synchronization").dynamicRegistration=!0}initialize(e,t){let i=e.resolvedTextDocumentSync;t&&i&&i.change!==void 0&&i.change!==C.TextDocumentSyncKind.None&&this.register({id:We(),registerOptions:Object.assign({},{documentSelector:t},{syncKind:i.change})})}register(e){!e.registerOptions.documentSelector||(this._listener||(this._listener=v.onDidChangeTextDocument(this.callback,this)),this._changeData.set(e.id,{documentSelector:e.registerOptions.documentSelector,syncKind:e.registerOptions.syncKind}))}callback(e){if(e.contentChanges.length===0)return;let t=v.getDocument(e.textDocument.uri);if(!t)return;let{textDocument:i}=t;for(let n of this._changeData.values())if(v.match(n.documentSelector,i)>0){let s=this._client.clientOptions.middleware;if(n.syncKind===C.TextDocumentSyncKind.Incremental)s.didChange?s.didChange(e,()=>this._client.sendNotification(C.DidChangeTextDocumentNotification.type,ns(e,["bufnr","original"]))):this._client.sendNotification(C.DidChangeTextDocumentNotification.type,ns(e,["bufnr","original"]));else if(n.syncKind===C.TextDocumentSyncKind.Full){let o=a=>{let{textDocument:l}=v.getDocument(a.textDocument.uri);this._client.sendNotification(C.DidChangeTextDocumentNotification.type,f8(l))};s.didChange?s.didChange(e,o):o(e)}}}unregister(e){this._changeData.delete(e),this._changeData.size===0&&this._listener&&(this._listener.dispose(),this._listener=void 0)}dispose(){this._changeData.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}getProvider(e){for(let t of this._changeData.values())if(v.match(t.documentSelector,e))return{send:i=>{this.callback(i)}}}},T8=class extends os{constructor(e){super(e,v.onWillSaveTextDocument,C.WillSaveTextDocumentNotification.type,e.clientOptions.middleware.willSave,t=>VT(t),(t,i)=>os.textDocumentFilter(t,i.document))}get registrationType(){return C.WillSaveTextDocumentNotification.type}fillClientCapabilities(e){let t=ie(ie(e,"textDocument"),"synchronization");t.willSave=!0}initialize(e,t){let i=e.resolvedTextDocumentSync;t&&i&&i.willSave&&this.register({id:We(),registerOptions:{documentSelector:t}})}},D8=class{constructor(e){this._client=e;this._selectors=new Map}get registrationType(){return C.WillSaveTextDocumentWaitUntilRequest.type}fillClientCapabilities(e){let t=ie(ie(e,"textDocument"),"synchronization");t.willSaveWaitUntil=!0}initialize(e,t){let i=e.resolvedTextDocumentSync;t&&i&&i.willSaveWaitUntil&&this.register({id:We(),registerOptions:{documentSelector:t}})}register(e){!e.registerOptions.documentSelector||(this._listener||(this._listener=v.onWillSaveTextDocument(this.callback,this)),this._selectors.set(e.id,e.registerOptions.documentSelector))}callback(e){if(os.textDocumentFilter(this._selectors.values(),e.document)){let t=this._client.clientOptions.middleware,i=n=>this._client.sendRequest(C.WillSaveTextDocumentWaitUntilRequest.type,VT(n)).then(s=>s||[],s=>(D.showMessage(`Error on willSaveWaitUntil: ${s}`,"error"),ta.error(s),[]));e.waitUntil(t.willSaveWaitUntil?t.willSaveWaitUntil(e,i):i(e))}}unregister(e){this._selectors.delete(e),this._selectors.size===0&&this._listener&&(this._listener.dispose(),this._listener=void 0)}dispose(){this._selectors.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}},R8=class extends os{constructor(e){super(e,v.onDidSaveTextDocument,C.DidSaveTextDocumentNotification.type,e.clientOptions.middleware.didSave,t=>d8(t,this._includeText),os.textDocumentFilter);this._includeText=!1}get registrationType(){return C.DidSaveTextDocumentNotification.type}fillClientCapabilities(e){ie(ie(e,"textDocument"),"synchronization").didSave=!0}initialize(e,t){let i=e.resolvedTextDocumentSync;if(t&&i&&i.save){let n=typeof i.save=="boolean"?{includeText:!1}:{includeText:!!i.save.includeText};this.register({id:We(),registerOptions:Object.assign({},{documentSelector:t},n)})}}register(e){this._includeText=!!e.registerOptions.includeText,super.register(e)}},P8=class{constructor(e,t){this._notifyFileEvent=t;this._watchers=new Map}get registrationType(){return C.DidChangeWatchedFilesNotification.type}fillClientCapabilities(e){ie(ie(e,"workspace"),"didChangeWatchedFiles").dynamicRegistration=!0}initialize(e,t){}register(e){if(!Array.isArray(e.registerOptions.watchers))return;let t=[];for(let i of e.registerOptions.watchers){if(!Me(i.globPattern))continue;let n=!0,s=!0,o=!0;i.kind!=null&&(n=(i.kind&C.WatchKind.Create)!=0,s=(i.kind&C.WatchKind.Change)!=0,o=(i.kind&C.WatchKind.Delete)!=0);let a=v.createFileSystemWatcher(i.globPattern,!n,!s,!o);this.hookListeners(a,n,s,o,t),t.push(a)}this._watchers.set(e.id,t)}registerRaw(e,t){let i=[];for(let n of t)i.push(n),this.hookListeners(n,!0,!0,!0,i);this._watchers.set(e,i)}hookListeners(e,t,i,n,s){t&&e.onDidCreate(o=>this._notifyFileEvent({uri:tp(o),type:C.FileChangeType.Created}),null,s),i&&e.onDidChange(o=>this._notifyFileEvent({uri:tp(o),type:C.FileChangeType.Changed}),null,s),n&&e.onDidDelete(o=>this._notifyFileEvent({uri:tp(o),type:C.FileChangeType.Deleted}),null,s)}unregister(e){let t=this._watchers.get(e);if(t)for(let i of t)i.dispose()}dispose(){this._watchers.forEach(e=>{for(let t of e)t.dispose()}),this._watchers.clear()}},Fe=class{constructor(e,t){this._client=e;this._registrationType=t;this._registrations=new Map}get registrationType(){return this._registrationType}register(e){if(!e.registerOptions.documentSelector)return;let t=this.registerLanguageProvider(e.registerOptions);this._registrations.set(e.id,{disposable:t[0],data:e,provider:t[1]})}unregister(e){let t=this._registrations.get(e);t&&t.disposable.dispose()}dispose(){this._registrations.forEach(e=>{e.disposable.dispose()}),this._registrations.clear()}getRegistration(e,t){if(t){if(C.TextDocumentRegistrationOptions.is(t)){let i=C.StaticRegistrationOptions.hasId(t)?t.id:We(),n=t.documentSelector||e;if(n)return[i,Object.assign({},t,{documentSelector:n})]}else if(Os(t)&&t===!0||C.WorkDoneProgressOptions.is(t)){if(!e)return[void 0,void 0];let i=Os(t)&&t===!0?{documentSelector:e}:Object.assign({},t,{documentSelector:e});return[We(),i]}}else return[void 0,void 0];return[void 0,void 0]}getRegistrationOptions(e,t){if(!(!e||!t))return Os(t)&&t===!0?{documentSelector:e}:Object.assign({},t,{documentSelector:e})}getProvider(e){for(let t of this._registrations.values()){let i=t.data.registerOptions.documentSelector;if(i!==null&&v.match(i,e)>0)return t.provider}}getAllProviders(){let e=[];for(let t of this._registrations.values())e.push(t.provider);return e}},k8=class{constructor(e,t){this._client=e;this._registrationType=t;this._registrations=new Map}get registrationType(){return this._registrationType}register(e){let t=this.registerLanguageProvider(e.registerOptions);this._registrations.set(e.id,{disposable:t[0],provider:t[1]})}unregister(e){let t=this._registrations.get(e);t&&t.disposable.dispose()}dispose(){this._registrations.forEach(e=>{e.disposable.dispose()}),this._registrations.clear()}getProviders(){let e=[];for(let t of this._registrations.values())e.push(t.provider);return e}},I8=class extends Fe{constructor(e){super(e,C.CompletionRequest.type)}fillClientCapabilities(e){let t=this._client.clientOptions.disableSnippetCompletion!==!0,i=ie(ie(e,"textDocument"),"completion");i.dynamicRegistration=!0,i.contextSupport=!0,i.completionItem={snippetSupport:t,commitCharactersSupport:!0,documentationFormat:this._client.supporedMarkupKind,deprecatedSupport:!0,preselectSupport:!0,insertReplaceSupport:!0,tagSupport:{valueSet:[C.CompletionItemTag.Deprecated]},resolveSupport:{properties:["documentation","detail","additionalTextEdits"]},insertTextModeSupport:{valueSet:[C.InsertTextMode.asIs,C.InsertTextMode.adjustIndentation]}},i.completionItemKind={valueSet:dme}}initialize(e,t){this.index=0;let i=this.getRegistrationOptions(t,e.completionProvider);!i||this.register({id:We(),registerOptions:i})}registerLanguageProvider(e){let t=e.triggerCharacters||[],i=e.allCommitCharacters||[],n=e.priority,s={provideCompletionItems:(l,c,u,f)=>{let d=this._client,h=this._client.clientOptions.middleware,p=(g,b,y,S)=>d.sendRequest(C.CompletionRequest.type,h8(g,b,y),S).then(w=>w,w=>d.handleFailedRequest(C.CompletionRequest.type,S,w,null));return h.provideCompletionItem?h.provideCompletionItem(l,c,f,u,p):p(l,c,f,u)},resolveCompletionItem:e.resolveProvider?(l,c)=>{let u=this._client,f=this._client.clientOptions.middleware,d=(h,p)=>u.sendRequest(C.CompletionResolveRequest.type,h,p).then(g=>g,g=>u.handleFailedRequest(C.CompletionResolveRequest.type,p,g,h));return f.resolveCompletionItem?f.resolveCompletionItem(l,c,d):d(l,c)}:void 0},o=this._client.id+(this.index?"-"+this.index:"");ht.removeSource(o);let a=N.registerCompletionItemProvider(o,"LS",e.documentSelector||this._client.clientOptions.documentSelector,s,t,n,i);return this.index=this.index+1,[a,s]}},O8=class extends Fe{constructor(e){super(e,C.HoverRequest.type)}fillClientCapabilities(e){let t=ie(ie(e,"textDocument"),"hover");t.dynamicRegistration=!0,t.contentFormat=this._client.supporedMarkupKind}initialize(e,t){let i=this.getRegistrationOptions(t,e.hoverProvider);!i||this.register({id:We(),registerOptions:i})}registerLanguageProvider(e){let t={provideHover:(i,n,s)=>{let o=this._client,a=(c,u,f)=>o.sendRequest(C.HoverRequest.type,ur(c,u),f).then(d=>d,d=>o.handleFailedRequest(C.HoverRequest.type,f,d,null)),l=o.clientOptions.middleware;return l.provideHover?l.provideHover(i,n,s,a):a(i,n,s)}};return[N.registerHoverProvider(e.documentSelector,t),t]}},L8=class extends Fe{constructor(e){super(e,C.SignatureHelpRequest.type)}fillClientCapabilities(e){let t=ie(ie(e,"textDocument"),"signatureHelp");t.dynamicRegistration=!0,t.contextSupport=!0,t.signatureInformation={documentationFormat:this._client.supporedMarkupKind,activeParameterSupport:!0,parameterInformation:{labelOffsetSupport:!0}}}initialize(e,t){let i=this.getRegistrationOptions(t,e.signatureHelpProvider);!i||this.register({id:We(),registerOptions:i})}registerLanguageProvider(e){let t={provideSignatureHelp:(s,o,a,l)=>{let c=this._client,u=(d,h,p,g)=>c.sendRequest(C.SignatureHelpRequest.type,p8(d,h,p),g).then(b=>b,b=>c.handleFailedRequest(C.SignatureHelpRequest.type,g,b,null)),f=c.clientOptions.middleware;return f.provideSignatureHelp?f.provideSignatureHelp(s,o,l,a,u):u(s,o,l,a)}},i=e.triggerCharacters||[];return[N.registerSignatureHelpProvider(e.documentSelector,t,i),t]}},A8=class extends Fe{constructor(e){super(e,C.DefinitionRequest.type)}fillClientCapabilities(e){let t=ie(ie(e,"textDocument"),"definition");t.dynamicRegistration=!0}initialize(e,t){let i=this.getRegistrationOptions(t,e.definitionProvider);!i||this.register({id:We(),registerOptions:i})}registerLanguageProvider(e){let t={provideDefinition:(i,n,s)=>{let o=this._client,a=(c,u,f)=>o.sendRequest(C.DefinitionRequest.type,ur(c,u),f).then(d=>d,d=>o.handleFailedRequest(C.DefinitionRequest.type,f,d,null)),l=o.clientOptions.middleware;return l.provideDefinition?l.provideDefinition(i,n,s,a):a(i,n,s)}};return[N.registerDefinitionProvider(e.documentSelector,t),t]}},F8=class extends Fe{constructor(e){super(e,C.ReferencesRequest.type)}fillClientCapabilities(e){ie(ie(e,"textDocument"),"references").dynamicRegistration=!0}initialize(e,t){let i=this.getRegistrationOptions(t,e.referencesProvider);!i||this.register({id:We(),registerOptions:i})}registerLanguageProvider(e){let t={provideReferences:(i,n,s,o)=>{let a=this._client,l=(u,f,d,h)=>a.sendRequest(C.ReferencesRequest.type,m8(u,f,d),h).then(p=>p,p=>a.handleFailedRequest(C.ReferencesRequest.type,h,p,null)),c=a.clientOptions.middleware;return c.provideReferences?c.provideReferences(i,n,s,o,l):l(i,n,s,o)}};return[N.registerReferencesProvider(e.documentSelector,t),t]}},M8=class extends Fe{constructor(e){super(e,C.DocumentHighlightRequest.type)}fillClientCapabilities(e){ie(ie(e,"textDocument"),"documentHighlight").dynamicRegistration=!0}initialize(e,t){let i=this.getRegistrationOptions(t,e.documentHighlightProvider);!i||this.register({id:We(),registerOptions:i})}registerLanguageProvider(e){let t={provideDocumentHighlights:(i,n,s)=>{let o=this._client,a=(c,u,f)=>o.sendRequest(C.DocumentHighlightRequest.type,ur(c,u),f).then(d=>d,d=>o.handleFailedRequest(C.DocumentHighlightRequest.type,f,d,null)),l=o.clientOptions.middleware;return l.provideDocumentHighlights?l.provideDocumentHighlights(i,n,s,a):a(i,n,s)}};return[N.registerDocumentHighlightProvider(e.documentSelector,t),t]}},N8=class extends Fe{constructor(e){super(e,C.DocumentSymbolRequest.type)}fillClientCapabilities(e){let t=ie(ie(e,"textDocument"),"documentSymbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:x8},t.hierarchicalDocumentSymbolSupport=!0,t.tagSupport={valueSet:S8}}initialize(e,t){let i=this.getRegistrationOptions(t,e.documentSymbolProvider);!i||this.register({id:We(),registerOptions:i})}registerLanguageProvider(e){let t={provideDocumentSymbols:(n,s)=>{let o=this._client,a=(c,u)=>o.sendRequest(C.DocumentSymbolRequest.type,g8(c),u).then(f=>{if(f!==null){if(f.length===0)return[];{let d=f[0];return C.DocumentSymbol.is(d),f}}},f=>o.handleFailedRequest(C.DocumentSymbolRequest.type,u,f,null)),l=o.clientOptions.middleware;return l.provideDocumentSymbols?l.provideDocumentSymbols(n,s,a):a(n,s)}},i=e.label?{label:e.label}:void 0;return[N.registerDocumentSymbolProvider(e.documentSelector,t,i),t]}},q8=class extends k8{constructor(e){super(e,C.WorkspaceSymbolRequest.type)}fillClientCapabilities(e){let t=ie(ie(e,"workspace"),"symbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:x8},t.tagSupport={valueSet:S8}}initialize(e){!e.workspaceSymbolProvider||this.register({id:We(),registerOptions:e.workspaceSymbolProvider===!0?{workDoneProgress:!1}:e.workspaceSymbolProvider})}registerLanguageProvider(e){let t={provideWorkspaceSymbols:(i,n)=>{let s=this._client,o=(l,c)=>s.sendRequest(C.WorkspaceSymbolRequest.type,{query:l},c).then(u=>u,u=>s.handleFailedRequest(C.WorkspaceSymbolRequest.type,c,u,null)),a=s.clientOptions.middleware;return a.provideWorkspaceSymbols?a.provideWorkspaceSymbols(i,n,o):o(i,n)}};return[N.registerWorkspaceSymbolProvider(t),t]}},$8=class extends Fe{constructor(e){super(e,C.CodeActionRequest.type);this.disposables=[]}fillClientCapabilities(e){let t=ie(ie(e,"textDocument"),"codeAction");t.dynamicRegistration=!0,t.isPreferredSupport=!0,t.disabledSupport=!0,t.dataSupport=!0,t.honorsChangeAnnotations=!1,t.resolveSupport={properties:["edit"]},t.codeActionLiteralSupport={codeActionKind:{valueSet:[C.CodeActionKind.Empty,C.CodeActionKind.QuickFix,C.CodeActionKind.Refactor,C.CodeActionKind.RefactorExtract,C.CodeActionKind.RefactorInline,C.CodeActionKind.RefactorRewrite,C.CodeActionKind.Source,C.CodeActionKind.SourceOrganizeImports]}}}initialize(e,t){let i=this.getRegistrationOptions(t,e.codeActionProvider);!i||this.register({id:We(),registerOptions:i})}registerLanguageProvider(e){let t=n=>{if(se.has(n))return;let s=this._client,o=(l,c)=>{let u={command:l,arguments:c};return s.sendRequest(C.ExecuteCommandRequest.type,u).then(void 0,f=>{throw s.handleFailedRequest(C.ExecuteCommandRequest.type,void 0,f,void 0),f})},a=s.clientOptions.middleware;this.disposables.push(se.registerCommand(n,(...l)=>a.executeCommand?a.executeCommand(n,l,o):o(n,l),null,!0))},i={provideCodeActions:(n,s,o,a)=>{let l=this._client,c=(f,d,h,p)=>{let g={textDocument:{uri:f.uri},range:d,context:h};return l.sendRequest(C.CodeActionRequest.type,g,p).then(b=>{if(b!==null)return b.forEach(y=>{var w;let S=C.Command.is(y)?y.command:(w=y.command)==null?void 0:w.command;S&&!se.has(S)&&t(S)}),b},b=>l.handleFailedRequest(C.CodeActionRequest.type,p,b,null))},u=l.clientOptions.middleware;return u.provideCodeActions?u.provideCodeActions(n,s,o,a,c):c(n,s,o,a)},resolveCodeAction:e.resolveProvider?(n,s)=>{let o=this._client,a=this._client.clientOptions.middleware,l=(c,u)=>o.sendRequest(C.CodeActionResolveRequest.type,c,u).then(f=>f,f=>o.handleFailedRequest(C.CodeActionResolveRequest.type,u,f,c));return a.resolveCodeAction?a.resolveCodeAction(n,s,l):l(n,s)}:void 0};return[N.registerCodeActionProvider(e.documentSelector,i,this._client.id,e.codeActionKinds),i]}dispose(){this.disposables.forEach(e=>{e.dispose()}),this.disposables=[],super.dispose()}},B8=class extends Fe{constructor(e){super(e,C.CodeLensRequest.type)}fillClientCapabilities(e){ie(ie(e,"textDocument"),"codeLens").dynamicRegistration=!0,ie(ie(e,"workspace"),"codeLens").refreshSupport=!0}initialize(e,t){this._client.onRequest(C.CodeLensRefreshRequest.type,async()=>{for(let s of this.getAllProviders())s.onDidChangeCodeLensEmitter.fire()});let n=this.getRegistrationOptions(t,e.codeLensProvider);!n||this.register({id:We(),registerOptions:n})}registerLanguageProvider(e){let t=new C.Emitter,i={onDidChangeCodeLenses:t.event,provideCodeLenses:(n,s)=>{let o=this._client,a=(c,u)=>o.sendRequest(C.CodeLensRequest.type,v8(c),u).then(f=>f,f=>o.handleFailedRequest(C.CodeLensRequest.type,u,f,null)),l=o.clientOptions.middleware;return l.provideCodeLenses?l.provideCodeLenses(n,s,a):a(n,s)},resolveCodeLens:e.resolveProvider?(n,s)=>{let o=this._client,a=(c,u)=>o.sendRequest(C.CodeLensResolveRequest.type,c,u).then(f=>f,f=>o.handleFailedRequest(C.CodeLensResolveRequest.type,u,f,c)),l=o.clientOptions.middleware;return l.resolveCodeLens?l.resolveCodeLens(n,s,a):a(n,s)}:void 0};return[N.registerCodeLensProvider(e.documentSelector,i),{provider:i,onDidChangeCodeLensEmitter:t}]}},j8=class extends Fe{constructor(e){super(e,C.DocumentFormattingRequest.type)}fillClientCapabilities(e){ie(ie(e,"textDocument"),"formatting").dynamicRegistration=!0}initialize(e,t){let i=this.getRegistrationOptions(t,e.documentFormattingProvider);!i||this.register({id:We(),registerOptions:i})}registerLanguageProvider(e){let t={provideDocumentFormattingEdits:(i,n,s)=>{let o=this._client,a=(c,u,f)=>{let d={textDocument:{uri:c.uri},options:u};return o.sendRequest(C.DocumentFormattingRequest.type,d,f).then(h=>h,h=>o.handleFailedRequest(C.DocumentFormattingRequest.type,f,h,null))},l=o.clientOptions.middleware;return l.provideDocumentFormattingEdits?l.provideDocumentFormattingEdits(i,n,s,a):a(i,n,s)}};return[N.registerDocumentFormatProvider(e.documentSelector,t,this._client.clientOptions.formatterPriority),t]}},U8=class extends Fe{constructor(e){super(e,C.DocumentRangeFormattingRequest.type)}fillClientCapabilities(e){ie(ie(e,"textDocument"),"rangeFormatting").dynamicRegistration=!0}initialize(e,t){let i=this.getRegistrationOptions(t,e.documentRangeFormattingProvider);!i||this.register({id:We(),registerOptions:i})}registerLanguageProvider(e){let t={provideDocumentRangeFormattingEdits:(i,n,s,o)=>{let a=this._client,l=(u,f,d,h)=>{let p={textDocument:{uri:u.uri},range:f,options:d};return a.sendRequest(C.DocumentRangeFormattingRequest.type,p,h).then(g=>g,g=>a.handleFailedRequest(C.DocumentRangeFormattingRequest.type,h,g,null))},c=a.clientOptions.middleware;return c.provideDocumentRangeFormattingEdits?c.provideDocumentRangeFormattingEdits(i,n,s,o,l):l(i,n,s,o)}};return[N.registerDocumentRangeFormatProvider(e.documentSelector,t),t]}},H8=class extends Fe{constructor(e){super(e,C.DocumentOnTypeFormattingRequest.type)}fillClientCapabilities(e){ie(ie(e,"textDocument"),"onTypeFormatting").dynamicRegistration=!0}initialize(e,t){let i=this.getRegistrationOptions(t,e.documentOnTypeFormattingProvider);!i||this.register({id:We(),registerOptions:i})}registerLanguageProvider(e){let t={provideOnTypeFormattingEdits:(s,o,a,l,c)=>{let u=this._client,f=(h,p,g,b,y)=>{let S={textDocument:ny(h),position:p,ch:g,options:b};return u.sendRequest(C.DocumentOnTypeFormattingRequest.type,S,y).then(w=>w,w=>u.handleFailedRequest(C.DocumentOnTypeFormattingRequest.type,y,w,null))},d=u.clientOptions.middleware;return d.provideOnTypeFormattingEdits?d.provideOnTypeFormattingEdits(s,o,a,l,c,f):f(s,o,a,l,c)}},i=e.moreTriggerCharacter||[],n=[e.firstTriggerCharacter,...i];return[N.registerOnTypeFormattingEditProvider(e.documentSelector,t,n),t]}},W8=class extends Fe{constructor(e){super(e,C.RenameRequest.type)}fillClientCapabilities(e){let t=ie(ie(e,"textDocument"),"rename");t.dynamicRegistration=!0,t.prepareSupport=!0}initialize(e,t){let i=this.getRegistrationOptions(t,e.renameProvider);!i||(Os(e.renameProvider)&&(i.prepareProvider=!1),this.register({id:We(),registerOptions:i}))}registerLanguageProvider(e){let t={provideRenameEdits:(i,n,s,o)=>{let a=this._client,l=(u,f,d,h)=>{let p={textDocument:{uri:u.uri},position:f,newName:d};return a.sendRequest(C.RenameRequest.type,p,h).then(g=>g,g=>a.handleFailedRequest(C.RenameRequest.type,h,g,null))},c=a.clientOptions.middleware;return c.provideRenameEdits?c.provideRenameEdits(i,n,s,o,l):l(i,n,s,o)},prepareRename:e.prepareProvider?(i,n,s)=>{let o=this._client,a=(c,u,f)=>{let d={textDocument:Sl(c),position:u};return o.sendRequest(C.PrepareRenameRequest.type,d,f).then(h=>C.Range.is(h)?h:this.isDefaultBehavior(h)?h.defaultBehavior===!0?null:Promise.reject(new Error("The element can't be renamed.")):h&&C.Range.is(h.range)?{range:h.range,placeholder:h.placeholder}:Promise.reject(new Error("The element can't be renamed.")),h=>o.handleFailedRequest(C.PrepareRenameRequest.type,f,h,void 0))},l=o.clientOptions.middleware;return l.prepareRename?l.prepareRename(i,n,s,a):a(i,n,s)}:void 0};return[N.registerRenameProvider(e.documentSelector,t),t]}isDefaultBehavior(e){let t=e;return t&&Os(t.defaultBehavior)}},z8=class extends Fe{constructor(e){super(e,C.DocumentLinkRequest.type)}fillClientCapabilities(e){let t=ie(ie(e,"textDocument"),"documentLink");t.dynamicRegistration=!0,t.tooltipSupport=!0}initialize(e,t){let i=this.getRegistrationOptions(t,e.documentLinkProvider);!i||this.register({id:We(),registerOptions:i})}registerLanguageProvider(e){let t={provideDocumentLinks:(i,n)=>{let s=this._client,o=(l,c)=>s.sendRequest(C.DocumentLinkRequest.type,{textDocument:{uri:l.uri}},c).then(u=>u,u=>s.handleFailedRequest(C.DocumentLinkRequest.type,c,u,null)),a=s.clientOptions.middleware;return a.provideDocumentLinks?a.provideDocumentLinks(i,n,o):o(i,n)},resolveDocumentLink:e.resolveProvider?(i,n)=>{let s=this._client,o=(l,c)=>s.sendRequest(C.DocumentLinkResolveRequest.type,l,c).then(u=>u,u=>s.handleFailedRequest(C.DocumentLinkResolveRequest.type,c,u,l)),a=s.clientOptions.middleware;return a.resolveDocumentLink?a.resolveDocumentLink(i,n,o):o(i,n)}:void 0};return[N.registerDocumentLinkProvider(e.documentSelector,t),t]}},V8=class{constructor(e){this._client=e;this._listeners=new Map}get registrationType(){return C.DidChangeConfigurationNotification.type}fillClientCapabilities(e){ie(ie(e,"workspace"),"didChangeConfiguration").dynamicRegistration=!0}initialize(){var t;let e=(t=this._client.clientOptions.synchronize)==null?void 0:t.configurationSection;e!==void 0&&this.register({id:We(),registerOptions:{section:e}})}register(e){let{section:t}=e.registerOptions,i=v.onDidChangeConfiguration(n=>{typeof t=="string"&&!n.affectsConfiguration(t)||Array.isArray(t)&&!t.some(s=>n.affectsConfiguration(s))||t!=null&&this.onDidChangeConfiguration(e.registerOptions.section)});if(this._listeners.set(e.id,i),Me(t)&&t.endsWith(".settings")){let n=this.getConfiguredSettings(t);if(!n||ng(n))return}t!=null&&this.onDidChangeConfiguration(e.registerOptions.section)}unregister(e){let t=this._listeners.get(e);t&&(this._listeners.delete(e),t.dispose())}dispose(){for(let e of this._listeners.values())e.dispose();this._listeners.clear()}onDidChangeConfiguration(e){let t=typeof e=="string"&&e.startsWith("languageserver."),i;Me(e)?i=[e]:i=e;let n=o=>{if(o===void 0){this._client.sendNotification(C.DidChangeConfigurationNotification.type,{settings:null});return}this._client.sendNotification(C.DidChangeConfigurationNotification.type,{settings:t?this.getConfiguredSettings(o[0]):this.extractSettingsInformation(o)})},s=this.getMiddleware();s?s(i,n):n(i)}getConfiguredSettings(e){let t=".settings".length;return v.getConfiguration(e.slice(0,-t)).get("settings",{})}extractSettingsInformation(e){function t(n,s){let o=n;for(let a=0;a=0?a=v.getConfiguration(s.substr(0,o)).get(s.substr(o+1)):a=v.getConfiguration(s),a){let l=e[n].split(".");t(i,l)[l[l.length-1]]=a}}return i}getMiddleware(){let e=this._client.clientOptions.middleware;if(e.workspace&&e.workspace.didChangeConfiguration)return e.workspace.didChangeConfiguration}},G8=class{constructor(e){this._client=e;this._commands=new Map}get registrationType(){return C.ExecuteCommandRequest.type}fillClientCapabilities(e){ie(ie(e,"workspace"),"executeCommand").dynamicRegistration=!0}initialize(e){!e.executeCommandProvider||this.register({id:We(),registerOptions:Object.assign({},e.executeCommandProvider)})}register(e){let t=this._client,i=t.clientOptions.middleware,n=(s,o)=>{let a={command:s,arguments:o};return t.sendRequest(C.ExecuteCommandRequest.type,a).then(void 0,l=>{throw t.handleFailedRequest(C.ExecuteCommandRequest.type,void 0,l,void 0),l})};if(e.registerOptions.commands){let s=[];for(let o of e.registerOptions.commands)s.push(se.registerCommand(o,(...a)=>i.executeCommand?i.executeCommand(o,a,n):n(o,a),null,!0));this._commands.set(e.id,s)}}unregister(e){let t=this._commands.get(e);t&&t.forEach(i=>i.dispose())}dispose(){this._commands.forEach(e=>{e.forEach(t=>t.dispose())}),this._commands.clear()}};(function(e){function r(t){return t&&C.MessageReader.is(t.reader)&&C.MessageWriter.is(t.writer)}e.is=r})(Bu||(Bu={}));YT=class{constructor(e,t){this._resolve=e;this._reject=t;this._used=!1}get isUsed(){return this._used}resolve(){this._used=!0,this._resolve()}reject(e){this._used=!0,this._reject(e)}},XT=class{constructor(e,t,i){this._features=[];this._dynamicFeatures=new Map;var l;this._id=e,this._name=t,i.outputChannel?this._outputChannel=i.outputChannel:this._outputChannel=void 0;let n=!1;(v.getConfiguration("suggest").get("snippetsSupport",!0)===!1||i.disableSnippetCompletion)&&(n=!0);let o={isTrusted:!1};i.markdown!==void 0&&i.markdown.isTrusted===!0&&(o.isTrusted=!0),this._clientOptions={disableWorkspaceFolders:i.disableWorkspaceFolders,disableSnippetCompletion:n,disableDynamicRegister:i.disableDynamicRegister,disableDiagnostics:i.disableDiagnostics,disableCompletion:i.disableCompletion,formatterPriority:i.formatterPriority,ignoredRootPaths:i.ignoredRootPaths,documentSelector:i.documentSelector||[],synchronize:i.synchronize||{},diagnosticCollectionName:i.diagnosticCollectionName,outputChannelName:i.outputChannelName||this._id,revealOutputChannelOn:i.revealOutputChannelOn||4,stdioEncoding:i.stdioEncoding||"utf8",initializationOptions:i.initializationOptions,initializationFailedHandler:i.initializationFailedHandler,progressOnInitialization:!!i.progressOnInitialization,errorHandler:i.errorHandler||this.createDefaultErrorHandler((l=i.connectionOptions)==null?void 0:l.maxRestartCount),middleware:i.middleware||{},workspaceFolder:i.workspaceFolder,connectionOptions:i.connectionOptions,markdown:o},this.state=0,this._connectionPromise=void 0,this._resolvedConnection=void 0,this._initializeResult=void 0,this._listeners=void 0,this._providers=void 0,this._diagnostics=void 0,this._fileEvents=[],this._fileEventDelayer=new zT(250),this._onReady=new Promise((c,u)=>{this._onReadyCallbacks=new YT(c,u)}),this._onStop=void 0,this._stateChangeEmitter=new C.Emitter,this._trace=C.Trace.Off,this._tracer={log:(c,u)=>{Me(c)?this.logTrace(c,u):this.logObjectTrace(c)}},this._syncedDocuments=new Map;let a=v.getConfiguration("coc.preferences");this._markdownSupport=a.get("enableMarkdown",!0),this.registerBuiltinFeatures()}get supporedMarkupKind(){return this._markdownSupport?[C.MarkupKind.Markdown,C.MarkupKind.PlainText]:[C.MarkupKind.PlainText]}get state(){return this._state}get id(){return this._id}get name(){return this._name}set state(e){let t=this.getPublicState();this._state=e;let i=this.getPublicState();i!==t&&this._stateChangeEmitter.fire({oldState:t,newState:i})}getPublicState(){return this.state===3?2:this.state===1?3:1}get initializeResult(){return this._initializeResult}sendRequest(e,...t){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");try{return this._resolvedConnection.sendRequest(e,...t)}catch(i){throw this.error(`Sending request ${Me(e)?e:e.method} failed.`,i),i}}onRequest(e,t){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");try{return this._resolvedConnection.onRequest(e,t)}catch(i){throw this.error(`Registering request handler ${Me(e)?e:e.method} failed.`,i),i}}sendNotification(e,t){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");try{this._resolvedConnection.sendNotification(e,t)}catch(i){throw this.error(`Sending notification ${Me(e)?e:e.method} failed.`,i),i}}onNotification(e,t){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");try{return this._resolvedConnection.onNotification(e,t)}catch(i){throw this.error(`Registering notification handler ${Me(e)?e:e.method} failed.`,i),i}}onProgress(e,t,i){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");try{if(e==C.WorkDoneProgress.type){let n=this._clientOptions.middleware.handleWorkDoneProgress;if(n!==void 0)return this._resolvedConnection.onProgress(e,t,s=>{n(t,s,()=>i(s))})}return this._resolvedConnection.onProgress(e,t,i)}catch(n){throw this.error(`Registering progress handler for token ${t} failed.`,n),n}}sendProgress(e,t,i){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");try{this._resolvedConnection.sendProgress(e,t,i)}catch(n){throw this.error(`Sending progress for token ${t} failed.`,n),n}}get clientOptions(){return this._clientOptions}get onDidChangeState(){return this._stateChangeEmitter.event}get outputChannel(){if(!this._outputChannel){let{outputChannelName:e}=this._clientOptions;this._outputChannel=D.createOutputChannel(e||this._name)}return this._outputChannel}get diagnostics(){return this._diagnostics}createDefaultErrorHandler(e){return new w8(this._id,e!=null?e:4)}set trace(e){this._trace=e,this.onReady().then(()=>{this.resolveConnection().then(t=>{t.trace(this._trace,this._tracer,{sendNotification:!1,traceFormat:this._traceFormat})})},()=>{})}logObjectTrace(e){e.isLSPMessage&&e.type?this.outputChannel.append(`[LSP - ${new Date().toLocaleTimeString()}] `):this.outputChannel.append(`[Trace - ${new Date().toLocaleTimeString()}] `),e&&this.outputChannel.appendLine(`${JSON.stringify(e)}`)}data2String(e){if(e instanceof C.ResponseError){let t=e;return` Message: ${t.message} + Code: ${t.code} ${t.data?` +`+t.data.toString():""}`}return e instanceof Error?Me(e.stack)?e.stack:e.message:Me(e)?e:e.toString()}_appendOutput(e,t,i){let n=3;switch(e){case"Info":n=1;break;case"Warn":n=2;break}this.outputChannel.appendLine(`[${e} - ${new Date().toLocaleTimeString()}] ${t}`);let s;i&&(s=this.data2String(i),this.outputChannel.appendLine(s)),this._clientOptions.revealOutputChannelOn<=n&&this.outputChannel.show(!0)}info(e,t){this._appendOutput("Info",e,t)}warn(e,t){this._appendOutput("Warn",e,t)}error(e,t){this._appendOutput("Error",e,t)}logTrace(e,t){this.outputChannel.appendLine(`[Trace - ${new Date().toLocaleTimeString()}] ${e}`),t&&this.outputChannel.appendLine(this.data2String(t))}needsStart(){return this.state===0||this.state===4||this.state===5}needsStop(){return this.state===1||this.state===3}onReady(){return this._onReady}get started(){return this.state!=0}isConnectionActive(){return this.state===3&&!!this._resolvedConnection}start(){if(this._onReadyCallbacks.isUsed&&(this._onReady=new Promise((e,t)=>{this._onReadyCallbacks=new YT(e,t)})),this._listeners=[],this._providers=[],!this._diagnostics){let e=this._clientOptions,t=e.diagnosticCollectionName?e.diagnosticCollectionName:this._id;this._diagnostics=N.createDiagnosticCollection(t)}return this.state=1,this.resolveConnection().then(e=>(e.onLogMessage(t=>{let i;switch(t.type){case C.MessageType.Error:i="error",this.error(t.message);break;case C.MessageType.Warning:i="warning",this.warn(t.message);break;case C.MessageType.Info:i="info",this.info(t.message);break;default:i="log",this.outputChannel.appendLine(t.message)}if(global.hasOwnProperty("__TEST__")){console.log(`[${i}] ${t.message}`);return}}),e.onShowMessage(t=>{switch(t.type){case C.MessageType.Error:D.showErrorMessage(t.message);break;case C.MessageType.Warning:D.showWarningMessage(t.message);break;case C.MessageType.Info:D.showInformationMessage(t.message);break;default:D.showInformationMessage(t.message)}}),e.onRequest(C.ShowMessageRequest.type,t=>{let i;switch(t.type){case C.MessageType.Error:i=D.showErrorMessage.bind(D);break;case C.MessageType.Warning:i=D.showWarningMessage.bind(D);break;case C.MessageType.Info:i=D.showInformationMessage.bind(D);break;default:i=D.showInformationMessage.bind(D)}let n=t.actions||[];return i(t.message,...n)}),e.onRequest(C.ShowDocumentRequest.type,async t=>{var s;let i=async o=>{var a;try{return o.external===!0?(await v.openResource(o.uri),{success:!0}):(o.selection&&o.selection.start,await v.jumpTo(o.uri,(a=o.selection)==null?void 0:a.start),{success:!0})}catch(l){return{success:!0}}},n=(s=this._clientOptions.middleware.window)==null?void 0:s.showDocument;return n!==void 0?n(t,i):i(t)}),e.onTelemetry(t=>{}),e.listen(),this.initialize(e))).then(void 0,e=>{this.state=2,this._onReadyCallbacks.reject(e),this.error("Starting client failed ",e)}),C.Disposable.create(()=>{this.needsStop()&&this.stop()})}resolveConnection(){return this._connectionPromise||(this._connectionPromise=this.createConnection()),this._connectionPromise}resolveRootPath(){if(this._clientOptions.workspaceFolder)return B.parse(this._clientOptions.workspaceFolder.uri).fsPath;let{ignoredRootPaths:e}=this._clientOptions,t=v.getConfiguration(this.id),i=t.get("rootPatterns",[]),n=t.get("requireRootPattern",!1),s;if(i&&i.length){let a=v.getDocument(v.bufnr);if(a&&a.schema=="file"){let l=GT.default.dirname(B.parse(a.uri).fsPath);s=Gd(l,i,v.cwd)}}if(n&&!s)return!1;let o=s||v.rootPath||v.cwd;return o===b8.default.homedir()||e&&e.includes(o)?(this.warn(`Ignored rootPath ${o} of client "${this._id}"`),null):o}initialize(e){this.refreshTrace(e,!1);let{initializationOptions:t,progressOnInitialization:i}=this._clientOptions,n=this.resolveRootPath();if(n===!1){console.warn("required root pattern not found, server not started.");return}let s={processId:process.pid,rootPath:n||null,rootUri:n?tp(B.file(n)):null,capabilities:this.computeClientCapabilities(),initializationOptions:_o(t)?t():t,trace:C.Trace.toString(this._trace),workspaceFolders:null,locale:this.getLocale(),clientInfo:{name:"coc.nvim",version:v.version}};if(this.fillInitializeParams(s),i){let o=We();s.workDoneToken=o;let a=new ep(e,o);return a.begin({title:`initializing ${this.id}`,kind:"begin"}),this.doInitialize(e,s).then(l=>(a.done(),l),l=>{throw a.cancel(),l})}else return this.doInitialize(e,s)}doInitialize(e,t){return e.initialize(t).then(i=>{this._resolvedConnection=e,this._initializeResult=i,this.state=3;let n;return rg(i.capabilities.textDocumentSync)?i.capabilities.textDocumentSync===C.TextDocumentSyncKind.None?n={openClose:!1,change:C.TextDocumentSyncKind.None,save:void 0}:n={openClose:!0,change:i.capabilities.textDocumentSync,save:{includeText:!1}}:i.capabilities.textDocumentSync!=null&&i.capabilities.textDocumentSync!==void 0&&(n=i.capabilities.textDocumentSync),this._capabilities=Object.assign({},i.capabilities,{resolvedTextDocumentSync:n}),this._clientOptions.disableDiagnostics||e.onDiagnostics(s=>this.handleDiagnostics(s)),e.onRequest(C.RegistrationRequest.type,s=>this.handleRegistrationRequest(s)),e.onRequest("client/registerFeature",s=>this.handleRegistrationRequest(s)),e.onRequest(C.UnregistrationRequest.type,s=>this.handleUnregistrationRequest(s)),e.onRequest("client/unregisterFeature",s=>this.handleUnregistrationRequest(s)),e.onRequest(C.ApplyWorkspaceEditRequest.type,s=>this.handleApplyWorkspaceEdit(s)),e.sendNotification(C.InitializedNotification.type,{}),this.hookFileEvents(e),this.hookConfigurationChanged(e),this.initializeFeatures(e),this._onReadyCallbacks.resolve(),i}).then(void 0,i=>{throw this._clientOptions.initializationFailedHandler?this._clientOptions.initializationFailedHandler(i)?this.initialize(e):(this.stop(),this._onReadyCallbacks.reject(i)):i instanceof C.ResponseError&&i.data&&i.data.retry?D.showPrompt(i.message+" Retry?").then(n=>{n?this.initialize(e):(this.stop(),this._onReadyCallbacks.reject(i))}):(i&&i.message&&D.showMessage(i.message,"error"),this.error("Server initialization failed.",i),this.stop(),this._onReadyCallbacks.reject(i)),i})}stop(){return this._initializeResult=void 0,this._connectionPromise?this.state===4&&this._onStop?this._onStop:(this.state=4,this.cleanUp(),this._onStop=this.resolveConnection().then(e=>e.shutdown().then(()=>{e.exit(),e.dispose(),this.state=5,this.cleanUpChannel(),this._onStop=void 0,this._connectionPromise=void 0,this._resolvedConnection=void 0})).catch(e=>{ta.error("Error on stop languageserver:",e),this.state=5,this.cleanUpChannel(),this._onStop=void 0,this._connectionPromise=void 0,this._resolvedConnection=void 0})):(this.state=5,Promise.resolve())}cleanUp(e=!0,t=!0){this._listeners&&(this._listeners.forEach(i=>i.dispose()),this._listeners=void 0),this._providers&&(this._providers.forEach(i=>i.dispose()),this._providers=void 0);for(let i of this._features.values())typeof i.dispose=="function"?i.dispose():ta.error("Feature can't be disposed",i);this._syncedDocuments&&this._syncedDocuments.clear(),e&&this.cleanUpChannel(),this._diagnostics&&(t?(this._diagnostics.dispose(),this._diagnostics=void 0):this._diagnostics.clear())}cleanUpChannel(){this._outputChannel&&(this._outputChannel.dispose(),this._outputChannel=void 0)}notifyFileEvent(e){var s;let t=this;function i(o){t._fileEvents.push(o),t._fileEventDelayer.trigger(()=>{t.onReady().then(()=>{t.resolveConnection().then(a=>{t.isConnectionActive()&&a.didChangeWatchedFiles({changes:t._fileEvents}),t._fileEvents=[]})},a=>{t.error("Notify file events failed.",a)})})}let n=(s=this.clientOptions.middleware)==null?void 0:s.workspace;(n==null?void 0:n.didChangeWatchedFile)?n.didChangeWatchedFile(e,i):i(e)}handleDiagnostics(e){if(!this._diagnostics)return;let{uri:t,diagnostics:i}=e,n=this.clientOptions.middleware.handleDiagnostics;n?n(t,i,(s,o)=>this.setDiagnostics(s,o)):this.setDiagnostics(t,i)}setDiagnostics(e,t){var n;if(!this._diagnostics)return;if(v.getConfiguration("diagnostic").get("separateRelatedInformationAsDiagnostics")&&t.length>0){let s=new Map;s.set(e,t);for(let o of t){if((n=o.relatedInformation)==null?void 0:n.length){let a=`${o.message} + +Related diagnostics: +`;for(let l of o.relatedInformation){let c=GT.default.basename(B.parse(l.location.uri).fsPath),u=l.location.range.start.line;a=`${a} +${c}(line ${u+1}): ${l.message}`;let f=s.get(l.location.uri)||[];f.push(C.Diagnostic.create(l.location.range,l.message,C.DiagnosticSeverity.Hint,o.code,o.source)),s.set(l.location.uri,f)}o.message=a}this._diagnostics.set(Array.from(s))}}else this._diagnostics.set(e,t)}createConnection(){let e=(i,n,s)=>{ta.error("connection error:",i,n),this.handleConnectionError(i,n,s)},t=()=>{this.handleConnectionClosed()};return this.createMessageTransports(this._clientOptions.stdioEncoding||"utf8").then(i=>fme(i.reader,i.writer,e,t,this._clientOptions.connectionOptions))}handleConnectionClosed(){if(this.state===5)return;try{this._resolvedConnection&&this._resolvedConnection.dispose()}catch(t){}let e=1;if(this.state!==4)try{e=this._clientOptions.errorHandler.closed()}catch(t){}this._connectionPromise=void 0,this._resolvedConnection=void 0,e===1?(this.error("Connection to server got closed. Server will not be restarted."),this.state===1?(this._onReadyCallbacks.reject(new Error("Connection to server got closed. Server will not be restarted.")),this.state=2):this.state=5,this.cleanUp(!1,!0)):e===2&&(this.info("Connection to server got closed. Server will restart."),this.cleanUp(!1,!0),this.state=0,this.start())}restart(){this.cleanUp(!0,!1),this.start()}handleConnectionError(e,t,i){this._clientOptions.errorHandler.error(e,t,i)===2&&(this.error("Connection to server is erroring. Shutting down server."),this.stop())}hookConfigurationChanged(e){v.onDidChangeConfiguration(()=>{this.refreshTrace(e,!0)})}refreshTrace(e,t=!1){let i=v.getConfiguration(this._id),n=C.Trace.Off,s=C.TraceFormat.Text;if(i){let o=i.get("trace.server","off");typeof o=="string"?n=C.Trace.fromString(o):(n=C.Trace.fromString(i.get("trace.server.verbosity","off")),s=C.TraceFormat.fromString(i.get("trace.server.format","text")))}this._trace=n,this._traceFormat=s,e.trace(this._trace,this._tracer,{sendNotification:t,traceFormat:this._traceFormat})}hookFileEvents(e){let t=this._clientOptions.synchronize.fileEvents;if(!t)return;let i;Array.isArray(t)?i=t:i=[t],!!i&&this._dynamicFeatures.get(C.DidChangeWatchedFilesNotification.type.method).registerRaw(We(),i)}registerFeatures(e){for(let t of e)this.registerFeature(t)}registerFeature(e){if(this._features.push(e),JT.is(e)){let t=e.registrationType;this._dynamicFeatures.set(t.method,e)}}getFeature(e){return this._dynamicFeatures.get(e)}registerBuiltinFeatures(){this.registerFeature(new V8(this)),this.registerFeature(new C8(this,this._syncedDocuments)),this.registerFeature(new E8(this)),this.registerFeature(new T8(this)),this.registerFeature(new D8(this)),this.registerFeature(new R8(this)),this.registerFeature(new _8(this,this._syncedDocuments)),this.registerFeature(new P8(this,e=>this.notifyFileEvent(e))),this._clientOptions.disableCompletion||this.registerFeature(new I8(this)),this.registerFeature(new O8(this)),this.registerFeature(new L8(this)),this.registerFeature(new A8(this)),this.registerFeature(new F8(this)),this.registerFeature(new M8(this)),this.registerFeature(new N8(this)),this.registerFeature(new q8(this)),this.registerFeature(new $8(this)),this.registerFeature(new B8(this)),this.registerFeature(new j8(this)),this.registerFeature(new U8(this)),this.registerFeature(new H8(this)),this.registerFeature(new W8(this)),this.registerFeature(new z8(this)),this.registerFeature(new G8(this))}fillInitializeParams(e){for(let t of this._features)_o(t.fillInitializeParams)&&t.fillInitializeParams(e)}computeClientCapabilities(){let e={};ie(e,"workspace").applyEdit=!0;let t=ie(ie(e,"workspace"),"workspaceEdit");t.documentChanges=!0,t.resourceOperations=[C.ResourceOperationKind.Create,C.ResourceOperationKind.Rename,C.ResourceOperationKind.Delete],t.failureHandling=C.FailureHandlingKind.TextOnlyTransactional;let i=ie(ie(e,"textDocument"),"publishDiagnostics");i.relatedInformation=!0,i.versionSupport=!1,i.tagSupport={valueSet:[C.DiagnosticTag.Unnecessary,C.DiagnosticTag.Deprecated]};let n=ie(e,"window"),s=ie(n,"showMessage");s.messageActionItem={additionalPropertiesSupport:!1};let o=ie(n,"showDocument");o.support=!1;let a=ie(e,"general");a.regularExpressions={engine:"ECMAScript",version:"ES2020"},a.markdown={parser:"marked",version:"1.1.0"};for(let l of this._features)l.fillClientCapabilities(e);return e}initializeFeatures(e){let t=this._clientOptions.documentSelector;for(let i of this._features)i.initialize(this._capabilities,t)}handleRegistrationRequest(e){return this.clientOptions.disableDynamicRegister?Promise.resolve():new Promise((t,i)=>{for(let n of e.registrations){let s=this._dynamicFeatures.get(n.method);if(!s){i(new Error(`No feature implementation for ${n.method} found. Registration failed.`));return}let o=n.registerOptions||{};o.documentSelector=o.documentSelector||this._clientOptions.documentSelector;let a={id:n.id,registerOptions:o};try{s.register(a)}catch(l){i(l);return}}t()})}handleUnregistrationRequest(e){return new Promise((t,i)=>{for(let n of e.unregisterations){let s=this._dynamicFeatures.get(n.method);if(!s){i(new Error(`No feature implementation for ${n.method} found. Unregistration failed.`));return}s.unregister(n.id)}t()})}handleApplyWorkspaceEdit(e){let t=e.edit,i=new Map;v.textDocuments.forEach(s=>i.set(s.uri.toString(),s));let n=!1;if(t.documentChanges){for(let s of t.documentChanges)if(C.TextDocumentEdit.is(s)&&s.textDocument.version&&s.textDocument.version>=0){let o=i.get(s.textDocument.uri);if(o&&o.version!==s.textDocument.version){n=!0;break}}}return n?Promise.resolve({applied:!1}):v.applyEdit(e.edit).then(s=>({applied:s}))}getLocale(){let e=process.env.LANG;return e?e.split(".")[0]:"en"}handleFailedRequest(e,t,i,n){if(i instanceof C.ResponseError){if(i.code===C.LSPErrorCodes.RequestCancelled){if(t!==void 0&&t.isCancellationRequested)return n}else if(i.code===C.LSPErrorCodes.ContentModified)return n}this.error(`Request ${e.method} failed.`,i)}logFailedRequest(e,t){t instanceof C.ResponseError&&t.code===C.LSPErrorCodes.RequestCancelled||this.error(`Request ${e.method} failed.`,t)}}});function K8(r,e){return r[e]===void 0&&(r[e]={}),r[e]}var _l,ZT,J8=R(()=>{_l=E(H());Re();ln();"use strict";ZT=class extends Fe{constructor(e){super(e,_l.DocumentColorRequest.type)}fillClientCapabilities(e){K8(K8(e,"textDocument"),"colorProvider").dynamicRegistration=!0}initialize(e,t){let[i,n]=this.getRegistration(t,e.colorProvider);!i||!n||this.register({id:i,registerOptions:n})}registerLanguageProvider(e){let t={provideColorPresentations:(i,n,s)=>{let o=this._client,a=(c,u,f)=>{let d={color:c,textDocument:{uri:u.document.uri},range:u.range};return o.sendRequest(_l.ColorPresentationRequest.type,d,f).then(h=>h,h=>o.handleFailedRequest(_l.ColorPresentationRequest.type,f,h,null))},l=o.clientOptions.middleware;return l.provideColorPresentations?l.provideColorPresentations(i,n,s,a):a(i,n,s)},provideDocumentColors:(i,n)=>{let s=this._client,o=(l,c)=>{let u={textDocument:{uri:l.uri}};return s.sendRequest(_l.DocumentColorRequest.type,u,c).then(f=>f,f=>s.handleFailedRequest(_l.ColorPresentationRequest.type,c,f,null))},a=s.clientOptions.middleware;return a.provideDocumentColors?a.provideDocumentColors(i,n,o):o(i,n)}};return[N.registerDocumentColorProvider(e.documentSelector,t),t]}}});function ip(r){if(r){if(Array.isArray(r))return r.map(ip);if(typeof r=="object"){let e=Object.create(null);for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=ip(r[t]));return e}}return r}var Y8,hMe,QT,X8=R(()=>{Y8=E(H());Y();hMe=U()("languageclient-configuration"),QT=class{constructor(e){this._client=e;var i;let t=(i=this._client.clientOptions.synchronize)==null?void 0:i.configurationSection;typeof t=="string"&&t.startsWith("languageserver.")&&(this.languageserverSection=t)}fillClientCapabilities(e){e.workspace=e.workspace||{},e.workspace.configuration=!0}initialize(){let e=this._client;e.onRequest(Y8.ConfigurationRequest.type,(t,i)=>{let n=o=>{let a=[];for(let l of o.items)a.push(this.getConfiguration(l.scopeUri,l.section));return a},s=e.clientOptions.middleware.workspace;return s&&s.configuration?s.configuration(t,i,n):n(t,i)})}getConfiguration(e,t){let i=null;if(t){this.languageserverSection&&(t=`${this.languageserverSection}.${t}`);let n=t.lastIndexOf(".");if(n===-1)i=ip(v.getConfiguration(void 0,e).get(t));else{let s=v.getConfiguration(t.substr(0,n),e);s&&(i=ip(s.get(t.substr(n+1))))}}else{let n=v.getConfiguration(this.languageserverSection,e);i={};for(let s of Object.keys(n))n.has(s)&&(i[s]=ip(n.get(s)))}return i}dispose(){}}});function Z8(r,e){return r[e]===void 0&&(r[e]={}),r[e]}var oy,eD,Q8=R(()=>{oy=E(H());Re();ln();ea();"use strict";eD=class extends Fe{constructor(e){super(e,oy.DeclarationRequest.type)}fillClientCapabilities(e){let t=Z8(Z8(e,"textDocument"),"declaration");t.dynamicRegistration=!0}initialize(e,t){let[i,n]=this.getRegistration(t,e.declarationProvider);!i||!n||this.register({id:i,registerOptions:n})}registerLanguageProvider(e){let t={provideDeclaration:(i,n,s)=>{let o=this._client,a=(c,u,f)=>o.sendRequest(oy.DeclarationRequest.type,ur(c,u),f).then(d=>d,d=>o.handleFailedRequest(oy.DeclarationRequest.type,f,d,null)),l=o.clientOptions.middleware;return l.provideDeclaration?l.provideDeclaration(i,n,s,a):a(i,n,s)}};return[N.registerDeclarationProvider(e.documentSelector,t),t]}}});function eV(r,e){return r[e]===void 0&&(r[e]={}),r[e]}var ay,tD,tV=R(()=>{ay=E(H());Re();ln();"use strict";tD=class extends Fe{constructor(e){super(e,ay.FoldingRangeRequest.type)}fillClientCapabilities(e){let t=eV(eV(e,"textDocument"),"foldingRange");t.dynamicRegistration=!0,t.rangeLimit=5e3,t.lineFoldingOnly=!0}initialize(e,t){let[i,n]=this.getRegistration(t,e.foldingRangeProvider);!i||!n||this.register({id:i,registerOptions:n})}registerLanguageProvider(e){let t={provideFoldingRanges:(i,n,s)=>{let o=this._client,a=(c,u,f)=>{let d={textDocument:{uri:c.uri}};return o.sendRequest(ay.FoldingRangeRequest.type,d,f).then(h=>h,h=>o.handleFailedRequest(ay.FoldingRangeRequest.type,f,h,null))},l=o.clientOptions.middleware;return l.provideFoldingRanges?l.provideFoldingRanges(i,n,s,a):a(i,n,s)}};return[N.registerFoldingRangeProvider(e.documentSelector,t),t]}}});function iV(r,e){return r[e]===void 0&&(r[e]={}),r[e]}var ly,iD,rV=R(()=>{ly=E(H());Re();ln();ea();iD=class extends Fe{constructor(e){super(e,ly.ImplementationRequest.type)}fillClientCapabilities(e){let t=iV(iV(e,"textDocument"),"implementation");t.dynamicRegistration=!0}initialize(e,t){let[i,n]=this.getRegistration(t,e.implementationProvider);!i||!n||this.register({id:i,registerOptions:n})}registerLanguageProvider(e){let t={provideImplementation:(i,n,s)=>{let o=this._client,a=(c,u,f)=>o.sendRequest(ly.ImplementationRequest.type,ur(c,u),f).then(d=>d,d=>o.handleFailedRequest(ly.ImplementationRequest.type,f,d,null)),l=o.clientOptions.middleware;return l.provideImplementation?l.provideImplementation(i,n,s,a):a(i,n,s)}};return[N.registerImplementationProvider(e.documentSelector,t),t]}}});function hme(r,e){return r[e]===void 0&&(r[e]=Object.create(null)),r[e]}var nV,rD,sV=R(()=>{nV=E(H());HT();"use strict";rD=class{constructor(e){this._client=e;this.activeParts=new Set}fillClientCapabilities(e){hme(e,"window").workDoneProgress=!0}initialize(){let e=this._client,t=n=>{this.activeParts.delete(n)},i=n=>{this.activeParts.add(new ep(this._client,n.token,t))};e.onRequest(nV.WorkDoneProgressCreateRequest.type,i)}dispose(){for(let e of this.activeParts)e.done();this.activeParts.clear()}}});function oV(r,e){return r[e]===void 0&&(r[e]={}),r[e]}var cy,nD,aV=R(()=>{cy=E(H());Re();ln();ea();nD=class extends Fe{constructor(e){super(e,cy.TypeDefinitionRequest.type)}fillClientCapabilities(e){let t=oV(oV(e,"textDocument"),"typeDefinition");t.dynamicRegistration=!0}initialize(e,t){let[i,n]=this.getRegistration(t,e.typeDefinitionProvider);!i||!n||this.register({id:i,registerOptions:n})}registerLanguageProvider(e){let t={provideTypeDefinition:(i,n,s)=>{let o=this._client,a=(c,u,f)=>o.sendRequest(cy.TypeDefinitionRequest.type,ur(c,u),f).then(d=>d,d=>o.handleFailedRequest(cy.TypeDefinitionRequest.type,f,d,null)),l=o.clientOptions.middleware;return l.provideTypeDefinition?l.provideTypeDefinition(i,n,s,a):a(i,n,s)}};return[N.registerTypeDefinitionProvider(e.documentSelector,t),t]}}});function sD(r,e){if(r!==void 0)return r[e]}function cV(r,e){return r.filter(t=>!e.includes(t))}var rp,lV,FNe,oD,uV=R(()=>{rp=E(H());Y();lV=E(require("os"));sy();qe();"use strict";FNe=U()("language-client-workspaceFolder");oD=class{constructor(e){this._client=e;this._listeners=new Map}get registrationType(){return rp.DidChangeWorkspaceFoldersNotification.type}getValidWorkspaceFolders(){let{workspaceFolders:e}=v;if(!e||e.length==0)return;let t=lV.default.homedir(),{ignoredRootPaths:i}=this._client.clientOptions;Array.isArray(i)||(i=[]);let n=e.filter(s=>{let o=B.parse(s.uri).fsPath;return o!=t&&!i.includes(o)});return n.length?n:void 0}asProtocol(e){return e===void 0?null:{uri:e.uri,name:e.name}}fillInitializeParams(e){let t=this.getValidWorkspaceFolders();this._initialFolders=t,t==null?e.workspaceFolders=null:e.workspaceFolders=t.map(i=>this.asProtocol(i))}fillClientCapabilities(e){e.workspace=e.workspace||{},e.workspace.workspaceFolders=!0}initialize(e){let t=this._client;t.onRequest(rp.WorkspaceFoldersRequest.type,s=>{let o=()=>{let l=this.getValidWorkspaceFolders();return l===void 0?null:l.map(u=>this.asProtocol(u))},a=t.clientOptions.middleware.workspace;return a&&a.workspaceFolders?a.workspaceFolders(s,o):o(s)});let i=sD(sD(sD(e,"workspace"),"workspaceFolders"),"changeNotifications"),n;typeof i=="string"?n=i:i===!0&&(n=We()),n&&this.register({id:n,registerOptions:void 0})}doSendEvent(e,t){let i={event:{added:e.map(n=>this.asProtocol(n)),removed:t.map(n=>this.asProtocol(n))}};this._client.sendNotification(rp.DidChangeWorkspaceFoldersNotification.type,i)}sendInitialEvent(e){if(this._initialFolders&&e){let t=cV(this._initialFolders,e),i=cV(e,this._initialFolders);(i.length>0||t.length>0)&&this.doSendEvent(i,t)}else this._initialFolders?this.doSendEvent([],this._initialFolders):e&&this.doSendEvent(e,[])}register(e){let t=e.id,i=this._client,n=v.onDidChangeWorkspaceFolders(o=>{let a=c=>{this.doSendEvent(c.added,c.removed)},l=i.clientOptions.middleware.workspace;l&&l.didChangeWorkspaceFolders?l.didChangeWorkspaceFolders(o,a):a(o)});this._listeners.set(t,n);let s=this.getValidWorkspaceFolders();this.sendInitialEvent(s)}unregister(e){let t=this._listeners.get(e);t!==void 0&&(this._listeners.delete(e),t.dispose())}dispose(){for(let e of this._listeners.values())e.dispose();this._listeners.clear()}}});function fV(r,e){return r[e]===void 0&&(r[e]={}),r[e]}var uy,aD,dV=R(()=>{uy=E(H());Re();ln();"use strict";aD=class extends Fe{constructor(e){super(e,uy.SelectionRangeRequest.type)}fillClientCapabilities(e){let t=fV(fV(e,"textDocument"),"selectionRange");t.dynamicRegistration=!0}initialize(e,t){let[i,n]=this.getRegistration(t,e.selectionRangeProvider);!i||!n||this.register({id:i,registerOptions:n})}registerLanguageProvider(e){let t={provideSelectionRanges:(i,n,s)=>{let o=this._client,a=(c,u,f)=>{let d={textDocument:{uri:c.uri},positions:u};return o.sendRequest(uy.SelectionRangeRequest.type,d,f).then(h=>h,h=>o.handleFailedRequest(uy.SelectionRangeRequest.type,f,h,null))},l=o.clientOptions.middleware;return l.provideSelectionRanges?l.provideSelectionRanges(i,n,s,a):a(i,n,s)}};return[N.registerSelectionRangeProvider(e.documentSelector,t),t]}}});function hV(r,e){return r[e]===void 0&&(r[e]={}),r[e]}var as,lD,pV=R(()=>{as=E(H());Re();ln();ea();"use strict";lD=class extends Fe{constructor(e){super(e,as.CallHierarchyPrepareRequest.type)}fillClientCapabilities(e){let i=hV(hV(e,"textDocument"),"callHierarchy");i.dynamicRegistration=!0}initialize(e,t){let[i,n]=this.getRegistration(t,e.callHierarchyProvider);!i||!n||this.register({id:i,registerOptions:n})}registerLanguageProvider(e){let t={prepareCallHierarchy:(i,n,s)=>{let o=this._client,a=(c,u,f)=>{let d=ur(c,u);return o.sendRequest(as.CallHierarchyPrepareRequest.type,d,f).then(h=>h,h=>o.handleFailedRequest(as.CallHierarchyPrepareRequest.type,f,h,null))},l=o.clientOptions.middleware;return l.prepareCallHierarchy?l.prepareCallHierarchy(i,n,s,a):a(i,n,s)},provideCallHierarchyIncomingCalls:(i,n)=>{let s=this._client,o=(l,c)=>s.sendRequest(as.CallHierarchyIncomingCallsRequest.type,{item:l},c).then(u=>u,u=>s.handleFailedRequest(as.CallHierarchyIncomingCallsRequest.type,c,u,null)),a=s.clientOptions.middleware;return a.provideCallHierarchyIncomingCalls?a.provideCallHierarchyIncomingCalls(i,n,o):o(i,n)},provideCallHierarchyOutgoingCalls:(i,n)=>{let s=this._client,o=(l,c)=>s.sendRequest(as.CallHierarchyOutgoingCallsRequest.type,{item:l},c).then(u=>u,u=>s.handleFailedRequest(as.CallHierarchyOutgoingCallsRequest.type,c,u,null)),a=s.clientOptions.middleware;return a.provideCallHierarchyOutgoingCalls?a.provideCallHierarchyOutgoingCalls(i,n,o):o(i,n)}};return[N.registerCallHierarchyProvider(e.documentSelector,t),t]}}});function fy(r,e){return r[e]===void 0&&(r[e]={}),r[e]}var le,Aqe,cD,mV=R(()=>{le=E(H());Re();ea();Wr();ln();"use strict";Aqe=U()("languageclient-semanticTokens");cD=class extends Fe{constructor(e){super(e,le.SemanticTokensRegistrationType.type)}fillClientCapabilities(e){let t=fy(fy(e,"textDocument"),"semanticTokens");t.dynamicRegistration=!0,t.tokenTypes=[le.SemanticTokenTypes.namespace,le.SemanticTokenTypes.type,le.SemanticTokenTypes.class,le.SemanticTokenTypes.enum,le.SemanticTokenTypes.interface,le.SemanticTokenTypes.struct,le.SemanticTokenTypes.typeParameter,le.SemanticTokenTypes.parameter,le.SemanticTokenTypes.variable,le.SemanticTokenTypes.property,le.SemanticTokenTypes.enumMember,le.SemanticTokenTypes.event,le.SemanticTokenTypes.function,le.SemanticTokenTypes.method,le.SemanticTokenTypes.macro,le.SemanticTokenTypes.keyword,le.SemanticTokenTypes.modifier,le.SemanticTokenTypes.comment,le.SemanticTokenTypes.string,le.SemanticTokenTypes.number,le.SemanticTokenTypes.regexp,le.SemanticTokenTypes.operator],t.tokenModifiers=[le.SemanticTokenModifiers.declaration,le.SemanticTokenModifiers.definition,le.SemanticTokenModifiers.readonly,le.SemanticTokenModifiers.static,le.SemanticTokenModifiers.deprecated,le.SemanticTokenModifiers.abstract,le.SemanticTokenModifiers.async,le.SemanticTokenModifiers.modification,le.SemanticTokenModifiers.documentation,le.SemanticTokenModifiers.defaultLibrary],t.formats=[le.TokenFormat.Relative],t.requests={range:!0,full:{delta:!0}},t.multilineTokenSupport=!1,t.overlappingTokenSupport=!1,fy(fy(e,"workspace"),"semanticTokens").refreshSupport=!0}initialize(e,t){this._client.onRequest(le.SemanticTokensRefreshRequest.type,async()=>{for(let o of this.getAllProviders())o.onDidChangeSemanticTokensEmitter.fire()});let[n,s]=this.getRegistration(t,e.semanticTokensProvider);!n||!s||this.register({id:n,registerOptions:s})}registerLanguageProvider(e){let t=Os(e.full)?e.full:e.full!==void 0,i=e.full!==void 0&&typeof e.full!="boolean"&&e.full.delta===!0,n=new le.Emitter,s=t?{onDidChangeSemanticTokens:n.event,provideDocumentSemanticTokens:(c,u)=>{let f=this._client,d=f.clientOptions.middleware,h=(p,g)=>{let b={textDocument:Sl(p)};return f.sendRequest(le.SemanticTokensRequest.type,b,g).then(y=>y,y=>f.handleFailedRequest(le.SemanticTokensRequest.type,g,y,null))};return d.provideDocumentSemanticTokens?d.provideDocumentSemanticTokens(c,u,h):h(c,u)},provideDocumentSemanticTokensEdits:i?(c,u,f)=>{let d=this._client,h=d.clientOptions.middleware,p=(g,b,y)=>{let S={textDocument:Sl(g),previousResultId:b};return d.sendRequest(le.SemanticTokensDeltaRequest.type,S,y).then(w=>w,w=>d.handleFailedRequest(le.SemanticTokensDeltaRequest.type,y,w,null))};return h.provideDocumentSemanticTokensEdits?h.provideDocumentSemanticTokensEdits(c,u,f,p):p(c,u,f)}:void 0}:void 0,a=e.range===!0?{provideDocumentRangeSemanticTokens:(c,u,f)=>{let d=this._client,h=d.clientOptions.middleware,p=(g,b,y)=>{let S={textDocument:Sl(g),range:b};return d.sendRequest(le.SemanticTokensRangeRequest.type,S,y).then(w=>w,w=>d.handleFailedRequest(le.SemanticTokensRangeRequest.type,y,w,null))};return h.provideDocumentRangeSemanticTokens?h.provideDocumentRangeSemanticTokens(c,u,f,p):p(c,u,f)}}:void 0,l=[];return s!==void 0&&l.push(N.registerDocumentSemanticTokensProvider(e.documentSelector,s,e.legend)),a!==void 0&&l.push(N.registerDocumentRangeSemanticTokensProvider(e.documentSelector,a,e.legend)),[le.Disposable.create(()=>l.forEach(c=>c.dispose())),{range:a,full:s,onDidChangeSemanticTokensEmitter:n}]}}});function gV(r,e){return r[e]===void 0&&(r[e]={}),r[e]}var dy,Jqe,uD,vV=R(()=>{dy=E(H());Re();ln();ea();Jqe=U()("languageclient-linkedEditingRange");uD=class extends Fe{constructor(e){super(e,dy.LinkedEditingRangeRequest.type)}fillClientCapabilities(e){let t=gV(gV(e,"textDocument"),"linkedEditingRange");t.dynamicRegistration=!0}initialize(e,t){let[i,n]=this.getRegistration(t,e.linkedEditingRangeProvider);!i||!n||this.register({id:i,registerOptions:n})}registerLanguageProvider(e){let t={provideLinkedEditingRanges:(i,n,s)=>{let o=this._client,a=(c,u,f)=>{let d=ur(c,u);return o.sendRequest(dy.LinkedEditingRangeRequest.type,d,f).then(h=>h,h=>o.handleFailedRequest(dy.LinkedEditingRangeRequest.type,f,h,null))},l=o.clientOptions.middleware;return l.provideLinkedEditingRange?l.provideLinkedEditingRange(i,n,s,a):a(i,n,s)}};return[N.registerLinkedEditingRangeProvider(e.documentSelector,t),t]}}});function yV(r,e){return r[e]===void 0&&(r[e]={}),r[e]}function pme(r,e){return r[e]}function wV(r,e,t){r[e]=t}function hy(r){return{files:r.files.map(e=>({uri:e.toString()}))}}function xV(r){return{files:r.files.map(e=>({oldUri:e.oldUri.toString(),newUri:e.newUri.toString()}))}}var bV,Ai,S$e,El,py,fD,dD,hD,my,pD,mD,gD,SV=R(()=>{bV=E(Do()),Ai=E(H());En();Nt();Y();sy();S$e=U()("language-client-fileOperations");El=class{constructor(e,t,i,n,s){this._filters=new Map;this._client=e,this._event=t,this._registrationType=i,this._clientCapability=n,this._serverCapability=s}get registrationType(){return this._registrationType}fillClientCapabilities(e){let t=yV(yV(e,"workspace"),"fileOperations");wV(t,"dynamicRegistration",!0),wV(t,this._clientCapability,!0)}initialize(e){var n;let t=(n=e.workspace)==null?void 0:n.fileOperations,i=t!==void 0?pme(t,this._serverCapability):void 0;if((i==null?void 0:i.filters)!==void 0)try{this.register({id:We(),registerOptions:{filters:i.filters}})}catch(s){this._client.warn(`Ignoring invalid glob pattern for ${this._serverCapability} registration: ${s}`)}}register(e){this._listener||(this._listener=this._event(this.send,this));let t=e.registerOptions.filters.map(i=>{let n=new bV.Minimatch(i.pattern.glob,El.asMinimatchOptions(i.pattern.options));if(!n.makeRe())throw new Error(`Invalid pattern ${i.pattern.glob}!`);return{scheme:i.scheme,matcher:n,kind:i.pattern.matches}});this._filters.set(e.id,t)}unregister(e){this._filters.delete(e),this._filters.size===0&&this._listener&&(this._listener.dispose(),this._listener=void 0)}dispose(){this._filters.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}async filter(e,t){let i=await Promise.all(e.files.map(async s=>{let o=t(s),a=o.fsPath.replace(/\\/g,"/");for(let l of this._filters.values())for(let c of l)if(!(c.scheme!==void 0&&c.scheme!==o.scheme)){if(c.matcher.match(a)){if(c.kind===void 0)return!0;let u=await El.getFileType(o);if(u===void 0)return this._client.error(`Failed to determine file type for ${o.toString()}.`),!0;if(u===Gr.File&&c.kind===Ai.FileOperationPatternKind.file||u===Gr.Directory&&c.kind===Ai.FileOperationPatternKind.folder)return!0}else if(c.kind===Ai.FileOperationPatternKind.folder&&await El.getFileType(o)===Gr.Directory&&c.matcher.match(`${a}/`))return!0}return!1})),n=e.files.filter((s,o)=>i[o]);return ff(ut({},e),{files:n})}static async getFileType(e){try{let t=await Mt(e.fsPath);return t.isFile()?Gr.File:t.isDirectory()?Gr.Directory:t.isSymbolicLink()?Gr.SymbolicLink:Gr.Unknown}catch(t){return}}static asMinimatchOptions(e){if(e!==void 0&&e.ignoreCase===!0)return{nocase:!0}}},py=class extends El{constructor(e,t,i,n,s,o,a){super(e,t,i,n,s);this._notificationType=i,this._accessUri=o,this._createParams=a}async send(e){let t=await this.filter(e,this._accessUri);if(t.files.length){let i=async n=>{this._client.sendNotification(this._notificationType,this._createParams(n))};this.doSend(t,i)}}},fD=class extends py{constructor(e){super(e,v.onDidCreateFiles,Ai.DidCreateFilesNotification.type,"didCreate","didCreate",t=>t,t=>hy(t))}doSend(e,t){var n;let i=(n=this._client.clientOptions.middleware)==null?void 0:n.workspace;return(i==null?void 0:i.didCreateFiles)?i.didCreateFiles(e,t):t(e)}},dD=class extends py{constructor(e){super(e,v.onDidRenameFiles,Ai.DidRenameFilesNotification.type,"didRename","didRename",t=>t.oldUri,t=>xV(t))}doSend(e,t){var n;let i=(n=this._client.clientOptions.middleware)==null?void 0:n.workspace;return(i==null?void 0:i.didRenameFiles)?i.didRenameFiles(e,t):t(e)}},hD=class extends py{constructor(e){super(e,v.onDidDeleteFiles,Ai.DidDeleteFilesNotification.type,"didDelete","didDelete",t=>t,t=>hy(t))}doSend(e,t){var n;let i=(n=this._client.clientOptions.middleware)==null?void 0:n.workspace;return(i==null?void 0:i.didDeleteFiles)?i.didDeleteFiles(e,t):t(e)}},my=class extends El{constructor(e,t,i,n,s,o,a){super(e,t,i,n,s);this._requestType=i,this._accessUri=o,this._createParams=a}async send(e){let t=this.waitUntil(e);e.waitUntil(t)}async waitUntil(e){let t=await this.filter(e,this._accessUri);if(t.files.length){let i=n=>this._client.sendRequest(this._requestType,this._createParams(n));return this.doSend(t,i)}else return}},pD=class extends my{constructor(e){super(e,v.onWillCreateFiles,Ai.WillCreateFilesRequest.type,"willCreate","willCreate",t=>t,t=>hy(t))}doSend(e,t){var n;let i=(n=this._client.clientOptions.middleware)==null?void 0:n.workspace;return(i==null?void 0:i.willCreateFiles)?i.willCreateFiles(e,t):t(e)}},mD=class extends my{constructor(e){super(e,v.onWillRenameFiles,Ai.WillRenameFilesRequest.type,"willRename","willRename",t=>t.oldUri,t=>xV(t))}doSend(e,t){var n;let i=(n=this._client.clientOptions.middleware)==null?void 0:n.workspace;return(i==null?void 0:i.willRenameFiles)?i.willRenameFiles(e,t):t(e)}},gD=class extends my{constructor(e){super(e,v.onWillDeleteFiles,Ai.WillDeleteFilesRequest.type,"willDelete","willDelete",t=>t,t=>hy(t))}doSend(e,t){var n;let i=(n=this._client.clientOptions.middleware)==null?void 0:n.workspace;return(i==null?void 0:i.willDeleteFiles)?i.willDeleteFiles(e,t):t(e)}}});var Ks,gy,ju,ot,H$e,vD,bD,pt,Uu,yD,wD,xD,np,SD,CD,_D=R(()=>{Ks=E(require("child_process")),gy=E(require("fs")),ju=E(require("path")),ot=E(r8());En();de();Wr();o8();Y();ln();J8();X8();Q8();tV();rV();sV();aV();uV();dV();pV();mV();vV();SV();ln();H$e=Ks.default.ChildProcess,vD=U()("language-client-index");(function(e){function r(t){return Me(t.command)}e.is=r})(bD||(bD={}));(function(n){n[n.stdio=0]="stdio",n[n.ipc=1]="ipc",n[n.pipe=2]="pipe",n[n.socket=3]="socket"})(pt||(pt={}));(function(e){function r(t){let i=t;return i&&i.kind===3&&rg(i.port)}e.isSocket=r})(Uu||(Uu={}));(function(e){function r(t){return Me(t.module)}e.is=r})(yD||(yD={}));(function(e){function r(t){let i=t;return i&&i.writer!==void 0&&i.reader!==void 0}e.is=r})(wD||(wD={}));(function(e){function r(t){let i=t;return i&&i.process!==void 0&&typeof i.detached=="boolean"}e.is=r})(xD||(xD={}));np=class extends XT{constructor(e,t,i,n,s){let o,a,l,c,u;Me(t)?(o=e,a=t,l=i,c=n,u=!!s):(o=e.toLowerCase(),a=e,l=t,c=i,u=n),u===void 0&&(u=!1),super(o,a,c),this._serverOptions=l,this._forceDebug=u,this.registerProposedFeatures()}stop(){return super.stop().then(()=>{if(this._serverProcess){let e=this._serverProcess;this._serverProcess=void 0,(this._isDetached===void 0||!this._isDetached)&&this.checkProcessDied(e),this._isDetached=void 0}})}get serviceState(){let e=this._state;switch(e){case ye.Initial:return Ee.Initial;case ye.Running:return Ee.Running;case ye.StartFailed:return Ee.StartFailed;case ye.Starting:return Ee.Starting;case ye.Stopped:return Ee.Stopped;case ye.Stopping:return Ee.Stopping;default:return vD.error(`Unknown state: ${e}`),Ee.Stopped}}static stateName(e){switch(e){case ye.Initial:return"Initial";case ye.Running:return"Running";case ye.StartFailed:return"StartFailed";case ye.Starting:return"Starting";case ye.Stopped:return"Stopped";case ye.Stopping:return"Stopping";default:return"Unknonw"}}checkProcessDied(e){if(!(!e||global.hasOwnProperty("__TEST__"))){if(global.hasOwnProperty("__TEST__")){process.kill(e.pid,0);return}setTimeout(()=>{try{process.kill(e.pid,0),s8(e)}catch(t){}},2e3)}}handleConnectionClosed(){this._serverProcess=void 0,super.handleConnectionClosed()}createMessageTransports(e){function t(u,f){if(!u&&!f)return;let d=Object.create(null);return Object.keys(process.env).forEach(h=>d[h]=process.env[h]),u&&Object.keys(u).forEach(h=>d[h]=u[h]),d}let i=["--debug=","--debug-brk=","--inspect=","--inspect-brk="],n=["--debug","--debug-brk","--inspect","--inspect-brk"];function s(){let u=process.execArgv;return u?u.some(f=>i.some(d=>f.startsWith(d))||n.some(d=>f===d)):!1}function o(u){if(u.stdin===null||u.stdout===null||u.stderr===null)throw new Error("Process created without stdio streams")}let a=this._serverOptions;if(_o(a))return a().then(u=>{if(Bu.is(u))return this._isDetached=!!u.detached,u;if(wD.is(u))return this._isDetached=!!u.detached,{reader:new ot.StreamMessageReader(u.reader),writer:new ot.StreamMessageWriter(u.writer)};{let f;return xD.is(u)?(f=u.process,this._isDetached=u.detached):(f=u,this._isDetached=!1),f.stderr.on("data",d=>this.outputChannel.append(Me(d)?d:d.toString(e))),{reader:new ot.StreamMessageReader(f.stdout),writer:new ot.StreamMessageWriter(f.stdin)}}});let l,c=a;return c.run||c.debug?typeof v8debug=="object"||this._forceDebug||s()?l=c.debug:l=c.run:l=a,this._getServerWorkingDir(l.options).then(u=>{if(yD.is(l)&&l.module){let f=l,d=f.transport||0;if(f.runtime){let h=[],p=f.options||Object.create(null);p.execArgv&&p.execArgv.forEach(S=>h.push(S)),h.push(f.module),f.args&&f.args.forEach(S=>h.push(S));let g=Object.create(null);g.cwd=u,g.env=t(p.env,!1);let b=this._getRuntimePath(f.runtime,u),y;if(d===1?(g.stdio=[null,null,null,"ipc"],h.push("--node-ipc")):d===0?h.push("--stdio"):d===2?(y=(0,ot.generateRandomPipeName)(),h.push(`--pipe=${y}`)):Uu.isSocket(d)&&h.push(`--socket=${d.port}`),h.push(`--clientProcessId=${process.pid.toString()}`),d===1||d===0){let S=Ks.default.spawn(b,h,g);return!S||!S.pid?Promise.reject(`Launching server using runtime ${b} failed.`):(this._serverProcess=S,S.stderr.on("data",w=>this.outputChannel.append(Me(w)?w:w.toString(e))),d===1?(S.stdout.on("data",w=>this.outputChannel.append(Me(w)?w:w.toString(e))),Promise.resolve({reader:new ot.IPCMessageReader(S),writer:new ot.IPCMessageWriter(S)})):Promise.resolve({reader:new ot.StreamMessageReader(S.stdout),writer:new ot.StreamMessageWriter(S.stdin)}))}else{if(d===2)return(0,ot.createClientPipeTransport)(y).then(S=>{let w=Ks.default.spawn(b,h,g);return!w||!w.pid?Promise.reject(`Launching server using runtime ${b} failed.`):(this._serverProcess=w,w.stderr.on("data",_=>this.outputChannel.append(Me(_)?_:_.toString(e))),w.stdout.on("data",_=>this.outputChannel.append(Me(_)?_:_.toString(e))),S.onConnected().then(_=>({reader:_[0],writer:_[1]})))});if(Uu.isSocket(d))return(0,ot.createClientSocketTransport)(d.port).then(S=>{let w=Ks.default.spawn(b,h,g);return!w||!w.pid?Promise.reject(`Launching server using runtime ${b} failed.`):(this._serverProcess=w,w.stderr.on("data",_=>this.outputChannel.append(Me(_)?_:_.toString(e))),w.stdout.on("data",_=>this.outputChannel.append(Me(_)?_:_.toString(e))),S.onConnected().then(_=>({reader:_[0],writer:_[1]})))})}}else{let h;return new Promise((p,g)=>{let b=f.args&&f.args.slice()||[];d===1?b.push("--node-ipc"):d===0?b.push("--stdio"):d===2?(h=(0,ot.generateRandomPipeName)(),b.push(`--pipe=${h}`)):Uu.isSocket(d)&&b.push(`--socket=${d.port}`),b.push(`--clientProcessId=${process.pid.toString()}`);let y=f.options||Object.create(null);if(y.env=t(y.env,!0),y.execArgv=y.execArgv||[],y.cwd=u,y.silent=!0,d===1||d===0){let S=Ks.default.fork(f.module,b||[],y);o(S),this._serverProcess=S,S.stderr.on("data",w=>this.outputChannel.append(Me(w)?w:w.toString(e))),d===1?(S.stdout.on("data",w=>this.outputChannel.append(Me(w)?w:w.toString(e))),p({reader:new ot.IPCMessageReader(this._serverProcess),writer:new ot.IPCMessageWriter(this._serverProcess)})):p({reader:new ot.StreamMessageReader(S.stdout),writer:new ot.StreamMessageWriter(S.stdin)})}else d===2?(0,ot.createClientPipeTransport)(h).then(S=>{let w=Ks.default.fork(f.module,b||[],y);o(w),this._serverProcess=w,w.stderr.on("data",_=>this.outputChannel.append(Me(_)?_:_.toString(e))),w.stdout.on("data",_=>this.outputChannel.append(Me(_)?_:_.toString(e))),S.onConnected().then(_=>{p({reader:_[0],writer:_[1]})})}):Uu.isSocket(d)&&(0,ot.createClientSocketTransport)(d.port).then(S=>{let w=Ks.default.fork(f.module,b||[],y);o(w),this._serverProcess=w,w.stderr.on("data",_=>this.outputChannel.append(Me(_)?_:_.toString(e))),w.stdout.on("data",_=>this.outputChannel.append(Me(_)?_:_.toString(e))),S.onConnected().then(_=>{p({reader:_[0],writer:_[1]})})})})}}else if(bD.is(l)&&l.command){let f=l,d=f.args||[],h=Object.assign({},f.options);h.env=h.env?Object.assign({},process.env,h.env):process.env,h.cwd=h.cwd||u;let p=v.expand(l.command),g=Ks.default.spawn(p,d,h);return g.on("error",b=>{this.error(b.message),vD.error(b)}),!g||!g.pid?Promise.reject(`Launching server "${this.id}" using command ${f.command} failed.`):(vD.info(`Language server "${this.id}" started with ${g.pid}`),g.on("exit",b=>{b!=0&&this.error(`${f.command} exited with code: ${b}`)}),g.stderr.on("data",b=>this.outputChannel.append(Me(b)?b:b.toString(e))),this._serverProcess=g,this._isDetached=!!h.detached,Promise.resolve({reader:new ot.StreamMessageReader(g.stdout),writer:new ot.StreamMessageWriter(g.stdin)}))}return Promise.reject(`Unsupported server configuration ${JSON.stringify(a,null,2)}`)})}_getRuntimePath(e,t){if(ju.default.isAbsolute(e))return e;let i=this._mainGetRootPath();if(i!==void 0){let n=ju.default.join(i,e);if(gy.default.existsSync(n))return n}if(t!==void 0){let n=ju.default.join(t,e);if(gy.default.existsSync(n))return n}return e}_mainGetRootPath(){let e=v.workspaceFolders;return!e||e.length===0?void 0:e[0].uri}registerProposedFeatures(){this.registerFeatures(CD.createAll(this))}registerBuiltinFeatures(){super.registerBuiltinFeatures(),this.registerFeature(new QT(this)),this.registerFeature(new nD(this)),this.registerFeature(new iD(this)),this.registerFeature(new eD(this)),this.registerFeature(new ZT(this)),this.registerFeature(new tD(this)),this.registerFeature(new aD(this)),this.registerFeature(new rD(this)),this.registerFeature(new lD(this)),(v.isNvim||v.isVim&&v.env.textprop)&&v.getConfiguration("coc.preferences").get("semanticTokensHighlights",!0)&&this.registerFeature(new cD(this)),this.registerFeature(new uD(this)),this.registerFeature(new fD(this)),this.registerFeature(new dD(this)),this.registerFeature(new hD(this)),this.registerFeature(new pD(this)),this.registerFeature(new mD(this)),this.registerFeature(new gD(this)),this.clientOptions.disableWorkspaceFolders||this.registerFeature(new oD(this))}_getServerWorkingDir(e){let t=e&&e.cwd;return t&&!ju.default.isAbsolute(t)&&(t=ju.default.join(v.cwd,t)),t||(t=v.cwd),t?new Promise(i=>{gy.default.lstat(t,(n,s)=>{i(!n&&s.isDirectory()?t:void 0)})}):Promise.resolve(void 0)}appendOutput(e,t){let i=Me(e)?e:e.toString(t);this.outputChannel.append(i.endsWith(` +`)?i:i+` +`)}},SD=class{constructor(e,t){this._client=e;this._setting=t;this._listeners=[]}start(){return v.onDidChangeConfiguration(e=>{e.affectsConfiguration(this._setting)&&this.onDidChangeConfiguration()},null,this._listeners),this.onDidChangeConfiguration(),{dispose:()=>{G(this._listeners),this._client.needsStop()&&this._client.stop()}}}onDidChangeConfiguration(){let e=this._setting.indexOf("."),t=e>=0?this._setting.substr(0,e):this._setting,i=e>=0?this._setting.substr(e+1):void 0,n=i?v.getConfiguration(t).get(i,!0):v.getConfiguration(t);n&&this._client.needsStart()?this._client.start():!n&&this._client.needsStop()&&this._client.stop()}};(function(e){function r(t){return[]}e.createAll=r})(CD||(CD={}))});function mme(r){switch(r){case Ee.Initial:return"init";case Ee.Running:return"running";case Ee.Starting:return"starting";case Ee.StartFailed:return"startFailed";case Ee.Stopping:return"stopping";case Ee.Stopped:return"stopped";default:return"unknown"}}function gme(r){let e=r.map(t=>typeof t=="string"?t:t.language);return e=e.filter(t=>typeof t=="string"),Array.from(new Set(e))}function vme(r,e,t){let{command:i,module:n,port:s,args:o,filetypes:a}=t;if(o=o||[],!a)return D.showMessage(`Wrong configuration of LS "${e}", filetypes not found`,"error"),null;if(!i&&!n&&!s)return D.showMessage(`Wrong configuration of LS "${e}", no command or module specified.`,"error"),null;let l;if(n){if(n=v.expand(n),!_V.default.existsSync(n))return D.showMessage(`Module file "${n}" not found for LS "${e}"`,"error"),null;l={module:n,runtime:t.runtime||process.execPath,args:o,transport:yme(t),options:wme(t)}}else i?l={command:i,args:o,options:xme(t)}:s&&(l=()=>new Promise((h,p)=>{let g=new EV.default.Socket,b=t.host||"127.0.0.1";Tl.info(`languageserver "${r}" connecting to ${b}:${s}`),g.connect(s,b,()=>{h({reader:g,writer:g})}),g.on("error",y=>{p(new Error(`Connection error for ${r}: ${y.message}`))})}));let c=!!t.disableWorkspaceFolders,u=!!t.disableSnippetCompletion;return[{ignoredRootPaths:(t.ignoredRootPaths||[]).map(h=>v.expand(h)),disableWorkspaceFolders:c,disableSnippetCompletion:u,disableDynamicRegister:!!t.disableDynamicRegister,disableCompletion:!!t.disableCompletion,disableDiagnostics:!!t.disableDiagnostics,formatterPriority:t.formatterPriority||0,documentSelector:DV(t.filetypes,t.additionalSchemes),revealOutputChannelOn:bme(t.revealOutputChannelOn),synchronize:{configurationSection:`${r}.settings`},diagnosticCollectionName:e,outputChannelName:r,stdioEncoding:t.stdioEncoding||"utf8",progressOnInitialization:t.progressOnInitialization!==!1,initializationOptions:t.initializationOptions||{}},l]}function bme(r){switch(r){case"info":return fr.Info;case"warn":return fr.Warn;case"error":return fr.Error;case"never":return fr.Never;default:return fr.Never}}function DV(r,e){let t=[],i=["file","untitled"].concat(e||[]);return r?(r.forEach(n=>{t.push(...i.map(s=>({language:n,scheme:s})))}),t):i.map(n=>({scheme:n}))}function yme(r){let{transport:e,transportPort:t}=r;return!e||e=="ipc"?pt.ipc:e=="stdio"?pt.stdio:e=="pipe"?pt.pipe:{kind:pt.socket,port:t}}function wme(r){return{cwd:r.cwd,execArgv:r.execArgv||[],env:r.env||void 0}}function xme(r){return{cwd:r.cwd,detached:!!r.detached,shell:!!r.shell,env:r.env||void 0}}function RV(r){switch(r){case dr.Running:return"running";case dr.Starting:return"starting";case dr.Stopped:return"stopped";default:return"unknown"}}var CV,_V,EV,Hu,Tl,TV,Fi,sp=R(()=>{CV=E(require("events")),_V=E(require("fs")),EV=E(require("net")),Hu=E(H());_D();En();de();Y();Te();Tl=U()("services");TV=class extends CV.EventEmitter{constructor(){super(...arguments);this.registered=new Map;this.disposables=[]}init(){v.onDidOpenTextDocument(e=>{this.start(e)},null,this.disposables),v.onDidChangeConfiguration(e=>{e.affectsConfiguration("languageserver")&&this.createCustomServices()},null,this.disposables),this.createCustomServices()}dispose(){this.removeAllListeners(),G(this.disposables);for(let e of this.registered.values())e.dispose()}regist(e){let{id:t}=e;if(t||Tl.error("invalid service configuration. ",e.name),!this.registered.get(t))return this.registered.set(t,e),Tl.info(`registered service "${t}"`),this.shouldStart(e)&&e.start(),e.state==Ee.Running&&this.emit("ready",t),e.onServiceReady(()=>{Tl.info(`service ${t} started`),this.emit("ready",t)},null,this.disposables),Hu.Disposable.create(()=>{e.stop(),e.dispose(),this.registered.delete(t)})}getService(e){let t=this.registered.get(e);return t||(t=this.registered.get(`languageserver.${e}`)),t}shouldStart(e){if(e.state!=Ee.Initial)return!1;let t=e.selector;for(let i of v.documents)if(v.match(t,i.textDocument))return!0;return!1}start(e){let t=this.getServices(e);for(let i of t)i.state==Ee.Initial&&i.start()}getServices(e){let t=[];for(let i of this.registered.values())v.match(i.selector,e)>0&&t.push(i);return t}stop(e){let t=this.registered.get(e);if(!t){D.showMessage(`Service ${e} not found`,"error");return}return Promise.resolve(t.stop())}stopAll(){for(let e of this.registered.values())e.stop()}async toggle(e){let t=this.registered.get(e);if(!t){D.showMessage(`Service ${e} not found`,"error");return}let{state:i}=t;try{i==Ee.Running?await Promise.resolve(t.stop()):i==Ee.Initial?await t.start():i==Ee.Stopped&&await t.restart()}catch(n){D.showMessage(`Service error: ${n.message}`,"error")}}getServiceStats(){let e=[];for(let[t,i]of this.registered)e.push({id:t,languageIds:gme(i.selector),state:mme(i.state)});return e}createCustomServices(){let e=v.getConfiguration().get("languageserver",{});for(let t of Object.keys(e)){let i=e[t];!this.validServerConfig(t,i)||this.registLanguageClient(t,i)}}validServerConfig(e,t){let i=[];return t.module!=null&&typeof t.module!="string"&&i.push(`"module" field of languageserver ${e} should be string`),t.command!=null&&typeof t.command!="string"&&i.push(`"command" field of languageserver ${e} should be string`),t.transport!=null&&typeof t.transport!="string"&&i.push(`"transport" field of languageserver ${e} should be string`),t.transportPort!=null&&typeof t.transportPort!="number"&&i.push(`"transportPort" field of languageserver ${e} should be string`),(!Array.isArray(t.filetypes)||!t.filetypes.every(n=>typeof n=="string"))&&i.push(`"filetypes" field of languageserver ${e} should be array of string`),t.additionalSchemes&&(!Array.isArray(t.additionalSchemes)||t.additionalSchemes.some(n=>typeof n!="string"))&&i.push(`"additionalSchemes" field of languageserver ${e} should be array of string`),i.length?(D.showMessage(i.join(` +`),"error"),!1):!0}waitClient(e){let t=this.getService(e);return t&&t.state==Ee.Running?Promise.resolve():t?new Promise(i=>{t.onServiceReady(()=>{i()})}):new Promise(i=>{let n=s=>{(s==e||s==`languageserver.${e}`)&&(this.off("ready",n),i())};this.on("ready",n)})}async registNotification(e,t){await this.waitClient(e);let i=this.getService(e);if(!i.client){D.showMessage(`Not a language client: ${e}`,"error");return}i.client.onNotification(t,async s=>{await v.nvim.call("coc#do_notify",[e,t,s])})}async sendNotification(e,t,i){if(!t)throw new Error("method required for ontification");let n=this.getService(e);if(!n||!n.client)throw new Error(`Language server ${e} not found`);if(n.state==Ee.Starting&&await n.client.onReady(),n.state!=Ee.Running)throw new Error(`Language server ${e} not running`);await Promise.resolve(n.client.sendNotification(t,i))}async sendRequest(e,t,i,n){if(!t)throw new Error("method required for sendRequest");let s=this.getService(e);if(s||await bt(100),s=this.getService(e),!s||!s.client)throw new Error(`Language server ${e} not found`);if(s.state==Ee.Starting&&await s.client.onReady(),s.state!=Ee.Running)throw new Error(`Language server ${e} not running`);return n||(n=new Hu.CancellationTokenSource().token),await Promise.resolve(s.client.sendRequest(t,i,n))}registLanguageClient(e,t){let i=typeof e=="string"?`languageserver.${e}`:e.id,n=[],s=new Hu.Emitter,o=typeof e=="string"?null:e;if(this.registered.has(i))return;let a=!1,l={id:i,client:o,name:typeof e=="string"?e:e.name,selector:typeof e=="string"?DV(t.filetypes,t.additionalSchemes):e.clientOptions.documentSelector,state:Ee.Initial,onServiceReady:s.event,start:()=>{if(l.state==Ee.Starting||l.state==Ee.Running||o&&!o.needsStart())return;if(a&&o)return o.restart(),Promise.resolve();if(!a){if(typeof e=="string"&&!o){let u=v.getConfiguration().get("languageserver",{})[e];if(!u||u.enable===!1)return;let f=vme(i,e,u);if(!f)return;o=new np(i,e,f[1],f[0]),l.selector=f[0].documentSelector,l.client=o}o.onDidChangeState(u=>{let{oldState:f,newState:d}=u;d==dr.Starting?l.state=Ee.Starting:d==dr.Running?l.state=Ee.Running:d==dr.Stopped&&(l.state=Ee.Stopped);let h=RV(f),p=RV(d);Tl.info(`${o.name} state change: ${h} => ${p}`)},null,n),a=!0}l.state=Ee.Starting,Tl.debug(`starting service: ${i}`);let c=o.start();return n.push(c),new Promise(u=>{o.onReady().then(()=>{s.fire(void 0),u()},f=>{D.showMessage(`Server ${i} failed to start: ${f}`,"error"),Tl.error(`Server ${i} failed to start:`,f),l.state=Ee.StartFailed,u()})})},dispose:async()=>{s.dispose(),G(n)},stop:async()=>{!o||!o.needsStop()||await Promise.resolve(o.stop())},restart:async()=>{o?(l.state=Ee.Starting,o.restart()):await l.start()}};return this.regist(l)}};Fi=new TV});var PV,Dl,Wu,vy=R(()=>{Y();Te();PV=E(require("events")),Dl=["","","","","","","","","","","","","","","","","","","","<2-LeftMouse>","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],Wu=class extends PV.EventEmitter{constructor(){super();this.configuration=v.getConfiguration("list"),this.disposable=v.onDidChangeConfiguration(e=>{e.affectsConfiguration("list")&&(this.configuration=v.getConfiguration("list"),this.emit("change"))})}get(e,t){return this.configuration.get(e,t)}get previousKey(){return this.fixKey(this.configuration.get("previousKeymap",""))}get nextKey(){return this.fixKey(this.configuration.get("nextKeymap",""))}dispose(){this.disposable.dispose(),this.removeAllListeners()}fixKey(e){if(Dl.includes(e))return e;let t=Dl.find(i=>i.toLowerCase()==e.toLowerCase());return t||(D.showMessage(`Configured key "${e}" not supported.`,"error"),null)}}});var hBe,vBe,by,kV=R(()=>{hBe=E(dm());Te();vy();vBe=U()("list-mappings"),by=class{constructor(e,t,i){this.manager=e;this.nvim=t;this.config=i;this.insertMappings=new Map;this.normalMappings=new Map;this.userInsertMappings=new Map;this.userNormalMappings=new Map;let{prompt:n}=e;this.add("insert","",()=>{var s;(s=e.session)==null||s.history.next()}),this.add("insert","",()=>{var s;(s=e.session)==null||s.history.previous()}),this.add("insert","",async()=>{await n.paste()}),this.add("insert","",()=>e.switchMatcher()),this.add("insert",["",""],async()=>{await e.doAction()}),this.add("insert",["",""," "],()=>e.chooseAction()),this.add("insert","",()=>{e.toggleMode()}),this.add("insert","",()=>{e.stop()}),this.add("insert","",async()=>{var s;await((s=e.session)==null?void 0:s.reloadItems())}),this.add("insert","",()=>{n.moveLeft()}),this.add("insert","",()=>{n.moveRight()}),this.add("insert",["",""],()=>{n.moveToEnd()}),this.add("insert",["",""],()=>{n.moveToStart()}),this.add("insert",["","",""],()=>{n.onBackspace()}),this.add("insert","",()=>{n.removeWord()}),this.add("insert","",()=>{n.removeAhead()}),this.add("insert","",()=>n.insertRegister()),this.add("insert","",()=>e.feedkeys("",!1)),this.add("insert","",()=>e.feedkeys("",!1)),this.add("insert","",()=>e.feedkeys("",!1)),this.add("insert","",()=>e.normal("j")),this.add("insert","",()=>e.normal("k")),this.add("insert",[""],this.doScroll.bind(this,"")),this.add("insert",[""],this.doScroll.bind(this,"")),this.add("insert",[""],this.doScroll.bind(this,"")),this.add("insert",[""],this.doScroll.bind(this,"")),this.add("normal","t",()=>e.doAction("tabe")),this.add("normal","s",()=>e.doAction("split")),this.add("normal","d",()=>e.doAction("drop")),this.add("normal",["","","\r"],()=>e.doAction()),this.add("normal","",()=>{var s;return(s=e.session)==null?void 0:s.ui.selectAll()}),this.add("normal"," ",()=>{var s;return(s=e.session)==null?void 0:s.ui.toggleSelection()}),this.add("normal","p",()=>e.togglePreview()),this.add("normal",[""," ",""],()=>e.chooseAction()),this.add("normal","",()=>{e.stop()}),this.add("normal","",()=>{var s;return(s=e.session)==null?void 0:s.reloadItems()}),this.add("normal","",()=>{var s;return(s=e.session)==null?void 0:s.jumpBack()}),this.add("normal","",()=>this.scrollPreview("down")),this.add("normal","",()=>this.scrollPreview("up")),this.add("normal",["i","I","o","O","a","A"],()=>e.toggleMode()),this.add("normal","?",()=>{var s;return(s=e.session)==null?void 0:s.showHelp()}),this.add("normal",":",async()=>{await e.cancel(!1),await t.eval('feedkeys(":")')}),this.add("normal",[""],this.doScroll.bind(this,"")),this.add("normal",[""],this.doScroll.bind(this,"")),this.createMappings(),i.on("change",()=>{this.createMappings()})}createMappings(){let e=this.config.get("insertMappings",{});this.userInsertMappings=this.fixUserMappings(e);let t=this.config.get("normalMappings",{});this.userNormalMappings=this.fixUserMappings(t)}fixUserMappings(e){let t=new Map;for(let[i,n]of Object.entries(e))if(i.length==1)t.set(i,n);else if(i.startsWith("<")&&i.endsWith(">"))if(i.toLowerCase()=="")t.set(" ",n);else if(i.toLowerCase()=="")t.set("",n);else if(Dl.includes(i))t.set(i,n);else{let s=!1;for(let o=0;o{IV=E(H()),wBe=U()("list-prompt"),yy=class{constructor(e,t){this.nvim=e;this.config=t;this.cusorIndex=0;this._input="";this._mode="insert";this.interactive=!1;this.requestInput=!1;this._onDidChangeInput=new IV.Emitter;this.onDidChangeInput=this._onDidChangeInput.event}get input(){return this._input}set input(e){this._input!=e&&(this.cusorIndex=e.length,this._input=e,this.drawPrompt(),this._onDidChangeInput.fire(this._input))}get mode(){return this._mode}set mode(e){e!=this._mode&&(this._mode=e,this.drawPrompt())}set matcher(e){this._matcher=e,this.drawPrompt()}start(e){e&&(this.interactive=e.interactive,this.cusorIndex=e.input.length,this._input=e.input,this._mode=e.mode,this._matcher=e.interactive?"":e.matcher),this.nvim.call("coc#prompt#start_prompt",["list"],!0),this.drawPrompt()}cancel(){let{nvim:e}=this;e.call("coc#prompt#stop_prompt",["list"],!0)}reset(){this._input="",this.cusorIndex=0}drawPrompt(){let e=this.config.get("indicator",">"),{cusorIndex:t,interactive:i,input:n,_matcher:s}=this,o=['echo ""'];if(this.mode=="insert")if(i?o.push("echohl MoreMsg | echon 'INTERACTIVE ' | echohl None"):s&&o.push(`echohl MoreMsg | echon '${s.toUpperCase()} ' | echohl None`),o.push(`echohl Special | echon '${e} ' | echohl None`),t==n.length)o.push(`echon '${n.replace(/'/g,"''")}'`),o.push("echohl Cursor | echon ' ' | echohl None");else{let l=n.slice(0,t);l&&o.push(`echon '${l.replace(/'/g,"''")}'`),o.push(`echohl Cursor | echon '${n[t].replace(/'/,"''")}' | echohl None`);let c=n.slice(t+1);o.push(`echon '${c.replace(/'/g,"''")}'`)}else o.push('echohl MoreMsg | echo "" | echohl None');o.push("redraw");let a=o.join("|");this.nvim.command(a,!0)}moveLeft(){this.cusorIndex!=0&&(this.cusorIndex=this.cusorIndex-1,this.drawPrompt())}moveRight(){this.cusorIndex!=this._input.length&&(this.cusorIndex=this.cusorIndex+1,this.drawPrompt())}moveToEnd(){this.cusorIndex!=this._input.length&&(this.cusorIndex=this._input.length,this.drawPrompt())}moveToStart(){this.cusorIndex!=0&&(this.cusorIndex=0,this.drawPrompt())}onBackspace(){let{cusorIndex:e,input:t}=this;if(e==0)return;let i=t.slice(0,e),n=t.slice(e);this.cusorIndex=e-1,this._input=`${i.slice(0,i.length-1)}${n}`,this.drawPrompt(),this._onDidChangeInput.fire(this._input)}removeNext(){let{cusorIndex:e,input:t}=this;if(e==t.length-1)return;let i=t.slice(0,e),n=t.slice(e+1);this._input=`${i}${n}`,this.drawPrompt(),this._onDidChangeInput.fire(this._input)}removeWord(){let{cusorIndex:e,input:t}=this;if(e==0)return;let i=t.slice(0,e),n=t.slice(e),s=i.replace(/[\w$]+([^\w$]+)?$/,"");this.cusorIndex=e-(i.length-s.length),this._input=`${s}${n}`,this.drawPrompt(),this._onDidChangeInput.fire(this._input)}removeTail(){let{cusorIndex:e,input:t}=this;if(e==t.length)return;let i=t.slice(0,e);this._input=i,this.drawPrompt(),this._onDidChangeInput.fire(this._input)}removeAhead(){let{cusorIndex:e,input:t}=this;if(e==0)return;let i=t.slice(e);this.cusorIndex=0,this._input=i,this.drawPrompt(),this._onDidChangeInput.fire(this._input)}async acceptCharacter(e){if(this.requestInput){if(this.requestInput=!1,/^[0-9a-z"%#*+/:\-.]$/.test(e)){let t=await this.nvim.call("getreg",e);t=t.replace(/\n/g," "),this.addText(t)}}else this.addText(e)}insertRegister(){this.requestInput=!0}async paste(){let e=await this.nvim.eval("@*");e=e.replace(/\n/g,""),!!e&&this.addText(e)}async eval(e){let t=await this.nvim.call("eval",[e]);t=t.replace(/\n/g,""),this.addText(t)}addText(e){let{cusorIndex:t,input:i}=this;this.cusorIndex=t+e.length;let n=i.slice(0,t),s=i.slice(t);this._input=`${n}${e}${s}`,this.drawPrompt(),this._onDidChangeInput.fire(this._input)}}});function Js(r){let e=[];for(let t=0,i=r.length;t=97&&r<=122||r>=65&&r<=90}function Mn(r,e){return r==e||r>=97&&r<=122&&e+32===r}function ap(r,e){let t=r.charCodeAt(0),i=e.charCodeAt(0);return t===i||t>=97&&t<=122&&i+32===t}function zu(r,e){let t=r.length;if(r.length>e.length)return!1;let i=0;for(let n=0;n=97&&o<=122&&s+32===o){i=i+1;continue}}return i===t}var Vu=R(()=>{});var EBe,wy,LV=R(()=>{Vu();Y();EBe=U()("list-history"),wy=class{constructor(e,t){this.prompt=e;this.name=t;this.index=-1;this.loaded=[];this.current=[];this.db=v.createDatabase(`list-${t}-history`),this.key=Buffer.from(v.cwd).toString("base64")}filter(){let{input:e}=this.prompt;if(e==this.curr)return;this.historyInput="";let t=Js(e);this.current=this.loaded.filter(i=>zu(t,i)),this.index=-1}get curr(){return this.index==-1?null:this.current[this.index]}load(e){let{db:t}=this;e=e||"";let i=t.fetch(this.key);!i||!Array.isArray(i)?this.loaded=[]:this.loaded=i,this.index=-1,this.current=this.loaded.filter(n=>n.startsWith(e))}add(){let{loaded:e,db:t,prompt:i}=this,{input:n}=i;if(!n||n.length<2||n==this.historyInput)return;let s=e.indexOf(n);s!=-1&&e.splice(s,1),e.push(n),e.length>200&&(e=e.slice(-200)),t.push(this.key,e)}previous(){let{current:e,index:t}=this;!e||!e.length||(t<=0?this.index=e.length-1:this.index=t-1,this.historyInput=this.prompt.input=e[this.index]||"")}next(){let{current:e,index:t}=this;!e||!e.length||(t==e.length-1?this.index=0:this.index=t+1,this.historyInput=this.prompt.input=e[this.index]||"")}}});var AV,Gu,OBe,xy,FV=R(()=>{AV=E(Ui()),Gu=E(H());_e();de();Y();OBe=U()("list-ui"),xy=class{constructor(e,t,i,n){this.nvim=e;this.name=t;this.listOptions=i;this.config=n;this.newTab=!1;this.currIndex=0;this.items=[];this.disposables=[];this.selected=new Set;this._onDidChangeLine=new Gu.Emitter;this._onDidOpen=new Gu.Emitter;this._onDidClose=new Gu.Emitter;this._onDidLineChange=new Gu.Emitter;this._onDoubleClick=new Gu.Emitter;this.onDidChangeLine=this._onDidChangeLine.event;this.onDidLineChange=this._onDidLineChange.event;this.onDidOpen=this._onDidOpen.event;this.onDidClose=this._onDidClose.event;this.onDidDoubleClick=this._onDoubleClick.event;this.signOffset=n.get("signOffset"),this.matchHighlightGroup=n.get("matchHighlightGroup","Search"),this.newTab=i.position=="tab",O.on("BufWinLeave",async o=>{o!=this.bufnr||this.window==null||(this.window=null,this._onDidClose.fire(o))},null,this.disposables),O.on("CursorMoved",async(o,a)=>{o==this.bufnr&&this.onLineChange(a[0]-1)},null,this.disposables);let s=(0,AV.default)(async o=>{if(o!=this.bufnr)return;let[a,l,c]=await e.eval('[win_getid(),line("w0"),line("w$")]');c<300||a!=this.winid||(e.pauseNotification(),this.doHighlight(l-1,c),e.command("redraw",!0),e.resumeNotification(!1,!0))},100);this.disposables.push({dispose:()=>{s.clear()}}),O.on("CursorMoved",s,null,this.disposables)}get bufnr(){var e;return(e=this.buffer)==null?void 0:e.id}get winid(){var e;return(e=this.window)==null?void 0:e.id}get limitLines(){return this.config.get("limitLines",3e4)}onLineChange(e){this.currIndex!=e&&(this.currIndex=e,this._onDidChangeLine.fire(e))}set index(e){if(e<0||e>=this.items.length)return;let{nvim:t}=this;t.pauseNotification(),this.setCursor(e+1,0),t.command("redraw",!0),t.resumeNotification(!1,!0)}get index(){return this.currIndex}getItem(e){return this.items[e]}get item(){let{window:e}=this;return e?e.cursor.then(t=>(this.currIndex=t[0]-1,this.items[this.currIndex])):Promise.resolve(null)}async echoMessage(e){let{items:t}=this,n=`[${t.indexOf(e)+1}/${t.length}] ${e.label||""}`;this.nvim.callTimer("coc#util#echo_lines",[[n]],!0)}async updateItem(e,t){if(!this.bufnr)return;let i=Object.assign({resolved:!0},e);if(ts&&([n,s]=[s,n]);for(let a=n;a<=s;a++)this.toggleLine(a);this.setCursor(s,0),e.command("redraw",!0),await e.resumeNotification();return}e.pauseNotification(),this.toggleLine(t),this.setCursor(t+1,0),e.command("redraw",!0),await e.resumeNotification()}toggleLine(e){let{selected:t,buffer:i,signOffset:n}=this;t.has(e)?(t.delete(e),i.unplaceSign({id:n+e,group:"coc-list"})):(t.add(e),i.placeSign({lnum:e,id:n+e,name:"CocSelected",group:"coc-list"}))}async selectLines(e,t){let{nvim:i,signOffset:n,buffer:s,length:o}=this;this.clearSelection();let{selected:a}=this;i.pauseNotification(),e>t&&([e,t]=[t,e]);for(let c=e;c<=t&&!(c>o);c++)a.add(c),s.placeSign({lnum:c,id:n+c,name:"CocSelected",group:"coc-list"});this.setCursor(t,0),i.command("redraw",!0),await i.resumeNotification()}async selectAll(){let{length:e}=this;e!=0&&await this.selectLines(1,e)}clearSelection(){let{selected:e,signOffset:t,buffer:i}=this;if(e.size>0){let n=[];for(let s of e)n.push(t+s);i==null||i.unplaceSign({group:"coc-list"}),this.selected.clear()}}get ready(){return this.window?Promise.resolve():new Promise(e=>{let t=this.onDidLineChange(()=>{t.dispose(),e()})})}async drawItems(e,t,i=!1){let{nvim:n,name:s,listOptions:o}=this;if(this.items=e.length>this.limitLines?e.slice(0,this.limitLines):e,!this.window){let{position:c,numberSelect:u}=o,[f,d]=await n.call("coc#list#create",[c,t,s,u]);this.height=t,this.buffer=n.createBuffer(f);let h=this.window=n.createWindow(d),p=this.config.get("statusLineSegments");p&&h.setOption("statusline",p.join(" "),!0),this._onDidOpen.fire(this.bufnr)}let a=this.items.map(c=>c.label),l=i?this.currIndex:0;this.setLines(a,!1,l),this._onDidLineChange.fire(this.currIndex+1)}appendItems(e){let t=this.items.length;if(t>=this.limitLines)return;let i=this.limitLines-t,n=e.slice(0,i);this.items=this.items.concat(n),this.setLines(n.map(s=>s.label),t>0,this.currIndex)}setLines(e,t=!1,i){let{nvim:n,buffer:s,window:o}=this;if(!(!s||!o)){if(n.pauseNotification(),t||(n.call("coc#compat#clear_matches",[o.id],!0),e.length||(e=["No results, press ? on normal mode to get help."],n.call("coc#compat#matchaddpos",["Comment",[[1]],99,o.id],!0))),s.setOption("modifiable",!0,!0),s.setLines(e,{start:t?-1:0,end:-1,strictIndexing:!1},!0),s.setOption("modifiable",!1,!0),!t&&i==0)this.doHighlight(0,299);else{let a=this.newTab?v.env.lines:this.height;this.doHighlight(Math.max(0,i-a),Math.min(i+a+1,this.length-1))}t||(this.currIndex=i,o.setCursor([i+1,0],!0)),n.command("redraws",!0),n.resumeNotification(!1,!0)}}restoreWindow(){if(this.newTab)return;let{winid:e,height:t}=this;e&&t&&this.nvim.call("coc#list#restore",[e,t],!0)}get length(){return this.items.length}get selectedItems(){let{selected:e,items:t}=this,i=[];for(let n of e)t[n-1]&&i.push(t[n-1]);return i}doHighlight(e,t){let{items:i}=this,n=[];for(let s=e;s<=Math.min(t,i.length-1);s++){let{ansiHighlights:o,highlights:a}=i[s];if(o)for(let l of o){let{span:c,hlGroup:u}=l;n.push({hlGroup:u,priority:9,pos:[s+1,c[0]+1,c[1]-c[0]]})}if(a&&Array.isArray(a.spans)){let{spans:l,hlGroup:c}=a;for(let u of l)n.push({hlGroup:c||this.matchHighlightGroup,priority:11,pos:[s+1,u[0]+1,u[1]-u[0]]})}}this.nvim.call("coc#compat#matchaddgroups",[this.window.id,n],!0)}setCursor(e,t){var s;let{items:i}=this,n=i.length==0?1:i.length;e>n||(this.onLineChange(e-1),(s=this.window)==null||s.setCursor([e,t],!0))}async getSelectedRange(){let{nvim:e}=this;await e.call("coc#prompt#stop_prompt",["list"]),await e.eval('feedkeys("\\", "in")');let[,t]=await e.call("getpos","'<"),[,i]=await e.call("getpos","'>");return this.nvim.call("coc#prompt#start_prompt",["list"],!0),[t,i]}reset(){this.window&&(this.window=null,this.buffer=null)}dispose(){G(this.disposables),this.nvim.call("coc#window#close",[this.winid||-1],!0),this.window=null,this.buffer=null,this.items=[],this._onDidChangeLine.dispose(),this._onDidOpen.dispose(),this._onDidClose.dispose(),this._onDidLineChange.dispose(),this._onDoubleClick.dispose()}}});function MV(r,e,t=""){if(!r)return{score:0};if(!e)return{score:1};let i=[],n=Js(e),s=t?r.indexOf(t):-1,o=s!=-1&&zu(n,t),a=0,l=e[0],c=0;if(o){if(t.startsWith(l))a=a+2,c=s+1,i.push(s);else if(t[0].toLowerCase()==l)a=a+1.5,c=s+1,i.push(s);else for(let u=1;ue.score&&(e=r[t]);return e}var ED,qV=R(()=>{ED=E(require("path"));Vu()});function Cy(r){return r.filterText!=null?QB(r.filterText,r.label):r.label}function Eme(r){let e=[],t=0,i=0,n="";for(;is.replace(/\\\s/g," ").trim()).filter(s=>s.length>0)}var lp,Cme,_me,Sy,$V=R(()=>{lp=E(H());Nc();n_();tv();qV();yt();Te();Y();Cme=U()("list-worker"),_me="",Sy=class{constructor(e,t,i,n,s){this.nvim=e;this.list=t;this.prompt=i;this.listOptions=n;this.config=s;this._loading=!1;this.totalItems=[];this._onDidChangeItems=new lp.Emitter;this._onDidChangeLoading=new lp.Emitter;this.onDidChangeItems=this._onDidChangeItems.event;this.onDidChangeLoading=this._onDidChangeLoading.event}set loading(e){this._loading!=e&&(this._loading=e,this._onDidChangeLoading.fire(e))}get isLoading(){return this._loading}async loadItems(e,t=!1){let{list:i,listOptions:n}=this;this.loading=!0;let{interactive:s}=n;this.tokenSource=new lp.CancellationTokenSource;let o=this.tokenSource.token,a=await i.loadItems(e,o);if(!o.isCancellationRequested)if(!a||Array.isArray(a)){this.tokenSource=null,a=a||[],this.totalItems=a.map(c=>(c.label=this.fixLabel(c.label),this.parseListItemAnsi(c),c)),this.loading=!1;let l;s?l=this.convertToHighlightItems(a):l=this.filterItems(a),this._onDidChangeItems.fire({items:l,reload:t,finished:!0})}else{let l=a,c=this.totalItems=[],u=0,f=e.input,d,h,p=y=>{if(h=Date.now(),u>=c.length)return;let S=this.input!=f;if(!(s&&S))if(u==0||S){f=this.input,u=c.length;let w;s?w=this.convertToHighlightItems(c):w=this.filterItems(c),this._onDidChangeItems.fire({items:w,reload:t,append:!1,finished:y})}else{let w=c.slice(u);u=c.length;let _;s?_=this.convertToHighlightItems(w):_=this.filterItems(w),this._onDidChangeItems.fire({items:_,append:!0,finished:y})}};l.on("data",y=>{d&&clearTimeout(d),!o.isCancellationRequested&&(s&&this.input!=f||(y.label=this.fixLabel(y.label),this.parseListItemAnsi(y),c.push(y),!h&&c.length==500||Date.now()-h>200?p():d=setTimeout(()=>p(),50)))});let g=()=>{l!=null&&(this.tokenSource=null,l=null,this.loading=!1,b.dispose(),d&&clearTimeout(d),c.length==0?this._onDidChangeItems.fire({items:[],finished:!0}):p(!0))},b=o.onCancellationRequested(()=>{l&&(l.dispose(),g())});l.on("error",async y=>{l!=null&&(l=null,this.tokenSource=null,this.loading=!1,b.dispose(),d&&clearTimeout(d),this.nvim.call("coc#prompt#stop_prompt",["list"],!0),D.showMessage(`Task error: ${y.toString()}`,"error"),Cme.error(y))}),l.on("end",g)}}drawItems(){let{totalItems:e}=this,t;t=this.filterItems(e),this._onDidChangeItems.fire({items:t,finished:!0})}stop(){this.tokenSource&&(this.tokenSource.cancel(),this.tokenSource=null),this.loading=!1}get length(){return this.totalItems.length}get input(){return this.prompt.input}convertToHighlightItems(e){let{input:t}=this;return t?e.map(i=>{let n=Cy(i),s=MV(n,t);if(!(s==null?void 0:s.score))return i;let o=this.getHighlights(n,s.matches);return Object.assign({},i,{highlights:o})}):[]}filterItems(e){let{input:t}=this,{sort:i,matcher:n,ignorecase:s}=this.listOptions,o=this.config.extendedSearchMode?Eme(t):[t];if(t.length==0||o.length==0)return e;if(n=="strict"){let c=[];for(let u of e){let f=[],d=Cy(u),h=!0;for(let p of o){let g=s?d.toLowerCase().indexOf(p.toLowerCase()):d.indexOf(p);if(g==-1){h=!1;break}f.push([Ci(d,g),Ci(d,g+re(p))])}h&&c.push(Object.assign({},u,{highlights:{spans:f}}))}return c}if(n=="regex"){let c=[],u=s?"iu":"u",f=o.reduce((d,h)=>{try{let p=new RegExp(h,u);d.push(p)}catch(p){}return d},[]);for(let d of e){let h=[],p=Cy(d),g=!0;for(let b of f){let y=p.match(b);if(y==null){g=!1;break}h.push([Ci(p,y.index),Ci(p,y.index+re(y[0]))])}g&&c.push(Object.assign({},d,{highlights:{spans:h}}))}return c}let a=[],l=0;for(let c of e){let u=c.filterText||c.label,f=0,d=[],h=Cy(c),p=!0;for(let b of o){if(!ev(b,u)){p=!1;break}d.push(...Qg(b,h)),i&&(f+=eu(b,u))}if(!p)continue;let g=Object.assign({},c,{sortText:typeof c.sortText=="string"?c.sortText:String.fromCharCode(l),score:f,highlights:this.getHighlights(h,d)});a.push(g),l=l+1}return i&&a.length&&a.sort((c,u)=>c.score!=u.score?u.score-c.score:c.sortText>u.sortText?1:-1),a}getHighlights(e,t){let i=[];if(t&&t.length){let n=t.shift(),s=t.shift(),o=n;for(;s;){if(s==o+1){o=s,s=t.shift();continue}i.push([Ci(e,n),Ci(e,o)+1]),n=s,o=n,s=t.shift()}i.push([Ci(e,n),Ci(e,o)+1])}return{spans:i}}parseListItemAnsi(e){let{label:t}=e;if(e.ansiHighlights||!t.includes(_me))return;let{line:i,highlights:n}=Mc(t);e.label=i,e.ansiHighlights=n}fixLabel(e){let{columns:t}=v.env;return e=e.split(` +`).join(" "),e.slice(0,t*2)}dispose(){this.stop()}}});var TD,Tme,Dme,_y,BV=R(()=>{TD=E(Ui());As();ia();$u();de();Y();Te();LV();FV();$V();Tme=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Dme=U()("list-session"),_y=class{constructor(e,t,i,n,s=[],o){this.nvim=e;this.prompt=t;this.list=i;this.listOptions=n;this.listArgs=s;this.config=o;this.loadingFrame="";this.hidden=!1;this.disposables=[];this.mutex=new hi;this.args=[];this.ui=new xy(e,i.name,n,o),this.history=new wy(t,i.name),this.worker=new Sy(e,i,t,n,{interactiveDebounceTime:o.get("interactiveDebounceTime",100),extendedSearchMode:o.get("extendedSearchMode",!0)}),this.interactiveDebounceTime=o.get("interactiveDebounceTime",100);let a=(0,TD.default)(async()=>{let[c,u,f]=await e.eval('[coc#list#has_preview(),win_getid(),line(".")]');c&&u==this.winid&&await this.doPreview(f-1)},50);this.disposables.push({dispose:()=>{a.clear()}}),this.ui.onDidChangeLine(a,null,this.disposables),this.ui.onDidChangeLine(this.resolveItem,this,this.disposables),this.ui.onDidLineChange(this.resolveItem,this,this.disposables);let l=(0,TD.default)(async()=>{let{autoPreview:c}=this.listOptions;if(!c){let[u,f]=await e.eval("[coc#list#has_preview(),mode()]");if(!u||f!="n")return}await this.doAction("preview")},50);this.disposables.push({dispose:()=>{l.clear()}}),this.ui.onDidLineChange(l,null,this.disposables),this.ui.onDidLineChange(()=>{this.updateStatus()},null,this.disposables),this.ui.onDidOpen(async()=>{typeof this.list.doHighlight=="function"&&this.list.doHighlight(),this.listOptions.first&&await this.doAction()},null,this.disposables),this.ui.onDidClose(async()=>{await this.hide()},null,this.disposables),this.ui.onDidDoubleClick(async()=>{await this.doAction()},null,this.disposables),this.worker.onDidChangeItems(async({items:c,reload:u,append:f,finished:d})=>{let h=await this.mutex.acquire();if(!this.hidden)try{if(f)this.ui.appendItems(c);else{let p=this.config.get("height",10);d&&!n.interactive&&n.input.length==0&&(p=Math.min(c.length,p)),await this.ui.drawItems(c,Math.max(1,p),u)}}catch(p){e.echoError(p)}h()},null,this.disposables),this.worker.onDidChangeLoading(c=>{this.hidden||(c?this.interval=setInterval(()=>{let u=Math.floor(new Date().getMilliseconds()/100);this.loadingFrame=Tme[u],this.updateStatus()},100):(this.interval&&(this.loadingFrame="",clearInterval(this.interval),this.interval=null),this.updateStatus()))},null,this.disposables)}async start(e){this.args=e,this.cwd=v.cwd,this.hidden=!1;let{listOptions:t,listArgs:i}=this,n=await this.nvim.eval('[win_getid(),bufnr("%"),winheight("%")]');this.listArgs=i,this.history.load(t.input||""),this.window=this.nvim.createWindow(n[0]),this.buffer=this.nvim.createBuffer(n[1]),this.savedHeight=n[2],await this.worker.loadItems(this.context)}async reloadItems(){if(!this.window)return;let e=await this.nvim.call("winbufnr",[this.window.id]);e!=-1&&(this.buffer=this.nvim.createBuffer(e),await this.worker.loadItems(this.context,!0))}async call(e){var s,o;await this.nvim.call("coc#prompt#stop_prompt",["list"]);let t=await this.ui.getItems(),i={name:this.name,args:this.listArgs,input:this.prompt.input,winid:(s=this.window)==null?void 0:s.id,bufnr:(o=this.buffer)==null?void 0:o.id,targets:t},n=await this.nvim.call(e,[i]);return this.prompt.start(),n}async chooseAction(){let{nvim:e}=this,{actions:t,defaultAction:i}=this.list,n=t.map(u=>u.name),s=n.indexOf(i);s!=-1&&(n.splice(s,1),n.unshift(i));let o=new Set,a=[],l=[];for(let u of n){let f=0;for(let d of u){if(!o.has(d)){o.add(d),a.push(`${u.slice(0,f)}&${u.slice(f)}`);break}f++}f==u.length&&l.push(u)}l.length&&(n=n.filter(u=>!l.includes(u))),await e.call("coc#prompt#stop_prompt",["list"]);let c=await e.call("confirm",["Choose action:",a.join(` +`)]);await bt(10),this.prompt.start(),c&&await this.doAction(n[c-1]),l.length&&e.echoError(`Can't create shortcut for actions: ${l.join(",")} of "${this.name}" list`)}async doAction(e){let{list:t}=this;e=e||t.defaultAction;let i=t.actions.find(s=>s.name==e);if(!i){D.showMessage(`Action ${e} not found`,"error");return}let n;if(e=="preview"){let s=await this.ui.item;n=s?[s]:[]}else n=await this.ui.getItems();n.length&&await this.doItemAction(n,i)}async doPreview(e){let t=this.ui.getItem(e),i=this.list.actions.find(n=>n.name=="preview");!t||!i||await this.doItemAction([t],i)}async first(){await this.doDefaultAction(0)}async last(){await this.doDefaultAction(this.ui.length-1)}async previous(){await this.doDefaultAction(this.ui.index-1)}async next(){await this.doDefaultAction(this.ui.index+1)}async doDefaultAction(e){let{ui:t}=this,i=t.getItem(e);!i||(t.index=e,await this.doItemAction([i],this.defaultAction),await t.echoMessage(i))}get name(){return this.list.name}get winid(){return this.ui.winid}get length(){return this.ui.length}get defaultAction(){let{defaultAction:e,actions:t}=this.list,i=t.find(n=>n.name==e);if(!i)throw new Error(`default action "${e}" not found`);return i}async hide(){if(this.hidden)return;let{nvim:e,interval:t}=this;t&&clearInterval(t),this.hidden=!0,this.worker.stop(),this.history.add();let{winid:i}=this.ui;this.ui.reset(),this.window&&i&&(await e.call("coc#list#hide",[this.window.id,this.savedHeight,i]),v.isVim&&(e.command("redraw",!0),await bt(10))),e.call("coc#prompt#stop_prompt",["list"],!0)}toggleMode(){let e=this.prompt.mode=="normal"?"insert":"normal";this.prompt.mode=e,this.listOptions.mode=e,this.updateStatus()}stop(){this.worker.stop()}async resolveItem(){let e=this.ui.index,t=this.ui.getItem(e);if(!t||t.resolved)return;let{list:i}=this;if(typeof i.resolveItem=="function"){let n=await Promise.resolve(i.resolveItem(t));n&&e==this.ui.index&&await this.ui.updateItem(n,e)}}async showHelp(){await this.hide();let{list:e,nvim:t}=this;if(!e)return;t.pauseNotification(),t.command("tabe +setl\\ previewwindow [LIST HELP]",!0),t.command("setl nobuflisted noswapfile buftype=nofile bufhidden=wipe",!0),await t.resumeNotification();let i=e.options&&e.options.length,n=await t.buffer,s=new an;if(s.addLine("NAME","Label"),s.addLine(` ${e.name} - ${e.description||""} +`),s.addLine("SYNOPSIS","Label"),s.addLine(` :CocList [LIST OPTIONS] ${e.name}${i?" [ARGUMENTS]":""} +`),e.detail){s.addLine("DESCRIPTION","Label");let a=e.detail.split(` +`).map(l=>" "+l);s.addLine(a.join(` +`)+` +`)}if(i){s.addLine("ARGUMENTS","Label"),s.addLine("");for(let a of e.options)s.addLine(a.name,"Special"),s.addLine(` ${a.description}`),s.addLine("");s.addLine("")}let o=v.getConfiguration(`list.source.${e.name}`);if(Object.keys(o).length){s.addLine("CONFIGURATIONS","Label"),s.addLine("");let a={};we.all.forEach(l=>{let{packageJSON:c}=l,{contributes:u}=c;if(!u)return;let{configuration:f}=u;if(f){let{properties:d}=f;if(d)for(let h of Object.keys(d))a[h]=d[h]}});for(let l of Object.keys(o)){let c=o[l],u=`list.source.${e.name}.${l}`,f=a[u]&&a[u].description?a[u].description:l;s.addLine(` "${u}"`,"MoreMsg"),s.addText(` - ${f}, current value: `),s.addText(JSON.stringify(c),"Special")}s.addLine("")}s.addLine("ACTIONS","Label"),s.addLine(` ${e.actions.map(a=>a.name).join(", ")}`),s.addLine(""),s.addLine("see ':h coc-list-options' for available list options.","Comment"),t.pauseNotification(),s.render(n,0,-1),t.command("setl nomod",!0),t.command("setl nomodifiable",!0),t.command("normal! gg",!0),t.command("nnoremap q :bd!",!0),await t.resumeNotification()}switchMatcher(){let{matcher:e,interactive:t}=this.listOptions;if(t)return;let i=["fuzzy","strict","regex"],n=i.indexOf(e)+1;n>=i.length&&(n=0),this.listOptions.matcher=i[n],this.prompt.matcher=i[n],this.worker.drawItems()}updateStatus(){let{ui:e,list:t,nvim:i}=this;if(!e.winid)return;let n=i.createBuffer(e.bufnr),s={mode:this.prompt.mode.toUpperCase(),args:this.args.join(" "),name:t.name,cwd:this.cwd,loading:this.loadingFrame,total:this.worker.length};i.pauseNotification(),n.setVar("list_status",s,!0),i.command("redraws",!0),i.resumeNotification(!1,!0).logError()}get context(){let{winid:e}=this.ui;return{options:this.listOptions,args:this.listArgs,input:this.prompt.input,cwd:v.cwd,window:this.window,buffer:this.buffer,listWindow:e?this.nvim.createWindow(e):void 0}}onMouseEvent(e){switch(e){case"":return this.ui.onMouse("mouseDown");case"":return this.ui.onMouse("mouseDrag");case"":return this.ui.onMouse("mouseUp");case"<2-LeftMouse>":return this.ui.onMouse("doubleClick")}}async doNumberSelect(e){if(!this.listOptions.numberSelect)return!1;let t=e.charCodeAt(0);if(t>=48&&t<=57){let i=Number(e);if(i==0&&(i=10),this.ui.length>=i)return this.nvim.pauseNotification(),this.ui.setCursor(i,0),await this.nvim.resumeNotification(),await this.doAction(),!0}return!1}jumpBack(){let{window:e,nvim:t}=this;e&&(t.pauseNotification(),t.call("coc#prompt#stop_prompt",["list"],!0),this.nvim.call("win_gotoid",[e.id],!0),t.resumeNotification(!1,!0).logError())}async resume(){this.winid&&await this.hide();let e=await this.nvim.eval('[win_getid(),bufnr("%"),winheight("%")]');this.hidden=!1,this.window=this.nvim.createWindow(e[0]),this.buffer=this.nvim.createBuffer(e[1]),this.savedHeight=e[2],this.prompt.start(),await this.ui.resume(),this.listOptions.autoPreview&&await this.doAction("preview")}async doItemAction(e,t){let{noQuit:i}=this.listOptions,{nvim:n}=this,s=t.persist===!0||t.name=="preview",o=this.winid&&(s||i);try{if(o?s||(n.pauseNotification(),n.call("coc#prompt#stop_prompt",["list"],!0),n.call("win_gotoid",[this.context.window.id],!0),await n.resumeNotification()):await this.hide(),t.multiple)await Promise.resolve(t.execute(e,this.context));else if(t.parallel)await Promise.all(e.map(a=>Promise.resolve(t.execute(a,this.context))));else for(let a of e)await Promise.resolve(t.execute(a,this.context));o&&this.ui.restoreWindow(),t.reload&&o&&await this.worker.loadItems(this.context,!0)}catch(a){D.showMessage(a.message,"error"),Dme.error(`Error on action "${t.name}"`,a)}}onInputChange(){this.timer&&clearTimeout(this.timer);let e=this.worker.length;if(this.listOptions.input=this.prompt.input,this.listOptions.interactive)this.worker.stop(),this.timer=setTimeout(async()=>{await this.worker.loadItems(this.context)},this.interactiveDebounceTime);else if(e){let t=Math.max(Math.min(Math.floor(e/200),300),50);this.timer=setTimeout(()=>{this.worker.drawItems()},t)}}dispose(){if(!this.hidden){this.hidden=!0;let{winid:e}=this.ui;this.ui.reset(),this.window&&e&&this.nvim.call("coc#list#hide",[this.window.id,this.savedHeight,e],!0)}this.interval&&clearInterval(this.interval),this.timer&&clearTimeout(this.timer),G(this.disposables),this.worker.dispose(),this.ui.dispose()}}});var jV,UV,HV,Rme,Ey,WV=R(()=>{jV=E(require("child_process")),UV=E(require("events")),HV=E(require("readline"));de();Rme=U()("list-commandTask"),Ey=class extends UV.EventEmitter{constructor(e){super();this.opt=e;this.disposables=[];this.start()}start(){let{cmd:e,args:t,cwd:i,onLine:n}=this.opt,s=(0,jV.spawn)(e,t,{cwd:i,windowsHide:!0});this.disposables.push({dispose:()=>{s.kill()}}),s.on("error",a=>{this.emit("error",a.message)}),s.stderr.on("data",a=>{Rme.error(`[${e} Error]`,a.toString("utf8"))});let o=HV.default.createInterface(s.stdout);o.on("line",a=>{let l=n(a);l&&this.emit("data",l)}),o.on("close",()=>{this.emit("end")})}dispose(){G(this.disposables)}}});function Pme(r){return r=="javascriptreact"?"javascript":r=="typescriptreact"?"typescript":r.indexOf(".")!==-1?r.split(".")[0]:r}var zV,DD,VV,hr,hje,Kt,ls=R(()=>{zV=E(require("fs")),DD=E(require("path")),VV=E(require("readline")),hr=E(H());qe();de();Nt();Vt();Y();WV();vy();hje=U()("list-basic"),Kt=class{constructor(e){this.nvim=e;this.defaultAction="open";this.actions=[];this.options=[];this.disposables=[];this.config=new Wu}get alignColumns(){return this.config.get("alignColumns",!1)}get hlGroup(){return this.config.get("previewHighlightGroup","Search")}get previewHeight(){return this.config.get("maxPreviewHeight",12)}get splitRight(){return this.config.get("previewSplitRight",!1)}parseArguments(e){if(!this.optionMap){this.optionMap=new Map;for(let i of this.options){let n=i.name.split(/,\s*/g).map(o=>o.replace(/\s+.*/g,"")),s=i.key?i.key:n[n.length-1].replace(/^-/,"");for(let o of n)this.optionMap.set(o,{name:s,hasValue:i.hasValue})}}let t={};for(let i=0;i{let n=await this.convertLocation(t.location);await this.previewLocation(n,i)}});let{nvim:e}=this;this.createAction({name:"quickfix",multiple:!0,execute:async t=>{let i=await Promise.all(t.map(s=>this.convertLocation(s.location).then(o=>v.getQuickfixItem(o))));await e.call("setqflist",[i]);let n=await e.getVar("coc_quickfix_open_command");e.command(typeof n=="string"?n:"copen",!0)}});for(let t of["open","tabe","drop","vsplit","split"])this.createAction({name:t,execute:async i=>{await this.jumpTo(i.location,t=="open"?null:t)}})}async convertLocation(e){if(typeof e=="string")return hr.Location.create(e,hr.Range.create(0,0,0,0));if(hr.Location.is(e))return e;let t=B.parse(e.uri);if(t.scheme!="file")return hr.Location.create(e.uri,hr.Range.create(0,0,0,0));let i=VV.default.createInterface({input:zV.default.createReadStream(t.fsPath,{encoding:"utf8"})}),n=e.line,s=0,o=!1,a=await new Promise(l=>{i.on("line",c=>{if(!o){if(c.includes(n)){i.removeAllListeners(),i.close(),o=!0,l(c);return}s=s+1}}),i.on("error",c=>{this.nvim.errWriteLine(`Read ${t.fsPath} error: ${c.message}`),l(null)})});if(a!=null){let l=e.text?a.indexOf(e.text):0;l==0&&(l=a.match(/^\s*/)[0].length);let c=hr.Position.create(s,l+(e.text?e.text.length:0));return hr.Location.create(e.uri,hr.Range.create(hr.Position.create(s,l),c))}return hr.Location.create(e.uri,hr.Range.create(0,0,0,0))}async jumpTo(e,t){if(typeof e=="string"){await v.jumpTo(e,null,t);return}let{range:i,uri:n}=await this.convertLocation(e),s=i.start;s.line==0&&s.character==0&&De(s,i.end)==0&&(s=null),await v.jumpTo(n,s,t)}createAction(e){let{name:t}=e,i=this.actions.findIndex(n=>n.name==t);i!==-1&&this.actions.splice(i,1),this.actions.push(e)}async previewLocation(e,t){if(!t.listWindow)return;let{nvim:i}=this,{uri:n,range:s}=e,o=v.getDocument(e.uri),a=B.parse(n),l=[];if(o)l=o.getLines();else if(a.scheme=="file")try{l=(await Gc(a.fsPath,"utf8")).split(/\r?\n/)}catch(u){""+a.fsPath,u.message}let c={winid:t.window.id,range:Fs(s)?null:s,lnum:s.start.line+1,name:a.scheme=="file"?a.fsPath:n,filetype:o?o.filetype:this.getFiletype(a.fsPath),position:t.options.position,maxHeight:this.previewHeight,splitRight:this.splitRight,hlGroup:this.hlGroup,scheme:a.scheme};await i.call("coc#list#preview",[l,c]),v.isVim&&i.command("redraw",!0)}async preview(e,t){let{nvim:i}=this,{bufname:n,filetype:s,range:o,lines:a,lnum:l}=e,c={winid:t.window.id,lnum:o?o.start.line+1:l||1,filetype:s||"txt",position:t.options.position,maxHeight:this.previewHeight,splitRight:this.splitRight,hlGroup:this.hlGroup};n&&(c.name=n),o&&(c.range=o),await i.call("coc#list#preview",[a,c]),v.isVim&&i.command("redraw",!0)}doHighlight(){}dispose(){G(this.disposables)}getFiletype(e){let t=DD.default.extname(e);if(!t)return"";for(let i of v.documents){let n=B.parse(i.uri).fsPath;if(DD.default.extname(n)==t)return Pme(i.filetype)}return""}}});function pr(r,e){if(e.length===0)return[];let t=[];if(r){let i=Array(Math.min(...e.map(n=>n.label.length))).fill(0);for(let n of e)for(let s=0;sff(ut({},n),{label:n.label.map((s,o)=>s.padEnd(i[o])).join(" ")}))}else t=e.map(i=>ff(ut({},i),{label:i.label.join(" ")}));return t}function GV(r,e){var t;if(r==="hidden")return"";if(r==="full")return e;if(r==="short"){let i=e.split(Ty.default.sep);return i.length<2?e:[...i.slice(0,i.length-2).filter(s=>s.length>0).map(s=>s[0]),i[i.length-1]].join(Ty.default.sep)}else{let i=e.split(Ty.default.sep);return(t=i[i.length-1])!=null?t:""}}var Ty,ra=R(()=>{Ty=E(require("path"))});function kme(r,e){let t=r.indexOf(e);return t==-1?-1:r.length-t}var Dy,KV=R(()=>{Ei();_e();Y();ls();ra();Dy=class extends Kt{constructor(e){super(e);this.defaultAction="run";this.description="registered commands of coc.nvim";this.name="commands";this.mru=v.createMru("commands"),this.addAction("run",async t=>{let{cmd:i}=t.data;await O.fire("Command",[i]),se.executeCommand(i).logError(),await se.addRecent(i)}),this.addAction("append",async t=>{let{cmd:i}=t.data;await e.feedKeys(`:CocCommand ${i} `,"n",!1)})}async loadItems(e){let t=[],i=await this.mru.load(),{commandList:n,onCommandList:s,titles:o}=se,a=n.map(l=>l.id).concat(s);for(let l of[...new Set(a)])t.push({label:[l,...o.get(l)?[o.get(l)]:[]],filterText:l,data:{cmd:l,score:kme(i,l)}});return t.sort((l,c)=>c.data.score-l.data.score),pr(this.alignColumns,t)}doHighlight(){let{nvim:e}=this;e.pauseNotification(),e.command("syntax match CocCommandsTitle /\\t.*$/ contained containedin=CocCommandsLine",!0),e.command("highlight default link CocCommandsTitle Comment",!0),e.resumeNotification(!1,!0)}}});var cp,Pje,cs,up=R(()=>{Ps();cp=E(require("path"));ls();Y();qe();Nt();yt();Pje=U()("list-location"),cs=class extends Kt{constructor(e){super(e);this.defaultAction="open";this.description="show locations saved by g:coc_jump_locations variable";this.name="location";this.addLocationActions()}async loadItems(e,t){let i=await this.nvim.getVar("coc_jump_locations");if(t.isCancellationRequested)return[];i=i||[],i.forEach(a=>{if(!a.uri){let l=cp.default.isAbsolute(a.filename)?a.filename:cp.default.join(e.cwd,a.filename);a.uri=B.file(l).toString()}if(!a.bufnr&&v.getDocument(a.uri)!=null&&(a.bufnr=v.getDocument(a.uri).bufnr),a.range)a.lnum=a.lnum||a.range.start.line+1,a.col=a.col||a.range.start.character+1;else{let{lnum:l,col:c}=a;a.range=Ae.create(l-1,c-1,l-1,c-1)}});let n=e.buffer.id,s=i.every(a=>a.bufnr&&n&&a.bufnr==n);return i.map(a=>{let l=s?"":a.filename,c=`${l}${a.text.trim()}`;cp.default.isAbsolute(l)&&(l=lt(e.cwd,l)?cp.default.relative(e.cwd,l):l);let u=`${l} |${a.type?a.type+" ":""}${a.lnum} col ${a.col}| `,f;if(a.range&&a.range.start.line==a.range.end.line){let h=re(u)+re(a.text.slice(0,a.range.start.character)),p=re(u)+re(a.text.slice(0,a.range.end.character));f={hlGroup:"Search",span:[h,p]}}return{label:u+a.text,location:er.create(a.uri,a.range),filterText:c,ansiHighlights:f?[f]:void 0}})}doHighlight(){let{nvim:e}=this;e.pauseNotification(),e.command("syntax match CocLocationName /\\v^[^|]+/ contained containedin=CocLocationLine",!0),e.command("syntax match CocLocationPosition /\\v\\|\\w*\\s?\\d+\\scol\\s\\d+\\|/ contained containedin=CocLocationLine",!0),e.command("syntax match CocLocationError /Error/ contained containedin=CocLocationPosition",!0),e.command("syntax match CocLocationWarning /Warning/ contained containedin=CocLocationPosition",!0),e.command("highlight default link CocLocationName Directory",!0),e.command("highlight default link CocLocationPosition LineNr",!0),e.command("highlight default link CocLocationError Error",!0),e.command("highlight default link CocLocationWarning WarningMsg",!0),e.resumeNotification().catch(t=>{})}}});var JV,Nje,Ry,YV=R(()=>{JV=E(require("path"));Xa();up();Nt();ra();Nje=U()("list-symbols"),Ry=class extends cs{constructor(){super(...arguments);this.defaultAction="open";this.description="diagnostics of current workspace";this.name="diagnostics"}async loadItems(e){let t=Lt.getDiagnosticList(),{cwd:i}=e,n=this.getConfig(),s=n.get("includeCode",!0),o=n.get("pathFormat","full"),a=t.map(l=>{let c=lt(i,l.file)?JV.default.relative(i,l.file):l.file,u=GV(o,c),f=o!=="hidden"?[`${u}:${l.lnum}`]:[],d=s?[`[${l.source}${l.code?"":"]"}`,l.code?`${l.code}]`:""]:[];return{label:[...f,...d,l.severity,l.message],location:l.location}});return pr(this.alignColumns,a)}doHighlight(){let{nvim:e}=this;e.pauseNotification(),e.command("syntax match CocDiagnosticsFile /\\v^\\s*\\S+/ contained containedin=CocDiagnosticsLine",!0),e.command("syntax match CocDiagnosticsError /\\tError\\s*\\t/ contained containedin=CocDiagnosticsLine",!0),e.command("syntax match CocDiagnosticsWarning /\\tWarning\\s*\\t/ contained containedin=CocDiagnosticsLine",!0),e.command("syntax match CocDiagnosticsInfo /\\tInformation\\s*\\t/ contained containedin=CocDiagnosticsLine",!0),e.command("syntax match CocDiagnosticsHint /\\tHint\\s*\\t/ contained containedin=CocDiagnosticsLine",!0),e.command("highlight default link CocDiagnosticsFile Comment",!0),e.command("highlight default link CocDiagnosticsError CocErrorSign",!0),e.command("highlight default link CocDiagnosticsWarning CocWarningSign",!0),e.command("highlight default link CocDiagnosticsInfo CocInfoSign",!0),e.command("highlight default link CocDiagnosticsHint CocHintSign",!0),e.resumeNotification(!1,!0)}}});function Ome(r){switch(r){case"unknown":return 2;case"activated":return 1;case"disabled":return-1;default:return 0}}var Ku,XV,Py,Ime,ky,ZV=R(()=>{Ku=E(pn()),XV=E(require("os")),Py=E(require("path"));qe();ia();de();Y();Te();ls();ra();Ime=U()("list-extensions"),ky=class extends Kt{constructor(e){super(e);this.defaultAction="toggle";this.description="manage coc extensions";this.name="extensions";this.addAction("toggle",async t=>{let{id:i,state:n}=t.data;n!="disabled"&&(n=="activated"?await we.deactivate(i):await we.activate(i),await bt(100))},{persist:!0,reload:!0,parallel:!0}),this.addAction("configuration",async t=>{let{root:i}=t.data,n=Py.default.join(i,"package.json");if(Ku.default.existsSync(n)){let o=Ku.default.readFileSync(n,"utf8").split(/\r?\n/).findIndex(a=>a.includes('"contributes"'));await v.jumpTo(B.file(n).toString(),{line:o==-1?0:o,character:0})}}),this.addAction("open",async t=>{let{root:i}=t.data;v.env.isiTerm?e.call("coc#util#iterm_open",[i],!0):e.call("coc#util#open_url",[i],!0)}),this.addAction("disable",async t=>{let{id:i,state:n}=t.data;n!=="disabled"&&await we.toggleExtension(i)},{persist:!0,reload:!0,parallel:!0}),this.addAction("enable",async t=>{let{id:i,state:n}=t.data;n=="disabled"&&await we.toggleExtension(i)},{persist:!0,reload:!0,parallel:!0}),this.addAction("lock",async t=>{let{id:i}=t.data;await we.toggleLock(i)},{persist:!0,reload:!0}),this.addAction("help",async t=>{let{root:i}=t.data,s=(await Ku.default.readdir(i)).find(o=>/^readme/i.test(o));s&&await v.callAsync("coc#util#jump",["edit",Py.default.join(i,s)])}),this.addAction("reload",async t=>{let{id:i}=t.data;await we.reloadExtension(i)},{persist:!0,reload:!0}),this.addAction("fix",async t=>{let{root:i,isLocal:n}=t.data,{npm:s}=we;if(n){D.showMessage("Can't fix for local extension.","warning");return}if(!s)return;let o=Py.default.join(i,"node_modules");Ku.default.existsSync(o)&&Ku.default.removeSync(o);let a=await v.createTerminal({cwd:i});!await a.show(!1)||(v.nvim.command("startinsert",!0),a.sendText(`${s} install --production --ignore-scripts --no-lockfile`,!0))}),this.addMultipleAction("uninstall",async t=>{let i=[];for(let n of t)n.data.isLocal||i.push(n.data.id);we.uninstallExtension(i).catch(n=>{Ime.error(n)})})}async loadItems(e){let t=[],i=await we.getExtensionStates(),n=await we.getLockedList();for(let s of i){let o="+";s.state=="disabled"?o="-":s.state=="activated"?o="*":s.state=="unknown"&&(o="?");let a=await this.nvim.call("resolve",s.root),l=n.includes(s.id);t.push({label:[`${o} ${s.id}${l?" \uE0A2":""}`,...s.isLocal?["[RTP]"]:[],s.version,a.replace(XV.default.homedir(),"~")],filterText:s.id,data:{id:s.id,root:a,state:s.state,isLocal:s.isLocal,priority:Ome(s.state)}})}return t.sort((s,o)=>s.data.priority!=o.data.priority?o.data.priority-s.data.priority:o.data.id-s.data.id?1:-1),pr(this.alignColumns,t)}doHighlight(){let{nvim:e}=this;e.pauseNotification(),e.command("syntax match CocExtensionsActivited /\\v^\\*/ contained containedin=CocExtensionsLine",!0),e.command("syntax match CocExtensionsLoaded /\\v^\\+/ contained containedin=CocExtensionsLine",!0),e.command("syntax match CocExtensionsDisabled /\\v^-/ contained containedin=CocExtensionsLine",!0),e.command("syntax match CocExtensionsName /\\v%3c\\S+/ contained containedin=CocExtensionsLine",!0),e.command("syntax match CocExtensionsRoot /\\v\\t[^\\t]*$/ contained containedin=CocExtensionsLine",!0),e.command("syntax match CocExtensionsLocal /\\v\\[RTP\\]/ contained containedin=CocExtensionsLine",!0),e.command("highlight default link CocExtensionsActivited Special",!0),e.command("highlight default link CocExtensionsLoaded Normal",!0),e.command("highlight default link CocExtensionsDisabled Comment",!0),e.command("highlight default link CocExtensionsName String",!0),e.command("highlight default link CocExtensionsLocal MoreMsg",!0),e.command("highlight default link CocExtensionsRoot Comment",!0),e.resumeNotification().catch(t=>{})}}});var QV,e5,Iy,t5=R(()=>{QV=E(require("path"));qe();e5=E(pn());Nt();Y();Te();ls();Iy=class extends Kt{constructor(e){super(e);this.defaultAction="edit";this.description="list of current workspace folders";this.name="folders";this.addAction("edit",async t=>{let i=await e.call("input",["Folder: ",t.label,"dir"]),n=await Mt(i);if(!n||!n.isDirectory()){D.showMessage(`invalid path: ${i}`,"error");return}v.renameWorkspaceFolder(t.label,i)}),this.addAction("delete",async t=>{v.removeWorkspaceFolder(t.label)},{reload:!0,persist:!0}),this.addAction("newfile",async t=>{let i=await D.requestInput("File name",t.label+"/"),n=QV.default.dirname(i),s=await Mt(n);(!s||!s.isDirectory())&&e5.default.mkdirpSync(n),await v.createFile(i,{overwrite:!1,ignoreIfExists:!0}),await this.jumpTo(B.file(i).toString())})}async loadItems(e){return v.folderPaths.map(t=>({label:t}))}}});function r5(r){if(!r.startsWith("file:"))return r;let e=B.parse(r).fsPath;return lt(v.cwd,e)?i5.default.relative(v.cwd,e):e}var i5,Oy,n5=R(()=>{Re();Y();i5=E(require("path"));ls();Ps();qe();Nt();Oy=class extends Kt{constructor(e){super(e);this.defaultAction="open";this.description="links of current buffer";this.name="links";this.addAction("open",async t=>{let{target:i}=t.data;B.parse(i).scheme.startsWith("http")?await e.call("coc#util#open_url",i):await v.jumpTo(i)}),this.addAction("jump",async t=>{let{location:i}=t.data;await v.jumpTo(i.uri,i.range.start)})}async loadItems(e,t){let i=await e.window.buffer,n=v.getDocument(i.id);if(!n)return null;let s=[],o=await N.getDocumentLinks(n.textDocument,t);if(o==null)throw new Error("Links provider not found.");let a=[];for(let l of o)l.target?s.push({label:r5(l.target),data:{target:l.target,location:er.create(n.uri,l.range)}}):(l=await N.resolveDocumentLink(l),l.target&&s.push({label:r5(l.target),data:{target:l.target,location:er.create(n.uri,l.range)}}),a.push(l));return s}}});function Lme(r,e){let t=r.indexOf(e);return t==-1?-1:r.length-t}var Ly,s5=R(()=>{ls();$g();ra();Ly=class extends Kt{constructor(e,t){super(e);this.listMap=t;this.name="lists";this.defaultAction="open";this.description="registered lists of coc.nvim";this.mru=new Oo("lists");this.addAction("open",async i=>{let{name:n}=i.data;await this.mru.add(n),await e.command(`CocList ${n}`)})}async loadItems(e){let t=[],i=await this.mru.load();for(let n of this.listMap.values())n.name!="lists"&&t.push({label:[n.name,...n.description?[n.description]:[]],data:{name:n.name,interactive:n.interactive,score:Lme(i,n.name)}});return t.sort((n,s)=>s.data.score-n.data.score),pr(this.alignColumns,t)}doHighlight(){let{nvim:e}=this;e.pauseNotification(),e.command("syntax match CocListsDesc /\\t.*$/ contained containedin=CocListsLine",!0),e.command("highlight default link CocListsDesc Comment",!0),e.resumeNotification().catch(t=>{})}}});function us(r){switch(r){case at.SymbolKind.File:return"File";case at.SymbolKind.Module:return"Module";case at.SymbolKind.Namespace:return"Namespace";case at.SymbolKind.Package:return"Package";case at.SymbolKind.Class:return"Class";case at.SymbolKind.Method:return"Method";case at.SymbolKind.Property:return"Property";case at.SymbolKind.Field:return"Field";case at.SymbolKind.Constructor:return"Constructor";case at.SymbolKind.Enum:return"Enum";case at.SymbolKind.Interface:return"Interface";case at.SymbolKind.Function:return"Function";case at.SymbolKind.Variable:return"Variable";case at.SymbolKind.Constant:return"Constant";case at.SymbolKind.String:return"String";case at.SymbolKind.Number:return"Number";case at.SymbolKind.Boolean:return"Boolean";case at.SymbolKind.Array:return"Array";case at.SymbolKind.Object:return"Object";case at.SymbolKind.Key:return"Key";case at.SymbolKind.Null:return"Null";case at.SymbolKind.EnumMember:return"EnumMember";case at.SymbolKind.Struct:return"Struct";case at.SymbolKind.Event:return"Event";case at.SymbolKind.Operator:return"Operator";case at.SymbolKind.TypeParameter:return"TypeParameter";default:return"Unknown"}}var at,fp=R(()=>{at=E(H())});function l5(r,e){return`${r.name}${e?` ${e}`:""}`}function Ame(r,e){let t=r.selectionRange,i=e.selectionRange;return t.start.line!=i.start.line?t.start.line-i.start.line:t.start.character-i.start.character}var o5,a5,TUe,Ay,c5=R(()=>{o5=E(require("path"));Ps();qe();a5=E(Ed());Re();de();Nt();Y();up();fp();ra();TUe=U()("list-symbols");Ay=class extends cs{constructor(){super(...arguments);this.description="symbols of current document";this.name="outline";this.options=[{name:"-k, -kind KIND",hasValue:!0,description:"filters also by kind"}]}async loadItems(e,t){let i=await e.window.buffer,n=v.getDocument(i.id);if(!n)return null;let o=this.getConfig().get("ctagsFilestypes",[]),a,l=this.parseArguments(e.args);if(o.includes(n.filetype)||(a=await N.getDocumentSymbol(n.textDocument,t)),t.isCancellationRequested)return[];if(!a)return await this.loadCtagsSymbols(n);if(a.length==0)return[];let c=l.kind?l.kind.toLowerCase():null,u=[];if(!a[0].hasOwnProperty("location")){let d=function(h,p=0){h.sort(Ame);for(let g of h){let b=us(g.kind),y=er.create(n.uri,g.selectionRange);u.push({label:[`${"| ".repeat(p)}${g.name}`,`[${b}]`,`${g.range.start.line+1}`],filterText:l5(g,l.kind==""?b:null),location:y,data:{kind:b}}),g.children&&g.children.length&&d(g.children,p+1)}};d(a),c&&(u=u.filter(h=>h.data.kind.toLowerCase().indexOf(c)==0))}else{a.sort((d,h)=>{let p=d.location.range.start,g=h.location.range.start,b=p.line-g.line;return b==0?p.character-g.character:b});for(let d of a){let h=us(d.kind);d.name.endsWith(") callback")||c&&!h.toLowerCase().startsWith(c)||(d.location.uri===void 0&&(d.location.uri=n.uri),u.push({label:[d.name,`[${h}]`,`${d.location.range.start.line+1}`],filterText:l5(d,l.kind==""?h:null),location:d.location}))}}return pr(this.alignColumns,u)}doHighlight(){let{nvim:e}=this;e.pauseNotification(),e.command("syntax match CocOutlineName /\\v\\s?[^\\t]+\\s/ contained containedin=CocOutlineLine",!0),e.command("syntax match CocOutlineIndentLine /\\v\\|/ contained containedin=CocOutlineLine,CocOutlineName",!0),e.command("syntax match CocOutlineKind /\\[\\w\\+\\]/ contained containedin=CocOutlineLine",!0),e.command("syntax match CocOutlineLine /\\d\\+$/ contained containedin=CocOutlineLine",!0),e.command("highlight default link CocOutlineName Normal",!0),e.command("highlight default link CocOutlineIndentLine Comment",!0),e.command("highlight default link CocOutlineKind Typedef",!0),e.command("highlight default link CocOutlineLine Comment",!0),e.resumeNotification(!1,!0).logError()}async loadCtagsSymbols(e){if(!a5.default.sync("ctags",{nothrow:!0}))return[];let t=B.parse(e.uri),i=o5.default.extname(t.fsPath),n="",o=`${await this.nvim.call("tempname")}.${i}`,a=await this.nvim.call("fnameescape",o);await KB(a,e.getDocumentContent());try{n=await Vn(`ctags -f - --excmd=number --language-force=${e.filetype} ${a}`)}catch(u){}if(n.trim().length||(n=await Vn(`ctags -f - --excmd=number ${a}`)),n=n.trim(),!n)return[];let l=n.split(/\r?\n/),c=[];for(let u of l){let f=u.split(" ");if(f.length<4)continue;let d=Number(f[2].replace(/;"$/,"")),h=e.getline(d-1);if(!h)continue;let p=h.indexOf(f[0]),g=p==-1?0:p,b=Ae.create(d-1,g,d-1,g+f[0].length);c.push({label:`${f[0]} [${f[3]}] ${d}`,filterText:f[0],location:er.create(e.uri,b),data:{line:d}})}return c.sort((u,f)=>u.data.line-f.data.line),c}}});var Fy,u5=R(()=>{sp();ls();de();ra();Fy=class extends Kt{constructor(e){super(e);this.defaultAction="toggle";this.description="registered services of coc.nvim";this.name="services";this.addAction("toggle",async t=>{let{id:i}=t.data;await Fi.toggle(i),await bt(100)},{persist:!0,reload:!0})}async loadItems(e){let t=Fi.getServiceStats();return t.sort((i,n)=>i.id>n.id?-1:1),pr(this.alignColumns,t.map(i=>({label:[i.state=="running"?"*":" ",i.id,`[${i.state}]`,i.languageIds.join(", ")],data:{id:i.id}})))}doHighlight(){let{nvim:e}=this;e.pauseNotification(),e.command("syntax match CocServicesPrefix /\\v^./ contained containedin=CocServicesLine",!0),e.command("syntax match CocServicesName /\\v%3c\\S+/ contained containedin=CocServicesLine",!0),e.command("syntax match CocServicesStat /\\v\\t\\[\\w+\\]/ contained containedin=CocServicesLine",!0),e.command("syntax match CocServicesLanguages /\\v(\\])@<=.*$/ contained containedin=CocServicesLine",!0),e.command("highlight default link CocServicesPrefix Special",!0),e.command("highlight default link CocServicesName Type",!0),e.command("highlight default link CocServicesStat Statement",!0),e.command("highlight default link CocServicesLanguages Comment",!0),e.resumeNotification().catch(t=>{})}}});function Ny(r,e){return r.length>e?r.slice(0,e-1)+".":r+" ".repeat(e-r.length)}var qUe,My,f5=R(()=>{Ps();qe();xl();Y();ls();qUe=U()("list-sources"),My=class extends Kt{constructor(e){super(e);this.defaultAction="toggle";this.description="registered completion sources";this.name="sources";this.addAction("toggle",async t=>{let{name:i}=t.data;ht.toggleSource(i)},{persist:!0,reload:!0}),this.addAction("refresh",async t=>{let{name:i}=t.data;await ht.refresh(i)},{persist:!0,reload:!0}),this.addAction("open",async t=>{let{location:i}=t;i&&await this.jumpTo(i)})}async loadItems(e){let t=ht.sourceStats(),i=await e.buffer.getOption("filetype"),n=v.env.disabledSources,s=n?n[i]||[]:[];return t.sort((o,a)=>o.type!=a.type?o.typea.name?-1:1),t.map(o=>{let a=o.disabled?" ":"*";s&&s.includes(o.name)&&(a="-");let l;return o.filepath&&(l=er.create(B.file(o.filepath).toString(),Ae.create(0,0,0,0))),{label:`${a} ${Ny(o.name,22)} ${Ny("["+o.shortcut+"]",10)} ${Ny(o.triggerCharacters.join(""),10)} ${Ny(o.priority.toString(),3)} ${o.filetypes.join(",")}`,location:l,data:{name:o.name}}})}doHighlight(){let{nvim:e}=this;e.pauseNotification(),e.command("syntax match CocSourcesPrefix /\\v^./ contained containedin=CocSourcesLine",!0),e.command("syntax match CocSourcesName /\\v%3c\\S+/ contained containedin=CocSourcesLine",!0),e.command("syntax match CocSourcesType /\\v%25v.*%36v/ contained containedin=CocSourcesLine",!0),e.command("syntax match CocSourcesPriority /\\v%46v.*%50v/ contained containedin=CocSourcesLine",!0),e.command("syntax match CocSourcesFileTypes /\\v\\S+$/ contained containedin=CocSourcesLine",!0),e.command("highlight default link CocSourcesPrefix Special",!0),e.command("highlight default link CocSourcesName Type",!0),e.command("highlight default link CocSourcesPriority Number",!0),e.command("highlight default link CocSourcesFileTypes Comment",!0),e.command("highlight default link CocSourcesType Statement",!0),e.resumeNotification(!1,!0)}}});var RD,d5,h5,YUe,qy,p5=R(()=>{RD=E(require("path")),d5=E(Do());qe();Re();Y();up();fp();Nt();tv();h5=E(H());ra();YUe=U()("list-symbols"),qy=class extends cs{constructor(){super(...arguments);this.interactive=!0;this.description="search workspace symbols";this.detail="Symbols list is provided by server, it works on interactive mode only.";this.name="symbols";this.options=[{name:"-k, -kind KIND",description:"Filter symbols by kind.",hasValue:!0}]}async loadItems(e,t){let{input:i}=e;this.cwd=e.cwd;let n=this.parseArguments(e.args),s=n.kind?n.kind.toLowerCase():"";if(!e.options.interactive)throw new Error("Symbols only works on interactive mode");let o=await N.getWorkspaceSymbols(i,t);if(!o)throw new Error("No workspace symbols provider registered");let l=this.getConfig().get("excludes",[]),c=[];for(let u of o){let f=us(u.kind);if(s&&f.toLowerCase()!=s)continue;let d=B.parse(u.location.uri).fsPath;lt(v.cwd,d)&&(d=RD.default.relative(v.cwd,d)),!l.some(h=>(0,d5.default)(d,h))&&c.push({label:[u.name,`[${f}]`,d],filterText:`${u.name}`,location:u.location,data:{original:u,kind:u.kind,file:d,score:eu(i,u.name)}})}return c.sort((u,f)=>u.data.score!=f.data.score?f.data.score-u.data.score:u.data.kind!=f.data.kind?u.data.kind-f.data.kind:u.data.file.length-f.data.file.length),pr(this.alignColumns,c)}async resolveItem(e){let t=e.data.original;if(!t)return null;let i=new h5.CancellationTokenSource,n=await N.resolveWorkspaceSymbol(t,i.token);if(!n)return null;let s=us(n.kind),o=B.parse(n.location.uri).fsPath;return lt(this.cwd,o)&&(o=RD.default.relative(this.cwd,o)),{label:`${t.name} [${s}] ${o}`,filterText:`${t.name}`,location:t.location}}doHighlight(){let{nvim:e}=this;e.pauseNotification(),e.command("syntax match CocSymbolsName /\\v^\\s*\\S+/ contained containedin=CocSymbolsLine",!0),e.command("syntax match CocSymbolsKind /\\[\\w\\+\\]\\s*\\t/ contained containedin=CocSymbolsLine",!0),e.command("syntax match CocSymbolsFile /\\S\\+$/ contained containedin=CocSymbolsLine",!0),e.command("highlight default link CocSymbolsName Normal",!0),e.command("highlight default link CocSymbolsKind Typedef",!0),e.command("highlight default link CocSymbolsFile Comment",!0),e.resumeNotification().catch(t=>{})}}});var m5,$y,Fme,g5,v5,gi,By=R(()=>{m5=E(Ui()),$y=E(H());_e();ia();de();Y();Te();vy();kV();OV();BV();KV();YV();ZV();t5();n5();s5();up();c5();u5();f5();p5();Fme=U()("list-manager"),g5=["","","","<2-LeftMouse>"],v5=class{constructor(){this.plugTs=0;this.sessionsMap=new Map;this.disposables=[];this.listMap=new Map}init(e){this.nvim=e,this.config=new Wu,this.prompt=new yy(e,this.config),this.mappings=new by(this,e,this.config);let t=this.config.get("selectedSignText","*");e.command(`sign define CocSelected text=${t} texthl=CocSelectedText linehl=CocSelectedLine`,!0),O.on("InputChar",this.onInputChar,this,this.disposables);let i=(0,m5.default)(async()=>{await this.getCurrentSession()&&this.prompt.drawPrompt()},100);O.on("FocusGained",i,null,this.disposables),O.on("WinEnter",n=>{let s=this.getSessionByWinid(n);s&&this.prompt.start(s.listOptions)},null,this.disposables),O.on("WinLeave",n=>{this.getSessionByWinid(n)&&this.prompt.cancel()},null,this.disposables),this.disposables.push({dispose:()=>{i.clear()}}),this.prompt.onDidChangeInput(()=>{let{session:n}=this;!n||(n.onInputChange(),n.history.filter())}),this.registerList(new Oy(e)),this.registerList(new cs(e)),this.registerList(new qy(e)),this.registerList(new Ay(e)),this.registerList(new Dy(e)),this.registerList(new ky(e)),this.registerList(new Ry(e)),this.registerList(new My(e)),this.registerList(new Fy(e)),this.registerList(new Ly(e,this.listMap)),this.registerList(new Iy(e))}async start(e){let t=this.parseArgs(e);if(!t)return;let{name:i}=t.list,n=this.sessionsMap.get(i);n&&n.dispose(),this.prompt.start(t.options);let s=new _y(this.nvim,this.prompt,t.list,t.options,t.listArgs,this.config);this.sessionsMap.set(i,s),this.lastSession=s;try{await s.start(e)}catch(o){this.nvim.call("coc#prompt#stop_prompt",["list"],!0);let a=o instanceof Error?o.message:o.toString();D.showMessage(`Error on "CocList ${i}": ${a}`,"error"),Fme.error(o)}}getSessionByWinid(e){for(let t of this.sessionsMap.values())if(t&&t.winid==e)return this.lastSession=t,t;return null}async getCurrentSession(){let{id:e}=await this.nvim.window;for(let t of this.sessionsMap.values())if(t&&t.winid==e)return this.lastSession=t,t;return null}async resume(e){var t;if(!e)await((t=this.session)==null?void 0:t.resume());else{let i=this.sessionsMap.get(e);if(!i){D.showMessage(`Can't find exists ${e} list`);return}await i.resume()}}async doAction(e){let t=this.lastSession;!t||await t.doAction(e)}async first(e){let t=this.getSession(e);t&&await t.first()}async last(e){let t=this.getSession(e);t&&await t.last()}async previous(e){let t=this.getSession(e);t&&await t.previous()}async next(e){let t=this.getSession(e);t&&await t.next()}getSession(e){return e?this.sessionsMap.get(e):this.session}async cancel(e=!0){this.prompt.cancel(),!!e&&this.session&&await this.session.hide()}reset(){this.prompt.cancel(),this.lastSession=void 0;for(let e of this.sessionsMap.values())e.dispose();this.sessionsMap.clear(),this.nvim.call("coc#prompt#stop_prompt",["list"],!0)}switchMatcher(){var e;(e=this.session)==null||e.switchMatcher()}async togglePreview(){let{nvim:e}=this,t=await e.call("coc#list#get_preview",[0]);t!=-1?(await e.call("coc#window#close",[t]),await e.command("redraw")):await this.doAction("preview")}async chooseAction(){let{lastSession:e}=this;e&&await e.chooseAction()}parseArgs(e){let t=[],i=!1,n=!1,s=!1,o=!1,a=!1,l,c="",u="fuzzy",f="bottom",d=[],h=[];for(let b of e)if(!l&&b.startsWith("-"))h.push(b);else if(l)d.push(b);else{if(!/^\w+$/.test(b))return D.showMessage(`Invalid list option: "${b}"`,"error"),null;l=b}l=l||"lists";let p=v.getConfiguration(`list.source.${l}`);!h.length&&!d.length&&(h=p.get("defaultOptions",[])),d.length||(d=p.get("defaultArgs",[]));for(let b of h)if(b.startsWith("--input"))c=b.slice(8);else if(b=="--number-select"||b=="-N")s=!0;else if(b=="--auto-preview"||b=="-A")n=!0;else if(b=="--regex"||b=="-R")u="regex";else if(b=="--strict"||b=="-S")u="strict";else if(b=="--interactive"||b=="-I")i=!0;else if(b=="--top")f="top";else if(b=="--tab")f="tab";else if(b=="--ignore-case"||b=="--normal"||b=="--no-sort")t.push(b.slice(2));else if(b=="--first")a=!0;else if(b=="--no-quit")o=!0;else return D.showMessage(`Invalid option "${b}" of list`,"error"),null;let g=this.listMap.get(l);return g?i&&!g.interactive?(D.showMessage(`Interactive mode of "${l}" list not supported`,"error"),null):{list:g,listArgs:d,options:{numberSelect:s,autoPreview:n,noQuit:o,first:a,input:c,interactive:i,matcher:u,position:f,ignorecase:!!t.includes("ignore-case"),mode:t.includes("normal")?"normal":"insert",sort:!t.includes("no-sort")}}:(D.showMessage(`List ${l} not found`,"error"),null)}async onInputChar(e,t,i){if(e!="list")return;let{mode:n}=this.prompt,s=Date.now();if(t==""||this.plugTs&&s-this.plugTs<20){this.plugTs=s;return}if(!!t){if(t==""){await this.cancel();return}n=="insert"?await this.onInsertInput(t,i):await this.onNormalInput(t,i)}}async onInsertInput(e,t){let{session:i}=this;if(!i)return;if(g5.includes(e)){await this.onMouseEvent(e);return}if(!(await i.doNumberSelect(e)||await this.mappings.doInsertKeymap(e)||t)&&!(e.startsWith("<")&&e.endsWith(">")))for(let o of e){let a=o.codePointAt(0);if(a==65533||a<32||a>=127&&a<=159)return;await this.prompt.acceptCharacter(o)}}async onNormalInput(e,t){if(g5.includes(e)){await this.onMouseEvent(e);return}await this.mappings.doNormalKeymap(e)||await this.feedkeys(e)}onMouseEvent(e){if(this.session)return this.session.onMouseEvent(e)}async feedkeys(e,t=!0){let{nvim:i}=this;e=e.startsWith("<")&&e.endsWith(">")?`\\${e}`:e,await i.call("coc#prompt#stop_prompt",["list"]),await i.call("eval",[`feedkeys("${e}", "${t?"i":"in"}")`]),this.prompt.start()}async command(e){let{nvim:t}=this;await t.call("coc#prompt#stop_prompt",["list"]),await t.command(e),this.prompt.start()}async normal(e,t=!0){let{nvim:i}=this;await i.call("coc#prompt#stop_prompt",["list"]),await i.command(`normal${t?"!":""} ${e}`),this.prompt.start()}async call(e){if(this.session)return await this.session.call(e)}get session(){return this.lastSession}registerList(e){let{name:t}=e,i=this.listMap.get(t);this.listMap.has(t)&&(i&&(typeof i.dispose=="function"&&i.dispose(),this.listMap.delete(t)),D.showMessage(`list "${t}" recreated.`)),this.listMap.set(t,e);let s=v.getConfiguration(`list.source.${t}`).get("defaultAction");return s&&e.actions.find(o=>o.name==s)&&(e.defaultAction=s),we.addSchemeProperty(`list.source.${t}.defaultAction`,{type:"string",default:null,description:`Default default action of "${t}" list.`}),we.addSchemeProperty(`list.source.${t}.defaultOptions`,{type:"array",default:e.interactive?["--interactive"]:[],description:`Default list options of "${t}" list, only used when both list option and argument are empty.`,uniqueItems:!0,items:{type:"string",enum:["--top","--normal","--no-sort","--input","--tab","--strict","--regex","--ignore-case","--number-select","--interactive","--auto-preview","--first","--no-quit"]}}),we.addSchemeProperty(`list.source.${t}.defaultArgs`,{type:"array",default:[],description:`Default argument list of "${t}" list, only used when list argument is empty.`,uniqueItems:!0,items:{type:"string"}}),$y.Disposable.create(()=>{typeof e.dispose=="function"&&e.dispose(),this.listMap.delete(t)})}get names(){return Array.from(this.listMap.keys())}get descriptions(){let e={};for(let t of this.listMap.keys()){let i=this.listMap.get(t);e[t]=i.description}return e}async loadItems(e){let t=[e],i=this.parseArgs(t);if(!i)return;let{list:n,options:s,listArgs:o}=i,l=new $y.CancellationTokenSource().token,c=await this.nvim.eval('[win_getid(),bufnr("%")]');return await n.loadItems({options:s,args:o,input:"",cwd:v.cwd,window:this.nvim.createWindow(c[0]),buffer:this.nvim.createBuffer(c[1]),listWindow:null},l)}toggleMode(){let e=this.lastSession;e&&e.toggleMode()}get isActivated(){var e;return((e=this.session)==null?void 0:e.winid)!=null}stop(){let e=this.lastSession;e&&e.stop()}dispose(){for(let e of this.sessionsMap.values())e.dispose();this.sessionsMap.clear(),this.config&&this.config.dispose(),this.lastSession=void 0,G(this.disposables)}},gi=new v5});var Nn,PD=R(()=>{Nn=class{constructor(e){this._tabstop=1;this.value=e||""}static isSnippetString(e){return e instanceof Nn?!0:e?typeof e.value=="string":!1}static _escape(e){return e.replace(/\$|}|\\/g,"\\$&")}appendText(e){return this.value+=Nn._escape(e),this}appendTabstop(e=this._tabstop++){return this.value+="$",this.value+=e,this}appendPlaceholder(e,t=this._tabstop++){if(typeof e=="function"){let i=new Nn;i._tabstop=this._tabstop,e(i),this._tabstop=i._tabstop,e=i.value}else e=Nn._escape(e);return this.value+="${",this.value+=t,this.value+=":",this.value+=e,this.value+="}",this}appendChoice(e,t=this._tabstop++){let i=e.map(n=>n.replace(/\$|}|\\|,/g,"\\$&")).join(",");return this.value+="${",this.value+=t,this.value+="|",this.value+=i,this.value+="|}",this}appendVariable(e,t){if(typeof t=="function"){let i=new Nn;i._tabstop=this._tabstop,t(i),this._tabstop=i._tabstop,t=i.value}else typeof t=="string"&&(t=t.replace(/\$|}/g,"\\$&"));return this.value+="${",this.value+=e,t&&(this.value+=":",this.value+=t),this.value+="}",this}}});var kD=R(()=>{nv()});var b5={};Bn(b5,{BasicList:()=>Kt,Buffer:()=>Ju.Buffer,CancellationToken:()=>oe.CancellationToken,CancellationTokenSource:()=>oe.CancellationTokenSource,ClientState:()=>ye,CloseAction:()=>ss,CodeActionKind:()=>oe.CodeActionKind,CompletionItemKind:()=>oe.CompletionItemKind,CompletionTriggerKind:()=>oe.CompletionTriggerKind,ConfigurationTarget:()=>Ot,Diagnostic:()=>oe.Diagnostic,DiagnosticSeverity:()=>oe.DiagnosticSeverity,DiagnosticTag:()=>oe.DiagnosticTag,Disposable:()=>oe.Disposable,DocumentHighlightKind:()=>oe.DocumentHighlightKind,Emitter:()=>oe.Emitter,ErrorAction:()=>Cl,Event:()=>oe.Event,FileChangeType:()=>oe.FileChangeType,FileType:()=>Gr,FloatFactory:()=>tr,Highligher:()=>an,InsertTextFormat:()=>oe.InsertTextFormat,LanguageClient:()=>np,Location:()=>oe.Location,LocationLink:()=>oe.LocationLink,MarkupKind:()=>oe.MarkupKind,MessageLevel:()=>_n,MessageTransports:()=>Bu,Mru:()=>Oo,Mutex:()=>hi,Neovim:()=>Ju.Neovim,NotificationType:()=>oe.NotificationType,NotificationType0:()=>oe.NotificationType0,NullLogger:()=>KT,PatternType:()=>ir,Position:()=>oe.Position,ProgressType:()=>oe.ProgressType,Range:()=>oe.Range,RequestType:()=>oe.RequestType,RequestType0:()=>oe.RequestType0,RevealOutputChannelOn:()=>fr,ServiceStat:()=>Ee,SettingMonitor:()=>SD,SignatureHelpTriggerKind:()=>oe.SignatureHelpTriggerKind,SnippetString:()=>Nn,SourceType:()=>Vr,State:()=>dr,SymbolKind:()=>oe.SymbolKind,TextDocumentFeature:()=>Fe,TextEdit:()=>oe.TextEdit,TransportKind:()=>pt,TreeItem:()=>Kn,TreeItemCollapsibleState:()=>$e,Uri:()=>B,Watchman:()=>Pn,Window:()=>Ju.Window,ansiparse:()=>Md,commands:()=>se,concurrent:()=>Rd,diagnosticManager:()=>Lt,disposeAll:()=>G,download:()=>Zh,events:()=>O,executable:()=>Dd,extensions:()=>we,fetch:()=>Fu,isRunning:()=>VN,languages:()=>N,listManager:()=>gi,runCommand:()=>Vn,services:()=>Fi,snippetManager:()=>vi,sources:()=>ht,wait:()=>bt,watchFile:()=>Ic,window:()=>D,workspace:()=>v});var Ju,oe,y5=R(()=>{Ei();_e();Re();$g();Va();Eb();jT();$u();sp();xl();Y();Te();ia();By();Yu();PD();Xa();Nc();Yg();ls();As();qe();Ju=E(ES()),oe=E(H());En();_D();de();kD()});function Nme(r){return()=>{throw new Error(`process.${r}() is not allowed in extension sandbox`)}}function qme(){let r=e=>e==="coc.nvim"?(y5(),b5):this.require(e);return r.resolve=e=>fs._resolveFilename(e,this),r.main=process.mainModule,r.extensions=fs._extensions,r.cache=fs._cache,r}function $me(r){return function(e,t){let i=qme.call(this),n=x5.default.dirname(t),s=e.replace(/^\#\!.*/,""),o=fs.wrap(s),a=jy.runInContext(o,r,{filename:t}),l=[this.exports,i,this,t,n];return a.apply(this.exports,l)}}function Bme(r,e){let t=new fs(r);t.paths=fs._nodeModulePaths(r);let i=jy.createContext({module:t,Buffer,console:{debug:(...n)=>{e.debug.apply(e,n)},log:(...n)=>{e.info.apply(e,n)},error:(...n)=>{e.error.apply(e,n)},info:(...n)=>{e.info.apply(e,n)},warn:(...n)=>{e.warn.apply(e,n)}}});a6(i,global),i.Reflect=Reflect,i.require=function(s){let o=fs.prototype._compile;fs.prototype._compile=$me(i);let a=i.module.require(s);return fs.prototype._compile=o,a},i.process=new process.constructor;for(let n of Object.keys(process))i.process[n]=process[n];return Mme.forEach(n=>{i.process[n]=Nme(n)}),i.process.chdir=()=>{},i.process.umask=n=>{if(typeof n!="undefined")throw new Error("Cannot use process.umask() to change mask (read-only)");return process.umask()},i}function C5(r,e,t=!1){if(t||!w5.default.existsSync(e))return{activate:()=>{},deactivate:null};let i=Bme(e,S5(`extension:${r}`));delete fs._cache[require.resolve(e)];let n=i.require(e),s=n&&n.activate||n;return typeof s!="function"?{activate:()=>{},deactivate:null}:{activate:s,deactivate:typeof n.deactivate=="function"?n.deactivate:null}}var w5,x5,jy,S5,YHe,fs,Mme,_5=R(()=>{w5=E(require("fs")),x5=E(require("path")),jy=E(require("vm"));Nu();S5=U(),YHe=S5("util-factoroy"),fs=require("module"),Mme=["reallyExit","abort","umask","setuid","setgid","setgroups","_fatalException","exit","kill"]});var E5,Tt,T5,Be,D5,Uy,R5,dWe,P5,Vi,qn,k5,we,ia=R(()=>{E5=E(Ui());Hd();Tt=E(pn()),T5=E(UC()),Be=E(require("path")),D5=E(_v()),Uy=E(H());qe();R5=E(Ed());Ei();_e();r_();Va();nW();n6();s6();de();Xd();dWe=E(dm());_5();Nt();Wr();Yg();Y();Te();P5=U(),Vi=P5("extensions");(function(n){n[n.Global=0]="Global",n[n.Local=1]="Local",n[n.SingleFile=2]="SingleFile",n[n.Internal=3]="Internal"})(qn||(qn={}));k5=class{constructor(){this.extensions=new Map;this.disabled=new Set;this._onDidLoadExtension=new Uy.Emitter;this._onDidActiveExtension=new Uy.Emitter;this._onDidUnloadExtension=new Uy.Emitter;this._additionalSchemes={};this.activated=!1;this.disposables=[];this.ready=!0;this.onDidLoadExtension=this._onDidLoadExtension.event;this.onDidActiveExtension=this._onDidActiveExtension.event;this.onDidUnloadExtension=this._onDidUnloadExtension.event;let e=global.hasOwnProperty("__TEST__")?Be.default.join(__dirname,"__tests__"):process.env.COC_DATA_HOME,t=this.root=Be.default.join(e,"extensions");Tt.default.existsSync(t)||Tt.default.mkdirpSync(t);let i=Be.default.join(t,"package.json");Tt.default.existsSync(i)||Tt.default.writeFileSync(i,'{"dependencies":{}}',"utf8");let n=Be.default.join(t,"db.json");this.db=new Kc(n)}get outputChannel(){return this._outputChannel?this._outputChannel:(this._outputChannel=D.createOutputChannel("extensions"),this._outputChannel)}async init(){let e=this.db.fetch("extension")||{},t=Object.keys(e);for(let s of t)e[s].disabled==!0&&this.disabled.add(s);if(process.env.COC_NO_PLUGINS)return;let i=await this.globalExtensionStats(),n=await this.localExtensionStats(i.map(s=>s.id));i=i.concat(n),this.memos=new kb(Be.default.resolve(this.root,"../memos.json")),i.map(s=>{let o=s.isLocal?1:0;try{this.createExtension(s.root,s.packageJSON,o)}catch(a){Vi.error(`Error on create ${s.root}:`,a)}}),await this.loadFileExtensions(),se.register({id:"extensions.forceUpdateAll",execute:async()=>{let s=await this.cleanExtensions();Vi.info(`Force update extensions: ${s}`),await this.installExtensions(s)}},!1,"remove all global extensions and install them"),v.onDidRuntimePathChange(async s=>{for(let o of s)o&&this.checkDirectory(o)===!0&&await this.loadExtension(o)},null,this.disposables)}activateExtensions(){this.activated=!0;for(let s of this.extensions.values()){let{id:o,packageJSON:a}=s.extension;this.setupActiveEvents(o,a).logError()}let e=new tr(v.nvim);if(O.on("CursorMoved",(0,E5.debounce)(async s=>{if(this.installBuffer&&s==this.installBuffer.bufnr){let o=await v.nvim.call("line",["."]),a=this.installBuffer.getMessages(o-1),l=a&&a.length?[{content:a.join(` +`),filetype:"txt"}]:[];await e.show(l,{modes:["n"]})}},500)),global.hasOwnProperty("__TEST__"))return;this.checkExtensions().logError();let t=v.getConfiguration("coc.preferences"),i=t.get("extensionUpdateCheck","never"),n=t.get("silentAutoupdate",!0);if(i!="never"){let s=new Date,o=new Date(s.getFullYear(),s.getMonth(),s.getDate()-(i=="daily"?0:7)),a=this.db.fetch("lastUpdate");if(a&&Number(a)>o.getTime())return;this.outputChannel.appendLine("Start auto update..."),this.updateExtensions(!1,n).logError()}}async updateExtensions(e,t=!1){if(!this.npm)return;let i=await this.getLockedList(),n=await this.globalExtensionStats();n=n.filter(l=>![...i,...this.disabled].includes(l.id)),this.db.push("lastUpdate",Date.now()),t&&D.showMessage("Updating extensions, checkout output:///extensions for details.","more");let s=this.installBuffer=new xh(!0,e,t?this.outputChannel:void 0);s.setExtensions(n.map(l=>l.id)),await s.show(v.nvim);let o=Pb(this.npm,this.modulesFolder);await Rd(n,l=>{let{id:c}=l;s.startProgress([c]);let u=l.exotic?l.uri:null,f=o(c);return f.on("message",(d,h)=>{s.addMessage(c,d,h)}),f.update(u).then(d=>{s.finishProgress(c,!0),d&&this.loadExtension(d).logError()},d=>{s.addMessage(c,d.message),s.finishProgress(c,!1)})},t?1:3)}async checkExtensions(){let{globalExtensions:e}=v.env;if(e&&e.length){let t=this.filterGlobalExtensions(e);this.installExtensions(t).logError()}}get installer(){return Pb(this.npm,this.modulesFolder)}async installExtensions(e=[]){let{npm:t}=this;if(!t||!e.length)return;e=Ng(e);let i=this.installBuffer=new xh;i.setExtensions(e),await i.show(v.nvim);let n=Pb(this.npm,this.modulesFolder);await Rd(e,o=>{i.startProgress([o]);let a=n(o);return a.on("message",(l,c)=>{i.addMessage(o,l,c)}),a.install().then(l=>{i.finishProgress(o,!0);let c=Be.default.join(this.modulesFolder,l);this.loadExtension(c).logError()},l=>{i.addMessage(o,l.message),i.finishProgress(o,!1),Vi.error(`Error on install ${o}`,l)})})}getMissingExtensions(){let e=this.loadJson()||{dependencies:{}},t=[];for(let i of Object.keys(e.dependencies)){let n=Be.default.join(this.modulesFolder,i);if(!Tt.default.existsSync(n)){let s=e.dependencies[i];s.startsWith("http")?t.push(s):t.push(i)}}return t}get npm(){let e=v.getConfiguration("npm").get("binPath","npm");e=v.expand(e);for(let t of[e,"yarnpkg","yarn","npm"])try{return R5.default.sync(t)}catch(i){continue}return D.showMessage("Can't find npm or yarn in your $PATH","error"),null}get all(){return Array.from(this.extensions.values()).map(e=>e.extension).filter(e=>!this.isDisabled(e.id))}getExtension(e){return this.extensions.get(e)}getExtensionState(e){if(this.isDisabled(e))return"disabled";let i=this.extensions.get(e);if(!i)return"unknown";let{extension:n}=i;return n.isActive?"activated":"loaded"}async getExtensionStates(){let e=await this.localExtensionStats([]),t=await this.globalExtensionStats();return e.concat(t.filter(i=>e.find(n=>n.id==i.id)==null))}async getLockedList(){let e=await this.db.fetch("extension");return e=e||{},Object.keys(e).filter(t=>e[t].locked===!0)}async toggleLock(e){let t=`extension.${e}.locked`;await this.db.fetch(t)?this.db.delete(t):this.db.push(t,!0)}async toggleExtension(e){let t=this.getExtensionState(e);if(t==null)return;t=="activated"&&await this.deactivate(e);let i=`extension.${e}.disabled`;if(this.db.push(i,t!="disabled"),t!="disabled")this.disabled.add(e),await this.unloadExtension(e);else{this.disabled.delete(e);let n=Be.default.join(this.modulesFolder,e);Tt.default.existsSync(n)&&await this.loadExtension(n)}await bt(200)}async reloadExtension(e){let t=this.extensions.get(e);if(!t){D.showMessage(`Extension ${e} not registered`,"error");return}if(t.type==3){D.showMessage(`Can't reload internal extension "${t.id}"`,"warning");return}t.type==2?await this.loadExtensionFile(t.filepath):t.directory?await this.loadExtension(t.directory):D.showMessage(`Can't reload extension ${t.id}`,"warning")}async cleanExtensions(){let e=this.modulesFolder;if(!Tt.default.existsSync(e))return[];let t=this.globalExtensions,i=[];for(let n of t){let s=Be.default.join(e,n),o=await Tt.default.lstat(s);!o||o&&o.isSymbolicLink()||(await this.unloadExtension(n),await Tt.default.remove(s),i.push(n))}return i}async uninstallExtension(e){try{if(!e.length)return;let[t,i]=Mg(e,a=>this.globalExtensions.includes(a));i.length&&D.showMessage(`Extensions ${i} not global extensions, can't uninstall!`,"warning");let n=this.loadJson()||{dependencies:{}};for(let a of t){await this.unloadExtension(a),delete n.dependencies[a];let l=Be.default.join(this.modulesFolder,a);Tt.default.existsSync(l)&&await Tt.default.remove(l)}let s={dependencies:{}};Object.keys(n.dependencies).sort().forEach(a=>{s.dependencies[a]=n.dependencies[a]});let o=Be.default.join(this.root,"package.json");Tt.default.writeFileSync(o,JSON.stringify(s,null,2),{encoding:"utf8"}),D.showMessage(`Removed: ${t.join(" ")}`)}catch(t){D.showMessage(`Uninstall failed: ${t.message}`,"error")}}isDisabled(e){return this.disabled.has(e)}has(e){return this.extensions.has(e)}isActivated(e){let t=this.extensions.get(e);return!!(t&&t.extension.isActive)}async loadExtension(e){try{let t=Be.default.dirname(e),i=Be.default.normalize(t)!=Be.default.normalize(this.modulesFolder),n=Be.default.join(e,"package.json"),s=JSON.parse(Tt.default.readFileSync(n,"utf8")),{name:o}=s;return this.isDisabled(o)?!1:(await this.unloadExtension(o),this.createExtension(e,Object.freeze(s),i?1:0),!0)}catch(t){return D.showMessage(`Error on load extension from "${e}": ${t.message}`,"error"),Vi.error(`Error on load extension from ${e}`,t),!1}}async loadFileExtensions(){if(!process.env.COC_VIMCONFIG)return;let e=Be.default.join(process.env.COC_VIMCONFIG,"coc-extensions");if(!Tt.default.existsSync(e))return;let t=await Tt.default.readdir(e);t=t.filter(i=>i.endsWith(".js"));for(let i of t)await this.loadExtensionFile(Be.default.join(e,i))}loadedExtensions(){return Array.from(this.extensions.keys())}async watchExtension(e){let t=this.extensions.get(e);if(!t){D.showMessage(`extension ${e} not found`,"error");return}if(e.startsWith("single-"))D.showMessage(`watching ${t.filepath}`),this.disposables.push(Ic(t.filepath,async()=>{await this.loadExtensionFile(t.filepath),D.showMessage(`reloaded ${e}`)}));else{let i=v.getWatchmanPath();if(!i){D.showMessage("watchman not found","error");return}let n=await Pn.createClient(i,t.directory);if(!n){D.showMessage("Can't create watchman client, check output:///watchman");return}D.showMessage(`watching ${t.directory}`),this.disposables.push(n),n.subscribe("**/*.js",async()=>{await this.reloadExtension(e),D.showMessage(`reloaded ${e}`)}).then(s=>{this.disposables.push(s)},s=>{Vi.error(s)})}}async loadExtensionFile(e){let t=Be.default.basename(e),i=Be.default.basename(e,".js"),n="single-"+i;if(this.isDisabled(n))return;let s=Be.default.dirname(e),o={name:n,main:t,engines:{coc:"^0.0.79"}},a=Be.default.join(s,i+".json"),l=await Mt(a);if(l&&l.isFile()){let c=await Gc(a,"utf8"),u=JSON.parse(c);if(u){let f=["activationEvents","contributes"];for(let d of f)u[d]&&(o[d]=u[d])}}await this.unloadExtension(n),this.createExtension(s,o,2)}async activate(e){if(this.isDisabled(e))throw new Error(`Extension ${e} is disabled!`);let t=this.extensions.get(e);if(!t)throw new Error(`Extension ${e} not registered!`);let{extension:i}=t;return i.isActive?!0:(await Promise.resolve(i.activate()),i.isActive?(this._onDidActiveExtension.fire(i),!0):!1)}async deactivate(e){let t=this.extensions.get(e);return t?(await Promise.resolve(t.deactivate()),!0):!1}async call(e,t,i){let n=this.extensions.get(e);if(!n)throw new Error(`extension ${e} not registered`);let{extension:s}=n;s.isActive||await this.activate(e);let{exports:o}=s;if(!o||!o.hasOwnProperty(t))throw new Error(`method ${t} not found on extension ${e}`);return await Promise.resolve(o[t].apply(null,i))}getExtensionApi(e){let t=this.extensions.get(e);if(!t)return null;let{extension:i}=t;return i.isActive?i.exports:null}registerExtension(e,t){let{id:i,packageJSON:n}=e;this.extensions.set(i,{id:i,type:3,extension:e,deactivate:t,isLocal:!0});let{contributes:s}=n;if(s){let{configuration:o}=s;if(o&&o.properties){let{properties:a}=o,l={};for(let c of Object.keys(a)){let u=a[c].default;u!=null&&(l[c]=u)}v.configurations.extendsDefaults(l)}}this._onDidLoadExtension.fire(e),this.setupActiveEvents(i,n).logError()}get globalExtensions(){let e=this.loadJson();return!e||!e.dependencies?[]:Object.keys(e.dependencies)}async globalExtensionStats(){let e=this.loadJson();if(!e||!e.dependencies)return[];let{modulesFolder:t}=this;return(await Promise.all(Object.keys(e.dependencies).map(n=>new Promise(async s=>{try{let o=e.dependencies[n],a=Be.default.join(t,n),l=this.checkDirectory(a);if(l instanceof Error)return D.showMessage(`Unable to load global extension at ${a}: ${l.message}`,"error"),Vi.error(`Error on load ${a}`,l),s(null);let c=await Gc(Be.default.join(a,"package.json"),"utf8");a=await Tt.default.realpath(a);let u=JSON.parse(c),f=u&&u.version||"",d=u&&u.description||"",h=T5.default.isValid(o)?o:"";s({id:n,isLocal:!1,version:f,description:d,exotic:/^https?:/.test(o),uri:h.replace(/\.git(#master)?$/,""),root:a,state:this.getExtensionState(n),packageJSON:Object.freeze(u)})}catch(o){Vi.error(o),s(null)}})))).filter(n=>n!=null)}async localExtensionStats(e){let i=(await v.nvim.eval("&runtimepath")).split(",");return(await Promise.all(i.map(s=>new Promise(async o=>{try{if(this.checkDirectory(s)!==!0)return o(null);let l=Be.default.join(s,"package.json"),c=await Gc(l,"utf8"),u=JSON.parse(c),f=this.extensions.get(u.name);if(f&&!f.isLocal)return Vi.info(`Extension "${u.name}" in runtimepath already loaded.`),o(null);if(e.includes(u.name))return Vi.info(`Skipped load vim plugin from "${s}", "${u.name}" already global extension.`),o(null);let d=u&&u.version||"",h=u&&u.description||"";o({id:u.name,isLocal:!0,version:d,description:h,exotic:!1,root:s,state:this.getExtensionState(u.name),packageJSON:Object.freeze(u)})}catch(a){Vi.error(a),o(null)}})))).filter(s=>s!=null)}loadJson(){let{root:e}=this,t=Be.default.join(e,"package.json");if(!Tt.default.existsSync(t))return null;let i=[],n=Tt.default.readFileSync(t,"utf8"),s=Wc(n,i,{allowTrailingComma:!0});return i&&i.length>0&&(D.showMessage(`Error on parse ${t}`,"error"),v.nvim.call("coc#util#open_file",["edit",t],!0)),s}get schemes(){return this._additionalSchemes}addSchemeProperty(e,t){this._additionalSchemes[e]=t,v.configurations.extendsDefaults({[e]:t.default})}async setupActiveEvents(e,t){let{activationEvents:i}=t;if(!this.canActivate(e))return;if(!i||Array.isArray(i)&&i.includes("*")){await this.activate(e).catch(o=>{D.showMessage(`Error on activate extension ${e}: ${o.message}`),this.outputChannel.appendLine(`Error on activate extension ${e}. +${o.message} + ${o.stack}`)});return}let n=[],s=()=>(G(n),new Promise(o=>{if(!this.canActivate(e))return this.outputChannel.appendLine(`Extension ${e} is disabled or not loaded.`),o();let a=setTimeout(()=>{this.outputChannel.appendLine(`Extension ${e} activate cost more than 1s`),o()},1e3);this.activate(e).then(()=>{clearTimeout(a),o()},l=>{clearTimeout(a),D.showMessage(`Error on activate extension ${e}: ${l.message}`),this.outputChannel.appendLine(`Error on activate extension ${e}:${l.message} + ${l.stack}`),o()})}));for(let o of i){let a=o.split(":"),l=a[0];if(l=="onLanguage"){if(v.filetypes.has(a[1])){await s();return}v.onDidOpenTextDocument(c=>{c.languageId==a[1]&&s()},null,n)}else if(l=="onCommand")se.onCommandList.push(a[1]),O.on("Command",async c=>{c==a[1]&&(await s(),await bt(500))},null,n);else if(l=="workspaceContains"){let c=async()=>{let f=v.workspaceFolders.map(d=>B.parse(d.uri).fsPath);for(let d of f)if(Ro(d,a[1].split(/\s+/)))return await s(),!0};if(await c())return;v.onDidChangeWorkspaceFolders(c,null,n)}else if(l=="onFileSystem"){for(let c of v.documents)if(B.parse(c.uri).scheme==a[1]){await s();return}v.onDidOpenTextDocument(c=>{B.parse(c.uri).scheme==a[1]&&s()},null,n)}else D.showMessage(`Unsupported event ${o} of ${e}`,"error")}}createExtension(e,t,i){let n=t.name,s=!1,o,a=Be.default.join(e,t.main||"index.js"),l,c=[],u,f={activate:()=>{if(o)return o;let h={subscriptions:c,extensionPath:e,globalState:this.memos.createMemento(`${n}|global`),workspaceState:this.memos.createMemento(`${n}|${v.rootPath}`),asAbsolutePath:p=>Be.default.join(e,p),storagePath:Be.default.join(this.root,`${n}-data`),logger:P5(n)};if(!l)try{let p=!(t.engines||{}).hasOwnProperty("coc");l=C5(n,a,p)}catch(p){Vi.error(`Error on createExtension ${n} from ${a}`,p);return}return o=new Promise((p,g)=>{try{Promise.resolve(l.activate(h)).then(b=>{s=!0,u=b,p(b)},b=>{Vi.error(`Error on active extension ${n}: ${b.message}`,b),g(b)})}catch(b){Vi.error(`Error on active extension ${n}: ${b.stack}`,b),g(b)}}),o}};Object.defineProperties(f,{id:{get:()=>n,enumerable:!0},packageJSON:{get:()=>t,enumerable:!0},extensionPath:{get:()=>e,enumerable:!0},isActive:{get:()=>s,enumerable:!0},exports:{get:()=>{if(!s)throw new Error(`Invalid access to exports, extension "${n}" not activated`);return u},enumerable:!0}}),this.extensions.set(n,{id:n,type:i,isLocal:i==1,extension:f,directory:e,filepath:a,deactivate:()=>{if(!!s&&(o=void 0,u=void 0,s=!1,G(c),c.splice(0,c.length),c=[],l&&l.deactivate))try{return Promise.resolve(l.deactivate()).catch(h=>{Vi.error(`Error on ${n} deactivate: `,h)})}catch(h){Vi.error(`Error on ${n} deactivate: `,h)}}});let{contributes:d}=t;if(d){let{configuration:h,rootPatterns:p,commands:g}=d;if(h&&h.properties){let{properties:b}=h,y={};for(let S of Object.keys(b)){let w=b[S].default;w!=null&&(y[S]=w)}v.configurations.extendsDefaults(y)}if(p&&p.length)for(let b of p)v.addRootPattern(b.filetype,b.patterns);if(g&&g.length)for(let b of g)se.titles.set(b.command,b.title)}this._onDidLoadExtension.fire(f),this.activated&&this.setupActiveEvents(n,t).logError()}filterGlobalExtensions(e){let t=new Map;e.forEach(o=>{let a=this.getExtensionName(o);a&&t.set(a,o)});let i=this.loadJson(),n=[],s=[];if(i&&i.dependencies)for(let o of Object.keys(i.dependencies)){let a=i.dependencies[o];typeof a=="string"&&Tt.default.existsSync(Be.default.join(this.modulesFolder,o,"package.json"))&&(s.push(o),/^https?:/.test(a)&&n.push(a))}for(let o of t.keys()){if(this.disabled.has(o)||this.extensions.has(o)){t.delete(o);continue}(/^https?:/.test(o)&&n.some(a=>a.startsWith(o))||s.includes(o))&&t.delete(o)}return Array.from(t.values())}getExtensionName(e){return/^https?:/.test(e)||!e.includes("@")?e:e.replace(/@[\d.]+$/,"")}get modulesFolder(){return Be.default.join(this.root,global.hasOwnProperty("__TEST__")?"":"node_modules")}canActivate(e){return!this.disabled.has(e)&&this.extensions.has(e)}async unloadExtension(e){this.extensions.get(e)&&(await this.deactivate(e),this.extensions.delete(e),this._onDidUnloadExtension.fire(e))}checkDirectory(e){try{let t=Be.default.join(e,"package.json");if(!Tt.default.existsSync(t))throw new Error("package.json not found");let i=JSON.parse(Tt.default.readFileSync(t,"utf8")),{name:n,engines:s,main:o}=i;if(!n||!s)throw new Error("can't find name & engines in package.json");if(!s||!Wt(s))throw new Error(`invalid engines in ${t}`);if(o&&!Tt.default.existsSync(Be.default.join(e,o)))throw new Error(`main file ${o} not found, you may need to build the project.`);let a=Object.keys(s);if(!a.includes("coc")&&!a.includes("vscode"))throw new Error("Engines in package.json doesn't have coc or vscode");if(a.includes("coc")){let l=s.coc.replace(/^\^/,">=");if(!D5.default.satisfies(v.version,l))throw new Error(`Please update coc.nvim, ${i.name} requires coc.nvim ${s.coc}`)}return!0}catch(t){return t}}dispose(){G(this.disposables)}},we=new k5});var PWe,cn,Xu=R(()=>{En();yt();Y();PWe=U()("sources-source"),cn=class{constructor(e){this._disabled=!1;this.nvim=v.nvim,this.name=e.name,this.filepath=e.filepath||"",this.sourceType=e.sourceType||Vr.Native,this.isSnippet=!!e.isSnippet,this.defaults=e}get priority(){return this.getConfig("priority",1)}get triggerOnly(){let e=this.defaults.triggerOnly;return typeof e=="boolean"?e:!this.triggerCharacters&&!this.triggerPatterns?!1:Array.isArray(this.triggerPatterns)&&this.triggerPatterns.length!=0}get triggerCharacters(){return this.getConfig("triggerCharacters",null)}get optionalFns(){return this.defaults.optionalFns||[]}get triggerPatterns(){let e=this.getConfig("triggerPatterns",null);return!e||e.length==0?null:e.map(t=>typeof t=="string"?new RegExp(t+"$"):t)}get shortcut(){let e=this.getConfig("shortcut","");return e||this.name.slice(0,3)}get enable(){return this._disabled?!1:this.getConfig("enable",!0)}get filetypes(){return this.getConfig("filetypes",null)}get disableSyntaxes(){return this.getConfig("disableSyntaxes",[])}getConfig(e,t){let i=v.getConfiguration(`coc.source.${this.name}`);return t=this.defaults.hasOwnProperty(e)?this.defaults[e]:t,i.get(e,t)}toggle(){this._disabled=!this._disabled}get firstMatch(){return this.getConfig("firstMatch",!0)}get menu(){let{shortcut:e}=this;return e?`[${e}]`:""}filterWords(e,t){let{firstMatch:i}=this,n=[],{input:s}=t,o=t.word;if(!s.length)return[];let a=s[0];for(let l of e)!l||l.length<3||i&&a!=l[0]||!i&&a.toLowerCase()!=l[0].toLowerCase()||l==o||l==s||n.push(l);return n}fixStartcol(e,t){let{col:i,input:n,line:s,bufnr:o}=e,a=zt(s,0,i),l=v.getDocument(o);if(!l)return i;let{chars:c}=l;for(let u=a.length-1;u>=0;u--){let f=a[u];if(!c.isKeywordChar(f)&&!t.includes(f))break;n=`${f}${n}`,i=i-1}return e.col=i,e.input=n,i}async shouldComplete(e){let{disableSyntaxes:t}=this;if(e.synname&&t&&t.length){let n=(e.synname||"").toLowerCase();if(t.findIndex(s=>n.includes(s.toLowerCase()))!==-1)return!1}let i=this.defaults.shouldComplete;return typeof i=="function"?await Promise.resolve(i.call(this,e)):!0}async refresh(){let e=this.defaults.refresh;typeof e=="function"&&await Promise.resolve(e.call(this))}async onCompleteDone(e,t){let i=this.defaults.onCompleteDone;typeof i=="function"&&await Promise.resolve(i.call(this,e,t))}async doComplete(e,t){let i=this.defaults.doComplete;return typeof i=="function"?await Promise.resolve(i.call(this,e,t)):null}}});function jme(r,e){let t=e[0];if(!t.textEdit)return null;let i=xt.InsertReplaceEdit.is(t.textEdit)?t.textEdit.replace:t.textEdit.range,{character:n}=i.start;for(let s=1;sp)c=f.slice(p,u.start.character)+c;else{let g=f.slice(u.start.character,p);g.length&&c.startsWith(g)&&(c=c.slice(g.length))}if(p=za(f,h-1),u.end.character>p){let g=f.slice(p,u.end.character);c.endsWith(g)&&(c=c.slice(0,-g.length))}}}else c=o;if(s==xt.InsertTextFormat.Snippet&&c&&c.includes("$")){let f=new Fo().text(c);l=f?I5(f,t):i}else l=I5(c,t)||i;return l||""}function I5(r,e){if(!r)return"";if(!e.length)return r;for(let t=0;t{xt=E(H());Ei();Yu();uv();Vt();yt();Te();Y();Hy=U()("source-language"),Wy=class{constructor(e,t,i,n,s,o,a,l){this.name=e;this.shortcut=t;this.provider=i;this.documentSelector=n;this.triggerCharacters=s;this.allCommitCharacters=o;this.completeConfig=l;this._enabled=!0;this.resolvedIndexes=new Set;this.completeItems=[];this.priority=typeof a=="number"?a:l.priority}get enable(){return this._enabled}toggle(){this._enabled=!this._enabled}shouldCommit(e,t){let i=this.completeItems[e.index];return i?[...this.allCommitCharacters,...i.commitCharacters||[]].includes(t):!1}async doComplete(e,t){let{provider:i,name:n}=this,{triggerCharacter:s,bufnr:o}=e;this.filetype=e.filetype,this.resolvedIndexes.clear(),this.completeItems=[];let a=this.getTriggerKind(e),l=this.getPosition(e),c={triggerKind:a,option:e};a==xt.CompletionTriggerKind.TriggerCharacter&&(c.triggerCharacter=s);let u;try{let y=v.getDocument(o);u=await Promise.resolve(i.provideCompletionItems(y.textDocument,l,t,c))}catch(y){return Hy.error(`Complete "${n}" error:`,y),null}if(!u||t.isCancellationRequested)return null;let f=Array.isArray(u)?u:u.items;if(!f||f.length==0)return null;this.completeItems=f;let d=jme(e.line,f),h=Object.assign({},e),p;d!=null&&(d{let w=this.convertVimCompleteItem(y,this.shortcut,h,p);return w.index=S,w}),b=typeof u.isIncomplete=="boolean"?u.isIncomplete:!1;return{startcol:d,isIncomplete:b,items:g}}async onCompleteResolve(e,t){let{index:i}=e,n=this.completeItems[i];if(!n||this.resolvedIndexes.has(i))return;if(typeof this.provider.resolveCompletionItem=="function"){this.resolvedIndexes.add(i);try{let o=await Promise.resolve(this.provider.resolveCompletionItem(Object.assign({},n),t));!o||t.isCancellationRequested?this.resolvedIndexes.delete(i):o!==n&&Object.assign(n,o)}catch(o){this.resolvedIndexes.delete(i),Hy.error(`Error on complete resolve: ${o.message}`,o.stack)}}if(typeof e.documentation=="undefined"){let{documentation:o,detail:a}=n;if(!o&&!a)return;let l=[];if(a&&!e.detailShown&&a!=e.word&&(a=a.replace(/\n\s*/g," "),a.length)){let c=/^[\w-\s.,\t\n]+$/.test(a);l.push({filetype:c?"txt":this.filetype,content:a})}o&&(typeof o=="string"?l.push({filetype:"markdown",content:o}):o.value&&l.push({filetype:o.kind=="markdown"?"markdown":"txt",content:o.value})),e.documentation=l}}async onCompleteDone(e,t){let i=this.completeItems[e.index];if(!i)return;let n=t.linenr-1;i.insertText!=null&&!i.textEdit&&(i.textEdit={range:xt.Range.create(n,t.col,n,t.colnr-1),newText:i.insertText}),e.line&&Object.assign(t,{line:e.line});try{let s=await this.applyTextEdit(i,e.word,t),{additionalTextEdits:o}=i;if(o&&i.textEdit){let a=xt.InsertReplaceEdit.is(i.textEdit)?i.textEdit.replace:i.textEdit.range;o=o.filter(l=>{let c=xt.InsertReplaceEdit.is(l)?l.replace:l.range;return dg(a,c)?(Hy.error("Filtered overlap additionalTextEdit:",l),!1):!0})}await this.applyAdditionalEdits(o,t.bufnr,s),s&&await vi.selectCurrentPlaceholder(),i.command&&se.has(i.command.command)&&se.execute(i.command)}catch(s){Hy.error("Error on CompleteDone:",s)}}async applyTextEdit(e,t,i){let{nvim:n}=v,{textEdit:s}=e;if(!s)return!1;let{line:o,bufnr:a,linenr:l}=i,c=v.getDocument(a);if(!c)return!1;let u=s.newText,f=xt.InsertReplaceEdit.is(s)?s.replace:s.range,d=e.insertTextFormat===xt.InsertTextFormat.Snippet,h=o.substr(0,f.start.character),p=o.substr(f.end.character);if(d&&this.completeConfig.snippetsSupport===!1&&(d=!1,u=t),d){let y=c.getline(l-1).length-p.length,S=xt.Range.create(l-1,f.start.character,l-1,y);return await vi.insertSnippet(u,!1,S,e.insertTextMode)}let g=`${h}${u}${p}`.split(/\r?\n/);if(g.length==1)await n.call("coc#util#setline",[l,g[0]]),await D.moveTo(xt.Position.create(l-1,(h+u).length));else{await n.createBuffer(a).setLines(g,{start:l-1,end:l,strictIndexing:!1});let y=l-1+g.length-1,S=g[g.length-1].length-p.length;await D.moveTo({line:y,character:S})}return!1}getTriggerKind(e){let{triggerCharacters:t}=this,i=t.includes(e.triggerCharacter),n=xt.CompletionTriggerKind.Invoked;return e.triggerForInComplete?n=xt.CompletionTriggerKind.TriggerForIncompleteCompletions:i&&(n=xt.CompletionTriggerKind.TriggerCharacter),n}async applyAdditionalEdits(e,t,i){if(!e||e.length==0)return;let n=v.getDocument(t);if(!n)return;await n.patchChange(!0);let s=null,o=await D.getCursorPosition();i||(s=$c(o,e)),await n.applyEdits(e),s&&await D.moveTo(xt.Position.create(o.line+s.line,o.character+s.character))}convertVimCompleteItem(e,t,i,n){var g;let{echodocSupport:s,detailMaxLength:o,invalidInsertCharacters:a,detailField:l,labels:c,defaultKindText:u}=this.completeConfig,f=e.additionalTextEdits&&e.additionalTextEdits.length>0,d=e.insertTextFormat===xt.InsertTextFormat.Snippet||f,h=e.label.trim(),p={word:Hme(e,i,a),abbr:h,menu:`[${t}]`,kind:Ume(e.kind,c,u),sortText:e.sortText||null,sourceScore:e.score||null,filterText:e.filterText||h,isSnippet:d,dup:e.data&&e.data.dup==0?0:1};if(n&&(p.filterText.startsWith(n)||e.textEdit&&e.textEdit.newText.startsWith(n)&&(p.filterText=e.textEdit.newText.split(/\r?\n/)[0]),!e.textEdit&&!p.word.startsWith(n)&&(p.word=`${n}${p.word}`)),e&&e.detail&&l!="preview"){let b=e.detail.replace(/\n\s*/g," ");re(b)=2&&e.kind<=4){let b=[e.detail||"",p.abbr,p.word];for(let y of b)if(y.includes("(")){p.signature=y;break}}return e.preselect&&(p.preselect=!0),((g=e.data)==null?void 0:g.optional)&&(p.abbr=p.abbr+"?"),p}getPosition(e){let{line:t,linenr:i,colnr:n}=e,s=zt(t,0,n-1);return{line:i-1,character:s.length}}}});var JWe,zy,L5=R(()=>{Vu();yt();Y();Te();Xu();JWe=U()("sources-source-vim"),zy=class extends cn{async callOptinalFunc(e,t){if(!this.optionalFns.includes(e))return null;let n=`coc#source#${this.name}#${e}`,s;try{s=await this.nvim.call(n,t)}catch(o){return D.showMessage(`Vim error from source ${this.name}: ${o.message}`,"error"),null}return s}async shouldComplete(e){return await super.shouldComplete(e)?this.optionalFns.includes("should_complete")?!!await this.callOptinalFunc("should_complete",[e]):!0:!1}async refresh(){await this.callOptinalFunc("refresh",[])}async onCompleteDone(e,t){!this.optionalFns.includes("on_complete")||await this.callOptinalFunc("on_complete",[e])}onEnter(e){if(!this.optionalFns.includes("on_enter"))return;let t=v.getDocument(e);if(!t)return;let{filetypes:i}=this;i&&!i.includes(t.filetype)||this.callOptinalFunc("on_enter",[{bufnr:e,uri:t.uri,languageId:t.filetype}]).logError()}async doComplete(e,t){let{col:i,input:n,line:s,colnr:o}=e,a=await this.callOptinalFunc("get_startcol",[e]);if(t.isCancellationRequested)return;if(a){if(a<0)return null;a=Number(a),(isNaN(a)||a<0)&&(a=i),a!==i&&(n=zt(s,a,o-1),e=Object.assign({},e,{col:a,changed:i-a,input:n}))}let l=await this.nvim.callAsync("coc#util#do_complete",[this.name,e]);if(!l||l.length==0||t.isCancellationRequested)return null;if(this.firstMatch&&n.length){let u=n[0];l=l.filter(f=>{let d=f.filterText?f.filterText[0]:f.word[0];return ap(u,d)})}l=l.map(u=>{if(typeof u=="string")return{word:u,menu:this.menu,isSnippet:this.isSnippet};let f=u.menu?u.menu+" ":"";return u.menu=`${f}${this.menu}`,u.isSnippet=this.isSnippet,delete u.user_data,u});let c={items:l};return a&&(c.startcol=a),c}}});var F5={};Bn(F5,{default:()=>Vy,regist:()=>Wme});function Wme(r){return r.set("around",new Vy),A5.Disposable.create(()=>{r.delete("around")})}var A5,QWe,Vy,M5=R(()=>{A5=E(H());Xu();Y();QWe=U()("sources-around"),Vy=class extends cn{constructor(){super({name:"around",filepath:__filename})}doComplete(e){let{bufnr:t,input:i}=e;if(i.length===0)return null;let n=v.getDocument(t);if(!n)return null;let s=n.words,o=n.getMoreWords();return s.push(...o),s=this.filterWords(s,e),Promise.resolve({items:s.map(a=>({word:a,menu:this.menu}))})}}});var q5={};Bn(q5,{default:()=>Gy,regist:()=>zme});function zme(r){return r.set("buffer",new Gy),N5.Disposable.create(()=>{r.delete("buffer")})}var N5,i2e,Gy,$5=R(()=>{N5=E(H());Xu();Y();i2e=U()("sources-buffer"),Gy=class extends cn{constructor(){super({name:"buffer",filepath:__filename})}get ignoreGitignore(){return this.getConfig("ignoreGitignore",!0)}getWords(e){let{ignoreGitignore:t}=this,i=[];return v.documents.forEach(n=>{if(n.bufnr!=e&&!(t&&n.isIgnored))for(let s of n.words)i.includes(s)||i.push(s)}),i}doComplete(e){let{bufnr:t,input:i}=e;if(i.length==0)return null;let n=this.getWords(t);return n=this.filterWords(n,e),Promise.resolve({items:n.map(s=>({word:s,menu:this.menu}))})}}});var H5={};Bn(H5,{default:()=>Jy,regist:()=>Kme});function Kme(r){return r.set("file",new Jy),U5.Disposable.create(()=>{r.delete("file")})}var Ky,B5,Ir,j5,U5,Vme,Gme,Jy,W5=R(()=>{Ky=E(require("fs")),B5=E(Do()),Ir=E(require("path")),j5=E(require("util")),U5=E(H());Xu();Nt();yt();Y();Vme=U()("sources-file"),Gme=/(?:\.{0,2}|~|\$HOME|([\w]+)|[a-zA-Z]:|)(\/|\\)(?:[\w.@()-]+(\/|\\))*(?:[\w.@()-])*$/,Jy=class extends cn{constructor(){super({name:"file",filepath:__filename})}resolveEnvVariables(e){let t=e;return t=t.replace(/%([^%]+)%/g,(i,n)=>process.env[n]),t=t.replace(/\$([A-Z_]+[A-Z0-9_]*)|\${([A-Z0-9_]*)}/gi,(i,n,s)=>process.env[n||s]),t}getPathOption(e){let{line:t,colnr:i}=e,n=zt(t,0,i-1);if(n=this.resolveEnvVariables(n),!n||n.endsWith("//"))return null;let s=n.match(Gme);if(s&&s.length){let o=v.expand(s[0]),a=s[0].match(/[^/\\]*$/)[0];return{pathstr:o,part:s[1],startcol:i-a.length-1,input:a}}return null}async getFileItem(e,t){let i=Ir.default.join(e,t),n=await Mt(i);if(n){let s=n.isDirectory()?t+"/":t;return{word:t,abbr:s}}return null}filterFiles(e){let t=this.getConfig("ignoreHidden",!0),i=this.getConfig("ignorePatterns",[]);return e.filter(n=>{if(n==null||t&&n.startsWith("."))return!1;for(let s of i)if((0,B5.default)(n,s,{dot:!0}))return!1;return!0})}async getItemsFromRoot(e,t){let i=[],n=e.endsWith("/")?e:Ir.default.dirname(e),s=Ir.default.isAbsolute(e)?n:Ir.default.join(t,n);try{let o=await Mt(s);if(o&&o.isDirectory()){let a=await j5.default.promisify(Ky.default.readdir)(s);a=this.filterFiles(a);let l=await Promise.all(a.map(c=>this.getFileItem(s,c)));i=i.concat(l)}return i=i.filter(a=>a!=null),i}catch(o){return Vme.error("Error on list files:",o),i}}get trimSameExts(){return this.getConfig("trimSameExts",[])}async doComplete(e){let{col:t,filepath:i}=e,n=this.getPathOption(e);if(!n)return null;let{pathstr:s,part:o,startcol:a,input:l}=n;if(ay.word[0]===b)),{items:p.map(y=>{let S=Ir.default.extname(y.word);return y.word=g&&S===f?y.word.replace(f,""):y.word,{word:`${c}${y.word}`,abbr:`${c}${y.abbr}`,menu:this.menu}})}}}});var t8={};Bn(t8,{Sources:()=>ID,default:()=>ht});var z5,V5,Yy,G5,it,K5,ID,ht,xl=R(()=>{z5=E(jc()),V5=E(require("fs")),Yy=E(require("path")),G5=E(require("util")),it=E(H());_e();ia();En();de();Nt();c_();ri();yt();Te();Y();Xu();O5();L5();K5=U()("sources"),ID=class{constructor(){this.sourceMap=new Map;this.disposables=[];this.remoteSourcePaths=[]}init(){this.loadCompleteConfig(),v.onDidChangeConfiguration(e=>{e.affectsConfiguration("suggest")&&this.loadCompleteConfig()},null,this.disposables),this.createNativeSources(),this.createRemoteSources(),O.on("BufEnter",this.onDocumentEnter,this,this.disposables),v.watchOption("runtimepath",async(e,t)=>{let i=(0,z5.default)(e,t);for(let[n,s]of i)if(n==1){let o=s.replace(/,$/,"").split(",");for(let a of o)a&&await this.createVimSources(a)}},this.disposables)}loadCompleteConfig(){let e=v.getConfiguration("suggest"),t=e.get("completionItemKindLabels",{}),i=new Map([[it.CompletionItemKind.Text,t.text||"v"],[it.CompletionItemKind.Method,t.method||"f"],[it.CompletionItemKind.Function,t.function||"f"],[it.CompletionItemKind.Constructor,typeof t.constructor=="function"?"f":t["constructor"]],[it.CompletionItemKind.Field,t.field||"m"],[it.CompletionItemKind.Variable,t.variable||"v"],[it.CompletionItemKind.Class,t.class||"C"],[it.CompletionItemKind.Interface,t.interface||"I"],[it.CompletionItemKind.Module,t.module||"M"],[it.CompletionItemKind.Property,t.property||"m"],[it.CompletionItemKind.Unit,t.unit||"U"],[it.CompletionItemKind.Value,t.value||"v"],[it.CompletionItemKind.Enum,t.enum||"E"],[it.CompletionItemKind.Keyword,t.keyword||"k"],[it.CompletionItemKind.Snippet,t.snippet||"S"],[it.CompletionItemKind.Color,t.color||"v"],[it.CompletionItemKind.File,t.file||"F"],[it.CompletionItemKind.Reference,t.reference||"r"],[it.CompletionItemKind.Folder,t.folder||"F"],[it.CompletionItemKind.EnumMember,t.enumMember||"m"],[it.CompletionItemKind.Constant,t.constant||"v"],[it.CompletionItemKind.Struct,t.struct||"S"],[it.CompletionItemKind.Event,t.event||"E"],[it.CompletionItemKind.Operator,t.operator||"O"],[it.CompletionItemKind.TypeParameter,t.typeParameter||"T"]]),n=e.get("floatEnable",!0),s=e.get("detailField","preview");s=="preview"&&(!n||!v.floatSupported)&&(s="menu"),this.completeConfig=Object.assign(this.completeConfig||{},{labels:i,floatEnable:n,detailField:s,defaultKindText:t.default||"",priority:e.get("languageSourcePriority",99),echodocSupport:e.get("echodocSupport",!1),snippetsSupport:e.get("snippetsSupport",!0),detailMaxLength:e.get("detailMaxLength",100),invalidInsertCharacters:e.get("invalidInsertCharacters",["(","<","{","[","\r",` +`])})}get nvim(){return v.nvim}createNativeSources(){try{this.disposables.push((M5(),F5).regist(this.sourceMap)),this.disposables.push(($5(),q5).regist(this.sourceMap)),this.disposables.push((W5(),H5).regist(this.sourceMap))}catch(e){console.error("Create source error:"+e.message)}}createLanguageSource(e,t,i,n,s,o,a){let l=new Wy(e,t,n,i,s||[],a||[],o,this.completeConfig);return K5.debug("created service source",e),this.sourceMap.set(e,l),{dispose:()=>{this.sourceMap.delete(e)}}}async createVimSourceExtension(e,t){let i=Yy.default.basename(t,".vim");try{await e.command(`source ${t}`);let n=await e.call("coc#util#remote_fns",i);for(let u of["init","complete"])if(!n.includes(u))return D.showMessage(`${u} not found for source ${i}`,"error"),null;let s=await e.call(`coc#source#${i}#init`,[]),o={name:`coc-source-${i}`,engines:{coc:">= 0.0.1"},activationEvents:s.filetypes?s.filetypes.map(u=>`onLanguage:${u}`):["*"],contributes:{configuration:{properties:{[`coc.source.${i}.enable`]:{type:"boolean",default:!0},[`coc.source.${i}.firstMatch`]:{type:"boolean",default:!!s.firstMatch},[`coc.source.${i}.triggerCharacters`]:{type:"number",default:s.triggerCharacters||[]},[`coc.source.${i}.priority`]:{type:"number",default:s.priority||9},[`coc.source.${i}.shortcut`]:{type:"string",default:s.shortcut||i.slice(0,3).toUpperCase(),description:"Shortcut text shown in complete menu."},[`coc.source.${i}.disableSyntaxes`]:{type:"array",default:[],items:{type:"string"}},[`coc.source.${i}.filetypes`]:{type:"array",default:s.filetypes||null,description:"Enabled filetypes.",items:{type:"string"}}}}}},a=new zy({name:i,filepath:t,sourceType:Vr.Remote,optionalFns:n.filter(u=>!["init","complete"].includes(u))}),l=!1,c={id:o.name,packageJSON:o,exports:void 0,extensionPath:t,activate:()=>(l=!0,this.addSource(a),Promise.resolve())};Object.defineProperty(c,"isActive",{get:()=>l}),we.registerExtension(c,()=>{l=!1,this.removeSource(a)})}catch(n){D.showMessage(`Error on create vim source ${i}: ${n.message}`,"error")}}createRemoteSources(){let{runtimepath:e}=v.env,t=e.split(",");for(let i of t)this.createVimSources(i).logError()}async createVimSources(e){if(this.remoteSourcePaths.includes(e))return;this.remoteSourcePaths.push(e);let t=Yy.default.join(e,"autoload/coc/source"),i=await Mt(t);if(i&&i.isDirectory()){let n=await G5.default.promisify(V5.default.readdir)(t);n=n.filter(o=>o.endsWith(".vim"));let s=n.map(o=>Yy.default.join(t,o));if(s.length==0)return;await Promise.all(s.map(o=>this.createVimSourceExtension(this.nvim,o)))}}get names(){return Array.from(this.sourceMap.keys())}get sources(){return Array.from(this.sourceMap.values())}has(e){return this.names.findIndex(t=>t==e)!=-1}getSource(e){return e&&this.sourceMap.get(e)||null}shouldCommit(e,t){if(!e||!e.source)return!1;let i=this.getSource(e.source);return i&&i.sourceType==Vr.Service&&typeof i.shouldCommit=="function"?i.shouldCommit(e,t):!1}getCompleteSources(e){let{filetype:t}=e,i=zt(e.line,0,e.colnr-1),n=e.input==""&&!!e.triggerCharacter,s=tg(e.filepath,e.bufnr,"",v.env.isCygwin);return n?this.getTriggerSources(i,t,s):this.getNormalSources(e.filetype,s)}getNormalSources(e,t){return this.sources.filter(i=>{let{filetypes:n,triggerOnly:s,documentSelector:o,enable:a}=i;return!(!a||s||n&&!n.includes(e)||o&&Zc(o,t,e)==0||this.disabledByLanguageId(i,e))})}checkTrigger(e,t,i){let{triggerCharacters:n,triggerPatterns:s}=e;return!n&&!s?!1:!!(i&&n&&n.includes(i)||s&&s.findIndex(o=>o.test(t))!==-1)}shouldTrigger(e,t,i){return this.getTriggerSources(e,t,i).length>0}getTriggerSources(e,t,i){let n=e.length?e[e.length-1]:"";return n?this.sources.filter(s=>{let{filetypes:o,enable:a,documentSelector:l}=s;return!a||o&&!o.includes(t)||l&&Zc(l,i,t)==0||this.disabledByLanguageId(s,t)?!1:this.checkTrigger(s,e,n)}):[]}addSource(e){let{name:t}=e;return this.names.includes(t)&&K5.warn(`Recreate source ${t}`),this.sourceMap.set(t,e),it.Disposable.create(()=>{this.sourceMap.delete(t)})}removeSource(e){let t=typeof e=="string"?e:e.name;this.sourceMap.delete(t)}async refresh(e){for(let t of this.sources)(!e||t.name==e)&&typeof t.refresh=="function"&&await Promise.resolve(t.refresh())}toggleSource(e){if(!e)return;let t=this.getSource(e);!t||typeof t.toggle=="function"&&t.toggle()}sourceStats(){let e=[],t=this.sources;for(let i of t)e.push({name:i.name,priority:i.priority,triggerCharacters:i.triggerCharacters||[],shortcut:i.shortcut||"",filetypes:i.filetypes||[],filepath:i.filepath||"",type:i.sourceType==Vr.Native?"native":i.sourceType==Vr.Remote?"remote":"service",disabled:!i.enable});return e}onDocumentEnter(e){let{sources:t}=this;for(let i of t)i.enable&&typeof i.onEnter=="function"&&i.onEnter(e)}createSource(e){if(!e.name||!e.doComplete)throw new Error("name and doComplete required for createSource");let t=new cn(Object.assign({sourceType:Vr.Service},e));return this.addSource(t)}disabledByLanguageId(e,t){let i=v.env.disabledSources;if(GN(i))return!1;let n=i?i[t]:[];return Array.isArray(n)&&n.includes(e.name)}dispose(){G(this.disposables)}},ht=new ID});function J5(r=0,e){for(let t=r;t=65&&r<=90}function X5(r,e){if(r==0)return!0;let t=e[r];if(!op(t))return!1;let i=e[r-1];return!!(!op(i)||Y5(t)&&!Y5(i))}function Z5(r,e){if(e.length==0||r.length=r.length)return 0;let n=[],s=t[0],o=r.length,a=t.length==1;if(!op(s)){for(let u=e;u{Vu()});var Rl,Xy,Jme,Zy,eG=R(()=>{Rl=E(H());Vu();yt();Q5();Xy=U()("completion-complete"),Jme=500,Zy=class{constructor(e,t,i,n,s){this.option=e;this.document=t;this.config=i;this.sources=n;this.nvim=s;this.results=[];this.completing=new Set;this._canceled=!1;this.tokenSources=new Map;this._onDidComplete=new Rl.Emitter;this.onDidComplete=this._onDidComplete.event}get isCompleting(){return this.completing.size>0}get isCanceled(){return this._canceled}get isEmpty(){return this.results.length==0}get startcol(){return this.option.col||0}get input(){return this.option.input}get isIncomplete(){return this.results.findIndex(e=>e.isIncomplete)!==-1}async completeSource(e){let{col:t}=this.option,i=Object.assign({},this.option),n=this.config.timeout;n=Math.max(Math.min(n,15e3),500);try{if(typeof e.shouldComplete=="function"&&!await Promise.resolve(e.shouldComplete(i)))return null;let s=Date.now(),o=this.tokenSources.get(e.name);o&&o.cancel();let a=new Rl.CancellationTokenSource;this.tokenSources.set(e.name,a),await new Promise((l,c)=>{let{name:u}=e,f=setTimeout(()=>{this.nvim.command(`echohl WarningMsg| echom 'source ${e.name} timeout after ${n}ms'|echohl None`,!0),a.cancel()},n),d=!1,h=!1,p=!1,g=setTimeout(()=>{h||(p=!0,l(void 0))},Jme),b=()=>{h||(h=!0,y.dispose(),clearTimeout(g),clearTimeout(f),this.tokenSources.delete(u))},y=a.token.onCancellationRequested(()=>{y.dispose(),this.completing.delete(u),d=!0,b(),Xy.debug(`Source "${u}" cancelled`),l(void 0)});this.completing.add(u),Promise.resolve(e.doComplete(i,a.token)).then(S=>{if(this.completing.delete(u),d)return;b();let w=Date.now()-s;if(Xy.debug(`Source "${u}" takes ${w}ms`),S&&S.items&&S.items.length){if(S.priority=e.priority,S.source=u,p&&S.startcol&&S.startcol!=t)this.results=[S];else{let{results:_}=this,L=_.findIndex($=>$.source==u);L!=-1?_.splice(L,1,S):_.push(S)}p&&this._onDidComplete.fire(),l(void 0)}else{let{results:_}=this;this.results=_.filter(L=>L.source!=u),l(void 0)}},S=>{this.completing.delete(u),b(),c(S)})})}catch(s){this.nvim.command(`echoerr 'Complete ${e.name} error: ${s.message.replace(/'/g,"''")}'`,!0),Xy.error("Complete error:",e.name,s)}}async completeInComplete(e){let{results:t,document:i}=this;t.filter(f=>!f.isIncomplete).forEach(f=>{f.items.forEach(d=>delete d.user_data)});let o=t.filter(f=>f.isIncomplete).map(f=>f.source),{input:a,colnr:l,linenr:c}=this.option;Object.assign(this.option,{input:e,line:i.getline(c-1),colnr:l+(e.length-a.length),triggerCharacter:null,triggerForInComplete:!0});let u=this.sources.filter(f=>o.includes(f.name));return await Promise.all(u.map(f=>this.completeSource(f))),this.filterResults(e,Math.floor(Date.now()/1e3))}filterResults(e,t=0){let{results:i}=this;i.sort((d,h)=>d.source=="tabnine"?1:h.source=="tabnine"?-1:h.priority-d.priority);let{snippetIndicator:n,removeDuplicateItems:s,fixInsertedWord:o,asciiCharactersOnly:a}=this.config,l=!o||t==0?"":this.getFollowPart();if(i.length==0)return[];let c=[],u=Js(e),f=new Set;for(let d=0,h=i.length;d{let p=d.sortText,g=h.sortText,b=d.filterText,y=h.filterText;if(d.score!=h.score)return h.score-d.score;if(d.priority!=h.priority)return h.priority-d.priority;if(p&&g&&p!=g)return p{let{priority:o,source:a}=s,l=o<90,c=n.get(a)||0;return i&&l&&c==i||t&&!l&&c==t?!1:(n.set(a,c+1),!0)})}hasMatch(e){let{results:t}=this;if(!t)return!1;let i=Js(e);for(let n=0,s=t.length;nzu(i,l.filterText||l.word))!==-1)return!0;return!1}async doComplete(){let e=this.option,{line:t,colnr:i,linenr:n,col:s}=this.option;if(this.config.localityBonus){let l=n-1;this.localBonus=this.document.getLocalifyBonus(Rl.Position.create(l,e.col-1),Rl.Position.create(l,i))}else this.localBonus=new Map;await Promise.all(this.sources.map(l=>this.completeSource(l)));let{results:o}=this;if(o.length==0)return[];let a=o.find(l=>l.startcol!=null&&l.startcol!=s);if(a){let{startcol:l}=a;e.col=l,e.input=zt(t,l,i-1),this.results=[a]}return Xy.info(`Results from: ${this.results.map(l=>l.source).join(",")}`),this.filterResults(e.input,Math.floor(Date.now()/1e3))}resolveCompletionItem(e){let{results:t}=this;if(!t)return null;try{if(e.user_data){let{source:i}=JSON.parse(e.user_data);return t.find(s=>s.source==i).items.find(s=>s.user_data==e.user_data)}for(let i of t){let n=i.items.find(s=>s.abbr==e.abbr&&s.info==e.info);if(n)return n}return null}catch(i){return null}}getFollowPart(){let{colnr:e,line:t}=this.option,i=za(t,e-1);return i==t.length?"":t.slice(i-t.length).match(/^\S?[\w-]*/)[0]}dispose(){if(!this._canceled){this._onDidComplete.dispose(),this._canceled=!0;for(let e of this.tokenSources.values())e.cancel();this.tokenSources.clear(),this.sources=[],this.results=[]}}}});var M2e,Qy,tG=R(()=>{v0();M2e=U()("floating"),Qy=class{constructor(e,t){this.nvim=e;this.isVim=t;this.winid=0;this.bufnr=0}async show(e,t,i,n){let{nvim:s}=this;e=e.filter(f=>f.content.trim().length>0);let{lines:o,codes:a,highlights:l}=fg(e,{excludeImages:i.excludeImages});if(o.length==0){this.close();return}let c={codes:a,highlights:l,maxWidth:i.maxWidth||80,pumbounding:t};i.border&&(c.border=[1,1,1,1]),i.highlight&&(c.highlight=i.highlight),i.borderhighlight&&(c.borderhighlight=i.borderhighlight),this.isVim||(typeof i.winblend=="number"&&(c.winblend=i.winblend),c.focusable=i.focusable===!0?1:0,i.shadow&&(c.shadow=1));let u=await s.call("coc#float#create_pum_float",[this.winid,this.bufnr,o,c]);if(this.isVim&&s.command("redraw",!0),!(!u||u.length==0)&&(this.winid=u[0],this.bufnr=u[1],n.isCancellationRequested)){this.close();return}}close(){let{winid:e,nvim:t}=this;this.winid=0,!!e&&(t.call("coc#float#close",[e],!0),this.isVim&&t.command("redraw",!0))}}});var ew,iG,na,Yme,rG,sa,OD=R(()=>{ew=E(H());_e();xl();de();Wr();Y();eG();tG();iG=E(Ui());yt();ri();na=U()("completion"),Yme=["abbr","menu","info","kind","icase","dup","empty","user_data"],rG=class{constructor(){this.activated=!1;this.disposables=[];this.complete=null;this.changedTick=0;this.insertCharTs=0;this.insertLeaveTs=0}init(){this.config=this.getCompleteConfig(),v.onDidChangeConfiguration(t=>{t.affectsConfiguration("suggest")&&(this.config=this.getCompleteConfig())},null,this.disposables),v.watchOption("completeopt",async(t,i)=>{if(v.env.completeOpt=i,!!this.isActivated&&this.config.autoTrigger==="always"){let s=(await this.nvim.call("execute",["verbose set completeopt"])).split(/\r?\n/);console.error(`Some plugin change completeopt during completion: ${s[s.length-1].trim()}!`)}},this.disposables),this.excludeImages=v.getConfiguration("coc.preferences").get("excludeImageLinksInMarkdownDocument"),this.floating=new Qy(v.nvim,v.env.isVim),O.on(["InsertCharPre","MenuPopupChanged","TextChangedI","CursorMovedI","InsertLeave"],()=>{this.triggerTimer&&(clearTimeout(this.triggerTimer),this.triggerTimer=null)},this,this.disposables),O.on("InsertCharPre",this.onInsertCharPre,this,this.disposables),O.on("InsertLeave",this.onInsertLeave,this,this.disposables),O.on("InsertEnter",this.onInsertEnter,this,this.disposables),O.on("TextChangedP",this.onTextChangedP,this,this.disposables),O.on("TextChangedI",this.onTextChangedI,this,this.disposables);let e=(0,iG.default)(this.onPumChange.bind(this),20);this.disposables.push({dispose:()=>{e.clear()}}),O.on("CompleteDone",async t=>{this.popupEvent=null,!!this.activated&&(e.clear(),this.cancelResolve(),this.floating.close(),await this.onCompleteDone(t))},this,this.disposables),this.cancelResolve(),O.on("MenuPopupChanged",t=>{!this.activated||this.isCommandLine||je(this.popupEvent,t)||(this.cancelResolve(),this.popupEvent=t,e())},this,this.disposables)}get nvim(){return v.nvim}get option(){return this.complete?this.complete.option:null}get selectedItem(){if(!this.popupEvent)return null;let{completed_item:e}=this.popupEvent;return ig(e)?e:null}get isCommandLine(){var e;return(e=this.document)==null?void 0:e.uri.endsWith("%5BCommand%20Line%5D")}get isActivated(){return this.activated}get document(){return this.option?v.getDocument(this.option.bufnr):null}getCompleteConfig(){let e=v.getConfiguration("suggest");function t(a,l){return e.get(a,l)}let i=t("keepCompleteopt",!1),n=t("autoTrigger","always");if(i&&n!="none"){let{completeOpt:a}=v;!a.includes("noinsert")&&!a.includes("noselect")&&(n="none")}let s=v.floatSupported&&t("floatEnable",!0),o=v.env.pumevent&&t("acceptSuggestionOnCommitCharacter",!1);return{autoTrigger:n,floatEnable:s,keepCompleteopt:i,floatConfig:t("floatConfig",{}),defaultSortMethod:t("defaultSortMethod","length"),removeDuplicateItems:t("removeDuplicateItems",!1),disableMenuShortcut:t("disableMenuShortcut",!1),acceptSuggestionOnCommitCharacter:o,disableKind:t("disableKind",!1),disableMenu:t("disableMenu",!1),previewIsKeyword:t("previewIsKeyword","@,48-57,_192-255"),enablePreview:t("enablePreview",!1),enablePreselect:t("enablePreselect",!1),triggerCompletionWait:t("triggerCompletionWait",100),labelMaxLength:t("labelMaxLength",200),triggerAfterInsertEnter:t("triggerAfterInsertEnter",!1),noselect:t("noselect",!0),numberSelect:t("numberSelect",!1),maxItemCount:t("maxCompleteItemCount",50),timeout:t("timeout",500),minTriggerInputLength:t("minTriggerInputLength",1),snippetIndicator:t("snippetIndicator","~"),fixInsertedWord:t("fixInsertedWord",!0),localityBonus:t("localityBonus",!0),highPrioritySourceLimit:t("highPrioritySourceLimit",null),lowPrioritySourceLimit:t("lowPrioritySourceLimit",null),asciiCharactersOnly:t("asciiCharactersOnly",!1)}}async startCompletion(e){this.pretext=zt(e.line,0,e.colnr-1);try{await this._doComplete(e)}catch(t){this.stop(),na.error("Complete error:",t.stack)}}async resumeCompletion(e=!1){let{document:t,complete:i}=this;if(!t||i.isCanceled||!i.results||i.results.length==0)return;let n=this.getResumeInput();if(n==this.input&&!e)return;if(!n||n.endsWith(" ")||!n.startsWith(i.input)){this.stop();return}this.input=n;let s=[];if(i.isIncomplete){await t.patchChange(!0);let{changedtick:o}=t;if(s=await i.completeInComplete(n),i.isCanceled||t.changedtick!=o)return}else s=i.filterResults(n);if(!i.isCompleting&&s.length===0){this.stop();return}await this.showCompletion(i.option.col,s)}hasSelected(){return v.env.pumevent?this.selectedItem!=null:!this.config.noselect}async showCompletion(e,t){let{nvim:i,document:n,option:s}=this,{numberSelect:o,disableKind:a,labelMaxLength:l,disableMenuShortcut:c,disableMenu:u}=this.config,f=this.config.enablePreselect?t.findIndex(p=>p.preselect):-1;o&&s.input.length&&!/^\d/.test(s.input)&&(t=t.map((p,g)=>{let b=g+1;return g<9?Object.assign({},p,{abbr:p.abbr?`${b} ${p.abbr}`:`${b} ${p.word}`}):p}),i.call("coc#_map",[],!0)),this.changedTick=n.changedtick;let d=Yme.slice();a&&(d=d.filter(p=>p!="kind")),u&&(d=d.filter(p=>p!="menu"));let h=t.map(p=>{let g={word:p.word,equal:1};for(let b of d)p.hasOwnProperty(b)&&(c&&b=="menu"?g[b]=p[b].replace(/\[.+\]$/,""):b=="abbr"&&p[b].length>l?g[b]=p[b].slice(0,l):g[b]=p[b]);return g});i.call("coc#_do_complete",[e,h,f],!0)}async _doComplete(e){let{source:t}=e,{nvim:i,config:n}=this,s=v.getDocument(e.bufnr);if(!s||!s.attached)return;e.filetype=s.filetype,this.input=e.input;let o=[];if(t==null)o=ht.getCompleteSources(e);else{let c=ht.getSource(t);c&&o.push(c)}if(!o.length||(await s.patchChange(),s.changedtick!=e.changedtick))return;let a=new Zy(e,s,n,o,i);this.start(a);let l=await this.complete.doComplete();if(!a.isCanceled){if(l.length==0&&!a.isCompleting){this.stop();return}a.onDidComplete(async()=>{if(this.selectedItem!=null)return;let c=this.getResumeInput();if(a.isCanceled||c==null)return;let{input:u}=this.option;if(c==u){let f=a.filterResults(c,Math.floor(Date.now()/1e3));await this.showCompletion(e.col,f)}else await this.resumeCompletion()}),l.length&&(this.getResumeInput()==e.input?await this.showCompletion(e.col,l):await this.resumeCompletion(!0))}}async onTextChangedP(e,t){let{option:i,document:n}=this,s=this.pretext=t.pre;if(!i||i.bufnr!=e||t.changedtick==this.changedTick)return;let o=this.latestInsert!=null;if(this.lastInsert=null,t.pre.match(/^\s*/)[0]!==i.line.match(/^\s*/)[0]){na.warn("Complete stopped by indent change."),this.stop(!1);return}!o||!s||(ht.shouldTrigger(s,n.filetype,n.uri)?await this.triggerCompletion(n,s):await this.resumeCompletion())}async onTextChangedI(e,t){let{nvim:i,latestInsertChar:n,option:s}=this,o=this.pretext==t.pre,a=this.pretext=t.pre;this.lastInsert=null;let l=v.getDocument(e);if(!!l){if(!this.activated){if(!n)return;if(ht.getTriggerSources(a,l.filetype,l.uri).length){await this.triggerCompletion(l,this.pretext);return}this.triggerTimer=setTimeout(async()=>{await this.triggerCompletion(l,a)},this.config.triggerCompletionWait);return}if(!(!s||e!=s.bufnr)){if(s.linenr!=t.lnum||s.col>=t.col-1){this.stop();return}if(o&&!n){this.stop(!1);return}if(a&&this.selectedItem&&this.config.acceptSuggestionOnCommitCharacter&&n){let c=this.getCompleteItem(this.selectedItem),u=a[a.length-1];if(ht.shouldCommit(c,u)){let{linenr:f,col:d,line:h,colnr:p}=this.option;this.stop();let{word:g}=c,b=`${h.slice(0,d)}${g}${n}${h.slice(p-1)}`;await i.call("coc#util#setline",[f,b]);let y=d+g.length+2;await i.call("cursor",[f,y]),await l.patchChange();return}}ht.shouldTrigger(a,l.filetype,l.uri)?await this.triggerCompletion(l,a):await this.resumeCompletion()}}}async triggerCompletion(e,t){if(!e||!e.attached){na.warn("Document not attached, suggest disabled.");return}if(!this.shouldTrigger(e,t))return;if(e.getVar("suggest_disable")){na.warn("Suggest disabled by b:coc_suggest_disable");return}await e.patchChange();let[n,s]=await this.nvim.eval('[get(b:,"coc_suggest_disable",0),coc#util#get_complete_option()]');if(n==1){na.warn("Suggest disabled by b:coc_suggest_disable");return}if(s.blacklist&&s.blacklist.includes(s.input)){na.warn("Suggest disabled by b:coc_suggest_blacklist",s.blacklist);return}t.length&&(s.triggerCharacter=t.slice(-1)),na.debug("trigger completion with",s),await this.startCompletion(s)}async onCompleteDone(e){let{document:t,isActivated:i}=this;if(!i||!t||!ig(e))return;let n=Object.assign({},this.option),s=this.getCompleteItem(e);if(this.stop(),!s)return;let o=this.insertCharTs,a=this.insertLeaveTs,l=new ew.CancellationTokenSource;if(await this.doCompleteResolve(s,l.token),l.dispose(),await bt(50),this.insertCharTs!=o||this.insertLeaveTs!=a)return;let[c,u,f]=await this.nvim.eval("[pumvisible(),line('.'),strpart(getline('.'), 0, col('.') - 1)]");c||u!=n.linenr||this.activated||!f.endsWith(s.word)||(await t.patchChange(!0),await this.doCompleteDone(s,n))}async doCompleteResolve(e,t){let i=ht.getSource(e.source);if(i&&typeof i.onCompleteResolve=="function")try{await Promise.resolve(i.onCompleteResolve(e,t))}catch(n){na.error("Error on complete resolve:",n.stack)}}async doCompleteDone(e,t){let i=JSON.parse(e.user_data),n=ht.getSource(i.source);n&&typeof n.onCompleteDone=="function"&&await Promise.resolve(n.onCompleteDone(e,t))}async onInsertLeave(){this.insertLeaveTs=Date.now(),this.stop(!1)}async onInsertEnter(e){if(!this.config.triggerAfterInsertEnter||this.config.autoTrigger!=="always")return;let t=v.getDocument(e);if(!t)return;let i=await this.nvim.eval("strpart(getline('.'), 0, col('.') - 1)");!i||await this.triggerCompletion(t,i)}async onInsertCharPre(e){this.lastInsert={character:e,timestamp:Date.now()},this.insertCharTs=this.lastInsert.timestamp}get latestInsert(){let{lastInsert:e}=this;return!e||Date.now()-e.timestamp>500?null:e}get latestInsertChar(){let{latestInsert:e}=this;return e?e.character:""}shouldTrigger(e,t){let i=this.config.autoTrigger;if(i=="none")return!1;if(ht.shouldTrigger(t,e.filetype,e.uri))return!0;if(i!=="always"||this.isActivated)return!1;let n=t.slice(-1);if(n&&(e.isWord(t.slice(-1))||n.codePointAt(0)>255)){let s=this.config.minTriggerInputLength;return s==1?!0:this.getInput(e,t).length>=s}return!1}async onPumChange(){if(!this.popupEvent)return;let{col:e,row:t,height:i,width:n,scrollbar:s}=this.popupEvent,o={col:e,row:t,height:i,width:n,scrollbar:s},a=this.getCompleteItem(this.selectedItem);if(!a){this.floating.close();return}let l=this.resolveTokenSource=new ew.CancellationTokenSource,{token:c}=l;if(await this.doCompleteResolve(a,c),this.resolveTokenSource==l&&(this.resolveTokenSource=null),l.dispose(),c.isCancellationRequested)return;let u=a.documentation;if(!u&&a.info){let{info:f}=a;u=[{filetype:/^[\w-\s.,\t]+$/.test(f)?"txt":this.document.filetype,content:f}]}if(!u||u.length==0)this.floating.close();else{if(this.config.floatEnable){let f=new ew.CancellationTokenSource;await this.floating.show(u,o,Object.assign({},this.config.floatConfig,{excludeImages:this.excludeImages}),f.token)}this.isActivated||this.floating.close()}}start(e){let{activated:t}=this;this.activated=!0,t&&this.complete.dispose(),this.complete=e,this.config.keepCompleteopt||this.nvim.command(`noa set completeopt=${this.completeOpt}`,!0)}cancelResolve(){this.resolveTokenSource&&(this.resolveTokenSource.cancel(),this.resolveTokenSource=null)}stop(e=!0){let{nvim:t}=this;!this.activated||(this.cancelResolve(),this.floating.close(),this.activated=!1,this.complete&&(this.complete.dispose(),this.complete=null),t.pauseNotification(),e&&t.call("coc#_hide",[],!0),this.config.numberSelect&&t.call("coc#_unmap",[],!0),this.config.keepCompleteopt||t.command(`noa set completeopt=${v.completeOpt}`,!0),t.command("let g:coc#_context = {'start': 0, 'preselect': -1,'candidates': []}",!0),t.resumeNotification(!1,!0))}getInput(e,t){let i="";for(let n=t.length-1;n>=0;n--){let s=n==0?null:t[n-1];if(!s||!e.isWord(s)){i=t.slice(n,t.length);break}}return i}getResumeInput(){let{option:e,pretext:t}=this;if(!e)return null;let i=Buffer.from(t,"utf8");if(i.length{Ys=E(H());Uc();Vt();uv();yt();s3e=U()("snippets-snipet"),LD=class{constructor(e,t,i){this._snippetString=e;this.position=t;this._variableResolver=i;this._parser=new Fo}async init(){let e=this._parser.parse(this._snippetString,!0),{_variableResolver:t}=this;t&&await e.resolveVariables(t),this.tmSnippet=e,this.update()}adjustPosition(e,t){let{line:i,character:n}=this.position;this.position={line:i+t,character:n+e},this.update()}adjustTextEdit(e){let{range:t,newText:i}=e;if(De(this.range.start,t.end)<0||!i.includes(` +`)&&De(t.start,t.end)==0&&De(this.range.start,t.start)==0&&this._placeholders.findIndex(o=>De(o.range.start,t.start)==0)!==-1)return!1;let n=y0(this.range.start,e);return n.line==0&&n.character==0||this.adjustPosition(n.character,n.line),!0}get isPlainText(){return this._placeholders.length>1?!1:this._placeholders.every(e=>e.value=="")}get finalCount(){return this._placeholders.filter(e=>e.isFinalTabstop).length}toString(){return this.tmSnippet.toString()}get range(){let{position:e}=this,t=this.tmSnippet.toString(),n=_i.create("untitled:/1","snippet",0,t).positionAt(t.length),s=n.line==0?e.character+n.character:n.character;return Ys.Range.create(e,Ys.Position.create(e.line+n.line,s))}get firstPlaceholder(){let e=0;for(let t of this._placeholders)t.index!=0&&(e==0||t.indexe)&&(e=t.index);return this.getPlaceholder(e)}getPlaceholderById(e){return this._placeholders.find(t=>t.id==e)}getPlaceholder(e){let t=this._placeholders.filter(n=>n.index==e),i=t.filter(n=>!n.transform);return i.length?i[0]:t[0]}getPrevPlaceholder(e){if(e==0)return this.lastPlaceholder;let t=this.getPlaceholder(e-1);return t||this.getPrevPlaceholder(e-1)}getNextPlaceholder(e){let t=this._placeholders.map(s=>s.index),i=Math.max.apply(null,t);if(e>=i)return this.finalPlaceholder;let n=this.getPlaceholder(e+1);return n||this.getNextPlaceholder(e+1)}get finalPlaceholder(){return this._placeholders.find(e=>e.isFinalTabstop)}getPlaceholderByRange(e){return this._placeholders.find(t=>Cn(e,t.range))}insertSnippet(e,t,i){let{start:n}=e.range,s=Ys.Position.create(i.start.line-n.line,i.start.line==n.line?i.start.character-n.character:i.start.character),o=Ys.Position.create(i.end.line-n.line,i.end.line==n.line?i.end.character-n.character:i.end.character),a=Ys.Range.create(s,o),l=this.tmSnippet.insertSnippet(t,e.id,a);return this.update(),l}updatePlaceholder(e,t){let{range:i}=this,{value:n,id:s,index:o}=e,a=F$(e.range,n,t),l=0;if(!a.includes(` +`)){for(let f of this._placeholders)if(f.index==o&&f.id{let d=e.offset(u),h=n.positionAt(d),p={line:t+h.line,character:h.line==0?i+h.character:h.character},g;if(u instanceof Yn){let w=u.name;l.has(w)?g=l.get(w):(l.set(w,c),g=c,c=c+1)}else g=u.index;let b=u.toString(),y=b.split(/\r?\n/),S={range:Ys.Range.create(p,{line:p.line+y.length-1,character:y.length==1?p.character+b.length:y[y.length-1].length}),transform:u.transform!=null,line:p.line,id:f,index:g,value:b,isVariable:u instanceof Yn,isFinalTabstop:u.index===0};if(Object.defineProperty(S,"snippet",{enumerable:!1}),u instanceof Er&&u.choice){let{options:w}=u.choice;w&&w.length&&(S.choice=w.map(_=>_.value))}return S})}}});var hp,l3e,pp,AD=R(()=>{hp=E(require("path"));Te();l3e=U()("snippets-variable"),pp=class{constructor(){this._variableToValue={};let e=new Date;Object.assign(this._variableToValue,{CURRENT_YEAR:e.getFullYear().toString(),CURRENT_YEAR_SHORT:e.getFullYear().toString().slice(-2),CURRENT_MONTH:(e.getMonth()+1).toString(),CURRENT_DATE:e.getDate().toString(),CURRENT_HOUR:e.getHours().toString(),CURRENT_MINUTE:e.getMinutes().toString(),CURRENT_SECOND:e.getSeconds().toString(),CURRENT_DAY_NAME:e.toLocaleString("en-US",{weekday:"long"}),CURRENT_DAY_NAME_SHORT:e.toLocaleString("en-US",{weekday:"short"}),CURRENT_MONTH_NAME:e.toLocaleString("en-US",{month:"long"}),CURRENT_MONTH_NAME_SHORT:e.toLocaleString("en-US",{month:"short"}),TM_FILENAME:null,TM_FILENAME_BASE:null,TM_DIRECTORY:null,TM_FILEPATH:null,YANK:null,TM_LINE_INDEX:null,TM_LINE_NUMBER:null,TM_CURRENT_LINE:null,TM_CURRENT_WORD:null,TM_SELECTED_TEXT:null,CLIPBOARD:null})}async resolveValue(e){let{nvim:t}=D;if(["TM_FILENAME","TM_FILENAME_BASE","TM_DIRECTORY","TM_FILEPATH"].includes(e)){let i=await t.eval('expand("%:p")');if(e=="TM_FILENAME")return hp.default.basename(i);if(e=="TM_FILENAME_BASE")return hp.default.basename(i,hp.default.extname(i));if(e=="TM_DIRECTORY")return hp.default.dirname(i);if(e=="TM_FILEPATH")return i}if(e=="YANK")return await t.call("getreg",['""']);if(e=="TM_LINE_INDEX")return(await t.call("line",["."])-1).toString();if(e=="TM_LINE_NUMBER")return(await t.call("line",["."])).toString();if(e=="TM_CURRENT_LINE")return await t.call("getline",["."]);if(e=="TM_CURRENT_WORD")return await t.eval("expand('')");if(e=="TM_SELECTED_TEXT")return await t.eval("get(g:,'coc_selected_text', '')");if(e=="CLIPBOARD")return await t.eval("@*")}async resolve(e){let t=e.name,i=this._variableToValue[t];if(i!=null)return i.toString();let n=await this.resolveValue(t);return n||(e.children&&e.children.length?e.toString():this._variableToValue.hasOwnProperty(t)?"":t)}}});function sG(r){let{range:e,newText:t}=r;return e.start.line==e.end.line&&t.indexOf(` +`)==-1}var oG=R(()=>{});function Xme(r,e,t){let i=r.split(/\r?\n/),n=t.insertSpaces?" ".repeat(t.tabSize):" ",s=t.tabSize||2;return i=i.map((o,a)=>{let l=o.match(/^\s*/)[0],c=l,u=l.startsWith(" ");return u&&t.insertSpaces?c=n.repeat(l.length):!u&&!t.insertSpaces&&(c=n.repeat(l.length/s)),(a==0||o.length==0?"":e)+c+o.slice(l.length)}),i.join(` +`)}var Xs,Zu,FD,aG=R(()=>{Xs=E(H());OD();Vt();yt();Y();Te();_e();nG();AD();oG();Zu=U()("snippets-session"),FD=class{constructor(e,t){this.nvim=e;this.bufnr=t;this._isActive=!1;this._currId=0;this.applying=!1;this.preferComplete=!1;this._snippet=null;this._onCancelEvent=new Xs.Emitter;this.onCancel=this._onCancelEvent.event;let i=v.getConfiguration("suggest");this.preferComplete=i.get("preferCompleteThanJumpPlaceholder",!1)}async start(e,t=!0,i,n){let{document:s}=this;if(!s||!s.attached)return!1;if(O.fire("InsertSnippet",[]),!i){let p=await D.getCursorPosition();i=Xs.Range.create(p,p)}let o=i.start,a=await v.getFormatOptions(this.document.uri);await s.patchChange(!0);let l=s.getline(o.line),c=l.match(/^\s*/)[0],u="";n===Xs.InsertTextMode.asIs?u=e:u=Xme(e,c,a);let f=new pp,d=new LD(u,o,f);await d.init();let h=Xs.TextEdit.replace(i,d.toString());if(e.endsWith(` +`)&&l.slice(o.character).length&&(h.newText=h.newText+c,u=u+c),this.applying=!0,await s.applyEdits([h]),this.applying=!1,this._isActive){let p=this.findPlaceholder(i);if(p&&!p.isFinalTabstop){let g=this.snippet.insertSnippet(p,u,i),b=this.snippet.getPlaceholder(g);return this._currId=b.id,t&&await this.selectPlaceholder(b),!0}}if(d.isPlainText){this.deactivate();let p=d.finalPlaceholder;return await D.moveTo(p.range.start),!1}return this._snippet=d,this._currId=d.firstPlaceholder.id,t&&await this.selectPlaceholder(d.firstPlaceholder),this.activate(),!0}activate(){this._isActive||(this._isActive=!0,this.nvim.call("coc#snippet#enable",[],!0))}deactivate(){this._isActive&&(this._isActive=!1,this._snippet=null,this.nvim.call("coc#snippet#disable",[],!0),Zu.debug("[SnippetManager::cancel]")),this._onCancelEvent.fire(void 0),this._onCancelEvent.dispose()}get isActive(){return this._isActive}async nextPlaceholder(){if(!this.isActive)return;await this.document.patchChange();let e=this.placeholder,t=this.snippet.getNextPlaceholder(e.index);await this.selectPlaceholder(t)}async previousPlaceholder(){if(!this.isActive)return;await this.document.patchChange();let e=this.placeholder,t=this.snippet.getPrevPlaceholder(e.index);await this.selectPlaceholder(t)}async synchronizeUpdatedPlaceholders(e,t){if(!this.isActive||!this.document||this.applying)return;let i={range:e.range,newText:e.text},{snippet:n}=this;if(n.adjustTextEdit(i))return;let o=this.placeholder.range;if(t!=null&&sG(i)&&!Cn(i.range,o)&&b0(o)&&t.slice(o.start.character,o.end.character)==this.placeholder.value&&O.cursor&&O.cursor.bufnr==this.bufnr&&O.cursor.lnum==i.range.start.line+1){let u=O.cursor.col,f=t.slice(0,o.start.character),d=t.slice(o.end.character),h=this.document.getline(i.range.start.line);if(h.startsWith(f)&&h.endsWith(d)){let p=h.length-d.length,g=za(h,u-1);if(g>=f.length&&g<=p){let b=h.slice(f.length,p);i=Xs.TextEdit.replace(o,b)}}}if(De(i.range.start,n.range.end)>0){if(!i.newText)return;Zu.info("Content change after snippet, cancelling snippet session"),this.deactivate();return}let a=this.findPlaceholder(i.range);if(!a){Zu.info("Change outside placeholder, cancelling snippet session"),this.deactivate();return}if(a.isFinalTabstop&&n.finalCount<=1){Zu.info("Change final placeholder, cancelling snippet session"),this.deactivate();return}this._currId=a.id;let{edits:l,delta:c}=n.updatePlaceholder(a,i);!l.length||(this.applying=!0,await this.document.applyEdits(l),this.applying=!1,c&&await this.nvim.call("coc#cursor#move_by_col",c))}async selectCurrentPlaceholder(e=!0){let t=this.snippet.getPlaceholderById(this._currId);t&&await this.selectPlaceholder(t,e)}async selectPlaceholder(e,t=!0){let{nvim:i,document:n}=this;if(!n||!e)return;let{start:s,end:o}=e.range,a=o.character-s.character,l=re(n.getline(s.line).slice(0,s.character))+1;this._currId=e.id,e.choice?(await i.call("coc#snippet#show_choices",[s.line+1,l,a,e.choice]),t&&i.call("coc#util#do_autocmd",["CocJumpPlaceholder"],!0)):await this.select(e,t)}async select(e,t=!0){let{range:i,value:n,isFinalTabstop:s}=e,{document:o,nvim:a}=this,{start:l,end:c}=i,{textDocument:u}=o,f=u.offsetAt(c)-u.offsetAt(l),d=o.getline(l.line),h=d?re(d.slice(0,l.character)):0,p=o.getline(c.line),g=p?re(p.slice(0,c.character)):0;a.setVar("coc_last_placeholder",{bufnr:o.bufnr,current_text:n,start:{line:l.line,col:h,character:l.character},end:{line:c.line,col:g,character:c.character}},!0);let[b,y,S,w]=await a.eval("[&virtualedit, &selection, pumvisible(), mode()]"),_="";if(S&&this.preferComplete){let L=sa.hasSelected()?"":"\\";await a.eval(`feedkeys("${L}\\", 'in')`);return}w!="n"&&(_+="\\"),f==0?h==0||!w.startsWith("i")&&h`),w=="i"&&_=="\\a"&&(_=""),a.pauseNotification(),a.setOption("virtualedit","onemore",!0),a.call("cursor",[l.line+1,h+(_=="a"?0:1)],!0),_&&a.call("eval",[`feedkeys("${_}", 'in')`],!0),w=="i"&&a.call("coc#_cancel",[],!0),a.setOption("virtualedit",b,!0),s&&(this.snippet.finalCount==1?(Zu.info("Jump to final placeholder, cancelling snippet session"),this.deactivate()):a.call("coc#snippet#disable",[],!0)),v.env.isVim&&a.command("redraw",!0),await a.resumeNotification(),t&&a.call("coc#util#do_autocmd",["CocJumpPlaceholder"],!0)}async getVirtualCol(e,t){let{nvim:i}=this;return await i.eval(`virtcol([${e}, ${t}])`)}async checkPosition(){if(!this.isActive)return;let e=await D.getCursorPosition();this.snippet&&Ft(e,this.snippet.range)!=0&&(Zu.info("Cursor insert out of range, cancelling snippet session"),this.deactivate())}findPlaceholder(e){if(!this.snippet)return null;let{placeholder:t}=this;return t&&Cn(e,t.range)?t:this.snippet.getPlaceholderByRange(e)||null}get placeholder(){return this.snippet?this.snippet.getPlaceholderById(this._currId):null}get snippet(){return this._snippet}get document(){return v.getDocument(this.bufnr)}}});var I3e,lG,vi,Yu=R(()=>{_e();Y();Te();uv();aG();AD();PD();I3e=U()("snippets-manager"),lG=class{constructor(){this.sessionMap=new Map;this.disposables=[];v.onDidChangeTextDocument(async e=>{let t=this.getSession(e.bufnr);if(t){let i=e.originalLines[e.contentChanges[0].range.start.line]||"";await t.synchronizeUpdatedPlaceholders(e.contentChanges[0],i)}},null,this.disposables),v.onDidCloseTextDocument(e=>{let t=v.getDocument(e.uri);if(!t)return;let i=this.getSession(t.bufnr);i&&i.deactivate()},null,this.disposables),O.on("BufEnter",async e=>{let t=this.getSession(e);!this.statusItem||(t&&t.isActive?this.statusItem.show():this.statusItem.hide())},null,this.disposables),O.on("InsertEnter",async()=>{let{session:e}=this;!e||await e.checkPosition()},null,this.disposables)}init(){let e=v.getConfiguration("coc.preferences");this.statusItem=D.createStatusBarItem(0),this.statusItem.text=e.get("snippetStatusText","SNIP")}async insertSnippet(e,t=!0,i,n){let{bufnr:s}=v,o=this.getSession(s);o||(o=new FD(v.nvim,s),this.sessionMap.set(s,o),o.onCancel(()=>{this.sessionMap.delete(s),v.bufnr==s&&this.statusItem.hide()}));let a=Nn.isSnippetString(e)?e.value:e,l=await o.start(a,t,i,n);return l&&this.statusItem.show(),l}async selectCurrentPlaceholder(e=!0){let{session:t}=this;if(t)return await t.selectCurrentPlaceholder(e)}async nextPlaceholder(){let{session:e}=this;return e?await e.nextPlaceholder():(v.nvim.call("coc#snippet#disable",[],!0),this.statusItem.hide()),""}async previousPlaceholder(){let{session:e}=this;return e?await e.previousPlaceholder():(v.nvim.call("coc#snippet#disable",[],!0),this.statusItem.hide()),""}cancel(){let e=this.getSession(v.bufnr);if(e)return e.deactivate();v.nvim.call("coc#snippet#disable",[],!0),this.statusItem&&this.statusItem.hide()}get session(){let e=this.getSession(v.bufnr);return e&&e.isActive?e:null}isActived(e){let t=this.getSession(e);return!!(t&&t.isActive)}jumpable(){let{session:e}=this;if(!e)return!1;let t=e.placeholder;return!!(t&&!t.isFinalTabstop)}getSession(e){return this.sessionMap.get(e)}async resolveSnippet(e){let i=new Fo().parse(e,!0),n=new pp;return await i.resolveVariables(n),i}dispose(){this.cancel();for(let e of this.disposables)e.dispose()}},vi=new lG});var tw,z3e,cG,uG,se,Ei=R(()=>{tw=E(H());qe();Xa();Yu();de();Y();Te();z3e=U()("commands"),cG=class{constructor(e,t,i,n=!1){this.id=e;this.impl=t;this.thisArg=i;this.internal=n}execute(...e){let{impl:t,thisArg:i}=this;return t.apply(i,e||[])}dispose(){this.thisArg=null,this.impl=null}},uG=class{constructor(){this.commands=new Map;this.titles=new Map;this.onCommandList=[]}init(e,t){this.mru=v.createMru("commands"),this.register({id:"vscode.open",execute:async i=>{e.call("coc#util#open_url",i.toString(),!0)}},!0),this.register({id:"workbench.action.reloadWindow",execute:async()=>{await e.command("edit")}},!0),this.register({id:"editor.action.insertSnippet",execute:async i=>(e.call("coc#_cancel",[],!0),await vi.insertSnippet(i.newText,!0,i.range))},!0),this.register({id:"editor.action.doCodeAction",execute:async i=>{await t.cocAction("doCodeAction",i)}},!0),this.register({id:"editor.action.triggerSuggest",execute:async()=>{await bt(60),e.call("coc#start",[],!0)}},!0),this.register({id:"editor.action.triggerParameterHints",execute:async()=>{await bt(60),await t.cocAction("showSignatureHelp")}},!0),this.register({id:"editor.action.addRanges",execute:async i=>{await t.cocAction("addRanges",i)}},!0),this.register({id:"editor.action.restart",execute:async()=>{await bt(30),e.command("CocRestart",!0)}},!0),this.register({id:"editor.action.showReferences",execute:async(i,n,s)=>{await v.showLocations(s)}},!0),this.register({id:"editor.action.rename",execute:async(i,n)=>{await v.jumpTo(i,n),await t.cocAction("rename")}},!0),this.register({id:"editor.action.format",execute:async()=>{await t.cocAction("format")}},!0),this.register({id:"workspace.clearWatchman",execute:async()=>{(await D.runTerminalCommand("watchman watch-del-all")).success&&D.showMessage("Cleared watchman watching directories.")}},!1,"run watch-del-all for watchman to free up memory."),this.register({id:"workspace.workspaceFolders",execute:async()=>{let n=v.workspaceFolders.map(s=>B.parse(s.uri).fsPath);await D.echoLines(n)}},!1,"show opened workspaceFolders."),this.register({id:"workspace.renameCurrentFile",execute:async()=>{await v.renameCurrent()}},!1,"change current filename to a new name and reload it."),this.register({id:"extensions.toggleAutoUpdate",execute:async()=>{let i=v.getConfiguration("coc.preferences");i.get("extensionUpdateCheck","daily")=="never"?(i.update("extensionUpdateCheck","daily",!0),D.showMessage("Extension auto update enabled.","more")):(i.update("extensionUpdateCheck","never",!0),D.showMessage("Extension auto update disabled.","more"))}},!1,"toggle auto update of extensions."),this.register({id:"workspace.diagnosticRelated",execute:()=>Lt.jumpRelated()},!1,"jump to related locations of current diagnostic."),this.register({id:"workspace.showOutput",execute:async i=>{if(i)D.showOutputChannel(i);else{let n=v.channelNames;if(n.length==0)return;if(n.length==1)D.showOutputChannel(n[0]);else{let s=await D.showQuickpick(n);if(s==-1)return;let o=n[s];D.showOutputChannel(o)}}}},!1,"open output buffer to show output from languageservers or extensions."),this.register({id:"document.showIncomingCalls",execute:async()=>{await t.cocAction("showIncomingCalls")}},!1,"show incoming calls in tree view."),this.register({id:"document.showOutgoingCalls",execute:async()=>{await t.cocAction("showOutgoingCalls")}},!1,"show outgoing calls in tree view."),this.register({id:"document.echoFiletype",execute:async()=>{let i=await e.call("bufnr","%"),n=v.getDocument(i);!n||await D.echoLines([n.filetype])}},!1,"echo the mapped filetype of the current buffer"),this.register({id:"document.renameCurrentWord",execute:async()=>{let i=await e.call("bufnr","%"),n=v.getDocument(i);if(!n)return;let s=await t.cocAction("getWordEdit");if(!s){D.showMessage("Invalid position","warning");return}let o=[],{changes:a,documentChanges:l}=s;if(a){let c=a[n.uri];c&&(o=c.map(u=>u.range))}else if(l)for(let c of l)tw.TextDocumentEdit.is(c)&&c.textDocument.uri==n.uri&&(o=c.edits.map(u=>u.range));o.length&&await t.cocAction("addRanges",o)}},!1,"rename word under cursor in current buffer by use multiple cursors."),this.register({id:"document.jumpToNextSymbol",execute:async()=>{let i=await v.document;if(!i)return;let n=await t.cocAction("symbolRanges");if(!n)return;let{textDocument:s}=i,o=await D.getOffset();n.sort((a,l)=>a.start.line!=l.start.line?a.start.line-l.start.line:a.start.character-l.start.character);for(let a=0;a<=n.length-1;a++)if(s.offsetAt(n[a].start)>o){await D.moveTo(n[a].start);return}await D.moveTo(n[0].start)}},!1,"Jump to next symbol highlight position."),this.register({id:"workspace.openLocation",execute:async(i,n,s)=>{i&&await e.call("win_gotoid",[i]),await v.jumpTo(n.uri,n.range.start,s)}},!0),this.register({id:"document.jumpToPrevSymbol",execute:async()=>{let i=await v.document;if(!i)return;let n=await t.cocAction("symbolRanges");if(!n)return;let{textDocument:s}=i,o=await D.getOffset();n.sort((a,l)=>a.start.line!=l.start.line?a.start.line-l.start.line:a.start.character-l.start.character);for(let a=n.length-1;a>=0;a--)if(s.offsetAt(n[a].end){this.commands.delete(e)})}executeCommand(e,...t){let i=this.commands.get(e);if(!i)throw new Error(`Command: ${e} not found`);return Promise.resolve(i.execute.apply(i,t))}async addRecent(e){await this.mru.add(e),await v.nvim.command('silent! call repeat#set("\\(coc-command-repeat)", -1)')}async repeatCommand(){let t=(await this.mru.load())[0];t&&(await this.executeCommand(t),await v.nvim.command('silent! call repeat#set("\\(coc-command-repeat)", -1)'))}},se=new uG});var Y3e,mp,fG=R(()=>{Ps();Vt();Y3e=U()("cursors-range"),mp=class{constructor(e,t,i,n,s){this.line=e;this.start=t;this.end=i;this.text=n;this.preCount=s;this.currStart=t,this.currEnd=i}add(e,t){let{text:i,preCount:n}=this,s=e==0?"":i.slice(0,e),o=i.slice(e);this.text=`${s}${t}${o}`,this.currStart=this.currStart+n*t.length,this.currEnd=this.currEnd+(n+1)*t.length}replace(e,t,i=""){let{text:n,preCount:s}=this,o=e==0?"":n.slice(0,e),a=n.slice(t);this.text=o+i+a;let l=t-e-i.length;this.currStart=this.currStart-s*l,this.currEnd=this.currEnd-(s+1)*l}get range(){return Ae.create(this.line,this.start,this.line,this.end)}get currRange(){return Ae.create(this.line,this.currStart,this.line,this.currEnd)}applyEdit(e){let{range:t,newText:i}=e,n=t.start.character,s=t.end.character;n==s?this.add(n-this.currStart,i):this.replace(n-this.currStart,s-this.currStart,i)}adjustFromEdit(e){let{range:t,newText:i}=e;if(De(t.start,Sr.create(this.line,this.currEnd))>0)return;let n=i.split(` +`),s=n.length-(t.end.line-t.start.line+1);if(this.line=this.line+s,t.end.line==this.line){let o=t.start.line==t.end.line?t.end.character-t.start.character:t.end.character;n.length>1&&t.start.line==t.end.line&&(o=o+t.start.character);let a=0;n.length>1?a=n[n.length-1].length:t.start.line==t.end.line?a=i.length:a=t.start.character+i.length;let l=a-o;for(let c of["start","end","currStart","currEnd"])this[c]+=l}}sync(){this.start=this.currStart,this.end=this.currEnd}get textEdit(){return{range:this.range,newText:this.text}}}});function MD(r,e){let t=[];for(let i=e.start.line;i<=e.end.line;i++){let n=r.getline(i)||"",s=i==e.start.line?e.start.character:0,o=i==e.end.line?e.end.character:n.length;s!=o&&t.push(gp.Range.create(i,s,i,o))}return t}function dG(r,e){let{start:t,end:i}=e;t.line>i.line&&([t,i]=[i,t]);let n=t.character{gp=E(H())});var Qu,ef,uze,iw,pG=R(()=>{Qu=E(jc()),ef=E(H());Uc();_e();Vt();Te();Y();fG();qD();uze=U()("cursors-session"),iw=class{constructor(e,t,i){this.nvim=e;this.doc=t;this.config=i;this._onDidCancel=new ef.Emitter;this.onDidCancel=this._onDidCancel.event;this.disposables=[];this.ranges=[];this.activated=!0;this.changing=!1;this.changed=!1;this.textDocument=this.doc.textDocument,this.buffer.setVar("coc_cursors_activated",1,!0);let{cancelKey:n,nextKey:s,previousKey:o}=this.config;this.disposables.push(v.registerLocalKeymap("n",n,()=>{this.cancel()},!0)),this.disposables.push(v.registerLocalKeymap("n",s,async()=>{if(!this.activated)return;let a=this.ranges.map(c=>c.currRange),l=await D.getCursorPosition();for(let c of a)if(De(c.start,l)>0){await D.moveTo(c.start);return}a.length&&await D.moveTo(a[0].start)},!0)),this.disposables.push(v.registerLocalKeymap("n",o,async()=>{if(!this.activated)return;let a=this.ranges.map(c=>c.currRange);a.reverse();let l=await D.getCursorPosition();for(let c of a)if(De(c.end,l)<0){await D.moveTo(c.start);return}a.length&&await D.moveTo(a[a.length-1].start)},!0)),this.doc.onDocumentChange(this.onChange,this,this.disposables)}async onChange(e){if(!this.activated||this.ranges.length==0||this.changing)return;let t=e.contentChanges[0],{text:i,range:n}=t,s=this.ranges.some(l=>qc(n,l.currRange)),o=this.ranges[0].currRange.start;if(i.endsWith(` +`)&&De(o,n.end)==0&&(s=!1),!s){this.ranges.forEach(l=>{l.adjustFromEdit({range:n,newText:i})}),this.doHighlights(),this.textDocument=this.doc.textDocument;return}this.changed=!0;let a=this.getTextRange(n,i);a?await this.applySingleEdit(a,{range:n,newText:i}):(this.applyComposedEdit(e.original,{range:n,newText:i}),this.activated&&(this.ranges.forEach(l=>{l.sync()}),this.textDocument=this.doc.textDocument))}doHighlights(){let{nvim:e,buffer:t,ranges:i}=this;t.clearNamespace("cursors");let n=i.map(s=>s.currRange);t.highlightRanges("cursors","CocCursorRange",n),e.command("redraw",!0)}addRanges(e){let{nvim:t,doc:i}=this;if(this.changed)return D.showMessage("Can't add ranges after range change."),!1;this.ranges=this.ranges.filter(a=>{let{currRange:l}=a;return!e.some(c=>dg(c,l))});let{textDocument:n}=i;for(let a of e){let{line:l}=a.start,c=new mp(l,a.start.character,a.end.character,n.getText(a),0);this.ranges.push(c)}this.ranges.sort((a,l)=>De(a.range.start,l.range.start));let s=0,o=-1;for(let a of this.ranges){let{line:l}=a;l!=o&&(s=0),a.preCount=s,s=s+1,o=l}return t.pauseNotification(),this.doHighlights(),t.resumeNotification(!1,!0),!0}cancel(){if(!this.activated)return;let{nvim:e}=this;this.activated=!1;let{cancelKey:t,nextKey:i,previousKey:n}=this.config;e.pauseNotification(),this.buffer.clearNamespace("cursors"),this.buffer.setVar("coc_cursors_activated",0,!0),e.command("redraw",!0),e.resumeNotification(!1,!0),this._onDidCancel.fire()}dispose(){if(!!this.doc){this._onDidCancel.dispose();for(let e of this.disposables)e.dispose();this.ranges=[],this.doc=null,this.textDocument=null}}get buffer(){return this.nvim.createBuffer(this.doc.bufnr)}getTextRange(e,t){let{ranges:i}=this;if(t.indexOf(` +`)!==-1||e.start.line!=e.end.line)return null;i.sort((n,s)=>n.line!=s.line?n.line-s.line:n.currRange.start.character-s.currRange.start.character);for(let n=0;n{o.add(o.text.length,i)});else{let o=t.start.character-e.currRange.start.character;n.forEach(a=>{a.add(Math.min(a.text.length,o),i)})}else{let s=t.end.character-t.start.character;if(e.currRange.end.character==t.end.character)if(e.currRange.start.character==t.start.character)if(i.includes(e.text)){let a=i.indexOf(e.text),l=a==0?"":i.slice(0,a),c=i.slice(a+e.text.length);l&&n.forEach(u=>u.add(0,l)),c&&n.forEach(u=>u.add(u.text.length,c))}else if(e.text.includes(i)){let a=e.text.indexOf(i),l=e.text.length-(a+i.length);a!=0&&n.forEach(c=>c.replace(0,a)),l>0&&n.forEach(c=>c.replace(c.text.length-l,c.text.length))}else this.cancel();else n.forEach(a=>{let l=a.text.length;a.replace(Math.max(0,l-s),l,i)});else{let a=t.start.character-e.currRange.start.character;n.forEach(l=>{let c=l.text.length;l.replace(a,Math.min(a+s,c),i)})}}}addRange(e,t){if(this.changed){D.showMessage("Can't add range after range change.");return}let{ranges:i}=this,n=i.findIndex(s=>qc(s.range,e));if(n!==-1){i.splice(n,1);for(let s of i)s.line==e.start.line&&s.start>e.start.character&&(s.preCount=s.preCount-1)}else{let s=0,o=0,{line:a}=e.start;for(let c of i){if(c.line>a||c.line==a&&c.start>e.end.character)break;c.line==a&&s++,o++}let l=new mp(a,e.start.character,e.end.character,t,s);i.splice(o,0,l);for(let c of i)c.line==e.start.line&&c.start>e.start.character&&(c.preCount=c.preCount+1)}this.ranges.length==0?this.cancel():this.doHighlights()}async applySingleEdit(e,t){let{range:i,newText:n}=t,{doc:s}=this;if(this.adjustRanges(e,i,n),this.ranges.length==1){this.doHighlights();return}let o=this.ranges.map(h=>h.textEdit),l=_i.applyEdits(this.textDocument,o).split(` +`),c=new Set,u=[];for(let h of this.ranges)c.has(h.line)||(c.add(h.line),u.push([h.line,l[h.line]]));let{nvim:f}=this;this.changing=!0,await s.changeLines(u),this.changing=!1,this.activated&&(this.ranges.forEach(h=>{h.sync()}),this.textDocument=this.doc.textDocument),f.pauseNotification();let{cursor:d}=O;if(e.preCount>0&&d.bufnr==s.bufnr&&e.line+1==d.lnum){let h=e.preCount*(n.length-(i.end.character-i.start.character));f.call("cursor",[d.lnum,d.col+h],!0)}this.doHighlights(),f.resumeNotification(!1,!0)}applyComposedEdit(e,t){let{range:i,newText:n}=t,{ranges:s}=this,o=_i.create("file:///1","",0,e),a=[],l=(0,Qu.default)(e,n),c=0;for(let u=0;uu.newText.includes(` +`)||u.range.start.line!=u.range.end.line)){this.cancel();return}if(a.length==s.length){let u;for(let f=0;f{Ps();_e();Vt();Te();Y();pG();qD();yze=U()("cursors"),rw=class{constructor(e){this.nvim=e;this.sessionsMap=new Map;this.disposables=[];this.loadConfig(),v.onDidChangeConfiguration(t=>{t.affectsConfiguration("cursors")&&this.loadConfig()},null,this.disposables),O.on("BufUnload",t=>{let i=this.getSession(t);!i||(i.dispose(),this.sessionsMap.delete(t))},null,this.disposables)}loadConfig(){let e=v.getConfiguration("cursors");this.config={nextKey:e.get("nextKey",""),previousKey:e.get("previousKey",""),cancelKey:e.get("cancelKey","")}}getSession(e){return this.sessionsMap.get(e)}async isActivated(){let e=await this.nvim.call("bufnr",["%"]);return this.sessionsMap.get(e)!=null}async select(e,t,i){let n=v.getDocument(e);if(!n||!n.attached){D.showMessage(`buffer ${e} not attached.`);return}let{nvim:s}=this,o=this.createSession(n),a=await D.getCursorPosition(),l;if(t=="operator"){await s.command(`normal! ${i=="line"?"'[":"`["}`);let c=await D.getCursorPosition();await s.command(`normal! ${i=="line"?"']":"`]"}`);let u=await D.getCursorPosition();await D.moveTo(a);let f=De(c,u);if(f==0)return;f>=0&&([c,u]=[u,c]);let d=n.getline(u.line);u.character=c.length?l=Ae.create(a.line,c.length-1,a.line,c.length):l=Ae.create(a.line,a.character,a.line,a.character+1),o.addRange(l,c.slice(l.start.character,l.end.character))}else if(t=="range"){await s.call("eval",'feedkeys("\\", "in")');let c=await v.getSelectedRange(i,n);if(!c||De(c.start,c.end)==0)return;let u=i==""?dG(n,c):MD(n,c);for(let f of u){let d=n.textDocument.getText(f);o.addRange(f,d)}}else{D.showMessage(`${t} not supported`,"error");return}(t=="word"||t=="position")&&await s.command(`silent! call repeat#set("\\(coc-cursors-${t})", -1)`)}createSession(e){let t=this.getSession(e.bufnr);return t||(t=new iw(this.nvim,e,this.config),this.sessionsMap.set(e.bufnr,t),t.onDidCancel(()=>{t.dispose(),this.sessionsMap.delete(e.bufnr)}),t)}async addRanges(e){let{nvim:t}=this,i=await t.call("bufnr",["%"]),n=v.getDocument(i);return!n||!n.attached?(D.showMessage("Document not attached","error"),!1):this.createSession(n).addRanges(e)}reset(){for(let e of this.sessionsMap.values())e.cancel();this.sessionsMap.clear()}dispose(){for(let e of this.sessionsMap.values())e.dispose();this.sessionsMap.clear();for(let e of this.disposables)e.dispose()}}});var tf,Rze,nw,gG=R(()=>{Xa();tf=E(H());Ei();Y();Te();Re();Rze=U()("handler-codeActions"),nw=class{constructor(e,t){this.nvim=e;this.handler=t;t.addDisposable(se.registerCommand("editor.action.organizeImport",async i=>{await this.organizeImport(i)})),se.titles.set("editor.action.organizeImport","run organize import code action.")}async codeActionRange(e,t,i){let{doc:n}=await this.handler.getCurrentState();await n.synchronize();let s=n.getline(t-1),o=tf.Range.create(e-1,0,t-1,s.length),a=await this.getCodeActions(n,o,i?[i]:null);if(!a||a.length==0){D.showMessage(`No${i?" "+i:""} code action available`,"warning");return}let l=await D.showMenuPicker(a.map(u=>u.title),"Choose action"),c=a[l];c&&await this.applyCodeAction(c)}async organizeImport(e){let{doc:t}=await this.handler.getCurrentState();if(e&&t.bufnr!=e)return;await t.synchronize();let i=await this.getCodeActions(t,void 0,[tf.CodeActionKind.SourceOrganizeImports]);if(i&&i.length){await this.applyCodeAction(i[0]);return}throw new Error("Organize import action not found.")}async getCodeActions(e,t,i){t=t||tf.Range.create(0,0,e.lineCount,0);let s={diagnostics:Lt.getDiagnosticsInRange(e.textDocument,t)};i&&Array.isArray(i)&&(s.only=i);let o=await this.handler.withRequestToken("code action",a=>N.getCodeActions(e.textDocument,t,s,a));return!o||o.length==0?[]:(o=o.filter(a=>!a.disabled),o.sort((a,l)=>a.isPreferred&&!l.isPreferred?-1:l.isPreferred&&!a.isPreferred?1:0),o)}get floatActions(){return v.floatSupported?v.getConfiguration("coc.preferences").get("floatActions",!0):!1}async doCodeAction(e,t){let{doc:i}=await this.handler.getCurrentState(),n;e&&(n=await v.getSelectedRange(e,i)),await i.synchronize();let s=await this.getCodeActions(i,n,Array.isArray(t)?t:null);if(typeof t=="string"?s=s.filter(l=>l.title==t||l.command&&l.command.title==t):Array.isArray(t)&&(s=s.filter(l=>t.some(c=>l.kind&&l.kind.startsWith(c)))),!s||s.length==0){D.showMessage(`No${t?" "+t:""} code action available`,"warning");return}if(t&&s.length==1){await this.applyCodeAction(s[0]);return}let o=this.floatActions?await D.showMenuPicker(s.map(l=>l.title),"Choose action"):await D.showQuickpick(s.map(l=>l.title)),a=s[o];a&&await this.applyCodeAction(a)}async getCurrentCodeActions(e,t){let{doc:i}=await this.handler.getCurrentState(),n;return e&&(n=await v.getSelectedRange(e,i)),await this.getCodeActions(i,n,t)}async doQuickfix(){let e=await this.getCurrentCodeActions("line",[tf.CodeActionKind.QuickFix]);if(!e||e.length==0)throw new Error("No quickfix action available");await this.applyCodeAction(e[0]),this.nvim.command('silent! call repeat#set("\\(coc-fix-current)", -1)',!0)}async applyCodeAction(e){if(e.disabled)throw new Error(`Action "${e.title}" is disabled: ${e.disabled.reason}`);e=await this.handler.withRequestToken("resolve codeAction",n=>N.resolveCodeAction(e,n));let{edit:t,command:i}=e;t&&await v.applyEdit(t),i&&await se.execute(i)}}});var $D,BD,Mze,sw,vG=R(()=>{$D=E(Ui()),BD=E(H());Ei();Re();Te();Y();Mze=U()("codelens-buffer"),sw=class{constructor(e,t,i){this.nvim=e;this.bufnr=t;this.config=i;this.fetchCodelenses=(0,$D.default)(()=>{this._fetchCodeLenses()},200),this.resolveCodeLens=(0,$D.default)(()=>{this._resolveCodeLenses()},200),this.fetchCodelenses()}currentCodeLens(){var e;return(e=this.codeLenses)==null?void 0:e.codeLenses}get enabled(){return this.textDocument&&this.config.enabled&&N.hasProvider("codeLens",this.textDocument)}async forceFetch(){this.fetchCodelenses.clear(),await this._fetchCodeLenses()}get textDocument(){var e;return(e=v.getDocument(this.bufnr))==null?void 0:e.textDocument}async _fetchCodeLenses(){var i,n;if(!this.enabled)return;if(this.cancel(),!(!this.isChanged&&!((i=this.codeLenses)==null?void 0:i.hasError))){let{textDocument:s}=this,o=s.version,l=(this.tokenSource=new BD.CancellationTokenSource).token,c=await N.getCodeLens(s,l);if(this.tokenSource=void 0,l.isCancellationRequested||!Array.isArray(c)||c.length==0)return;let u=c.some(f=>f==null);this.codeLenses={version:o,codeLenses:c.filter(f=>f!=null),hasError:u}}let t=(n=this.codeLenses)==null?void 0:n.codeLenses;(t==null?void 0:t.length)&&await this._resolveCodeLenses()}async _resolveCodeLenses(){if(!this.enabled||!this.codeLenses||this.isChanged)return;let{codeLenses:e}=this.codeLenses,[t,i,n]=await this.nvim.eval("[bufnr('%'),line('w0'),line('w$')]");if(!(this.isChanged||t!=this.bufnr)){if(this.resolveTokenSource&&this.resolveTokenSource.cancel(),e=e.filter(s=>{let o=s.range.start.line+1;return o>=i&&o<=n}),e.length){let o=(this.resolveTokenSource=new BD.CancellationTokenSource).token;if(await Promise.all(e.map(a=>N.resolveCodeLens(a,o))),this.resolveTokenSource=void 0,o.isCancellationRequested||this.isChanged)return}this.srcId||(this.srcId=await this.nvim.createNamespace("coc-codelens")),this.nvim.pauseNotification(),this.clear(i-1,n),this.setVirtualText(e),await this.nvim.resumeNotification()}}get isChanged(){if(!this.textDocument||!this.codeLenses)return!0;let{version:e}=this.codeLenses;return this.textDocument.version!==e}setVirtualText(e){if(e.length==0)return;let t=new Map;for(let i of e){let{range:n,command:s}=i;if(!s)continue;let{line:o}=n.start;t.has(o)?t.get(o).push(i):t.set(o,[i])}for(let i of t.keys()){let s=t.get(i).map(l=>l.command);s=s.filter(l=>l&&l.title);let o=[],a=s.length;for(let l=0;lo.title));if(s==-1)return;await se.execute(i[s])}}cancel(){this.resolveCodeLens.clear(),this.fetchCodelenses.clear(),this.tokenSource&&(this.tokenSource.cancel(),this.tokenSource.dispose(),this.tokenSource=null)}onChange(){this.cancel(),this.fetchCodelenses()}dispose(){this.clear(),this.cancel(),this.codeLenses=void 0}}});var Hze,ow,bG=R(()=>{_e();de();Y();vG();Hze=U()("codelens"),ow=class{constructor(e){this.nvim=e;this.disposables=[];this.setConfiguration(),!!v.isNvim&&(v.onDidChangeConfiguration(t=>{this.setConfiguration(t)}),this.buffers=v.registerBufferSync(t=>{if(t.buftype=="")return new sw(e,t.bufnr,this.config)}),this.listen())}listen(){O.on("CursorMoved",e=>{let t=this.buffers.getItem(e);t&&t.resolveCodeLens()},null,this.disposables),O.on("CursorHold",async e=>{let t=this.buffers.getItem(e);t&&await t.forceFetch()},this,this.disposables)}async checkProvider(){for(let e of this.buffers.items)await e.forceFetch()}setConfiguration(e){if(e&&!e.affectsConfiguration("codeLens"))return;let t=v.getConfiguration("codeLens"),i=this.nvim.hasFunction("nvim_buf_set_virtual_text")&&t.get("enable",!1);if(e&&i!=this.config.enabled){i?this.listen():G(this.disposables);for(let n of this.buffers.items)i?n.fetchCodelenses():n.cleanUp()}this.config=Object.assign(this.config||{},{enabled:i,separator:t.get("separator","\u2023"),subseparator:t.get("subseparator"," ")})}async doAction(){let[e,t]=await this.nvim.eval('[bufnr("%"),line(".")-1]'),i=this.buffers.getItem(e);await(i==null?void 0:i.doAction(t))}dispose(){this.buffers.dispose(),G(this.disposables)}}});function jD(r){return r.length==1?`0${r}`:r}function vp(r){let e=aw(r);return`${jD(e.red.toString(16))}${jD(e.green.toString(16))}${jD(e.blue.toString(16))}`}function aw(r){let{red:e,green:t,blue:i}=r;return{red:Math.round(e*255),green:Math.round(t*255),blue:Math.round(i*255)}}function yG(r){let e=[r.red,r.green,r.blue],t=[];for(let n=0;n{});var wG,xG,Zme,lw,SG=R(()=>{wG=E(Ui()),xG=E(H());Re();Xd();ri();Vt();UD();Y();Zme=U()("colors-buffer"),lw=class{constructor(e,t,i,n){this.nvim=e;this.bufnr=t;this.enabled=i;this.usedColors=n;this._colors=[];this.highlight=(0,wG.default)(()=>{this.doHighlight()},global.hasOwnProperty("__TEST__")?10:500)}onChange(){this.cancel(),this.highlight()}get buffer(){return this.nvim.createBuffer(this.bufnr)}get colors(){return this._colors}hasColor(){return this._colors.length>0}setState(e){this.enabled=e,e?this.highlight():this.clearHighlight()}async doHighlight(){let e=v.getDocument(this.bufnr);if(!(!e||!this.enabled))try{this.tokenSource=new xG.CancellationTokenSource;let{token:t}=this.tokenSource;if(this.version&&e.version==this.version)return;let{version:i}=e,n;if(n=await N.provideDocumentColors(e.textDocument,t),n=n||[],t.isCancellationRequested)return;this.version=i,await this.addHighlight(n)}catch(t){Zme.error("Error on highlight:",t)}}async addHighlight(e){if(e=e||[],je(this._colors,e))return;let{nvim:t}=this;this._colors=e;let i=rj(e,100);t.pauseNotification(),this.buffer.clearNamespace("color"),this.defineColors(e),t.resumeNotification(!1,!0);for(let n of i){t.pauseNotification();let s=this.getColorRanges(n);for(let o of s)this.highlightColor(o.ranges,o.color);t.resumeNotification(!1,!0)}v.isVim&&this.nvim.command("redraw",!0)}highlightColor(e,t){let i=`BG${vp(t)}`;this.buffer.highlightRanges("color",i,e)}defineColors(e){for(let t of e){let i=vp(t.color);this.usedColors.has(i)||(this.nvim.command(`hi BG${i} guibg=#${i} guifg=#${yG(t.color)?"ffffff":"000000"}`,!0),this.usedColors.add(i))}}getColorRanges(e){let t=[];for(let i of e){let{color:n,range:s}=i,o=t.findIndex(a=>je(aw(a.color),aw(n)));o==-1?t.push({color:n,ranges:[s]}):t[o].ranges.push(s)}return t}clearHighlight(){this.highlight.clear(),this._colors=[],this.version=null,this.buffer.clearNamespace("color")}hasColorAtPosition(e){let{colors:t}=this;return t.some(i=>Ft(e,i.range)==0)}cancel(){this.tokenSource&&(this.tokenSource.cancel(),this.tokenSource=null)}dispose(){this.highlight.clear(),this.cancel()}}});var CG,m4e,cw,_G=R(()=>{CG=E(H());Ei();ia();Re();de();UD();Te();Y();SG();m4e=U()("colors-index"),cw=class{constructor(e,t){this.nvim=e;this.handler=t;this._enabled=!0;this.disposables=[];let i=v.getConfiguration("coc.preferences");this._enabled=i.get("colorSupport",!0);let n=new Set;this.highlighters=v.registerBufferSync(s=>{let o=new lw(this.nvim,s.bufnr,this._enabled,n);return o.highlight(),o}),we.onDidActiveExtension(()=>{this.highlightAll()},null,this.disposables),v.onDidChangeConfiguration(async s=>{if(s.affectsConfiguration("coc.preferences.colorSupport")){let a=v.getConfiguration("coc.preferences").get("colorSupport",!0);this._enabled=a;for(let l of this.highlighters.items)l.setState(a)}},null,this.disposables),this.disposables.push(se.registerCommand("editor.action.pickColor",()=>this.pickColor())),se.titles.set("editor.action.pickColor","pick color from system color picker when possible."),this.disposables.push(se.registerCommand("editor.action.colorPresentation",()=>this.pickPresentation())),se.titles.set("editor.action.colorPresentation","change color presentation.")}async pickPresentation(){let{doc:e}=await this.handler.getCurrentState();this.handler.checkProvier("documentColor",e.textDocument);let t=await this.getColorInformation(e.bufnr);if(!t)return D.showMessage("Color not found at current position","warning");let i=await v.document,n=new CG.CancellationTokenSource,s=await N.provideColorPresentations(t,i.textDocument,n.token);if(!(s==null?void 0:s.length))return;let o=await D.showMenuPicker(s.map(f=>f.label),"choose color:");if(o==-1)return;let a=s[o],{textEdit:l,additionalTextEdits:c,label:u}=a;l||(l={range:t.range,newText:u}),await i.applyEdits([l]),c&&await i.applyEdits(c)}async pickColor(){let{doc:e}=await this.handler.getCurrentState();this.handler.checkProvier("documentColor",e.textDocument);let t=await this.getColorInformation(e.bufnr);if(!t)return D.showMessage("Color not found at current position","warning");let{color:i}=t,n=[(i.red*255).toFixed(0),(i.green*255).toFixed(0),(i.blue*255).toFixed(0)],s=await this.nvim.call("coc#util#pick_color",[n]);if(!s)return;let o=vp({red:s[0]/65535,green:s[1]/65535,blue:s[2]/65535,alpha:1});await(await v.document).applyEdits([{range:t.range,newText:`#${o}`}])}get enabled(){return this._enabled}clearHighlight(e){let t=this.highlighters.getItem(e);!t||t.clearHighlight()}hasColor(e){let t=this.highlighters.getItem(e);return t?t.hasColor():!1}hasColorAtPosition(e,t){let i=this.highlighters.getItem(e);return i?i.hasColorAtPosition(t):!1}highlightAll(){for(let e of this.highlighters.items)e.highlight()}async doHighlight(e){let t=this.highlighters.getItem(e);t&&await t.doHighlight()}async getColorInformation(e){let t=this.highlighters.getItem(e);if(!t)return null;let i=await D.getCursorPosition();for(let n of t.colors){let{range:s}=n,{start:o,end:a}=s;if(i.line==o.line&&i.character>=o.character&&i.character<=a.character)return n}return null}dispose(){this.highlighters.dispose(),G(this.disposables)}}});var w4e,Qme,uw,EG=R(()=>{Ei();_e();By();w4e=U()("handler-commands"),Qme=process.env.VIM_NODE_RPC=="1",uw=class{constructor(e,t){this.nvim=e;this.env=t;for(let i of t.vimCommands)this.addVimCommand(i)}addVimCommand(e){let t=`vim.${e.id}`;se.registerCommand(t,()=>{this.nvim.command(e.cmd,!0),Qme&&this.nvim.command("redraw",!0)}),e.title&&se.titles.set(t,e.title)}getCommandList(){return se.commandList.map(e=>e.id)}async repeat(){await se.repeatCommand()}async runCommand(e,...t){if(e){await O.fire("Command",[e]);let i=await se.executeCommand(e,...t);return t.length==0&&await se.addRecent(e),i}else await gi.start(["commands"])}getCommands(){let e=se.commandList,t=[],{titles:i}=se;for(let n of e)t.push({id:n.id,title:i.get(n.id)||""});return t}}});var fw,TG=R(()=>{Re();Y();fw=class{constructor(e,t){this.nvim=e;this.handler=t}async fold(e){let{doc:t,winid:i}=await this.handler.getCurrentState();this.handler.checkProvier("foldingRange",t.textDocument),await t.synchronize();let n=this.nvim.createWindow(i),s=await this.nvim.eval("&foldlevel"),o=await this.handler.withRequestToken("foldingrange",a=>N.provideFoldingRanges(t.textDocument,{},a),!0);if(!o||!o.length)return!1;e&&(o=o.filter(a=>a.kind==e)),o.sort((a,l)=>l.startLine-a.startLine),this.nvim.pauseNotification(),n.setOption("foldmethod","manual",!0),this.nvim.command("normal! zE",!0);for(let a of o){let{startLine:l,endLine:c}=a,u=`${l+1}, ${c+1}fold`;this.nvim.command(u,!0)}return n.setOption("foldenable",!0,!0),n.setOption("foldlevel",s,!0),v.isVim&&this.nvim.command("redraw",!0),await this.nvim.resumeNotification(),!0}}});var ds,dw,DG,hw,RG=R(()=>{ds=E(H());_e();Re();Yu();Vt();yt();Te();Y();dw=U()("handler-format"),DG=new Map([["<",">"],[">","<"],["{","}"],["[","]"],["(",")"]]),hw=class{constructor(e,t){this.nvim=e;this.handler=t;this.loadPreferences(),t.addDisposable(v.onDidChangeConfiguration(this.loadPreferences,this)),t.addDisposable(v.onWillSaveTextDocument(c=>{let{languageId:u}=c.document,f=this.preferences.formatOnSaveFiletypes;if(f.includes(u)||f.includes("*")){let d=async()=>{if(!N.hasFormatProvider(c.document)){dw.warn(`Format provider not found for ${c.document.uri}`);return}let h=await v.getFormatOptions(c.document.uri),p=new ds.CancellationTokenSource,g=setTimeout(()=>{dw.warn(`Format on save ${c.document.uri} timeout after 0.5s`),p.cancel()},500),b=await N.provideDocumentFormattingEdits(c.document,h,p.token);return clearTimeout(g),!b&&!p.token.isCancellationRequested&&dw.want(`Format on save ${c.document.uri} get undefined result.`),b};c.waitUntil(d())}}));let i,n;t.addDisposable(O.on("Enter",async c=>{i=Date.now(),n=c})),t.addDisposable(O.on("CursorMovedI",async c=>{c==n&&Date.now()-i<100&&await this.handleEnter(c)}));let s,o;t.addDisposable(O.on("InsertCharPre",async()=>{o=Date.now()})),t.addDisposable(O.on("TextChangedI",async(c,u)=>{if(s=Date.now(),!o||s-o>300)return;o=null;let f=u.pre[u.pre.length-1];f&&await this.tryFormatOnType(f,c)}));let a,l;t.addDisposable(O.on("InsertEnter",c=>{a=c,l=Date.now()})),t.addDisposable(O.on("TextChangedI",async(c,u)=>{!this.preferences.formatOnType&&!/^\s*$/.test(u.pre)||a!=c||!l||Date.now()-l>30||(a=void 0,await this.tryFormatOnType(` +`,c,!0))}))}loadPreferences(e){if(!e||e.affectsConfiguration("coc.preferences")){let t=v.getConfiguration("coc.preferences");this.preferences={formatOnType:t.get("formatOnType",!1),formatOnSaveFiletypes:t.get("formatOnSaveFiletypes",[]),formatOnTypeFiletypes:t.get("formatOnTypeFiletypes",[]),bracketEnterImprove:t.get("bracketEnterImprove",!0)}}}async tryFormatOnType(e,t,i=!1){if(!e||S$(e)||!this.preferences.formatOnType||vi.getSession(t)!=null)return;let n=v.getDocument(t);if(!n||!n.attached||n.isCommandLine)return;let s=this.preferences.formatOnTypeFiletypes;if(s.length&&!s.includes(n.filetype)&&!s.includes("*"))return;if(!N.hasProvider("formatOnType",n.textDocument)){dw.warn(`Format on type provider not found for buffer: ${n.uri}`);return}if(!N.canFormatOnType(e,n.textDocument))return;let o,a=await this.handler.withRequestToken("Format on type",async u=>{o=await D.getCursorPosition();let f=n.getline(o.line-1);if(i&&/^\s*$/.test(f))return;let d=i?{line:o.line-1,character:f.length}:o;return await n.synchronize(),await N.provideDocumentOnTypeEdits(e,n.textDocument,d,u)});if(!a||!a.length)return;let l=$c(o,a);await n.applyEdits(a);let c=l?ds.Position.create(o.line+l.line,o.character+l.character):null;c&&!i&&await D.moveTo(c)}async formatCurrentBuffer(){let{doc:e}=await this.handler.getCurrentState();return await this.documentFormat(e)}async formatCurrentRange(e){let{doc:t}=await this.handler.getCurrentState();return await this.documentRangeFormat(t,e)}async documentFormat(e){if(await e.synchronize(),!N.hasFormatProvider(e.textDocument))throw new Error(`Format provider not found for buffer: ${e.bufnr}`);let t=await v.getFormatOptions(e.uri),i=await this.handler.withRequestToken("format",n=>N.provideDocumentFormattingEdits(e.textDocument,t,n));return i&&i.length>0?(await e.applyEdits(i),!0):!1}async handleEnter(e){let{nvim:t}=this,{bracketEnterImprove:i}=this.preferences;if(await this.tryFormatOnType(` +`,e),i){let n=await t.call("line",".")-1,s=v.getDocument(e);if(!s)return;await s.patchChange();let o=s.getline(n-1),a=s.getline(n),l=o[o.length-1];if(l&&DG.has(l)){let c=a.trim()[0];if(c&&DG.get(l)==c){let u=[],f=await v.getFormatOptions(s.uri),d=f.insertSpaces?" ".repeat(f.tabSize):" ",h=a.match(/^\s*/)[0],p=ds.Position.create(n-1,o.length);if(s.filetype=="vim"){let g=` +`+h+d;u.push({range:ds.Range.create(n,h.length,n,h.length),newText:" \\ "}),g=g+"\\ ",u.push({range:ds.Range.create(p,p),newText:g}),await s.applyEdits(u),await D.moveTo(ds.Position.create(n,g.length-1))}else await t.eval(`feedkeys("\\O", 'in')`)}}}}async documentRangeFormat(e,t){this.handler.checkProvier("formatRange",e.textDocument),await e.synchronize();let i;if(t){if(i=await v.getSelectedRange(t,e),!i)return-1}else{let[o,a,l]=await this.nvim.eval("[v:lnum,v:count,mode()]");if(a==0||l=="i"||l=="R")return-1;i=ds.Range.create(o-1,0,o-1+a,0)}let n=await v.getFormatOptions(e.uri),s=await this.handler.withRequestToken("Format range",o=>N.provideDocumentRangeFormattingEdits(e.textDocument,i,n,o));return s&&s.length>0?(await e.applyEdits(s),0):-1}}});var Pl,j4e,pw,PG=R(()=>{Pl=E(H());_e();Re();de();Y();j4e=U()("documentHighlight"),pw=class{constructor(e,t){this.nvim=e;this.handler=t;this.disposables=[];this.highlights=new Map;O.on(["CursorMoved","CursorMovedI"],()=>{this.cancel(),this.clearHighlights()},null,this.disposables)}clearHighlights(){if(this.highlights.size!=0){for(let e of this.highlights.keys())this.nvim.createWindow(e).clearMatchGroup("^CocHighlight");this.highlights.clear()}}async highlight(){let{nvim:e}=this;this.cancel();let[t,i,n,s]=await e.eval(`[bufnr("%"),win_getid(),coc#cursor#position(),get(b:,'coc_cursors_activated',0)]`),o=v.getDocument(t);if(!o||!o.attached||s||!N.hasProvider("documentHighlight",o.textDocument))return;let a=await this.getHighlights(o,Pl.Position.create(n[0],n[1]));if(!a)return;let l={};for(let u of a){if(!u.range)continue;let f=u.kind==Pl.DocumentHighlightKind.Text?"CocHighlightText":u.kind==Pl.DocumentHighlightKind.Read?"CocHighlightRead":"CocHighlightWrite";l[f]=l[f]||[],l[f].push(u.range)}let c=e.createWindow(i);e.pauseNotification(),c.clearMatchGroup("^CocHighlight");for(let u of Object.keys(l))c.highlightRanges(u,l[u],-1,!0);v.isVim&&e.command("redraw",!0),e.resumeNotification(!1,!0),this.highlights.set(i,a)}async getSymbolsRanges(){let{doc:e,position:t}=await this.handler.getCurrentState();this.handler.checkProvier("documentHighlight",e.textDocument);let i=await this.getHighlights(e,t);return i?i.map(n=>n.range):null}hasHighlights(e){return this.highlights.get(e)!=null}async getHighlights(e,t){let n=e.getline(t.line)[t.character];if(!n||!e.isWord(n))return null;await e.synchronize(),this.tokenSource=new Pl.CancellationTokenSource;let s=this.tokenSource,o=await N.getDocumentHighLight(e.textDocument,t,s.token);return s==this.tokenSource&&(s.dispose(),this.tokenSource=null),s.token.isCancellationRequested?null:o}cancel(){this.tokenSource&&(this.tokenSource.cancel(),this.tokenSource.dispose(),this.tokenSource=null)}dispose(){this.highlights.clear(),this.cancel(),G(this.disposables)}}});function bp(r,e,t,i=!1){let n=e.trim();!n.length||(i&&t!=="markdown"&&(n="``` "+t+` +`+n+"\n```"),r.push({content:n,filetype:t}))}function ege(r){return r?typeof r.filetype=="string"&&typeof r.content=="string":!1}async function tge(r,e,t){let i=v.getDocument(r);if(i)return i.getLines(e,t+1);let n=B.parse(r).fsPath;return kG.default.existsSync(n)?await Ig(n,e,t):[]}var kG,Zs,Z4e,mw,IG=R(()=>{kG=E(require("fs")),Zs=E(H());qe();Re();Va();de();Nt();Y();Z4e=U()("handler-hover"),mw=class{constructor(e,t){this.nvim=e;this.handler=t;this.disposables=[];this.documentLines=[];this.hasProvider=!1;this.excludeImages=!0;this.loadConfiguration(),v.onDidChangeConfiguration(this.loadConfiguration,this,this.disposables),this.hoverFactory=new tr(e),this.disposables.push(this.hoverFactory)}registerProvider(){if(this.hasProvider)return;this.hasProvider=!0;let{nvim:e}=this,t={onDidChange:null,provideTextDocumentContent:async()=>(e.pauseNotification(),e.command("setlocal conceallevel=2 nospell nofoldenable wrap",!0),e.command("setlocal bufhidden=wipe nobuflisted",!0),e.command("setfiletype markdown",!0),e.command(`if winnr('j') != winnr('k') | exe "normal! z${Math.min(this.documentLines.length,this.config.previewMaxHeight)}\\ | endif"`,!0),await e.resumeNotification(),this.documentLines.join(` +`))};this.disposables.push(v.registerTextDocumentContentProvider("coc",t))}loadConfiguration(e){if(!e||e.affectsConfiguration("hover")){let t=v.getConfiguration("hover"),i=t.get("target","float");this.config={floatConfig:t.get("floatConfig",{}),autoHide:t.get("autoHide",!0),target:i=="float"&&!v.floatSupported?"preview":i,previewMaxHeight:t.get("previewMaxHeight",12)},this.config.target=="preview"&&this.registerProvider();let n=v.getConfiguration("coc.preferences");this.excludeImages=n.get("excludeImageLinksInMarkdownDocument",!0)}}async onHover(e){let{doc:t,position:i,winid:n}=await this.handler.getCurrentState();e=="preview"&&this.registerProvider(),this.handler.checkProvier("hover",t.textDocument),await t.synchronize();let s=await this.handler.withRequestToken("hover",a=>N.getHover(t.textDocument,i,a),!0);if(s==null||!s.length)return!1;let o=s.find(a=>Zs.Range.is(a.range));if(o==null?void 0:o.range){let a=this.nvim.createWindow(n);a.highlightRanges("CocHoverRange",[o.range],99,!0),this.timer=setTimeout(()=>{a.clearMatchGroup("CocHoverRange"),v.isVim&&this.nvim.command("redraw",!0)},500)}return await this.previewHover(s,e),!0}async definitionHover(e){let{doc:t,position:i}=await this.handler.getCurrentState();e=="preview"&&this.registerProvider(),this.handler.checkProvier("hover",t.textDocument),await t.synchronize();let n=await this.handler.withRequestToken("hover",o=>N.getHover(t.textDocument,i,o),!0);if(!(n==null?void 0:n.length))return!1;let s=await this.handler.withRequestToken("definitionHover",o=>N.getDefinitionLinks(t.textDocument,i,o),!1);if(s==null?void 0:s.length)for(let o of s){if(!o.targetRange)continue;let{start:a,end:l}=o.targetRange,c=l.line-a.line>=100?a.line+100:l.character==0?l.line-1:l.line,u=await tge(o.targetUri,a.line,c);if(u.length){let f=u[0].match(/^\s*/)[0];f&&(u=u.map(d=>d.startsWith(f)?d.substring(f.length):d)),n.push({content:u.join(` +`),filetype:t.filetype})}}return await this.previewHover(n,e),!0}async previewHover(e,t){let i=[];t=t||this.config.target;let n=t==="preview";for(let o of e){if(ege(o)){i.push(o);continue}let{contents:a}=o;if(Array.isArray(a))for(let l of a)typeof l=="string"?bp(i,l,"markdown",n):bp(i,l.value,l.language,n);else Zs.MarkedString.is(a)?typeof a=="string"?bp(i,a,"markdown",n):bp(i,a.value,a.language,n):Zs.MarkupContent.is(a)&&bp(i,a.value,Td(a)?"markdown":"txt",n)}if(t=="float"){let o=this.hoverFactory.applyFloatConfig({modes:["n"],autoHide:this.config.autoHide,excludeImages:this.excludeImages,maxWidth:80},this.config.floatConfig);await this.hoverFactory.show(i,o);return}let s=i.reduce((o,a)=>{let l=a.content.split(/\r?\n/);return o.length>0&&o.push(""),o.push(...l),o},[]);if(t=="echo"){let o=s.join(` +`).trim();await this.nvim.call("coc#util#echo_hover",[o])}else this.documentLines=s,await this.nvim.command("noswapfile pedit coc://document")}async getHover(){let e=[],{doc:t,position:i}=await this.handler.getCurrentState();this.handler.checkProvier("hover",t.textDocument),await t.synchronize();let n=new Zs.CancellationTokenSource,s=await N.getHover(t.textDocument,i,n.token);if(Array.isArray(s))for(let o of s){let{contents:a}=o;Array.isArray(a)?a.forEach(l=>{e.push(typeof l=="string"?l:l.value)}):Zs.MarkupContent.is(a)?e.push(a.value):e.push(typeof a=="string"?a:a.value)}return e=e.filter(o=>o!=null&&o.length>0),e}dispose(){this.timer&&clearTimeout(this.timer),G(this.disposables)}}});var OG,gw,LG=R(()=>{OG=E(H());Re();Vt();Y();gw=class{constructor(e,t){this.nvim=e;this.handler=t}async getLinks(){let{doc:e}=await this.handler.getCurrentState();return this.handler.checkProvier("documentLink",e.textDocument),await this.handler.withRequestToken("links",i=>N.getDocumentLinks(e.textDocument,i))||[]}async openLink(e){if(!e.target&&(e=await N.resolveDocumentLink(e),!e.target))throw new Error("Failed to resolve link target");await v.openResource(e.target)}async openCurrentLink(){let[e,t]=await this.nvim.call("coc#cursor#position"),i=await this.getLinks();if(!i||i.length==0)return!1;let n=OG.Position.create(e,t);for(let s of i)if(Ft(n,s.range)==0)return await this.openLink(s),!0;return!1}}});var $n,h6e,vw,AG=R(()=>{$n=E(H());qe();Re();sp();Y();h6e=U()("handler-hover"),vw=class{constructor(e,t){this.nvim=e;this.handler=t}async request(e,t){let{doc:i,position:n}=await this.handler.getCurrentState();return this.handler.checkProvier(e,i.textDocument),await i.synchronize(),await this.handler.withRequestToken(e,s=>t(i.textDocument,n,s),!0)}async definitions(){let{doc:e,position:t}=await this.handler.getCurrentState();this.handler.checkProvier("definition",e.textDocument),await e.synchronize();let i=new $n.CancellationTokenSource;return N.getDefinition(e.textDocument,t,i.token)}async declarations(){let{doc:e,position:t}=await this.handler.getCurrentState();this.handler.checkProvier("declaration",e.textDocument),await e.synchronize();let i=new $n.CancellationTokenSource;return N.getDeclaration(e.textDocument,t,i.token)}async typeDefinitions(){let{doc:e,position:t}=await this.handler.getCurrentState();this.handler.checkProvier("typeDefinition",e.textDocument),await e.synchronize();let i=new $n.CancellationTokenSource;return N.getTypeDefinition(e.textDocument,t,i.token)}async implementations(){let{doc:e,position:t}=await this.handler.getCurrentState();this.handler.checkProvier("implementation",e.textDocument),await e.synchronize();let i=new $n.CancellationTokenSource;return N.getImplementation(e.textDocument,t,i.token)}async references(){let{doc:e,position:t}=await this.handler.getCurrentState();this.handler.checkProvier("reference",e.textDocument),await e.synchronize();let i=new $n.CancellationTokenSource;return N.getReferences(e.textDocument,{includeDeclaration:!0},t,i.token)}async gotoDefinition(e){let t=await this.request("definition",(i,n,s)=>N.getDefinition(i,n,s));return await this.handleLocations(t,e),t?t.length>0:!1}async gotoDeclaration(e){let t=await this.request("declaration",(i,n,s)=>N.getDeclaration(i,n,s));return await this.handleLocations(t,e),t?Array.isArray(t)?t.length>0:!0:!1}async gotoTypeDefinition(e){let t=await this.request("typeDefinition",(i,n,s)=>N.getTypeDefinition(i,n,s));return await this.handleLocations(t,e),t?t.length>0:!1}async gotoImplementation(e){let t=await this.request("implementation",(i,n,s)=>N.getImplementation(i,n,s));return await this.handleLocations(t,e),t?t.length>0:!1}async gotoReferences(e,t=!0){let i=await this.request("reference",(n,s,o)=>N.getReferences(n,{includeDeclaration:t},s,o));return await this.handleLocations(i,e),i?i.length>0:!1}async getTagList(){let{doc:e,position:t}=await this.handler.getCurrentState(),i=await this.nvim.call("expand","");if(!i||!N.hasProvider("definition",e.textDocument))return null;let n=new $n.CancellationTokenSource,s=await N.getDefinition(e.textDocument,t,n.token);return!s||!s.length?null:s.map(o=>{let a=B.parse(o.uri),l=a.scheme=="file"?a.fsPath:a.toString();return{name:i,cmd:`keepjumps ${o.range.start.line+1} | normal ${o.range.start.character+1}|`,filename:l}})}async findLocations(e,t,i,n){let{doc:s,position:o}=await this.handler.getCurrentState();i=i||{},Object.assign(i,{textDocument:{uri:s.uri},position:o});let a=await Fi.sendRequest(e,t,i);a=a||[];let l=[];if(Array.isArray(a))l=a;else if(a.hasOwnProperty("location")&&a.hasOwnProperty("children")){let c=u=>{if(l.push(u.location),u.children&&u.children.length)for(let f of u.children)c(f)};c(a)}await this.handleLocations(l,n)}async handleLocations(e,t){if(!e)return;let i=Array.isArray(e)?e:[e];i=i.map(s=>$n.LocationLink.is(s)?$n.Location.create(s.targetUri,s.targetRange):s);let n=i.length;if(n!=0)if(n==1&&t!==!1){let{uri:s,range:o}=i[0];await v.jumpTo(s,o.start,t)}else await v.showLocations(i)}dispose(){}}});function sge(r){if(r.length<2)return;let e=r.length;if(!r[e-1].startsWith("-")&&!r[e-2].startsWith("-"))return r[e-1]}var FG,MG,HD,NG,ige,rge,nge,qG,bw,$G=R(()=>{As();FG=E(require("child_process")),MG=E(require("events")),HD=E(require("path")),NG=E(require("readline"));Ps();$u();Nc();Te();ige=U()("handler-search"),rge=["--color","ansi","--colors","path:fg:black","--colors","line:fg:green","--colors","match:fg:red","--no-messages","--heading","-n"],nge="",qG=class extends MG.EventEmitter{start(e,t,i){this.process=(0,FG.spawn)(e,t,{cwd:i}),this.process.on("error",u=>{this.emit("error",u.message)});let n=NG.default.createInterface(this.process.stdout),s,o,a=[],l=[],c=!0;n.on("line",u=>{if(u.includes(nge)){let f=Md(u);if(f[0].foreground=="black"){o={filepath:HD.default.join(i,f[0].text),ranges:[]};return}if(f[0].foreground=="green"){let h=parseInt(f[0].text,10)-1,p=f[0].text.length+1;c&&(s=h,c=!1);let g="";for(let y of f){if(y.foreground=="red"){let S=h-s,w=g.length-p;l.push(Ae.create(S,w,S,w+y.text.length))}g+=y.text}let b=g.slice(p);a.push(b)}}else{let f=u.trim().length==0;if(o&&(f||u.trim()=="--")){let d={lines:a,highlights:l,start:s,end:s+a.length};o.ranges.push(d)}f&&(this.emit("item",o),o=null),a=[],l=[],c=!0}}),n.on("close",()=>{if(o){if(a.length){let u={lines:a,highlights:l,start:s,end:s+a.length};o.ranges.push(u)}this.emit("item",o)}a=l=o=null,this.emit("end")})}dispose(){this.process&&this.process.kill()}},bw=class{constructor(e,t="rg"){this.nvim=e;this.cmd=t}run(e,t,i){let{nvim:n,cmd:s}=this,{afterContext:o,beforeContext:a}=i.config,l=["-A",o.toString(),"-B",a.toString()].concat(rge,e),c=sge(e);c&&l.pop(),l.push("--",c?HD.default.isAbsolute(c)?c:`./${c.replace(/^\.\//,"")}`:"./"),this.task=new qG,this.task.start(s,l,t);let u=new hi,f=0,d=0,h=Date.now(),p=[],g=async()=>{if(p.length==0)return;let b=p.slice();p=[];let y=await u.acquire();try{await i.addFileItems(b)}catch(S){ige.error(S)}y()};return new Promise((b,y)=>{let S=setInterval(g,300);this.task.on("item",async w=>{f++,d=d+w.ranges.reduce((_,L)=>_+L.highlights.length,0),p.push(w)}),this.task.on("error",w=>{clearInterval(S),D.showMessage(`Error on command "${s}": ${w}`,"error"),this.task=null,y(new Error(w))}),this.task.on("end",async()=>{clearInterval(S);try{await g(),(await u.acquire())(),this.task.removeAllListeners(),this.task=null;let _=i.buffer;if(_){if(n.pauseNotification(),f==0)_.setLines(["No match found"],{start:1,end:2,strictIndexing:!1},!0),_.addHighlight({line:1,srcId:-1,colEnd:-1,colStart:0,hlGroup:"Error"}).logError(),_.setOption("modified",!1,!0);else{let L=new an;L.addText("Files","MoreMsg"),L.addText(": "),L.addText(`${f} `,"Number"),L.addText("Matches","MoreMsg"),L.addText(": "),L.addText(`${d} `,"Number"),L.addText("Duration","MoreMsg"),L.addText(": "),L.addText(`${Date.now()-h}ms`,"Number"),L.render(_,1,2)}_.setOption("modified",!1,!0),await n.resumeNotification(!1,!0)}}catch(w){y(w);return}b()})})}abort(){var e;(e=this.task)==null||e.dispose()}}});function oge(r,e){let{start:t,end:i}=r;return yw.Range.create(t.line-e,t.character,i.line-e,i.character)}var rf,yp,yw,BG,nf,ww,jG=R(()=>{rf=E(jc()),yp=E(require("path")),yw=E(H());Uc();qe();Ei();$u();de();Nt();As();ri();yt();Te();Y();BG=U()("handler-refactorBuffer"),nf="\u3000",ww=class{constructor(e,t,i,n,s){this.bufnr=e;this.srcId=t;this.nvim=i;this.config=n;this.opts=s;this.mutex=new hi;this._disposed=!1;this.disposables=[];this._fileItems=[];this.matchIds=new Set;this.changing=!1;this.disposables.push(v.registerLocalKeymap("n","",this.splitOpen.bind(this),!0)),v.onDidChangeTextDocument(this.onDocumentChange,this,this.disposables)}get fileItems(){return this._fileItems}onChange(e){if(this.changing)return;let t=this.document,{nvim:i,_fileItems:n}=this;if(!n.length)return;let s=e.contentChanges[0];if(!("range"in s))return;let{original:o}=e;if(s.range.end.line<2)return;t.buffer.setOption("modified",!0,!0);let{range:a,text:l}=s,u=l.split(` +`).length-(a.end.line-a.start.line)-1;if(u==0)return;let f=[];if(l.includes("\u3000")){let h=a.start.line,p=(0,rf.default)(o,l),g=0,b=_i.create("file:///1","",0,o);for(let y=0;yb.lnumy+S.delta,0);p.lnum=p.lnum+b,d=!0}}!d||(i.pauseNotification(),this.highlightLineNr(),i.resumeNotification().then(h=>{Array.isArray(h)&&h[1]!=null&&BG.error("Error on highlightLineNr:",h[1])}).logError())}async onDocumentChange(e){if(e.bufnr==this.bufnr||this.changing)return;let{uri:t}=e.textDocument,{range:i,text:n}=e.contentChanges[0],s=B.parse(t).fsPath,o=this._fileItems.find(c=>c.filepath==s);if(!o)return;let a=n.split(` +`).length-(i.end.line-i.start.line)-1,l=[];for(let c=0;c=u.end))if(i.end.linec.ranges&&c.ranges.length>0),l.length&&(this.changing=!0,await this.document.applyEdits(l),this.changing=!1),this.nvim.pauseNotification(),this.highlightLineNr(),this.buffer.setOption("modified",!1,!0),await this.nvim.resumeNotification()}async getFileChanges(){if(this._disposed)return[];let e=[],t=await this.buffer.lines;t.push(nf);let i=[],n,s;for(let o=0;o1){let l=a.match(/^\u3000(.*)/);l&&(n=this.getAbsolutePath(l[1].replace(/\s+$/,"")),s=o+1,i=[])}}else i.push(a)}return e}async splitOpen(){let{nvim:e}=this,i=await e.createWindow(this.opts.fromWinid).valid,n=await e.eval('getline(1,line("."))'),s=n.length;for(let o=0;oh.filepath==f.filepath);d?d.ranges.push(...f.ranges):this._fileItems.push(f)}let s=i.lineCount,o=new an,a=[];for(let f of e)for(let d of f.ranges){o.addLine(nf),o.addLine(nf),d.lnum=s+o.length,o.addText(`${lt(t,f.filepath)?yp.default.relative(t,f.filepath):f.filepath}`);let h=String(d.start+1).length+String(d.end).length+4;this.srcId||o.addText(" ".repeat(h));let p=0-o.length-s;d.highlights&&a.push(...d.highlights.map(b=>oge(b,p)));let{lines:g}=d;g||(g=await this.getLines(f.filepath,d.start,d.end),d.lines=g),o.addLines(g)}let{nvim:l,buffer:c}=this;if(this.changing=!0,l.pauseNotification(),o.render(c,s),this.highlightLineNr(),c.setOption("modified",!1,!0),c.setOption("undolevels",1e3,!0),s==2&&a.length){let f=a[0].start;l.call("coc#cursor#move_to",[f.line,f.character],!0)}v.isVim&&l.command("redraw",!0);let[,u]=await l.resumeNotification();if(u)throw new Error(u[2]);await i.patchChange(),this.changing=!1,await se.executeCommand("editor.action.addRanges",a)}catch(s){this.changing=!1,BG.error("Error on add file item:",s)}n()}async save(){let{nvim:e}=this,t=this.document,{buffer:i}=t;await t.patchChange();let n=await this.getFileChanges();if(!n)return;n.sort((l,c)=>l.lnum-c.lnum);let s=[],o=new Map;for(let l=0;lg.filepath==u),p=h?h.ranges.find(g=>g.lnum==f):null;if(!p||je(p.lines,c.lines)){s.push(l),d&&p&&(p.start=p.start+d,p.end=p.end+d);continue}if(c.start=p.start,c.end=p.end,d!=0&&(p.start=p.start+d),c.lines.length!=p.lines.length){let b=c.lines.length-p.lines.length+d;o.set(u,b),p.end=p.end+b}else p.end=p.end+d;p.lines=c.lines}if(s.length&&(n=n.filter((l,c)=>!s.includes(c))),n.length==0)return D.showMessage("No change.","more"),await i.setOption("modified",!1),!1;let a={};for(let l of n){let c=B.file(l.filepath).toString(),u=a[c]||[];u.push({range:yw.Range.create(l.start,0,l.end,0),newText:l.lines.join(` +`)+` +`}),a[c]=u}return this.changing=!0,await v.applyEdit({changes:a}),this.changing=!1,e.pauseNotification(),i.setOption("modified",!1,!0),this.config.saveToFile&&e.command("silent noa wa",!0),this.highlightLineNr(),await e.resumeNotification(),!0}getFileRange(e){for(let t of this._fileItems)for(let i of t.ranges)if(i.lnum==e)return i}getLinesRange(e){for(let t of this._fileItems)for(let i of t.ranges)if(i.lnum==e)return[i.start,i.end]}async getLines(e,t,i){let n=B.file(e).toString(),s=v.getDocument(n);return s?s.getLines(t,i):await Ig(e,t,i-1)}getAbsolutePath(e){return yp.default.isAbsolute(e)?e:yp.default.join(this.opts.cwd,e)}getFileRangeRange(e,t=!0){let{document:i}=this;if(!i)return null;let{lnum:n}=e;if(!i.getline(n-1).startsWith("\u3000"))return null;let o=t?n:n-1,a=i.lineCount;for(let l=n;l{sf=E(H());qe();Re();de();Nt();Y();$G();jG();X6e=U()("handler-refactor"),age="__coc_refactor__",lge=0,xw=class{constructor(e,t){this.nvim=e;this.handler=t;this.buffers=new Map;this.disposables=[];this._onCreate=new sf.Emitter;this.onCreate=this._onCreate.event;v.isNvim&&this.nvim.hasFunction("nvim_buf_set_virtual_text")&&(this.srcId=v.createNameSpace("coc-refactor")),this.setConfiguration(),v.onDidChangeConfiguration(this.setConfiguration,this,this.disposables),v.onDidCloseTextDocument(i=>{let n=this.buffers.get(i.bufnr);n&&(n.dispose(),this.buffers.delete(i.bufnr))},null,this.disposables),v.onDidChangeTextDocument(i=>{let n=this.buffers.get(i.bufnr);n&&n.onChange(i)},null,this.disposables)}setConfiguration(e){if(e&&!e.affectsConfiguration("refactor"))return;let t=v.getConfiguration("refactor");this.config=Object.assign(this.config||{},{afterContext:t.get("afterContext",3),beforeContext:t.get("beforeContext",3),openCommand:t.get("openCommand","edit"),saveToFile:t.get("saveToFile",!0)})}async doRefactor(){let{doc:e,position:t}=await this.handler.getCurrentState();if(!N.hasProvider("rename",e.textDocument))throw new Error("Rename provider not found for current buffer");await e.synchronize();let i=await this.handler.withRequestToken("refactor",async n=>{let s=await N.prepareRename(e.textDocument,t,n);if(n.isCancellationRequested)return null;if(s===!1)throw new Error("Provider returns null on prepare, unable to rename at current position");let o=await N.provideRenameEdits(e.textDocument,t,"NewName",n);if(n.isCancellationRequested)return null;if(!o)throw new Error("Provider returns null for rename edits.");return o});i&&await this.fromWorkspaceEdit(i,e.filetype)}async search(e){let t=await this.createRefactorBuffer();if(!t)return;let i=await this.nvim.call("getcwd",[]);await new bw(this.nvim).run(e,i,t)}async save(e){let t=this.buffers.get(e);if(t)return await t.save()}getBuffer(e){return this.buffers.get(e)}async createRefactorBuffer(e){let{nvim:t}=this,[i,n]=await t.eval("[win_getid(),getcwd()]"),{openCommand:s}=this.config;t.pauseNotification(),t.command(`${s} ${age}${lge++}`,!0),t.command("setl buftype=acwrite nobuflisted bufhidden=wipe nofen wrap conceallevel=2 concealcursor=n",!0),t.command("setl undolevels=-1 nolist nospell noswapfile foldmethod=expr foldexpr=coc#util#refactor_foldlevel(v:lnum)",!0),t.command("setl foldtext=coc#util#refactor_fold_text(v:foldstart)",!0),t.call("setline",[1,["Save current buffer to make changes",nf]],!0),t.call("matchadd",["Comment","\\%1l"],!0),t.call("matchadd",["Conceal","^\\%u3000"],!0),t.call("matchadd",["Label","^\\%u3000\\zs\\S\\+"],!0),t.command("setl nomod",!0),e&&t.command(`runtime! syntax/${e}.vim`,!0),t.call("coc#util#do_autocmd",["CocRefactorOpen"],!0);let[,o]=await t.resumeNotification();if(o)return;let[a,l]=await t.eval('[bufnr("%"),win_getid()]'),c={fromWinid:i,winid:l,cwd:n};await v.document;let u=new ww(a,this.srcId,this.nvim,this.config,c);return this.buffers.set(a,u),u}async fromLines(e){let t=await this.createRefactorBuffer();return t&&await t.buffer.setLines(e,{start:0,end:-1,strictIndexing:!1}),t}async fromLocations(e,t){if(!e||e.length==0)return null;let i={},n={changes:i};for(let s of e){let o=i[s.uri]||[];o.push({range:s.range,newText:""}),i[s.uri]=o}return await this.fromWorkspaceEdit(n,t)}async fromWorkspaceEdit(e,t){if(!e||cge(e))return;let i=[],{beforeContext:n,afterContext:s}=this.config,{changes:o,documentChanges:a}=e;if(!o){o={};for(let c of a||[])if(sf.TextDocumentEdit.is(c)){let{textDocument:u,edits:f}=c;u.uri.startsWith("file:")&&(o[u.uri]=f)}}for(let c of Object.keys(o)){let u=await this.getLineCount(c),f=o[c],d=[],h=null,p=null,g=[];f.sort((b,y)=>b.range.start.line-y.range.start.line);for(let b of f){let{line:y}=b.range.start,S=Math.max(0,y-n);h!=null&&S{wp=E(H());Re();Vt();Te();Y();n8e=U()("handler-rename"),Sw=class{constructor(e,t){this.nvim=e;this.handler=t}async getWordEdit(){let{doc:e,position:t}=await this.handler.getCurrentState(),i=e.getWordRangeAtPosition(t);if(!i||Fs(i))return null;let n=e.textDocument.getText(i);if(N.hasProvider("rename",e.textDocument)){await e.synchronize();let o=new wp.CancellationTokenSource;if(await N.prepareRename(e.textDocument,t,o.token)===!1)return null;let l=await N.provideRenameEdits(e.textDocument,t,n,o.token);if(l)return l}D.showMessage("Rename provider not found, extract word ranges from current buffer","more");let s=e.getSymbolRanges(n);return{changes:{[e.uri]:s.map(o=>({range:o,newText:n}))}}}async rename(e){let{doc:t,position:i}=await this.handler.getCurrentState();this.handler.checkProvier("rename",t.textDocument),await t.synchronize();let n=new wp.CancellationTokenSource().token,s=await N.prepareRename(t.textDocument,i,n);if(s===!1)return D.showMessage("Invalid position for rename","warning"),!1;let o;if(e||(wp.Range.is(s)?(o=t.textDocument.getText(s),await D.moveTo(s.start)):s&&typeof s.placeholder=="string"?o=s.placeholder:o=await this.nvim.eval('expand("")'),e=await D.requestInput("New name",o)),!e)return!1;let a=await N.provideRenameEdits(t.textDocument,i,e,n);return n.isCancellationRequested||!a?!1:(await v.applyEdit(a),v.isVim&&this.nvim.command("redraw",!0),!0)}}});var WD,Cw,zG=R(()=>{WD=E(H());Re();ri();Vt();Te();Y();Cw=class{constructor(e,t){this.nvim=e;this.handler=t;this.selectionRange=null}async getSelectionRanges(){let{doc:e,position:t}=await this.handler.getCurrentState();return this.handler.checkProvier("selectionRange",e.textDocument),await e.synchronize(),await this.handler.withRequestToken("selection ranges",n=>N.getSelectionRanges(e.textDocument,[t],n))}async selectRange(e,t){let{nvim:i}=this,{doc:n}=await this.handler.getCurrentState();this.handler.checkProvier("selectionRange",n.textDocument);let s=[];if(!t&&(!this.selectionRange||!e))return;if(e){let c=await v.getSelectedRange(e,n);s.push(c.start,c.end)}else{let c=await D.getCursorPosition();s.push(c)}if(!t){let c=WD.Range.create(s[0],s[1]),{selectionRange:u}=this;for(;u&&u.parent&&!je(u.parent.range,c);)u=u.parent;u&&u.parent&&await v.selectRange(u.range);return}await n.synchronize();let o=await this.handler.withRequestToken("selection ranges",c=>N.getSelectionRanges(n.textDocument,s,c));if(!o||o.length==0)return;await i.eval("mode()")!="n"&&await i.eval(`feedkeys("\\", 'in')`);let l;if(o.length==1)l=o[0];else{let c=s[1]||s[0],u=WD.Range.create(s[0],c);for(l=o[0];l;){if(je(u,l.range)){l=l.parent;continue}if(Ft(s[0],l.range)==0&&Ft(c,l.range)==0)break;l=l.parent}}!l||(this.selectionRange=o[0],await v.selectRange(l.range))}}});function uge(r){return!!(r&&r.name&&r.kind&&Qs.Range.is(r.range)&&r.uri)}var VG,Qs,k8e,hs,of,GG=R(()=>{VG=E(require("path")),Qs=E(H());qe();Ei();_e();Re();kD();sv();de();Nu();Y();k8e=U()("Handler-callHierarchy");hs=class{constructor(e,t){this.nvim=e;this.handler=t;this.disposables=[];this.highlightWinids=new Set;this.loadConfiguration(),v.onDidChangeConfiguration(this.loadConfiguration,this,this.disposables),this.disposables.push(se.registerCommand(hs.commandId,async(i,n,s)=>{var l;let{nvim:o}=this;await o.call("win_gotoid",[i]),await v.jumpTo(n.uri,n.selectionRange.start,s);let a=await o.window;if(a.clearMatchGroup(hs.rangesHighlight),a.highlightRanges(hs.rangesHighlight,[n.selectionRange],10,!0),!!((l=n.ranges)==null?void 0:l.length)){if(n.sourceUri){let c=v.getDocument(n.sourceUri);if(!c)return;let u=await o.call("coc#compat#buf_win_id",[c.bufnr]);if(u==-1)return;u!=a.id&&(a=o.createWindow(u),a.clearMatchGroup(hs.rangesHighlight))}a.highlightRanges(hs.rangesHighlight,n.ranges,100,!0),this.highlightWinids.add(a.id)}},null,!0)),O.on("BufWinEnter",(i,n)=>{this.highlightWinids.has(n)&&(this.highlightWinids.delete(n),e.createWindow(n).clearMatchGroup(hs.rangesHighlight))},null,this.disposables)}loadConfiguration(e){if(!e||e.affectsConfiguration("callHierarchy")){let t=v.getConfiguration("callHierarchy");this.config={splitCommand:t.get("splitCommand"),openCommand:t.get("openCommand"),enableTooltip:t.get("enableTooltip")}}}createProvider(e,t,i,n){let s=new Qs.Emitter,o,a,l=()=>{o&&(o.cancel(),o.dispose(),o=null)},c=(f,d)=>{let h=f.children;if(!Array.isArray(h))return;if(h.find(g=>g==d))return f;for(let g of h){let b=c(g,d);if(b)return b}},u={kind:n,onDidChangeTreeData:s.event,getTreeItem:f=>{var h;let d=new Kn(f.name,f.children?$e.Expanded:$e.Collapsed);return this.config.enableTooltip&&(d.tooltip=VG.default.relative(v.cwd,B.parse(f.uri).fsPath)),d.description=f.detail,d.deprecated=(h=f.tags)==null?void 0:h.includes(Qs.SymbolTag.Deprecated),d.icon=this.handler.getIcon(f.kind),d.command={command:hs.commandId,title:"open location",arguments:[t,f,this.config.openCommand]},d},getChildren:async f=>{l(),o=new Qs.CancellationTokenSource;let{token:d}=o;if(!f){if(!a&&(a=await this.prepare(e,i,d),!(a==null?void 0:a.length)))return;for(let p of a){let g=await this.getChildren(e,p,u.kind,d);if(d.isCancellationRequested)break;Array.isArray(g)&&(p.children=g)}return a}if(f.children)return f.children;let h=await this.getChildren(e,f,u.kind,d);return o=null,d.isCancellationRequested?[]:(f.children=h,h)},resolveActions:()=>[{title:"Open in new tab",handler:async f=>{await se.executeCommand(hs.commandId,t,f,"tabe")}},{title:"Show Incoming Calls",handler:f=>{a=[ns(f,["children","ranges","sourceUri"])],u.kind="incoming",s.fire(void 0)}},{title:"Show Outgoing Calls",handler:f=>{a=[ns(f,["children","ranges","sourceUri"])],u.kind="outgoing",s.fire(void 0)}},{title:"Dismiss",handler:async f=>{let d;for(let p of a)if(d=c(p,f),d)break;if(!d)return;let h=d.children.findIndex(p=>p===f);d.children.splice(h,1),s.fire(d)}}],dispose:()=>{l(),s.dispose(),a=void 0,s=void 0}};return u}async getChildren(e,t,i,n){let s=[];if(i=="incoming"){let o=await N.provideIncomingCalls(e,t,n);o&&(s=o.map(a=>Object.assign(a.from,{ranges:a.fromRanges})))}else{let o=await N.provideOutgoingCalls(e,t,n);o&&(s=o.map(a=>Object.assign(a.to,{ranges:a.fromRanges,sourceUri:t.uri})))}return s}async prepare(e,t,i){this.handler.checkProvier("callHierarchy",e);let n=await N.prepareCallHierarchy(e,t,i);return uge(n)?[n]:n}async getCallHierarchyItems(e,t){let{doc:i,position:n}=await this.handler.getCurrentState(),s=new Qs.CancellationTokenSource;if(!e){await i.synchronize();let a=await this.prepare(i.textDocument,n,s.token);if(e=a?a[0]:void 0,!a)return}let o=t=="incoming"?"provideIncomingCalls":"provideOutgoingCalls";return await N[o](i.textDocument,e,s.token)}async getIncoming(e){return await this.getCallHierarchyItems(e,"incoming")}async getOutgoing(e){return await this.getCallHierarchyItems(e,"outgoing")}async showCallHierarchyTree(e){let{doc:t,position:i,winid:n}=await this.handler.getCurrentState();await t.synchronize();let s=this.createProvider(t.textDocument,n,i,e),o=new Ya("calls",{treeDataProvider:s});o.title=`${e.toUpperCase()} CALLS`,s.onDidChangeTreeData(a=>{a||(o.title=`${s.kind.toUpperCase()} CALLS`)}),o.onDidChangeVisibility(a=>{a.visible||s.dispose()}),this.disposables.push(o),await o.show(this.config.splitCommand)}dispose(){this.highlightWinids.clear(),G(this.disposables)}},of=hs;of.commandId="callHierarchy.reveal",of.rangesHighlight="CocSelectedRange"});var KG,af,fge,dge,oa,_w,JG=R(()=>{KG=E(Ui()),af=E(H());Re();Y();fge=U()("semanticTokens-buffer"),dge="CocSem_",oa="semanticTokens",_w=class{constructor(e,t,i){this.nvim=e;this.bufnr=t;this.config=i;this.highlight=(0,KG.default)(()=>{this.doHighlight().catch(n=>{fge.error("Error on semanticTokens highlight:",n.stack)})},global.hasOwnProperty("__TEST__")?10:2e3),this.highlight()}onChange(){this.cancel(),this.highlight()}async forceHighlight(){this.cancel(),this.highlight.clear(),await this.doHighlight()}get highlights(){return this._highlights}get enabled(){if(!this.config.enabled)return!1;let e=v.getDocument(this.bufnr);return!e||!e.attached?!1:N.hasProvider("semanticTokens",e.textDocument)}get previousVersion(){if(!!this.previousResults)return this.previousResults.version}get buffer(){return this.nvim.createBuffer(this.bufnr)}checkState(){if(!this.config.enabled)throw new Error("SemanticTokens highlights disabled by configuration");let e=v.getDocument(this.bufnr);if(!e||!e.attached)throw new Error("Document not attached");if(!N.hasProvider("semanticTokens",e.textDocument))throw new Error("SemanticTokens provider not found, your languageserver may not support it")}setState(e){e?this.highlight():(this.highlight.clear(),this.clearHighlight())}async doHighlight(){if(!this.enabled)return;let e=v.getDocument(this.bufnr),{nvim:t}=this;if(await t.call("bufwinid",[this.bufnr])==-1)return;let n=await this.requestHighlights(e);if(!n)return;if(!n.length){this.clearHighlight();return}let s=[];v.env.updateHighlight&&(s=await t.call("coc#highlight#get_highlights",[this.bufnr,oa]));let{highlights:o,lines:a}=this.calculateHighlightUpdates(s,n);if(t.pauseNotification(),!v.env.updateHighlight)this.buffer.clearNamespace(oa,0,-1);else for(let c of a)this.buffer.clearNamespace(oa,c,c+1);let l={};if(o.length)for(let c of o){let u=af.Range.create(c.lnum,c.colStart,c.lnum,c.colEnd);l[c.hlGroup]=l[c.hlGroup]||[],l[c.hlGroup].push(u)}for(let c of Object.keys(l))this.buffer.highlightRanges(oa,c,l[c]);t.resumeNotification(!1,!0),v.isVim&&t.command("redraw",!0)}calculateHighlightUpdates(e,t){let i=Intl.Collator("en").compare;function n(u,f){return u.lnum-f.lnum||u.colStart-f.colStart||u.colEnd-f.colEnd||i(u.hlGroup,f.hlGroup)}e=e.slice().sort(n),t=t.slice().sort(n);let s=new Map;for(let u of e)s.has(u.lnum)||s.set(u.lnum,[]),s.get(u.lnum).push(u);let o=new Map;for(let u of t)o.has(u.lnum)||o.set(u.lnum,[]),o.get(u.lnum).push(u);let a=Math.max((e[e.length-1]||{lnum:0}).lnum,(t[t.length-1]||{lnum:0}).lnum),l=new Set;for(let u=0;u<=a;u++){let f=s.has(u),d=o.has(u);if(f!==d){l.add(u);continue}else if(!f&&!d)continue;let h=s.get(u),p=o.get(u);if(h.length!==p.length){l.add(u);continue}for(let g=0;g{p.deleteCount>0?c.splice(p.start,p.deleteCount,...p.data):c.splice(p.start,0,...p.data)})),this.previousResults={resultId:a.resultId,tokens:c,version:l};let u=[];for(let p=0;p{Ei();_e();Re();$u();de();Te();Y();JG();hge=U()("semanticTokens"),Ew="Statement",Tw=class{constructor(e,t){this.nvim=e;this.handler=t;this.disposables=[];this.loadConfiguration(),v.onDidChangeConfiguration(this.loadConfiguration,this,this.disposables),se.register({id:"semanticTokens.checkCurrent",execute:async()=>{try{(await this.getCurrentItem()).checkState()}catch(i){D.showMessage(i.message,"error");return}D.showMessage("Semantic tokens provider found for current buffer","more")}},!1,"check semantic tokens provider for current buffer"),se.register({id:"semanticTokens.clearCurrent",execute:async()=>{(await e.buffer).clearNamespace(oa,0,-1)}},!1,"clear semantic tokens highlights of current buffer"),se.register({id:"semanticTokens.clearAll",execute:async()=>{let i=await e.buffers;for(let n of i)n.clearNamespace(oa,0,-1)}},!1,"clear semantic tokens highlights of all buffers"),this.disposables.push({dispose:()=>{se.unregister("semanticTokens.checkCurrentBuffer")}}),O.on("BufEnter",i=>{let n=this.highlighters.getItem(i);if(!n)return;let s=v.getDocument(i);!s||s.textDocument.version==n.previousVersion||n.forceHighlight().catch(o=>{hge.error("Error on semantic highlighters:",o)})},null,this.disposables),this.highlighters=v.registerBufferSync(i=>new _w(this.nvim,i.bufnr,this.config)),N.onDidSemanticTokensRefresh(i=>{for(let n of this.highlighters.items){let s=v.getDocument(n.bufnr);s&&v.match(i,s.textDocument)&&n.highlight()}},null,this.disposables)}loadConfiguration(e){if(!e||e.affectsConfiguration("coc.preferences")){let i=v.getConfiguration("coc.preferences").get("semanticTokensHighlights",!0);if(v.isVim&&!v.env.textprop&&(i=!1),this.config&&i!=this.config.enabled&&this.highlighters)for(let n of this.highlighters.items)n.setState(i);this.config?this.config.enabled=i:this.config={enabled:i}}}async getCurrentItem(){let e=await this.nvim.buffer,t=this.highlighters.getItem(e.id);if(!t)throw new Error("current buffer not attached");return t}async highlightCurrent(){let e=await this.getCurrentItem();e.checkState(),await e.forceHighlight()}async showHiglightInfo(){if(!this.config.enabled)throw new Error("Semantic highlights is disabled by configuration.");let e=await this.getCurrentItem();e.checkState();let t=e.highlights||[],i=new an,{nvim:n}=this;n.pauseNotification(),n.command(`vs +setl\\ buftype=nofile __coc_semantic_highlights_${e.bufnr}__`,!0),n.command("setl bufhidden=wipe noswapfile nobuflisted wrap undolevels=-1",!0),n.call("bufnr",["%"],!0);let s=await n.resumeNotification();if(s[1])throw new Error(`Error on buffer create: ${s[1]}`);let o=s[0][2];i.addLine("Semantic highlights info",Ew),i.addLine(""),i.addLine("The number of semantic tokens: "),i.addText(String(t.length),"Number"),i.addLine(""),i.addLine("Semantic highlight groups used by current buffer",Ew),i.addLine("");let a=[...new Set(t.map(({hlGroup:u})=>u))];for(let u of a)i.addTexts([{text:"-",hlGroup:"Comment"},{text:" "},{text:u,hlGroup:u}]),i.addLine("");i.addLine("Tokens types that current Language Server supported:",Ew),i.addLine("");let l=v.getDocument(e.bufnr),c=N.getLegend(l.textDocument);if(c==null?void 0:c.tokenTypes.length)for(let u of[...new Set(c.tokenTypes)])i.addTexts([{text:"-",hlGroup:"Comment"},{text:" "},{text:`CocSem_${u}`,hlGroup:`CocSem_${u}`}]),i.addLine("");else i.addLine("No token types supported","Comment");if(i.addLine("Tokens modifiers that current Language Server supported:",Ew),i.addLine(""),c==null?void 0:c.tokenModifiers.length)for(let u of[...new Set(c.tokenModifiers)])i.addTexts([{text:"-",hlGroup:"Comment"},{text:" "},{text:`CocSem_${u}`,hlGroup:`CocSem_${u}`}]),i.addLine("");else i.addLine("No token modifiers supported","Comment");n.pauseNotification(),i.render(n.createBuffer(o)),n.resumeNotification(!1,!0)}dispose(){this.highlighters.dispose(),G(this.disposables)}}});var kl,iVe,Dw,XG=R(()=>{kl=E(H());_e();Re();Va();de();yt();Y();iVe=U()("handler-signature"),Dw=class{constructor(e,t){this.nvim=e;this.handler=t;this.disposables=[];this.signatureFactory=new tr(e),this.loadConfiguration(),this.disposables.push(this.signatureFactory),v.onDidChangeConfiguration(this.loadConfiguration,this,this.disposables),O.on("CursorMovedI",async(i,n)=>{let s=this.lastPosition;!s||s.bufnr==i&&s.lnum==n[0]&&s.col<=n[1]||this.signatureFactory.close()},null,this.disposables),O.on(["InsertLeave","BufEnter"],()=>{var i;(i=this.tokenSource)==null||i.cancel()},null,this.disposables),O.on("TextChangedI",()=>{this.config.hideOnChange&&this.signatureFactory.close()},null,this.disposables),O.on("TextInsert",async(i,n,s)=>{if(!this.config.trigger)return;let o=this.getTextDocument(i);!o||!N.shouldTriggerSignatureHelp(o.textDocument,s)||await this._triggerSignatureHelp(o,{line:n.lnum-1,character:n.pre.length},!1)},null,this.disposables)}getTextDocument(e){let t=v.getDocument(e);if(!(!t||t.isCommandLine||!t.attached))return t}loadConfiguration(e){if(!e||e.affectsConfiguration("signature")){let t=v.getConfiguration("signature"),i=t.get("target","float");i=="float"&&!v.floatSupported&&(i="echo"),this.config={target:i,floatConfig:t.get("floatConfig",{}),trigger:t.get("enable",!0),wait:Math.max(t.get("triggerSignatureWait",500),200),preferAbove:t.get("preferShownAbove",!0),hideOnChange:t.get("hideOnTextChange",!1)}}}async triggerSignatureHelp(){let{doc:e,position:t,mode:i}=await this.handler.getCurrentState();if(!N.hasProvider("signature",e.textDocument))return!1;let n=0,s=t.character;if(i=="s"){let o=await this.nvim.getVar("coc_last_placeholder");if(o){let{start:a,end:l,bufnr:c}=o;c==e.bufnr&&a.line==l.line&&a.line==t.line&&(t=kl.Position.create(a.line,a.character),n=s-t.character)}}return await this._triggerSignatureHelp(e,t,!0,n)}async _triggerSignatureHelp(e,t,i=!0,n=0){var d;(d=this.tokenSource)==null||d.cancel();let s=this.tokenSource=new kl.CancellationTokenSource,o=s.token;o.onCancellationRequested(()=>{s.dispose(),this.tokenSource=void 0});let{target:a}=this.config,l=this.timer=setTimeout(()=>{s.cancel()},this.config.wait);await e.patchChange(!0);let c=await N.getSignatureHelp(e.textDocument,t,o,{isRetrigger:this.signatureFactory.checkRetrigger(e.bufnr),triggerKind:i?kl.SignatureHelpTriggerKind.Invoked:kl.SignatureHelpTriggerKind.TriggerCharacter});if(clearTimeout(l),o.isCancellationRequested)return!1;if(!c||c.signatures.length==0)return this.signatureFactory.close(),!1;let{activeSignature:u,signatures:f}=c;if(u){let[h]=f.splice(u,1);h&&f.unshift(h)}return a=="echo"?this.echoSignature(c):await this.showSignatureHelp(e,t,c,n),!0}async showSignatureHelp(e,t,i,n){let{signatures:s,activeParameter:o}=i,a=null,l=n,c=s.reduce((h,p,g)=>{var S;let b=null,y=p.label.indexOf("(");if(g==0&&o!=null){let w=(S=p.parameters)==null?void 0:S[o];if(w){let _=p.label.slice(y==-1?0:y);if(a=w.documentation,typeof w.label=="string"){let L=_.slice(0),$=L.match(new RegExp("\\b"+w.label.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b")),I=$?$.index:L.indexOf(w.label);I!=-1&&(b=[I+y,I+w.label.length+y])}else b=w.label}}if(b==null&&(b=[y+1,y+1]),n==l&&(n=n+b[0]+1),h.push({content:p.label,filetype:e.filetype,active:b}),a){let w=typeof a=="string"?a:a.value;w.trim().length&&h.push({content:w,filetype:Td(p.documentation)?"markdown":"txt"})}if(g==0&&p.documentation){let{documentation:w}=p,_=typeof w=="string"?w:w.value;_.trim().length&&h.push({content:_,filetype:Td(p.documentation)?"markdown":"txt"})}return h},[]),u=e.getline(t.line,!1).slice(0,t.character);this.lastPosition={bufnr:e.bufnr,lnum:t.line+1,col:re(u)+1};let f=v.getConfiguration("coc.preferences").get("excludeImageLinksInMarkdownDocument"),d=this.signatureFactory.applyFloatConfig({preferTop:this.config.preferAbove,autoHide:!1,offsetX:n,modes:["i","ic","s"],excludeImages:f},this.config.floatConfig);await this.signatureFactory.show(c,d)}echoSignature(e){var o;let{signatures:t,activeParameter:i}=e,n=v.env.columns;t=t.slice(0,v.env.cmdheight);let s=[];for(let a of t){let l=[],{label:c}=a;c=c.replace(/\n/g," "),c.length>=n-16&&(c=c.slice(0,n-16)+"...");let u=c.indexOf("(");if(u==-1)l=[{text:c,type:"Normal"}];else{l.push({text:c.slice(0,u),type:"Label"});let f=c.slice(u);if(s.length==0&&i!=null){let d=(o=a.parameters)==null?void 0:o[i];if(d){let h,p;if(typeof d.label=="string"){let g=f.slice(0),b=g.match(new RegExp("\\b"+d.label.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b")),y=b?b.index:g.indexOf(d.label);y==-1?l.push({text:f,type:"Normal"}):(h=y,p=y+d.label.length)}else[h,p]=d.label,h=h-u,p=p-u;h!=null&&p!=null&&(l.push({text:f.slice(0,h),type:"Normal"}),l.push({text:f.slice(h,p),type:"MoreMsg"}),l.push({text:f.slice(p),type:"Normal"}))}}else l.push({text:f,type:"Normal"})}s.push(l)}this.nvim.callTimer("coc#util#echo_signatures",[s],!0)}dispose(){G(this.disposables),this.timer&&clearTimeout(this.timer)}}});function ZG(r){let e=[],t=r.slice();return t.sort(QG),t.forEach(i=>e9(e,i,0)),e}function QG(r,e){let t=r.selectionRange,i=e.selectionRange;return De(t.start,i.start)}function e9(r,e,t){let{name:i,selectionRange:n,kind:s,children:o,range:a}=e,{start:l}=n||a;if(r.push({col:l.character+1,lnum:l.line+1,text:i,level:t,kind:us(s),range:a,selectionRange:n}),o&&o.length){o.sort(QG);for(let c of o)e9(r,c,t+1)}}function pge(r){return r&&!r.hasOwnProperty("location")}function t9(r){return pge(r[0])}var zD=R(()=>{fp();Vt()});var i9,aa,Rw,r9=R(()=>{i9=E(Ui()),aa=E(H());Re();de();Y();zD();Rw=class{constructor(e){this.bufnr=e;this.disposables=[];this.autoUpdate=!1;this._onDidUpdate=new aa.Emitter;this.onDidUpdate=this._onDidUpdate.event;this.fetchSymbols=(0,i9.default)(()=>{this._fetchSymbols().logError()},global.hasOwnProperty("__TEST__")?10:500)}async getSymbols(){var t;let e=v.getDocument(this.bufnr);return e?(await e.patchChange(),this.autoUpdate=!0,e.version==this.version&&((t=this.symbols)==null?void 0:t.length)?this.symbols:(this.cancel(),await this._fetchSymbols(),this.symbols)):[]}onChange(){this.cancel(),this.autoUpdate&&this.fetchSymbols()}get textDocument(){var e;return(e=v.getDocument(this.bufnr))==null?void 0:e.textDocument}async _fetchSymbols(){let{textDocument:e}=this;if(!e)return;let{version:t}=e,i=this.tokenSource=new aa.CancellationTokenSource,{token:n}=i,s=await N.getDocumentSymbol(e,n);if(this.tokenSource=void 0,s==null||n.isCancellationRequested)return;let o;t9(s)?o=s:o=s.map(a=>{let l=aa.DocumentSymbol.create(a.name,"",a.kind,a.location.range,a.location.range);return a.deprecated&&(l.tags=[aa.SymbolTag.Deprecated]),l}),this.version=t,this.symbols=o,this._onDidUpdate.fire(o)}cancel(){this.fetchSymbols.clear(),this.tokenSource&&(this.tokenSource.cancel(),this.tokenSource.dispose(),this.tokenSource=null)}dispose(){this.cancel(),this.symbols=void 0,this._onDidUpdate.dispose(),G(this.disposables)}}});function mge(r){return r?typeof r.text=="string"&&typeof r.hlGroup=="string":!1}function gge(r,e){return r.label===e.label&&r.deprecated===e.deprecated&&r.key===e.key}function vge(r,e){return r.length!==e.length?!1:r.every((t,i)=>gge(t,e[i]))}var n9,Pw,s9=R(()=>{Ye();n9=E(H());Ei();de();nv();Pw=class{constructor(e){this.opts=e;this.disposables=[];this._onDidChangeTreeData=new n9.Emitter;this.onDidChangeTreeData=this._onDidChangeTreeData.event;this.invokeCommand=`_invoke_${ue()}`,this.disposables.push(se.registerCommand(this.invokeCommand,async t=>{typeof e.handleClick=="function"?await e.handleClick(t):console.error("Handler not found")},null,!0)),typeof e.resolveActions=="function"&&(this.resolveActions=e.resolveActions.bind(this))}iterate(e,t,i,n){let s=n(e,t,i);if(s===!1)return!1;if(Array.isArray(e.children)){for(let o of e.children)if(this.iterate(o,e,i+1,n)===!1)return!1}return s}updateNodes(e,t,i,n=!0){let s=vge(e,t),o=(a,l,c)=>{var f,d,h,p,g,b;let u=!1;for(let y of Object.keys(l))["children","key"].includes(y)||(a[y]=l[y]);if(((f=a.children)==null?void 0:f.length)&&!((d=l.children)==null?void 0:d.length)&&(delete a.children,u=!0),!((h=a.children)==null?void 0:h.length)&&((p=l.children)==null?void 0:p.length)&&(a.children=l.children,u=!0),u){c&&this._onDidChangeTreeData.fire(a);return}((g=a.children)==null?void 0:g.length)&&((b=l.children)==null?void 0:b.length)&&this.updateNodes(a.children,l.children,a,c)};if(s)for(let a=0;a!l.has(h)&&d.key==u.key):f=a.findIndex((d,h)=>!l.has(h)&&d.label==u.label),f===-1)e[c]=u;else{l.add(f);let d=a[f];o(d,u,!1),e[c]=d}}n&&this._onDidChangeTreeData.fire(i)}}update(e,t){if(!!this.data)return t?(this.data=e||[],this._onDidChangeTreeData.fire(void 0)):this.updateNodes(this.data,e||[],void 0),this.data}getTreeItem(e){var s;let t=e.label,{expandLevel:i}=this.opts,n;if(!((s=e.children)==null?void 0:s.length))n=new Kn(t);else if(i&&i>0){let o=this.getLevel(e),a=o&&o<=i?$e.Expanded:$e.Collapsed;n=new Kn(t,a)}else n=new Kn(t,$e.Collapsed);if(n.description=e.description,e.deprecated&&(n.deprecated=!0),e.tooltip&&(n.tooltip=e.tooltip),mge(e.icon))n.icon=e.icon;else if(typeof this.opts.resolveIcon=="function"){let o=this.opts.resolveIcon(e);o&&(n.icon=o)}return n}async getChildren(e){if(e)return e.children||[];if(this.data)return this.data;let t=await Promise.resolve(this.opts.provideData());if(!Array.isArray(t))throw new Error("Unable to fetch data");return this.data=t,t}getParent(e){if(!this.data)return;let t;for(let i of this.data)if(this.iterate(i,null,0,(s,o)=>{if(s===e)return t=o,!1})===!1)break;return t}getLevel(e){if(!this.data)return;let t=0;for(let i of this.data)if(this.iterate(i,null,1,(s,o,a)=>{if(s===e)return t=a,!1})===!1)break;return t}async resolveTreeItem(e,t,i){if(typeof this.opts.resolveItem=="function"){let n=await Promise.resolve(this.opts.resolveItem(e,t,i));n&&Object.assign(e,n)}return e.command||(e.command={title:`invoke ${t.label}`,command:this.invokeCommand,arguments:[t]}),e}dispose(){this.data=[],this._onDidChangeTreeData.dispose(),typeof this.opts.onDispose=="function"&&this.opts.onDispose(),G(this.disposables)}}});var o9,a9,BVe,kw,l9=R(()=>{o9=E(Ui()),a9=E(H());_e();Re();s9();sv();de();Vt();Te();Y();BVe=U()("symbols-outline"),kw=class{constructor(e,t,i){this.nvim=e;this.buffers=t;this.handler=i;this.providersMap=new Map;this.treeViews=new WeakMap;this.originalWins=new WeakMap;this.disposables=[];this.loadConfiguration(),v.onDidChangeConfiguration(this.loadConfiguration,this,this.disposables),O.on("BufUnload",async n=>{let s=this.providersMap.get(n);if(!s)return;this.providersMap.delete(n),s.dispose();let o=this.treeViews.get(s);this.treeViews.delete(s);for(let a of o){if(!a.visible)continue;let l=this.originalWins.get(a);if(l&&this.config.checkBufferSwitch&&await e.call("win_id2win",[l])){e.createWindow(a.windowId).setVar("target_bufnr",-1,!0);let f=setTimeout(()=>{a.visible&&a.dispose()},200);this.disposables.push({dispose:()=>{clearTimeout(f)}});continue}a.dispose()}},null,this.disposables),O.on("BufEnter",(0,o9.default)(()=>{this._onBufEnter()},global.hasOwnProperty("__TEST__")?100:300),null,this.disposables),O.on("CursorHold",async n=>{if(!this.config.followCursor)return;let s=this.providersMap.get(n);if(!s)return;let o=this.treeViews.get(s);if(!o||!o.length)return;let a=await this.nvim.call("coc#window#find",["cocViewId","OUTLINE"]);if(a==-1)return;let l=o.find(h=>h.windowId==a);if(!l)return;let c=await D.getCursorPosition(),u,f=h=>{if(Ft(c,h.range)!=0)return!1;if(u=h,Array.isArray(h.children)){for(let p of h.children)if(f(p))break}return!0},d=await Promise.resolve(s.getChildren());for(let h of d)if(f(h))break;u&&await l.reveal(u)},null,this.disposables)}async _onBufEnter(){if(!this.config.checkBufferSwitch)return;let[e,t,i]=await this.nvim.eval("[win_getid(),bufnr('%'),coc#window#find('cocViewId', 'OUTLINE')]");e==i||i==-1||!this.buffers.getItem(t)||await this.nvim.createWindow(i).getVar("target_bufnr")==t||await this.show(1)}loadConfiguration(e){if(!e||e.affectsConfiguration("outline")){let t=v.getConfiguration("outline");this.config={splitCommand:t.get("splitCommand"),followCursor:t.get("followCursor"),keepWindow:t.get("keepWindow"),expandLevel:t.get("expandLevel"),checkBufferSwitch:t.get("checkBufferSwitch"),sortBy:t.get("sortBy"),showLineNumber:t.get("showLineNumber"),codeActionKinds:t.get("codeActionKinds")}}}convertSymbolToNode(e,t){var i;return{label:e.name,tooltip:e.detail,description:this.config.showLineNumber?`${e.selectionRange.start.line+1}`:void 0,icon:this.handler.getIcon(e.kind),deprecated:(i=e.tags)==null?void 0:i.includes(a9.SymbolTag.Deprecated),kind:e.kind,range:e.range,selectRange:e.selectionRange,children:Array.isArray(e.children)?e.children.map(n=>this.convertSymbolToNode(n,t)).sort(t):void 0}}setMessage(e,t){let i=this.treeViews.get(e);i&&i.forEach(n=>{n.message=t})}createProvider(e){let{bufnr:t}=e,{sortBy:i}=this.config,{nvim:n}=this,s=(c,u)=>i==="name"?c.labelc.map(u=>this.convertSymbolToNode(u,s)).sort(s),a,l=new Pw({expandLevel:this.config.expandLevel,provideData:async()=>{let c=v.getDocument(t);if(!N.hasProvider("documentSymbol",c.textDocument))throw new Error("Document symbol provider not found");this.setMessage(l,"Loading document symbols");let u=await e.getSymbols();if(!u||u.length==0)throw new Error("Empty symbols returned from language server. ");return a=e.onDidUpdate(f=>{l.update(o(f))}),this.setMessage(l,void 0),o(u)},handleClick:async c=>{let u=await n.call("bufwinnr",[t]);if(u==-1)return;n.pauseNotification(),n.command(`${u}wincmd w`,!0);let f=c.selectRange.start;n.call("coc#cursor#move_to",[f.line,f.character],!0),n.command("normal! zz",!0);let d=n.createBuffer(t);d.highlightRanges("outline-hover","CocHoverRange",[c.selectRange]),n.command("redraw",!0),await n.resumeNotification(),setTimeout(()=>{d.clearNamespace("outline-hover"),n.command("redraw",!0)},global.hasOwnProperty("__TEST__")?10:300)},resolveActions:async(c,u)=>{let f=await n.call("bufwinnr",[t]);if(f==-1)return;let d=v.getDocument(t);return[...(await this.handler.getCodeActions(d,u.range,this.config.codeActionKinds)).map(g=>({title:g.title,handler:async()=>{let b=u.range.start;await n.command(`${f}wincmd w`),await this.nvim.call("coc#cursor#move_to",[b.line,b.character]),await this.handler.applyCodeAction(g)}})),{title:"Visual Select",handler:async g=>{await n.command(`${f}wincmd w`),await v.selectRange(g.range)}}]},onDispose:()=>{this.providersMap.delete(e.bufnr),a&&a.dispose()}});return l}async show(e){await v.document;let[t,i]=await this.nvim.eval('[bufnr("%"),win_getid()]'),n=this.buffers.getItem(t);if(!n)throw new Error("Document not attached");let s=this.providersMap.get(t);s||(s=this.createProvider(n),this.providersMap.set(t,s));let o=new Ya("OUTLINE",{enableFilter:!0,treeDataProvider:s});this.originalWins.set(o,i);let a=this.treeViews.get(s)||[];a.push(o),this.treeViews.set(s,a),o.onDidChangeVisibility(({visible:l})=>{if(l||!this.treeViews.has(s))return;let c=this.treeViews.get(s)||[];if(c=c.filter(u=>u!==o),this.originalWins.delete(o),c.length){this.treeViews.set(s,c);return}s.dispose(),this.treeViews.delete(s)}),await o.show(this.config.splitCommand),o.windowId&&this.nvim.createWindow(o.windowId).setVar("target_bufnr",t,!0),(e==1||e===void 0&&this.config.keepWindow)&&await this.nvim.command("wincmd p")}has(e){return this.providersMap.has(e)}async hide(){let e=await this.nvim.call("coc#window#find",["cocViewId","OUTLINE"]);e!=-1&&await this.nvim.call("coc#window#close",[e])}dispose(){for(let e of this.providersMap.values()){e.dispose();for(let t of this.treeViews.get(e))t.dispose()}this.providersMap.clear(),G(this.disposables)}}});var lf,Iw,c9=R(()=>{lf=E(H());_e();Re();de();ri();Vt();Te();Y();r9();l9();zD();Iw=class{constructor(e,t){this.nvim=e;this.handler=t;this.disposables=[];this.buffers=v.registerBufferSync(i=>{if(i.buftype=="")return new Rw(i.bufnr)}),this.outline=new kw(e,this.buffers,t),O.on("CursorHold",async i=>{!this.functionUpdate||!this.buffers.getItem(i)||await this.getCurrentFunctionSymbol(i)},null,this.disposables),O.on("InsertEnter",i=>{let n=this.buffers.getItem(i);n&&n.cancel()},null,this.disposables)}get functionUpdate(){return v.getConfiguration("coc.preferences").get("currentFunctionSymbolAutoUpdate",!1)}get labels(){return v.getConfiguration("suggest").get("completionItemKindLabels",{})}async getWorkspaceSymbols(e){this.handler.checkProvier("workspaceSymbols",null);let t=new lf.CancellationTokenSource;return await N.getWorkspaceSymbols(e,t.token)}async resolveWorkspaceSymbol(e){var i;if((i=e.location)==null?void 0:i.uri)return e;let t=new lf.CancellationTokenSource;return await N.resolveWorkspaceSymbol(e,t.token)}async getDocumentSymbols(e){let t=this.buffers.getItem(e);if(!t)return;let i=await t.getSymbols();return i?ZG(i):void 0}async getCurrentFunctionSymbol(e){e||(e=await this.nvim.call("bufnr",["%"]));let t=v.getDocument(e);if(!t||!t.attached||!N.hasProvider("documentSymbol",t.textDocument))return;let i=await D.getCursorPosition(),n=await this.getDocumentSymbols(e),s=this.nvim.createBuffer(e);if(!n||n.length===0)return s.setVar("coc_current_function","",!0),this.nvim.call("coc#util#do_autocmd",["CocStatusChange"],!0),"";n=n.filter(a=>["Class","Method","Function","Struct"].includes(a.kind));let o="";for(let a of n.reverse())if(a.range&&Ft(i,a.range)==0&&!a.text.endsWith(") callback")){o=a.text;let l=this.labels[a.kind.toLowerCase()];l&&(o=`${l} ${o}`);break}return this.functionUpdate&&(s.setVar("coc_current_function",o,!0),this.nvim.call("coc#util#do_autocmd",["CocStatusChange"],!0)),o}async selectSymbolRange(e,t,i){let{doc:n}=await this.handler.getCurrentState();this.handler.checkProvier("documentSymbol",n.textDocument);let s;if(t)s=await v.getSelectedRange(t,n);else{let l=await D.getCursorPosition();s=lf.Range.create(l,l)}let o=await this.getDocumentSymbols(n.bufnr);if(!o||o.length===0){D.showMessage("No symbols found","warning");return}o=o.filter(l=>i.includes(l.kind));let a;for(let l of o.reverse())if(l.range&&!je(l.range,s)&&Cn(s,l.range)){a=l.range;break}if(e&&a){let{start:l,end:c}=a,u=n.getline(l.line+1),f=n.getline(c.line-1);a=lf.Range.create(l.line+1,u.match(/^\s*/)[0].length,c.line-1,f.length)}a?await v.selectRange(a):["v","V",""].includes(t)&&await this.nvim.command("normal! gv")}async showOutline(e){await this.outline.show(e)}async hideOutline(){await this.outline.hide()}hasOutline(e){return this.outline.has(e)}dispose(){this.outline.dispose(),this.buffers.dispose(),G(this.disposables)}}});var Ow,bge,Lw,u9=R(()=>{Ow=E(H());_e();Re();de();Te();Y();gG();bG();_G();EG();TG();RG();PG();IG();LG();AG();HG();WG();zG();GG();YG();XG();c9();fp();bge=U()("Handler"),Lw=class{constructor(e){this.nvim=e;this.disposables=[];this.requestStatusItem=D.createStatusBarItem(0,{progress:!0}),O.on(["CursorMoved","CursorMovedI","InsertEnter","InsertSnippet","InsertLeave"],()=>{this.requestTokenSource&&(this.requestTokenSource.cancel(),this.requestTokenSource=null)},null,this.disposables),this.labels=v.getConfiguration("suggest").get("completionItemKindLabels",{}),this.fold=new fw(e,this),this.links=new gw(e,this),this.codeLens=new ow(e),this.colors=new cw(e,this),this.format=new hw(e,this),this.symbols=new Iw(e,this),this.refactor=new xw(e,this),this.hover=new mw(e,this),this.locations=new vw(e,this),this.signature=new Dw(e,this),this.rename=new Sw(e,this),this.codeActions=new nw(e,this),this.commands=new uw(e,v.env),this.callHierarchy=new of(e,this),this.documentHighlighter=new pw(e,this),this.semanticHighlighter=new Tw(e,this),this.selectionRange=new Cw(e,this),this.disposables.push({dispose:()=>{this.callHierarchy.dispose(),this.codeLens.dispose(),this.refactor.dispose(),this.signature.dispose(),this.symbols.dispose(),this.hover.dispose(),this.locations.dispose(),this.colors.dispose(),this.documentHighlighter.dispose(),this.semanticHighlighter.dispose()}})}async getCurrentState(){let{nvim:e}=this,[t,[i,n],s,o]=await e.eval("[bufnr('%'),coc#cursor#position(),win_getid(),mode()]"),a=v.getDocument(t);if(!a||!a.attached)throw new Error(`current buffer ${t} not attached`);return{doc:a,mode:o,position:Ow.Position.create(i,n),winid:s}}addDisposable(e){this.disposables.push(e)}checkProvier(e,t){if(!N.hasProvider(e,t))throw new Error(`${e} provider not found for current buffer, your language server doesn't support it.`)}async withRequestToken(e,t,i){this.requestTokenSource&&(this.requestTokenSource.cancel(),this.requestTokenSource.dispose()),this.requestTimer&&clearTimeout(this.requestTimer);let n=this.requestStatusItem;this.requestTokenSource=new Ow.CancellationTokenSource;let{token:s}=this.requestTokenSource;s.onCancellationRequested(()=>{n.text=`${e} request canceled`,n.isProgress=!1,this.requestTimer=setTimeout(()=>{n.hide()},500)}),n.isProgress=!0,n.text=`requesting ${e}`,n.show();let o;try{o=await Promise.resolve(t(s))}catch(a){D.showMessage(a.message,"error"),bge.error(`Error on ${e}`,a)}return this.requestTokenSource&&(this.requestTokenSource.dispose(),this.requestTokenSource=void 0),s.isCancellationRequested?null:(n.hide(),i&&(!o||Array.isArray(o)&&o.length==0)?(D.showMessage(`${e} not found`,"warning"),null):o)}getIcon(e){let{labels:t}=this,i=us(e),n=typeof t.default=="string"?t.default:i[0].toLowerCase(),s=i=="Unknown"?"":t[i[0].toLowerCase()+i.slice(1)];return(!s||typeof s!="string")&&(s=n),{text:s,hlGroup:i=="Unknown"?"CocSymbolDefault":`CocSymbol${i}`}}async getCodeActions(e,t,i){return await this.codeActions.getCodeActions(e,t,i)}async applyCodeAction(e){await this.codeActions.applyCodeAction(e)}async hasProvider(e){let t=await this.nvim.call("bufnr","%"),i=v.getDocument(t);return i?N.hasProvider(e,i.textDocument):!1}dispose(){this.requestTimer&&clearTimeout(this.requestTimer),G(this.disposables)}}});var f9,VD,d9,GD,cf,Aw,h9=R(()=>{f9=E(require("events")),VD=E(require("fs")),d9=E(require("path")),GD=E(H());qe();Ei();OD();mG();Xa();_e();ia();u9();By();sp();Yu();xl();En();Te();Y();cf=U()("plugin"),Aw=class extends f9.EventEmitter{constructor(e){super();this.nvim=e;this._ready=!1;this.actions=new Map;Object.defineProperty(v,"nvim",{get:()=>this.nvim}),v.onDidChangeWorkspaceFolders(()=>{e.setVar("WorkspaceFolders",v.folderPaths,!0)}),this.cursors=new rw(e),se.init(e,this),this.addAction("checkJsonExtension",()=>{we.has("coc-json")||D.showMessage("Run :CocInstall coc-json for json intellisense","more")}),this.addAction("rootPatterns",i=>{let n=v.getDocument(i);return n?{buffer:v.getRootPatterns(n,ir.Buffer),server:v.getRootPatterns(n,ir.LanguageServer),global:v.getRootPatterns(n,ir.Global)}:null}),this.addAction("getConfig",async i=>{let n=await v.document;return v.getConfiguration(i,n?n.uri:void 0)}),this.addAction("doAutocmd",async(i,...n)=>{let s=v.autocmds.get(i);if(s)try{await Promise.resolve(s.callback.apply(s.thisArg,n))}catch(o){cf.error(`Error on autocmd ${s.event}`,o),D.showMessage(`Error on autocmd ${s.event}: ${o.message}`)}}),this.addAction("openLog",async()=>{let i=cf.getLogFile();await v.jumpTo(B.file(i).toString())}),this.addAction("attach",()=>v.attach()),this.addAction("detach",()=>v.detach()),this.addAction("doKeymap",async(i,n="",s)=>{let o=v.keymaps.get(i);if(!o)return cf.error(`keymap for ${i} not found`),this.nvim.command(`silent! unmap ${s.startsWith("{")&&s.endsWith("}")?`<${s.slice(1,-1)}>`:s}`,!0),n;let[a,l]=o,c=await Promise.resolve(a());return l&&await e.command(`silent! call repeat#set("\\(coc-${i})", -1)`),c!=null?c:n}),this.addAction("registExtensions",async(...i)=>{for(let n of i)await we.loadExtension(n)}),this.addAction("snippetCheck",async(i,n)=>{if(i&&!we.has("coc-snippets"))return console.error("coc-snippets required for check expand status!"),!1;if(n&&vi.jumpable())return!0;if(i){let s=we.getExtensionApi("coc-snippets");if(s&&s.hasOwnProperty("expandable")&&await Promise.resolve(s.expandable()))return!0}return!1}),this.addAction("snippetNext",()=>vi.nextPlaceholder()),this.addAction("snippetPrev",()=>vi.previousPlaceholder()),this.addAction("snippetCancel",()=>vi.cancel()),this.addAction("openLocalConfig",()=>D.openLocalConfig()),this.addAction("showInfo",async()=>{this.infoChannel?this.infoChannel.clear():this.infoChannel=D.createOutputChannel("info");let i=this.infoChannel;i.appendLine("## versions"),i.appendLine("");let s=(await this.nvim.call("execute",["version"])).trim().split(/\r?\n/,2)[0].replace(/\(.*\)/,"").trim();i.appendLine("vim version: "+s+`${v.isVim?" "+v.env.version:""}`),i.appendLine("node version: "+process.version),i.appendLine("coc.nvim version: "+this.version),i.appendLine("coc.nvim directory: "+d9.default.dirname(__dirname)),i.appendLine("term: "+(process.env.TERM_PROGRAM||process.env.TERM)),i.appendLine("platform: "+process.platform),i.appendLine(""),i.appendLine("## Log of coc.nvim"),i.appendLine("");let o=cf.getLogFile();if(VD.default.existsSync(o)){let a=VD.default.readFileSync(o,{encoding:"utf8"});i.appendLine(a)}i.show()}),this.addAction("findLocations",(i,n,s,o)=>this.handler.locations.findLocations(i,n,s,o)),this.addAction("hasProvider",i=>this.handler.hasProvider(i)),this.addAction("getTagList",()=>this.handler.locations.getTagList()),this.addAction("hasSelected",()=>sa.hasSelected()),this.addAction("listNames",()=>gi.names),this.addAction("listDescriptions",()=>gi.descriptions),this.addAction("listLoadItems",i=>gi.loadItems(i)),this.addAction("search",(...i)=>this.handler.refactor.search(i)),this.addAction("cursorsSelect",(i,n,s)=>this.cursors.select(i,n,s)),this.addAction("fillDiagnostics",i=>Lt.setLocationlist(i)),this.addAction("saveRefactor",i=>this.handler.refactor.save(i)),this.addAction("commandList",()=>this.handler.commands.getCommandList()),this.addAction("selectSymbolRange",(i,n,s)=>this.handler.symbols.selectSymbolRange(i,n,s)),this.addAction("openList",(...i)=>gi.start(i)),this.addAction("listResume",i=>gi.resume(i)),this.addAction("listCancel",()=>gi.cancel(!0)),this.addAction("listPrev",i=>gi.previous(i)),this.addAction("listNext",i=>gi.next(i)),this.addAction("listFirst",i=>gi.first(i)),this.addAction("listLast",i=>gi.last(i)),this.addAction("sendRequest",(i,n,s)=>Fi.sendRequest(i,n,s)),this.addAction("sendNotification",(i,n,s)=>Fi.sendNotification(i,n,s)),this.addAction("registNotification",(i,n)=>Fi.registNotification(i,n)),this.addAction("updateConfig",(i,n)=>v.configurations.updateUserConfig({[i]:n})),this.addAction("links",()=>this.handler.links.getLinks()),this.addAction("openLink",()=>this.handler.links.openCurrentLink()),this.addAction("pickColor",()=>this.handler.colors.pickColor()),this.addAction("colorPresentation",()=>this.handler.colors.pickPresentation()),this.addAction("highlight",()=>this.handler.documentHighlighter.highlight()),this.addAction("fold",i=>this.handler.fold.fold(i)),this.addAction("startCompletion",i=>sa.startCompletion(i)),this.addAction("stopCompletion",()=>sa.stop(!1)),this.addAction("sourceStat",()=>ht.sourceStats()),this.addAction("refreshSource",i=>ht.refresh(i)),this.addAction("toggleSource",i=>ht.toggleSource(i)),this.addAction("diagnosticRefresh",i=>Lt.refresh(i)),this.addAction("diagnosticInfo",()=>Lt.echoMessage()),this.addAction("diagnosticToggle",()=>Lt.toggleDiagnostic()),this.addAction("diagnosticToggleBuffer",async i=>(i||(i=await e.call("bufnr",["%"])),Lt.toggleDiagnosticBuffer(i))),this.addAction("diagnosticNext",i=>Lt.jumpNext(i)),this.addAction("diagnosticPrevious",i=>Lt.jumpPrevious(i)),this.addAction("diagnosticPreview",()=>Lt.preview()),this.addAction("diagnosticList",()=>Lt.getDiagnosticList()),this.addAction("jumpDefinition",i=>this.handler.locations.gotoDefinition(i)),this.addAction("definitions",()=>this.handler.locations.definitions()),this.addAction("jumpDeclaration",i=>this.handler.locations.gotoDeclaration(i)),this.addAction("declarations",()=>this.handler.locations.declarations()),this.addAction("jumpImplementation",i=>this.handler.locations.gotoImplementation(i)),this.addAction("implementations",()=>this.handler.locations.implementations()),this.addAction("jumpTypeDefinition",i=>this.handler.locations.gotoTypeDefinition(i)),this.addAction("typeDefinitions",()=>this.handler.locations.typeDefinitions()),this.addAction("jumpReferences",i=>this.handler.locations.gotoReferences(i)),this.addAction("references",()=>this.handler.locations.references()),this.addAction("jumpUsed",i=>this.handler.locations.gotoReferences(i,!1)),this.addAction("doHover",i=>this.handler.hover.onHover(i)),this.addAction("definitionHover",i=>this.handler.hover.definitionHover(i)),this.addAction("getHover",()=>this.handler.hover.getHover()),this.addAction("showSignatureHelp",()=>this.handler.signature.triggerSignatureHelp()),this.addAction("documentSymbols",async i=>(i||(i=(await v.document).bufnr),await this.handler.symbols.getDocumentSymbols(i))),this.addAction("ensureDocument",async()=>{let i=await v.document;return i&&i.attached}),this.addAction("symbolRanges",()=>this.handler.documentHighlighter.getSymbolsRanges()),this.addAction("selectionRanges",()=>this.handler.selectionRange.getSelectionRanges()),this.addAction("rangeSelect",(i,n)=>this.handler.selectionRange.selectRange(i,n)),this.addAction("rename",i=>this.handler.rename.rename(i)),this.addAction("getWorkspaceSymbols",i=>this.handler.symbols.getWorkspaceSymbols(i)),this.addAction("resolveWorkspaceSymbol",i=>this.handler.symbols.resolveWorkspaceSymbol(i)),this.addAction("formatSelected",i=>this.handler.format.formatCurrentRange(i)),this.addAction("format",()=>this.handler.format.formatCurrentBuffer()),this.addAction("commands",()=>this.handler.commands.getCommands()),this.addAction("services",()=>Fi.getServiceStats()),this.addAction("toggleService",i=>Fi.toggle(i)),this.addAction("codeAction",(i,n)=>this.handler.codeActions.doCodeAction(i,n)),this.addAction("organizeImport",()=>this.handler.codeActions.organizeImport()),this.addAction("fixAll",()=>this.handler.codeActions.doCodeAction(null,[GD.CodeActionKind.SourceFixAll]));let t=[];this.addAction("doCodeAction",i=>{if(i.index==null)throw new Error("index should exists with codeAction");let n=t[i.index];if(!n)throw new Error(`invalid codeAction index: ${i.index}`);return this.handler.codeActions.applyCodeAction(n)}),this.addAction("codeActions",async(i,n)=>(t=await this.handler.codeActions.getCurrentCodeActions(i,n),t.map((s,o)=>Object.assign({index:o},s)))),this.addAction("quickfixes",async i=>(t=await this.handler.codeActions.getCurrentCodeActions(i,[GD.CodeActionKind.QuickFix]),t.map((n,s)=>Object.assign({index:s},n)))),this.addAction("codeLensAction",()=>this.handler.codeLens.doAction()),this.addAction("runCommand",(...i)=>this.handler.commands.runCommand(...i)),this.addAction("doQuickfix",()=>this.handler.codeActions.doQuickfix()),this.addAction("refactor",()=>this.handler.refactor.doRefactor()),this.addAction("repeatCommand",()=>this.handler.commands.repeat()),this.addAction("installExtensions",(...i)=>we.installExtensions(i)),this.addAction("updateExtensions",i=>we.updateExtensions(i)),this.addAction("extensionStats",()=>we.getExtensionStates()),this.addAction("loadedExtensions",()=>we.loadedExtensions()),this.addAction("watchExtension",i=>we.watchExtension(i)),this.addAction("activeExtension",i=>we.activate(i)),this.addAction("deactivateExtension",i=>we.deactivate(i)),this.addAction("reloadExtension",i=>we.reloadExtension(i)),this.addAction("toggleExtension",i=>we.toggleExtension(i)),this.addAction("uninstallExtension",(...i)=>we.uninstallExtension(i)),this.addAction("getCurrentFunctionSymbol",()=>this.handler.symbols.getCurrentFunctionSymbol()),this.addAction("showOutline",i=>this.handler.symbols.showOutline(i)),this.addAction("hideOutline",()=>this.handler.symbols.hideOutline()),this.addAction("getWordEdit",()=>this.handler.rename.getWordEdit()),this.addAction("addCommand",i=>this.handler.commands.addVimCommand(i)),this.addAction("addRanges",i=>this.cursors.addRanges(i)),this.addAction("currentWorkspacePath",()=>v.rootPath),this.addAction("selectCurrentPlaceholder",i=>vi.selectCurrentPlaceholder(!!i)),this.addAction("codeActionRange",(i,n,s)=>this.handler.codeActions.codeActionRange(i,n,s)),this.addAction("incomingCalls",i=>this.handler.callHierarchy.getIncoming(i)),this.addAction("outgoingCalls",i=>this.handler.callHierarchy.getOutgoing(i)),this.addAction("showIncomingCalls",()=>this.handler.callHierarchy.showCallHierarchyTree("incoming")),this.addAction("showOutgoingCalls",()=>this.handler.callHierarchy.showCallHierarchyTree("outgoing")),this.addAction("semanticHighlight",()=>this.handler.semanticHighlighter.highlightCurrent()),this.addAction("showSemanticHighlightInfo",()=>this.handler.semanticHighlighter.showHiglightInfo())}addAction(e,t){if(this.actions.has(e))throw new Error(`Action ${e} already exists`);this.actions.set(e,t)}async init(){let{nvim:e}=this,t=Date.now();try{await we.init(),await v.init(),vi.init(),sa.init(),Lt.init(),gi.init(e),ht.init(),this.handler=new Lw(e),Fi.init(),we.activateExtensions(),v.setupDynamicAutocmd(!0),e.pauseNotification(),e.setVar("WorkspaceFolders",v.folderPaths,!0),e.setVar("coc_service_initialized",1,!0),e.call("coc#util#do_autocmd",["CocNvimInit"],!0),e.resumeNotification(!1,!0),this._ready=!0,await O.fire("ready",[]),cf.info(`coc.nvim ${this.version} initialized with node: ${process.version} after ${Date.now()-t}ms`),this.emit("ready")}catch(i){e.echoError(i)}}get isReady(){return this._ready}get ready(){return this._ready?Promise.resolve():new Promise(e=>{this.once("ready",()=>{e()})})}get version(){return v.version+"-03c9add7cd"}hasAction(e){return this.actions.has(e)}async cocAction(e,...t){let i=this.actions.get(e);if(!i)throw new Error(`Action "${e}" not exists`);let n=Date.now(),s=await Promise.resolve(i.apply(null,t)),o=Date.now()-n;return o>500&&cf.warn(`Slow action "${e}" cost ${o}ms`),s}getHandler(){return this.handler}dispose(){this.removeAllListeners(),we.dispose(),gi.dispose(),v.dispose(),D.dispose(),ht.dispose(),Fi.stopAll(),Fi.dispose(),this.handler&&this.handler.dispose(),vi.dispose(),se.dispose(),sa.dispose(),Lt.dispose()}}});var v9={};Bn(v9,{default:()=>xge});var p9,m9,g9,ps,yge,wge,xge,b9=R(()=>{p9=E(ES()),m9=E(Cx());_e();h9();g9=E(_v());Wr();qe();y_();ps=U()("attach"),yge=global.hasOwnProperty("__TEST__"),wge=["installExtensions","updateExtensions"],xge=(r,e=!0)=>{let t=(0,p9.attach)(r,m9.default.getLogger("node-client"),e);global.hasOwnProperty("__TEST__")||t.call("coc#util#path_replace_patterns").then(o=>{if(Wt(o)){let a=B.file;B.file=l=>(l=l.replace(/\\/g,"/"),Object.keys(o).forEach(c=>l=l.replace(new RegExp("^"+c),o[c])),a(l))}}).logError(),t.setVar("coc_process_pid",process.pid,!0);let i=new Aw(t),n=!1,s=!1;return t.on("notification",async(o,a)=>{switch(o){case"VimEnter":{!s&&n&&(s=!0,await i.init());break}case"Log":{ps.debug(...a);break}case"TaskExit":case"TaskStderr":case"TaskStdout":case"GlobalChange":case"PromptInsert":case"InputChar":case"MenuInput":case"OptionSet":case"FloatBtnClick":await O.fire(o,a);break;case"CocAutocmd":ps.trace("Notification autocmd:",...a),await O.fire(a[0],a.slice(1));break;default:{if(!i.hasAction(o)){if(global.hasOwnProperty("__TEST__"))return;console.error(`action "${o}" not exists`);return}try{i.isReady?ps.info("receive notification:",o,a):ps.warn(`Plugin not ready when received "${o}"`,a),await i.ready,await i.cocAction(o,...a)}catch(c){console.error(`Error on "${o}": ${c.message||c.toString()}`),ps.error("Notification error:",o,a,c)}}}}),t.on("request",async(o,a,l)=>{if(o=="redraw"){l.send();return}let c=setTimeout(()=>{ps.error("Request cost more than 3s",o,a)},3e3);try{if(o=="CocAutocmd")ps.trace("Request autocmd:",...a),await O.fire(a[0],a.slice(1)),l.send(void 0);else{if(!i.isReady&&!wge.includes(o)){ps.warn(`Plugin not ready on request "${o}"`,a),l.send("Plugin not ready",!0);return}ps.info("Request action:",o,a);let u=await i.cocAction(o,...a);l.send(u)}clearTimeout(c)}catch(u){clearTimeout(c),l.send(u.message||u.toString(),!0),ps.error("Request error:",o,a,u)}}),t.channelId.then(async o=>{n=!0,yge&&t.command(`let g:coc_node_channel_id = ${o}`,!0);let{major:a,minor:l,patch:c}=g9.default.parse(Xg);t.setClientInfo("coc",{major:a,minor:l,patch:c},"remote",{},{}),await t.getVvar("vim_did_enter")&&!s&&(s=!0,await i.init())}).catch(o=>{console.error(`Channel create error: ${o.message}`)}),i}});dm();Object.defineProperty(console,"log",{value(){KD.info(...arguments)}});var KD=U()("server"),Sge=(b9(),v9).default;Sge({reader:process.stdin,writer:process.stdout});process.on("uncaughtException",function(r){let e="Uncaught exception: "+r.message;console.error(e),KD.error("uncaughtException",r.stack)});process.on("unhandledRejection",function(r,e){r instanceof Error?console.error("UnhandledRejection: "+r.message+` +`+r.stack):console.error("UnhandledRejection: "+r),KD.error("unhandledRejection ",e,r)}); +/*! + * @description Recursive object extending + * @author Viacheslav Lotsmanov + * @license MIT + * + * The MIT License (MIT) + * + * Copyright (c) 2013-2018 Viacheslav Lotsmanov + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +/*! + * ISC License + * + * Copyright (c) 2018, Andrea Giammarchi, @WebReflection + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ +/*! + * bytes + * Copyright(c) 2012-2014 TJ Holowaychuk + * Copyright(c) 2015 Jed Watson + * MIT Licensed + */ +/*! + * content-disposition + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ +/** + * event-lite.js - Light-weight EventEmitter (less than 1KB when gzipped) + * + * @copyright Yusuke Kawasaki + * @license MIT + * @constructor + * @see https://github.com/kawanet/event-lite + * @see http://kawanet.github.io/event-lite/EventLite.html + * @example + * var EventLite = require("event-lite"); + * + * function MyClass() {...} // your class + * + * EventLite.mixin(MyClass.prototype); // import event methods + * + * var obj = new MyClass(); + * obj.on("foo", function() {...}); // add event listener + * obj.once("bar", function() {...}); // add one-time event listener + * obj.emit("foo"); // dispatch event + * obj.emit("bar"); // dispatch another event + * obj.off("foo"); // remove event listener + */ diff --git a/private_dot_config/nvim/plugged/coc.nvim/data/schema.json b/private_dot_config/nvim/plugged/coc.nvim/data/schema.json new file mode 100644 index 0000000..48dc97e --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/data/schema.json @@ -0,0 +1,1471 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Configuration file for coc.nvim", + "additionalProperties": false, + "definitions": { + "float": { + "type": "object", + "properties": { + "border": { + "type": "boolean", + "default": false, + "description": "Set to true to use borders." + }, + "highlight": { + "type": "string", + "default": "CocFloating", + "description": "Background highlight group of float window." + }, + "title": { + "type": "string", + "default": "", + "description": "Title used by float window." + }, + "borderhighlight": { + "type": "string", + "default": "CocFloating", + "description": "Border highlight group of float window." + }, + "close": { + "type": "boolean", + "default": false, + "description": "Set to true to draw close icon" + }, + "maxWidth": { + "type": "integer", + "description": "Maximum width of float window, include border." + }, + "maxHeight": { + "type": "integer", + "minimum": 2, + "description": "Maximum height of float window, include border." + }, + "focusable": { + "type": "boolean", + "default": true, + "description": "Enable focus by user actions (wincmds, mouse events), neovim only." + }, + "shadow": { + "type": "boolean", + "default": false, + "description": "Drop shadow effect by blending with the background, neovim only." + }, + "winblend": { + "type": "integer", + "default": 0, + "minimum": 0, + "maximum": 100, + "description": "Enables pseudo-transparency by set 'winblend' option of window, neovim only." + } + } + }, + "languageServerBase": { + "type": "object", + "properties": { + "enable": { + "type": "boolean", + "default": true + }, + "cwd": { + "type": "string", + "default": "", + "description": "Working directory of languageserver, absolute path or relative to workspace folder, use workspace root by default" + }, + "disableDynamicRegister": { + "type": "boolean", + "default": false, + "description": "Disable dynamic registerCapability feature for this languageserver to avoid duplicated feature regstration." + }, + "disableWorkspaceFolders": { + "type": "boolean", + "default": false, + "description": "Disable workspaceFolders feature for this languageserver." + }, + "disableSnippetCompletion": { + "type": "boolean", + "default": false, + "description": "Disable completion snippet feature for this languageserver, the languageserver may not respect it." + }, + "disableDiagnostics": { + "type": "boolean", + "default": false, + "description": "Disable handle diagnostics for this languageserver." + }, + "disableCompletion": { + "type": "boolean", + "default": false, + "description": "Disable completion feature for this languageserver." + }, + "formatterPriority": { + "type": "number", + "default": 0, + "description": "Priority of this languageserver's fomatter." + }, + "env": { + "type": "object", + "default": null, + "description": "Environment variables for child process." + }, + "stdioEncoding": { + "type": "string", + "default": "utf8", + "description": "Encoding used for stdio of child process." + }, + "rootPatterns": { + "type": "array", + "default": [], + "description": "Root patterns used to resolve rootPath from current file, default to workspace root", + "items": { + "type": "string" + } + }, + "requireRootPattern": { + "type": "boolean", + "default": false, + "description": "If true, doesn't start server when root pattern not found." + }, + "ignoredRootPaths": { + "type": "array", + "default": [], + "description": "Absolute root paths that language server should not use as rootPath, higher priority than rootPatterns.", + "items": { + "type": "string" + } + }, + "filetypes": { + "type": "array", + "default": [], + "description": "Supported filetypes, add * in array for all filetypes.", + "items": { + "type": "string" + } + }, + "additionalSchemes": { + "type": "array", + "default": [], + "description": "Additional uri schemes, default schemes including file & untitled.", + "items": { + "type": "string" + } + }, + "revealOutputChannelOn": { + "type": "string", + "default": "never", + "description": "Configure message level to show the output channel buffer", + "enum": ["info", "warn", "error", "never"] + }, + "progressOnInitialization": { + "type": "boolean", + "default": true, + "description": "Enable progress report on languageserver initialize." + }, + "initializationOptions": { + "type": "object", + "default": {}, + "description": "initializationOptions passed to languageserver" + }, + "settings": { + "type": "object", + "default": {}, + "description": "Settings of languageserver" + }, + "trace.server": { + "type": "string", + "default": "off", + "enum": ["off", "messages", "verbose"], + "description": "Trace level of communication between server and client" + } + } + }, + "languageServerSocket": { + "type": "object", + "allOf": [{ "$ref": "#/definitions/languageServerBase" }], + "required": ["port", "filetypes"], + "additionalProperties": false, + "properties": { + "port": { + "type": "integer", + "description": "Port number of socket server" + }, + "host": { + "type": "string", + "default": "127.0.0.1", + "description": "Host of server" + }, + "disableWorkspaceFolders": {}, + "disableSnippetCompletion": {}, + "disableDynamicRegister": {}, + "disableDiagnostics": {}, + "disableCompletion": {}, + "formatterPriority": {}, + "enable": {}, + "rootPatterns": {}, + "requireRootPattern": {}, + "ignoredRootPaths": {}, + "filetypes": {}, + "additionalSchemes": {}, + "revealOutputChannelOn": {}, + "progressOnInitialization": {}, + "initializationOptions": {}, + "settings": {}, + "stdioEncoding": {}, + "trace.server": {} + } + }, + "languageServerModule": { + "type": "object", + "allOf": [{ "$ref": "#/definitions/languageServerBase" }], + "required": ["module", "filetypes"], + "additionalProperties": false, + "properties": { + "module": { + "type": "string", + "default": "", + "description": "Absolute path of javascript file, should works in IPC mode" + }, + "args": { + "type": "array", + "default": [], + "description": "Extra arguments of module", + "items": { + "type": "string" + } + }, + "runtime": { + "type": "string", + "default": "", + "description": "Absolute path of node runtime." + }, + "execArgv": { + "type": "array", + "default": [], + "description": "Argv passed to node when using module, normally used for debugging, ex: [\"--nolazy\", \"--inspect-brk=6045\"]", + "items": { + "type": "string" + } + }, + "transport": { + "type": "string", + "default": "ipc", + "description": "Transport kind used by server, could be 'ipc', 'stdio', 'socket' and 'pipe'", + "enum": ["ipc", "stdio", "socket", "pipe"] + }, + "transportPort": { + "type": "integer", + "description": "Port number used when transport is 'socket'" + }, + "cwd": {}, + "env": {}, + "enable": {}, + "disableDynamicRegister": {}, + "disableWorkspaceFolders": {}, + "disableSnippetCompletion": {}, + "disableDiagnostics": {}, + "disableCompletion": {}, + "formatterPriority": {}, + "rootPatterns": {}, + "requireRootPattern": {}, + "ignoredRootPaths": {}, + "filetypes": {}, + "additionalSchemes": {}, + "revealOutputChannelOn": {}, + "progressOnInitialization": {}, + "initializationOptions": {}, + "stdioEncoding": {}, + "settings": {}, + "trace.server": {} + } + }, + "languageServerCommand": { + "type": "object", + "required": ["command", "filetypes"], + "allOf": [{ "$ref": "#/definitions/languageServerBase" }], + "additionalProperties": false, + "properties": { + "command": { + "type": "string", + "default": "", + "description": "Executable in $PATH to start languageserver, should not used with module" + }, + "args": { + "type": "array", + "default": [], + "description": "Arguments of command", + "items": { + "type": "string" + } + }, + "detached": { + "type": "boolean", + "default": false, + "description": "Detach the languageserver process" + }, + "shell": { + "type": "boolean", + "default": false, + "description": "Use shell for process" + }, + "cwd": {}, + "env": {}, + "enable": {}, + "disableDynamicRegister": {}, + "disableWorkspaceFolders": {}, + "disableSnippetCompletion": {}, + "disableDiagnostics": {}, + "disableCompletion": {}, + "formatterPriority": {}, + "rootPatterns": {}, + "requireRootPattern": {}, + "ignoredRootPaths": {}, + "filetypes": {}, + "additionalSchemes": {}, + "revealOutputChannelOn": {}, + "progressOnInitialization": {}, + "initializationOptions": {}, + "stdioEncoding": {}, + "settings": {}, + "trace.server": {} + } + } + }, + "properties": { + "http.proxy": { + "type": "string", + "default": "", + "pattern": "^https?://([^:]*(:[^@]*)?@)?([^:]+|\\[[:0-9a-fA-F]+\\])(:\\d+)?/?$|^$", + "description": "The proxy setting to use. If not set, will be inherited from the `http_proxy` and `https_proxy` environment variables." + }, + "http.proxyStrictSSL": { + "type": "boolean", + "description": "Controls whether the proxy server certificate should be verified against the list of supplied CAs", + "default": true + }, + "http.proxyAuthorization": { + "type": ["null", "string"], + "description": "The value to send as the `Proxy-Authorization` header for every network request.", + "default": null + }, + "http.proxyCA": { + "type": "string", + "description": "CA (file) to use as Certificate Authority", + "default": null + }, + "npm.binPath": { + "type": "string", + "default": "npm", + "description": "Command or absolute path to npm or yarn." + }, + "suggest.enablePreselect": { + "type": "boolean", + "description": "Enable preselect feature of LSP, only works on neovim", + "default": false + }, + "suggest.enablePreview": { + "type": "boolean", + "description": "Add preview option to completeopt, default: false.", + "default": false + }, + "suggest.floatEnable": { + "type": "boolean", + "description": "Enable floating window for documentation when possible.", + "default": true + }, + "suggest.floatConfig": { + "type": "object", + "description": "Configure style of documentation window for complete item.", + "allOf": [{ "$ref": "#/definitions/float" }], + "additionalProperties": false, + "properties": { + "border": {}, + "highlight": {}, + "borderhighlight": {}, + "maxWidth": {}, + "winblend": {}, + "focusable": {}, + "shadow": {} + } + }, + "suggest.labelMaxLength": { + "type": "number", + "description": "Max length of abbr that shown as label of complete item.", + "default": 200 + }, + "suggest.detailMaxLength": { + "type": "number", + "description": "Max length of detail that should be shown in popup menu.", + "default": 100 + }, + "suggest.detailField": { + "type": "string", + "default": "preview", + "description": "Where to show the detail text of CompleteItem from LS.", + "enum": ["abbr", "menu", "preview"] + }, + "suggest.autoTrigger": { + "type": "string", + "default": "always", + "description": "How should completion be triggered", + "enum": ["always", "trigger", "none"] + }, + "suggest.languageSourcePriority": { + "type": "number", + "default": 99, + "description": "Priority of language sources." + }, + "suggest.numberSelect": { + "type": "boolean", + "description": "Input number to select complete item, works on neovim >= 0.4.0 only.", + "default": false + }, + "suggest.disableKind": { + "type": "boolean", + "description": "Remove kind field from vim complete item.", + "default": false + }, + "suggest.disableMenu": { + "type": "boolean", + "description": "Remove menu field from vim complete item.", + "default": false + }, + "suggest.disableMenuShortcut": { + "type": "boolean", + "description": "Disable shortcut of completion source in menu.", + "default": false + }, + "suggest.snippetIndicator": { + "type": "string", + "default": "~", + "description": "The character used in abbr of complete item to indicate the item could be expand as snippet." + }, + "suggest.maxCompleteItemCount": { + "type": "number", + "default": 50, + "description": "Maximum number of complete items shown in vim" + }, + "suggest.preferCompleteThanJumpPlaceholder": { + "type": "boolean", + "description": "Confirm completion instead of jump to next placeholder when completion is activated.", + "default": false + }, + "suggest.fixInsertedWord": { + "type": "boolean", + "description": "Make inserted word replace word characters after cursor position.", + "default": true + }, + "suggest.localityBonus": { + "type": "boolean", + "description": "Boost suggestions that appear closer to the cursor position.", + "default": true + }, + "suggest.triggerAfterInsertEnter": { + "type": "boolean", + "description": "Trigger completion after InsertEnter, auto trigger should be 'always' to enable this option", + "default": false + }, + "suggest.timeout": { + "type": "integer", + "default": 5000, + "minimum": 500, + "maximum": 15000, + "description": "Timeout for completion, in miliseconds." + }, + "suggest.minTriggerInputLength": { + "type": "integer", + "default": 1, + "description": "Mininal input length for trigger completion, default 1" + }, + "suggest.triggerCompletionWait": { + "type": "integer", + "default": 100, + "minimum": 30, + "maximum": 500, + "description": "Wait time between text change and completion start, cancel completion when text changed during wait." + }, + "suggest.echodocSupport": { + "type": "boolean", + "default": false, + "description": "When enabled, add function signature to user_data.signature to support echodoc.vim" + }, + "suggest.acceptSuggestionOnCommitCharacter": { + "type": "boolean", + "default": false, + "description": "Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character. Requires CompleteChanged event to work." + }, + "suggest.noselect": { + "type": "boolean", + "description": "Not make vim select first item on completion start", + "default": true + }, + "suggest.keepCompleteopt": { + "type": "boolean", + "description": "When enabled, completeopt is not overridden, auto completion will be disabled if completeopt doesn't have noinsert and noselect.", + "default": false + }, + "suggest.lowPrioritySourceLimit": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "description": "Max items count for source priority lower than 90." + }, + "suggest.highPrioritySourceLimit": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "description": "Max items count for source priority bigger than or equal to 90." + }, + "suggest.removeDuplicateItems": { + "type": "boolean", + "description": "Remove completion items with duplicated word for all sources, snippet items are excluded.", + "default": false + }, + "suggest.defaultSortMethod": { + "type": "string", + "description": "Default sorting behavior for suggested completion items.", + "default": "length", + "enum": ["length", "alphabetical", "none"] + }, + "suggest.snippetsSupport": { + "type": "boolean", + "description": "Set to false to disable snippets support of completion.", + "default": true + }, + "suggest.completionItemKindLabels": { + "type": "object", + "default": {}, + "description": "Set custom labels to completion items' kinds.", + "properties": { + "text": { "type": "string" }, + "method": { "type": "string" }, + "function": { "type": "string" }, + "constructor": { "type": "string" }, + "field": { "type": "string" }, + "variable": { "type": "string" }, + "class": { "type": "string" }, + "interface": { "type": "string" }, + "module": { "type": "string" }, + "property": { "type": "string" }, + "unit": { "type": "string" }, + "value": { "type": "string" }, + "enum": { "type": "string" }, + "keyword": { "type": "string" }, + "snippet": { "type": "string" }, + "color": { "type": "string" }, + "file": { "type": "string" }, + "reference": { "type": "string" }, + "folder": { "type": "string" }, + "enumMember": { "type": "string" }, + "constant": { "type": "string" }, + "struct": { "type": "string" }, + "event": { "type": "string" }, + "operator": { "type": "string" }, + "typeParameter": { "type": "string" }, + "default": { "type": "string" } + }, + "additionalProperties": false + }, + "suggest.invalidInsertCharacters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Invalid character for strip valid word when inserting text of complete item.", + "default": [" ", "(", "<", "{", "[", "\r", "\n"] + }, + "suggest.asciiCharactersOnly": { + "type": "boolean", + "description": "Suggest ASCII characters only", + "default": false + }, + "diagnostic.enable": { + "type": "boolean", + "description": "Set to false to disable diagnostic display", + "default": true + }, + "diagnostic.highlighLimit": { + "type": "number", + "description": "Limit count for highlighted diagnostics, too many diagnostic highlights could make vim stop responsing", + "default": 1000 + }, + "diagnostic.autoRefresh": { + "type": "boolean", + "description": "Enable automatically refresh diagnostics, use diagnosticRefresh action when it's disabled.", + "default": true + }, + "diagnostic.level": { + "type": "string", + "description": "Used for filter diagnostics by diagnostic severity.", + "default": "hint", + "enum": ["hint", "information", "warning", "error"] + }, + "diagnostic.locationlistUpdate": { + "type": "boolean", + "description": "Update locationlist on diagnostics change, only works with locationlist opened by :CocDiagnostics command and first window of associated buffer.", + "default": true + }, + "diagnostic.checkCurrentLine": { + "type": "boolean", + "description": "When enabled, show all diagnostics of current line if there are none at the current position.", + "default": false + }, + "diagnostic.messageTarget": { + "type": "string", + "description": "Diagnostic message target.", + "default": "float", + "enum": ["echo", "float"] + }, + "diagnostic.messageDelay": { + "type": "number", + "description": "How long to wait (in milliseconds) before displaying the diagnostic message with echo or float", + "default": 200 + }, + "diagnostic.refreshOnInsertMode": { + "type": "boolean", + "description": "Enable diagnostic refresh on insert mode, default false.", + "default": false + }, + "diagnostic.displayByAle": { + "type": "boolean", + "description": "Use Ale for display diagnostics in vim, will disable coc for display diagnostics, restart required on change.", + "default": false + }, + "diagnostic.virtualText": { + "type": "boolean", + "description": "Use NeoVim virtual text to display diagnostics", + "default": false + }, + "diagnostic.virtualTextCurrentLineOnly": { + "type": "boolean", + "description": "Only show virtualText diagnostic on current cursor line", + "default": true + }, + "diagnostic.virtualTextPrefix": { + "type": "string", + "description": "The prefix added virtual text diagnostics", + "default": " " + }, + "diagnostic.virtualTextLines": { + "type": "number", + "description": "The number of non empty lines from a diagnostic to display", + "default": 3 + }, + "diagnostic.virtualTextLineSeparator": { + "type": "string", + "description": "The text that will mark a line end from the diagnostic message", + "default": " \\ " + }, + "diagnostic.enableSign": { + "type": "boolean", + "default": true, + "description": "Enable signs for diagnostics." + }, + "diagnostic.enableHighlightLineNumber": { + "type": "boolean", + "default": true, + "description": "Enable highlighting line numbers for diagnostics, only works with neovim and diagnostic.enableSign is true." + }, + "diagnostic.enableMessage": { + "type": "string", + "default": "always", + "description": "When to enable show messages of diagnostics.", + "enum": ["always", "jump", "never"] + }, + "diagnostic.highlightOffset": { + "type": "number", + "description": "Offset number of buffer.addHighlight, neovim only.", + "default": 1000 + }, + "diagnostic.signPriority": { + "type": "number", + "description": "Priority of diagnostic signs, default to 10", + "default": 10 + }, + "diagnostic.errorSign": { + "type": "string", + "description": "Text of error sign", + "default": ">>" + }, + "diagnostic.warningSign": { + "type": "string", + "description": "Text of warning sign", + "default": "⚠" + }, + "diagnostic.infoSign": { + "type": "string", + "description": "Text of info sign", + "default": ">>" + }, + "diagnostic.hintSign": { + "type": "string", + "description": "Text of hint sign", + "default": ">>" + }, + "diagnostic.floatConfig": { + "type": "object", + "description": "Configure float window style of diagnostic message.", + "allOf": [{ "$ref": "#/definitions/float" }], + "additionalProperties": false, + "properties": { + "border": {}, + "highlight": {}, + "borderhighlight": {}, + "title": {}, + "close": {}, + "maxHeight": {}, + "maxWidth": {}, + "winblend": {}, + "focusable": {}, + "shadow": {} + } + }, + "diagnostic.filetypeMap": { + "type": "object", + "description": "A map between buffer filetype and the filetype assigned to diagnostics. To syntax highlight diagnostics withs their parent buffer type use `\"default\": \"bufferType\"`", + "default": {} + }, + "diagnostic.format": { + "type": "string", + "description": "Define the diagnostic format that shown in float window or echoed, available parts: source, code, severity, message", + "default": "[%source%code] [%severity] %message" + }, + "diagnostic.separateRelatedInformationAsDiagnostics": { + "type": "boolean", + "default": false, + "description": "Separate related information as diagnostics." + }, + "diagnostic.showUnused": { + "type": "boolean", + "default": true, + "description": "Show diagnostics with unused tag." + }, + "diagnostic.showDeprecated": { + "type": "boolean", + "default": true, + "description": "Show diagnostics with deprecated tag." + }, + "signature.enable": { + "type": "boolean", + "description": "Enable signature help when trigger character typed, require restart service on change.", + "default": true + }, + "signature.triggerSignatureWait": { + "type": "integer", + "default": 500, + "minimum": 200, + "maximum": 1000, + "description": "Timeout for trigger signature help, in miliseconds." + }, + "signature.target": { + "type": "string", + "description": "Target of signature help, use float when possible by default.", + "default": "float", + "enum": ["float", "echo"] + }, + "signature.floatConfig": { + "type": "object", + "description": "Configure float window style of signature documents.", + "allOf": [{ "$ref": "#/definitions/float" }], + "additionalProperties": false, + "properties": { + "border": {}, + "highlight": {}, + "borderhighlight": {}, + "title": {}, + "close": {}, + "maxHeight": {}, + "maxWidth": {}, + "winblend": {}, + "focusable": {}, + "shadow": {} + } + }, + "signature.preferShownAbove": { + "type": "boolean", + "description": "Show signature help float window above cursor when possible, require restart service on change.", + "default": true + }, + "signature.hideOnTextChange": { + "type": "boolean", + "description": "Hide signature float window when text changed on insert mode.", + "default": false + }, + "codeLens.enable": { + "type": "boolean", + "description": "Enable codeLens feature, require neovim with set virtual text feature.", + "default": false + }, + "codeLens.separator": { + "type": "string", + "description": "Separator text for codeLens in virtual text", + "default": "‣" + }, + "codeLens.subseparator": { + "type": "string", + "description": "Subseparator between codeLenses in virtual text", + "default": " " + }, + "refactor.openCommand": { + "type": "string", + "description": "Open command for refactor window.", + "default": "vsplit" + }, + "refactor.saveToFile": { + "type": "boolean", + "description": "Save to file when write refactor buffer with ':noa wa' command, set to false if you want save buffer by yourself.", + "default": true + }, + "refactor.beforeContext": { + "type": "number", + "default": 3, + "description": "Print num lines of leading context before each match." + }, + "refactor.afterContext": { + "type": "number", + "default": 3, + "description": "Print num lines of trailing context after each match." + }, + "hover.target": { + "type": "string", + "description": "Target to show hover information, default is floating window when possible.", + "enum": ["preview", "echo", "float"] + }, + "hover.previewMaxHeight": { + "type": "number", + "default": 12, + "description": "Max height of preview window for hover." + }, + "hover.floatConfig": { + "type": "object", + "description": "Configure float window style of hover documents.", + "allOf": [{ "$ref": "#/definitions/float" }], + "additionalProperties": false, + "properties": { + "border": {}, + "highlight": {}, + "borderhighlight": {}, + "title": {}, + "close": {}, + "maxHeight": {}, + "maxWidth": {}, + "winblend": {}, + "focusable": {}, + "shadow": {} + } + }, + "hover.autoHide": { + "type": "boolean", + "default": true, + "description": "Automatically hide hover float window on CursorMove or InsertEnter." + }, + "dialog.maxHeight": { + "type": "number", + "default": 20, + "description": "Maximum height of dialog window." + }, + "dialog.maxWidth": { + "type": "number", + "default": 80, + "description": "Maximum width of dialog window." + }, + "dialog.confirmKey": { + "type": "string", + "default": "", + "description": "Confirm key for confirm selection used by menu and picker, you can always use to cancel." + }, + "dialog.pickerButtons": { + "type": "boolean", + "default": true, + "description": "Show buttons for picker dialog window/popup." + }, + "dialog.pickerButtonShortcut": { + "type": "boolean", + "default": true, + "description": "Show shortcut in buttons of picker dialog window/popup, used when dialog.pickerButtons is true." + }, + "dialog.floatHighlight": { + "type": ["string", "null"], + "default": null, + "description": "Highlight group for dialog window/popup, default to 'CocFloating'" + }, + "dialog.floatBorderHighlight": { + "type": ["string", "null"], + "default": null, + "description": "Highlight group for border of dialog window/popup, default to 'CocFloating'" + }, + "notification.marginTop": { + "type": "number", + "default": 1, + "description": "Margin top for notification dialog." + }, + "notification.marginRight": { + "type": "number", + "default": 1, + "description": "Margin right for notification dialog." + }, + "notification.maxWidth": { + "type": "number", + "default": 60, + "description": "Maximum content width of notification dialog." + }, + "notification.maxHeight": { + "type": "number", + "default": 10, + "description": "Maximum content height of notification dialog." + }, + "notification.highlightGroup": { + "type": "string", + "default": "CocFloating", + "description": "Highlight group of notification dialog." + }, + "notification.minProgressWidth": { + "type": "number", + "default": 30, + "description": "Minimum width of progress notification." + }, + "workspace.ignoredFiletypes": { + "type": "array", + "default": ["markdown", "log", "txt", "help"], + "description": "Filetypes that should be ignored for resolve workspace folder.", + "items": { + "type": "string" + } + }, + "workspace.bottomUpFiletypes": { + "type": "array", + "default": [], + "description": "Filetypes that should have workspace folder should resolved from base directory of file.", + "items": { + "type": "string" + } + }, + "workspace.workspaceFolderCheckCwd": { + "type": "boolean", + "default": true, + "description": "Whether the cwd directory should be checked first when resolving workspace folder." + }, + "list.indicator": { + "type": "string", + "default": ">", + "description": "The character used as first character in prompt line" + }, + "list.alignColumns": { + "type": "boolean", + "default": false, + "description": "Whether to align lists in columns, default: `false`" + }, + "list.interactiveDebounceTime": { + "type": "number", + "default": 100, + "description": "Debouce time for input change on interactive mode." + }, + "list.height": { + "type": "number", + "default": 10, + "description": "Height of split list window." + }, + "list.statusLineSegments": { + "type": ["array", "null"], + "default": [ + "%#CocListMode#-- %{get(b:list_status, \"mode\", \"\")} --%*", + "%{get(b:list_status, \"loading\", \"\")}", + "%{get(b:list_status, \"args\", \"\")}", + "(%L/%{get(b:list_status, \"total\", \"\")})", + "%=", + "%#CocListPath# %{get(b:list_status, \"cwd\", \"\")} %l/%L%*" + ], + "items": { + "types": "string" + }, + "description": "An array of statusline segments that will be used to draw the status line for list windows." + }, + "list.signOffset": { + "type": "number", + "default": 900, + "description": "Sign offset of list, should be different from other plugins." + }, + "list.selectedSignText": { + "type": "string", + "default": "*", + "description": "Sign text for selected lines." + }, + "list.extendedSearchMode": { + "type": "boolean", + "default": true, + "description": "Enable extended search mode which allows multiple search patterns delimited by spaces." + }, + "list.limitLines": { + "type": "number", + "default": 30000, + "description": "Limit lines for list buffer." + }, + "list.maxPreviewHeight": { + "type": "number", + "default": 12, + "description": "Max height for preview window of list." + }, + "list.previewSplitRight": { + "type": "boolean", + "default": false, + "description": "Use vsplit for preview window." + }, + "list.matchHighlightGroup": { + "type": "string", + "default": "Search", + "description": "Highlight group used for matched texts in list window." + }, + "list.previewHighlightGroup": { + "type": "string", + "default": "Search", + "description": "Highlight group used for highlight the range in preview window." + }, + "list.nextKeymap": { + "type": "string", + "default": "", + "description": "Key used for select next line on insert mode." + }, + "list.previousKeymap": { + "type": "string", + "default": "", + "description": "Key used for select previous line on insert mode." + }, + "list.normalMappings": { + "type": "object", + "default": {}, + "description": "Custom keymappings on normal mode." + }, + "list.insertMappings": { + "type": "object", + "default": {}, + "description": "Custom keymappings on insert mode." + }, + "list.source.diagnostics.includeCode": { + "type": "boolean", + "description": "Whether to show the diagnostic code in the list.", + "default": true + }, + "list.source.diagnostics.pathFormat": { + "type": "string", + "description": "Decide how the filepath is shown in the list.", + "enum": ["full", "short", "filename", "hidden"], + "default": "full" + }, + "list.source.symbols.excludes": { + "type": "array", + "default": [], + "description": "Patterns of minimatch for filepath to execlude from symbols list.", + "items": { + "type": "string" + } + }, + "list.source.outline.ctagsFilestypes": { + "type": "array", + "default": [], + "description": "Filetypes that should use ctags for outline instead of language server.", + "items": { + "type": "string" + } + }, + "cursors.cancelKey": { + "type": "string", + "default": "", + "description": "Key used for cancel cursors session." + }, + "cursors.nextKey": { + "type": "string", + "default": "", + "description": "Key used for jump to next cursors position. " + }, + "cursors.previousKey": { + "type": "string", + "default": "", + "description": "Key used for jump to previous cursors position." + }, + "tree.closedIcon": { + "type": "string", + "default": "+", + "description": "Closed icon of tree view." + }, + "tree.openedIcon": { + "type": "string", + "default": "-", + "description": "Opend icon of tree view." + }, + "tree.key.toggleSelection": { + "type": "string", + "default": "", + "description": "Trigger key to select/unselect item" + }, + "tree.key.toggle": { + "type": "string", + "default": "t", + "description": "Trigger key to toggle expand state of tree node, does nothing with leaf node." + }, + "tree.key.actions": { + "type": "string", + "default": "", + "description": "Trigger key to invoke actions." + }, + "tree.key.collapseAll": { + "type": "string", + "default": "M", + "description": "Trigger key to collapse all tree node." + }, + "tree.key.invoke": { + "type": "string", + "default": "", + "description": "Trigger key to invoke default command of current node or selection." + }, + "tree.key.close": { + "type": "string", + "default": "", + "description": "Trigger key to dispose the tree and close tree window." + }, + "tree.key.activeFilter": { + "type": "string", + "default": "f", + "description": "Trigger key active filter." + }, + "tree.key.selectNext": { + "type": "string", + "default": "", + "description": "Trigger key to select next item during filter." + }, + "tree.key.selectPrevious": { + "type": "string", + "default": "", + "description": "Trigger key to select previous item during filter." + }, + "outline.showLineNumber": { + "type": "boolean", + "default": true, + "description": "Show line number of symbols." + }, + "outline.splitCommand": { + "type": "string", + "default": "botright 30vs", + "description": "Window split command used by outline." + }, + "outline.followCursor": { + "type": "boolean", + "default": true, + "description": "Reveal item in outline tree on cursor hold." + }, + "outline.keepWindow": { + "type": "boolean", + "default": false, + "description": "Jump back to original window after outline is shown." + }, + "outline.sortBy": { + "type": "string", + "default": "category", + "description": "Sort method for symbols.", + "enum": ["position", "name", "category"] + }, + "outline.expandLevel": { + "type": "number", + "default": 1, + "description": "Expand level of tree nodes." + }, + "outline.checkBufferSwitch": { + "type": "boolean", + "default": true, + "description": "Recreate outline view after user changed to another buffer on current tab." + }, + "outline.codeActionKinds": { + "type": "array", + "default": ["", "quickfix", "refactor"], + "description": "Filter code actions in actions menu by kinds.", + "items": { + "type": "string", + "enum": ["", "quickfix", "refactor", "source"] + } + }, + "callHierarchy.openCommand": { + "type": "string", + "default": "edit", + "description": "Open command for callHierarchy tree view." + }, + "callHierarchy.splitCommand": { + "type": "string", + "default": "botright 30vs", + "description": "Window split command used by callHierarchy tree view." + }, + "callHierarchy.enableTooltip": { + "type": "boolean", + "default": true, + "description": "Enable tooltip to show relative filepath of call hierarchy." + }, + "coc.preferences.enableMessageDialog": { + "type": "boolean", + "default": false, + "description": "Enable messages shown in notification dialog." + }, + "coc.preferences.maxFileSize": { + "type": "string", + "default": "10MB", + "description": "Maximum file size in bytes that coc.nvim should handle, default '10MB'" + }, + "coc.preferences.promptWorkspaceEdit": { + "type": "boolean", + "description": "Prompt confirm from user when apply workspace edit for unloaded files.", + "default": true + }, + "coc.preferences.listOfWorkspaceEdit": { + "type": "string", + "default": "quickfix", + "description": "List should contains changed locations after workspace edit, default to vim's quickfix", + "enum": ["quickfix", "location", "none"] + }, + "coc.preferences.useQuickfixForLocations": { + "type": "boolean", + "description": "Use vim's quickfix list for jump locations,\n need restart on change.", + "default": false + }, + "coc.preferences.extensionUpdateCheck": { + "type": "string", + "default": "never", + "description": "Interval for check extension update, could be daily, weekly, never", + "enum": ["daily", "weekly", "never"] + }, + "coc.preferences.snippetStatusText": { + "type": "string", + "default": "SNIP", + "description": "Text shown in statusline to indicate snippet session is activated." + }, + "coc.preferences.colorSupport": { + "type": "boolean", + "description": "Enable color highlight if language server support it.", + "default": true + }, + "coc.preferences.semanticTokensHighlights": { + "type": "boolean", + "description": "Enable semanticTokens highlight if language server support it.", + "default": true + }, + "coc.preferences.currentFunctionSymbolAutoUpdate": { + "type": "boolean", + "description": "Automatically update the value of b:coc_current_function on CursorHold event", + "default": false + }, + "coc.preferences.formatOnSaveFiletypes": { + "type": "array", + "default": [], + "description": "Filetypes that should run format on save.", + "items": { + "type": "string" + } + }, + "coc.preferences.enableFloatHighlight": { + "type": "boolean", + "description": "Enable highlight for floating window.", + "default": true + }, + "coc.preferences.rootPatterns": { + "type": "array", + "default": [".git", ".hg", ".projections.json"], + "description": "Root patterns to resolve workspaceFolder from parent folders of opened files, resolved from up to down.", + "items": { + "type": "string" + } + }, + "coc.preferences.watchmanPath": { + "type": "string", + "description": "executable path for https://facebook.github.io/watchman/, detected from $PATH by default", + "default": null + }, + "coc.preferences.jumpCommand": { + "anyOf": [ + { + "type": "string", + "enum": [ + "edit", + "split", + "vsplit", + "tabe", + "drop", + "tab drop", + "pedit" + ] + }, + { "type": "string", "minimum": 1 } + ], + "description": "Command used for location jump, like goto definition, goto references etc. Can be also a custom command that gives file as an argument.", + "default": "edit" + }, + "coc.preferences.messageLevel": { + "type": "string", + "description": "Message level for filter echoed messages, could be 'more', 'warning' and 'error'", + "default": "more", + "enum": ["more", "warning", "error"] + }, + "coc.preferences.bracketEnterImprove": { + "type": "boolean", + "description": "Improve enter inside bracket `<> {} [] ()` by add new empty line below and place cursor to it. Works with `coc#on_enter()`", + "default": true + }, + "coc.preferences.formatOnType": { + "type": "boolean", + "description": "Set to true to enable formatting on typing", + "default": false + }, + "coc.preferences.formatOnTypeFiletypes": { + "type": "array", + "default": [], + "description": "Filetypes that should run format on typing. Only take effect when `coc.preferences.formatOnType` set `true`", + "items": { + "type": "string" + } + }, + "coc.preferences.floatActions": { + "type": "boolean", + "description": "Set to false to disable float/popup support for actions menu, won't work on vim without float or popup window support.", + "default": true + }, + "coc.preferences.promptInput": { + "type": "boolean", + "description": "Use prompt buffer in float window for user input.", + "default": true + }, + "coc.preferences.enableMarkdown": { + "type": "boolean", + "description": "Tell the language server that markdown text format is supported, note that markdown text may not rendered as expected.", + "default": true + }, + "coc.preferences.excludeImageLinksInMarkdownDocument": { + "type": "boolean", + "description": "Exclude image links from markdown text in float window.", + "default": true + }, + "coc.preferences.silentAutoupdate": { + "type": "boolean", + "description": "Not open split window with update status when performing auto update.", + "default": true + }, + "coc.preferences.willSaveHandlerTimeout": { + "type": "integer", + "default": 500, + "minimum": 200, + "maximum": 5000, + "description": "Will save handler timeout" + }, + "coc.source.around.enable": { + "type": "boolean", + "default": true + }, + "coc.source.around.firstMatch": { + "type": "boolean", + "description": "Filter complete items by first letter strict match.", + "default": true + }, + "coc.source.around.shortcut": { + "type": "string", + "default": "A" + }, + "coc.source.around.priority": { + "type": "integer", + "default": 1 + }, + "coc.source.around.disableSyntaxes": { + "type": "array", + "default": [], + "items": { + "type": "string" + } + }, + "coc.source.buffer.enable": { + "type": "boolean", + "default": true + }, + "coc.source.buffer.shortcut": { + "type": "string", + "default": "B" + }, + "coc.source.buffer.priority": { + "type": "integer", + "default": 1 + }, + "coc.source.buffer.firstMatch": { + "type": "boolean", + "description": "Filter complete items by first letter strict match.", + "default": true + }, + "coc.source.buffer.ignoreGitignore": { + "type": "boolean", + "default": true, + "description": "Ignore git ignored files for buffer words" + }, + "coc.source.buffer.disableSyntaxes": { + "type": "array", + "default": [], + "items": { + "type": "string" + } + }, + "coc.source.file.enable": { + "type": "boolean", + "default": true + }, + "coc.source.file.shortcut": { + "type": "string", + "default": "F" + }, + "coc.source.file.priority": { + "type": "integer", + "default": 10 + }, + "coc.source.file.disableSyntaxes": { + "type": "array", + "default": [], + "items": { + "type": "string" + } + }, + "coc.source.file.triggerCharacters": { + "type": "array", + "default": ["/", "\\"], + "items": { + "type": "string" + } + }, + "coc.source.file.trimSameExts": { + "type": "array", + "default": [".ts", ".js"], + "description": "Trim same extension on file completion", + "items": { + "type": "string" + } + }, + "coc.source.file.ignoreHidden": { + "type": "boolean", + "default": true, + "description": "Ignore completion for hidden files" + }, + "coc.source.file.ignorePatterns": { + "type": "array", + "default": [], + "description": "Ignore patterns of matcher", + "items": { + "type": "string" + } + }, + "languageserver": { + "type": "object", + "default": {}, + "description": "Dictionary of languageservers, key is used as id of languageserver.", + "patternProperties": { + "^[_a-zA-Z]+$": { + "oneOf": [ + { + "$ref": "#/definitions/languageServerModule" + }, + { + "$ref": "#/definitions/languageServerCommand" + }, + { + "$ref": "#/definitions/languageServerSocket" + } + ] + } + } + } + } +} diff --git a/private_dot_config/nvim/plugged/coc.nvim/doc/coc.txt b/private_dot_config/nvim/plugged/coc.nvim/doc/coc.txt new file mode 100644 index 0000000..ec2dcc6 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/doc/coc.txt @@ -0,0 +1,3559 @@ +*coc-nvim.txt* NodeJS client for Vim & Neovim. + +Version: 0.0.80 +Author: Qiming Zhao +License: MIT license + +CONTENTS *coc-contents* + +Introduction |coc-introduction| +Requirements |coc-requirements| +Installation |coc-installation| +Configuration |coc-configuration| +Completion |coc-completion| +Interface |coc-interface| + Key mappings |coc-key-mappings| + Variables |coc-variables| + Functions |coc-functions| + Commands |coc-commands| + Autocmds |coc-autocmds| + Highlights |coc-highlights| +Tree |coc-tree| + Tree mappings |coc-tree-mappings| + Tree filter |coc-tree-filter| +List |coc-list| + List command |coc-list-command| + List command options |coc-list-options| + List configuration |coc-list-configuration| + List mappings |coc-list-mappings| + list sources |coc-list-sources| + Location |coc-list-location| + Extensions |coc-list-extensions| + Diagnostics |coc-list-diagnostics| + Outline |coc-list-outline| + Symbols |coc-list-symbols| + Services |coc-list-services| + Commands |coc-list-commands| + Links |coc-list-links| + Sources |coc-list-completion-sources| + Lists |coc-list-lists| +Dialog |coc-dialog| + Dialog basic |coc-dialog-basic| + Dialog confirm |coc-dialog-confirm| + Dialog input |coc-dialog-input| + Dialog menu |coc-dialog-menu| + Dialog picker |coc-dialog-picker| +Statusline support |coc-status| + Manual |coc-status-manual| + Airline |coc-status-airline| + Lightline |coc-status-lightline| +FAQ |coc-faq| +Changelog |coc-changelog| + +============================================================================== +INTRODUCTION *coc-introduction* + +Coc.nvim enhances your (Neo)Vim to match the user experience provided by +VSCode through a rich plugin (or extension) ecosystem and support for Language +Server Protocol. + +Some of its key features include:~ + +- APIs compatible with both Vim8 and Neovim. +- Loading VSCode-like extensions. +- Configuring coc.nvim and its extensions with a JSON configuration file. +- Configuring Language Servers implemented according to Language Server Protocol (LSP). + +It's designed to have an as good as possible integration with other Vim plugins. + +Note: This plugin doesn't come with any support for any specific language. You +will need to install a coc extension or set up a languageserver for LSP features. + +Note: This plugin doesn't change any of your existing key-mappings. You will +need to create key-mappings by yourself. + +Note: automatic completion plugins can't play nicely together, you can disable +automatic completion of coc.nvim by use `"suggest.autoTrigger": "none"` (or +`"suggest.autoTrigger": "trigger"`) in your settings file. + +============================================================================== +REQUIREMENTS *coc-requirements* + +Neovim >= 0.3.2 or Vim >= 8.0.1453. + +NodeJS https://nodejs.org/ >= 12.12.0. + +Yarn https://yarnpkg.com/ required to build coc.nvim from typescript source +code. + +============================================================================== +INSTALLATION *coc-installation* + +If you're using [vim-plug](https://github.com/junegunn/vim-plug), add this to +your `init.vim` or `.vimrc`: > + + Plug 'neoclide/coc.nvim', {'branch': 'release'} +< +And run: > + + :PlugInstall + +For other plugin managers, make sure to use code from the release branch. + +You can also use Vim's native package management: > + + #!/bin/sh + # for vim8 + mkdir -p ~/.vim/pack/coc/start + cd ~/.vim/pack/coc/start + curl --fail -L https://github.com/neoclide/coc.nvim/archive/release.tar.gz|tar xzfv - + + # for neovim + mkdir -p ~/.local/share/nvim/site/pack/coc/start + cd ~/.local/share/nvim/site/pack/coc/start + curl --fail -L https://github.com/neoclide/coc.nvim/archive/release.tar.gz|tar xzfv - + +============================================================================== +CONFIGURATION *coc-configuration* + +The configurations of coc.nvim are stored in a file named `coc-settings.json`. +You can open it using |:CocConfig|. This will create/open a global settings +files in folder returned by |coc#util#get_config_home()| + +To create a configuration file used by project only, use |:CocLocalConfig| to +create/open `.vim/coc-settings.json` inside current workspace folder. + +The global configuration file can be created in another directory by setting +`g:coc_config_home` in your `.vimrc` or `init.vim`: > + + let g:coc_config_home = '/path/you/prefer' + +When creating a local configuration file, it's possible to use +|b:coc_root_patterns| for resolve the root directory from the filepath of +opend buffer. + +Since the configuration files are all in JSON format, it's suggested to enable +JSON completion and validation by install the `coc-json` extension: > + + :CocInstall coc-json +< +Check https://github.com/neoclide/coc.nvim/wiki/Using-the-configuration-file +for more details. + +Built-in configurations:~ + + *coc-config-http* +*http.proxy* + + HTTP proxy URI, used for extensions that send request, default: `""` + +"http.proxyStrictSSL":~ + + Controls whether the proxy server certificate should be verified + against the list of supplied CAs, default: `true` + +"http.proxyAuthorization":~ + + The value to send as the `Proxy-Authorization` header for every network request. + +"http.proxyCA":~ + + CA (file) to use as Certificate Authority. + + *coc-config-suggest* +"suggest.enablePreselect":~ + + Enable preselect feature on Neovim, default: `false` + +"suggest.labelMaxLength":~ + + Maximum length of label shown in 'pum', default: `200` + +"suggest.enablePreview":~ + + Add preview option to 'completeopt', default: `false` + +"suggest.floatEnable":~ + + Enable floating window for documentation when possible, default: `true` + +"suggest.floatConfig":~ + + Configuration of floating window/popup, see |coc-config-float|. + Excludes properties: "title", "close" and "maxHeight". + +"suggest.detailMaxLength":~ + + Max length of detail that will be shown in popup menu, default: `100` + +"suggest.detailField":~ + + Where to add the detail in complete item when it's less than max + length, default: `"preview"` when floating documentation is enabled. + + Valid options: ["abbr", "menu", "preview"] + +"suggest.autoTrigger":~ + + How should completion be triggered, default: `"always"` + + Valid options: ["always", "trigger", "none"] + + - `always`: trigger suggest on word characters and trigger + characters. + - `trigger`: trigger suggest on trigger characters only. + - `none`: no auto trigger at all. + +"suggest.languageSourcePriority":~ + + Priority of language sources, default: `99` + +"suggest.numberSelect":~ + + Input number to select complete item, it could be wrong when + using '' and '' to select complete item, default: `false` + +"suggest.disableKind":~ + + Remove kind field from Vim complete item, default: `false` + +"suggest.disableMenu":~ + + Remove menu field from Vim complete item, default: `false` + +"suggest.snippetIndicator":~ + + The character used in completion item abbreviation to indicate it + expands as code snippet, default: `"~"` + +"suggest.maxCompleteItemCount":~ + + Maximum number of complete items shown in Vim, default: `50` + +"suggest.preferCompleteThanJumpPlaceholder":~ + + Confirm completion instead of jump to next placeholder when completion + activates, default: `false` + +"suggest.snippetsSupport":~ + + Enable snippets expands expand on confirm completion. When set to + `false` coc.nvim would set language client option: + `CompletionClientCapabilities.completionItem.snippetSupport` to + `false` as well. + + Note: the language server may still send completion items with + snippets when falsy. + +"suggest.fixInsertedWord":~ + + Inserted word replaces the next one, default: `true` + +"suggest.localityBonus":~ + + Boost suggestions that appear closer to the cursor position, + default: `true` + +"suggest.triggerAfterInsertEnter":~ + + Trigger completion after |InsertEnter|. Requires "suggest.autoTrigger" + to be set, default: `false` + +"suggest.timeout":~ + + Timeout for completion (unit: milliseconds), default: `5000` + +"suggest.minTriggerInputLength":~ + + Number of characters in the current word after which the completion + triggers, default: `1` + +"suggest.triggerCompletionWait":~ + + Delay between typing the trigger character and completion start which + initiates server synchronization, default: `100` + +"suggest.echodocSupport":~ + + Add function signature to `user_data.signature` to support `echodoc.vim`, + default: `false` + +"suggest.acceptSuggestionOnCommitCharacter":~ + + The server provides a set of commit characters: these characters can + trigger completion item acceptance. This also inserts commit character + after the completion item text. Requires `CompleteChanged` event to work, + default: `false` + +"suggest.noselect":~ + + Prevent Vim from selecting the first item on completion start, + default: `true` + +"suggest.keepCompleteopt":~ + + When enabled, 'completeopt' is not overridden. Autocompletion will be + disabled if 'completeopt' doesn't have 'noinsert' and 'noselect', default: + `false` + +"suggest.lowPrioritySourceLimit":~ + + Max items count for source priority lower than `90`. + +"suggest.highPrioritySourceLimit":~ + + Max items count for source priority bigger than or equal to `90`. + +"suggest.disableMenuShortcut":~ + + Disable shortcut of completion source in menu, default: `false` + +"suggest.removeDuplicateItems":~ + + Remove completion items with duplicated word for all sources, snippet + items are excluded, default: `false` + +"suggest.defaultSortMethod":~ + + Default sorting behavior for suggested completion items, default: + `length` + +"suggest.invalidInsertCharacters":~ + + Invalid character for strip valid word when inserting text of complete + item, default: ` ,(,<,{,[,\r,\n` + +"suggest.asciiCharactersOnly":~ + + Suggest ASCII characters only, default: `false` + +"suggest.completionItemKindLabels":~ + + Set custom labels to completion item kinds, default: `{}`. + + Example configuration: with https://nerdfonts.com: > + + "suggest.completionItemKindLabels": { + "keyword": "\uf1de", + "variable": "\ue79b", + "value": "\uf89f", + "operator": "\u03a8", + "constructor": "\uf0ad", + "function": "\u0192", + "reference": "\ufa46", + "constant": "\uf8fe", + "method": "\uf09a", + "struct": "\ufb44", + "class": "\uf0e8", + "interface": "\uf417", + "text": "\ue612", + "enum": "\uf435", + "enumMember": "\uf02b", + "module": "\uf40d", + "color": "\ue22b", + "property": "\ue624", + "field": "\uf9be", + "unit": "\uf475", + "event": "\ufacd", + "file": "\uf723", + "folder": "\uf114", + "snippet": "\ue60b", + "typeParameter": "\uf728", + "default": "\uf29c" + } +< + *coc-config-diagnostic* +"diagnostic.enable":~ + + Display diagnostics, default: `true` + +"diagnostic.highlighLimit":~ + + Limit count for highlighted diagnostics, too many diagnostic + highlights could make vim stop responsing. + + default: `1000` + +"diagnostic.autoRefresh":~ + + Enable automatically refresh diagnostics, use + |CocAction('diagnosticRefresh')| action to refresh diagnostics when it's + disabled. + +"diagnostic.enableSign":~ + + Enable signs for diagnostics, default: `true` + +"diagnostic.enableMessage":~ + + When to enable show messages of diagnostics. + + Valid options: ["always","jump","never"], always means including + cursor hold and after jump to another diagnostic. + + default: `"always"` + +"diagnostic.enableHighlightLineNumber":~ + + Enable highlighting line numbers for diagnostics, only works with + neovim and `diagnostic.enableSign` is true. + + default: `true` + +"diagnostic.locationlistUpdate"~ + + Update locationlist on diagnostics change, only works with + locationlist opened by :CocDiagnostics command and first window of + associated buffer. + + default: `true` + +"diagnostic.level":~ + + Filter diagnostics by severity, default: `"hint"` + + Valid options: ["hint", "information", "warning", "error"] + +"diagnostic.messageDelay":~ + + How long to wait (in milliseconds) before displaying the diagnostic + message with echo or float. + + Default: `200` + +"diagnostic.checkCurrentLine":~ + + Show all diagnostics of the current line if none of them are at the current + position, default: `false` + +"diagnostic.messageTarget":~ + + Diagnostic message target, default: `"float"` + + Valid options: ["echo", "float"] + +"diagnostic.refreshOnInsertMode":~ + + Refresh diagnostics when in insert mode, default: `false` + +"diagnostic.displayByAle":~ + + Use ALE for displaying diagnostics. This will disable coc.nvim for + displaying diagnostics. Restart to make changes take the effect, default: + `false` + +"diagnostic.virtualText":~ + + Use Neovim virtual text to display diagnostics, default: `false` + +"diagnostic.virtualTextCurrentLineOnly":~ + + Only show virtualText diagnostic on current cursor line, default: + `true` + +"diagnostic.virtualTextPrefix":~ + + The prefix added for virtual text diagnostics, default: `" "` + +"diagnostic.virtualTextLines":~ + + The number of non-empty lines from a diagnostic to display, default: `3` + +"diagnostic.virtualTextLineSeparator":~ + + The text that will mark a line end from the diagnostic message, + default: `" \\ "` + +"diagnostic.highlightOffset":~ + + Offset number of buffer.addHighlight, Neovim only, default: `1000` + +"diagnostic.signPriority":~ + + Priority of diagnostic sign, default to `10`, check |sign-priority|. + +"diagnostic.errorSign":~ + + Sign of error diagnostics shown in the 'signcolumn', default: `">>"` + +"diagnostic.warningSign":~ + + Sign of warning diagnostics shown in the 'signcolumn', default: `"⚠"` + +"diagnostic.infoSign":~ + + Sign of info diagnostics shown in the 'signcolumn', default: `">>"` + +"diagnostic.hintSign":~ + + Sign of hint diagnostics shown in the 'signcolumn', default: `">>"` + +"diagnostic.floatConfig"~ + + Configuration of floating window/popup, see |coc-config-float|. + +"diagnostic.filetypeMap":~ + + A map between buffer filetype and the filetype assigned to diagnostics. + To syntax highlight diagnostics withs their parent buffer type use + `"default": "bufferType"`, default: `{}` + +"diagnostic.format":~ + + Define the diagnostic format. + Available parts: source, code, severity, message + + Default: `[%source%code] [%severity] %message` + +"diagnostic.separateRelatedInformationAsDiagnostics":~ + + Separate related information as diagnostics, default: `false` + +"signature.enable":~ + + Enable signature help when trigger character typed. Requires service restart + on change, default: `true` + +"signature.floatConfig":~ + + Configuration of floating window/popup for signature documents, see + |coc-config-float|. + +"signature.triggerSignatureWait":~ + + Timeout for signature request trigger (milliseconds), default: `500`. + Change to higher value for slow Language Servers. + +"signature.target":~ + + Target of signature help, use `"float"` when possible by default. + + Valid options: ["float", "echo"] + +"signature.preferShownAbove":~ + + Show signature help's floating window above cursor when possible. Requires + restart on change, default: `true` + +"signature.hideOnTextChange":~ + + Hide signature help's floating window when text changed. Requires restart + on change, default: `false` + + *coc-config-refactor* +"refactor.saveToFile":~ + + Save chagnes to file when write refactor buffer with |:write| command, + set to false if you want save buffer by yourself. + +"refactor.openCommand":~ + + Open command for refactor window, default: `vsplit` + +"refactor.beforeContext":~ + + Print num lines of leading context before each match, default: `3` + +"refactor.afterContext":~ + + Print num lines of trailing context after each match, default: `3` + + *coc-config-hover* +"hover.target":~ + + Target to show hover information, default is floating window when possible. + + Valid options: ["preview", "echo", "float"] + +"hover.previewMaxHeight":~ + + Max height of preview window for hover, default: `12` + +"hover.floatConfig":~ + + Configuration of floating window/popup for hover documents, see + |coc-config-float|. + +"hover.autoHide":~ + + Automatically hide hover float window on CursorMove or InsertEnter, + default `true`. + + *coc-config-dialog* +"dialog.maxWidth": ~ + + Maximum width of dialog window. + +"dialog.maxHeight": ~ + + Maximum height of dialog window. + +"dialog.confirmKey":~ + + Confirm key for confirm selection used by menu and picker, you can + always use to cancel, default to ``. + +"dialog.pickerButtons":~ + + Show buttons for picker dialog window/popup, default `true`. + +"dialog.pickerButtonShortcut":~ + + Show shortcut in buttons of picker dialog window/popup, used when + dialog.pickerButtons is true, default `true`. + +"dialog.floatHighlight":~ + + Highlight group for dialog window/popup, default to 'CocFloating'. + +"dialog.floatBorderHighlight":~ + + Highlight group for border of dialog window/popup, default to + 'CocFloating'. + + *coc-config-notification* +"notification.marginTop": ~ + + Margin top for notification dialog, default to `1`. + +"notification.marginRight": ~ + + Margin right for notification dialog, default to `1`. + +"notification.maxWidth": ~ + + Maximum content width of notification dialog, default to `60`. + +"notification.maxHeight": ~ + + Maximum content height of notification dialog, default to `10`. + +"notification.highlightGroup": ~ + + Highlight group of notification dialog, default to `CocFloating`. + +"notification.minProgressWidth": ~ + + Minimum width of progress notification, default to `30`. + + *coc-config-codelens* +"codeLens.enable":~ + + Enable `codeLens` feature. Requires Neovim with virtual text feature, + default: `false`. + +"codeLens.separator":~ + + Separator text for `codeLens` in virtual text, default: `"‣"`. + +"codeLens.subseparator":~ + + Subseparator text for multiple `codeLens`es in virtual text, default: `" "` + +"workspace.ignoredFiletypes":~ + + Filetypes to ignore for workspace folder resolution, + default: `["markdown","log","txt","help"]` + + Note: This is the filetype after mapping by `g:coc_filetype_map`. + +"workspace.bottomUpFiletypes":~ + + Filetypes that should have workspace folder should resolved from + base directory of file. + +"workspace.workspaceFolderCheckCwd":~ + + Whether the cwd directory should be checked first when resolving + workspace folder of current buffer. + + *coc-config-list* +"list.indicator":~ + + The character used as first character in prompt line, default: `">"` + +"list.alignColumns":~ + + Whether to align lists in columns, default: `false` + +"list.height":~ + + Height of split list window, default: `10` + +"list.signOffset":~ + + Sign offset of list, should be different from other plugins, default: `900` + +"list.selectedSignText":~ + + Sign text for selected lines, default: `"*"` + +"list.limitLines":~ + + Limit lines shown in the list buffer, default: `30000` + +"list.maxPreviewHeight":~ + + Max height for preview window of list, default: `12` + +"list.matchHighlightGroup":~ + + Highlight group used for matched texts in list window. + default: `"Search"` + +"list.previewHighlightGroup":~ + + Highlight group used for highlighting the range in preview window, + default: `"Search"` + +"list.nextKeymap":~ + + Key for selecting next line in the insert mode, default: `""` + +"list.previousKeymap":~ + + Key for selecting previous line in the insert mode, default: `""` + +"list.extendedSearchMode": ~ + + Enable extended search mode which allows multiple search patterns delimited + by spaces, default: `true` + +"list.normalMappings":~ + + Custom key mappings in the normal mode, default: `{}` + +"list.insertMappings":~ + + Custom key mappings in the insert mode, default: `{}` + +"list.interactiveDebounceTime":~ + + Debouce time for input change on interactive mode, default: `100` + +"list.previewSplitRight":~ + + Use vsplit for preview window, default: `false` + +"list.source.symbols.excludes":~ + + Patterns of minimatch for filepath to execlude from symbols list, + default: `[]` + +"list.source.outline.ctagsFilestypes":~ + + Filetypes that should use `ctags` for outline instead of language server, + default: `[]` + + +"list.source.diagnostics.pathFormat":~ + + Decide how the filepath is shown in the list. + + Valid options: ["full", "short", "filename", "hidden"]. + + default: `"full"` + +"list.source.diagnostics.includeCode":~ + + Whether to show the diagnostic code in the list. + + default: `true` + + *coc-config-preferences* +"coc.preferences.enableMessageDialog"~ + + Enable messages shown in notification dialog, default: `false` + +"coc.preferences.maxFileSize":~ + + Maximum file size in bytes that coc.nvim should handle, default: `'10MB'` + +"coc.preferences.promptWorkspaceEdit":~ + + Prompt confirm from user for workspace edit. + default: `true` + +"coc.preferences.useQuickfixForLocations":~ + + Use Vim's quickfix list for jump locations. Requires restart on change, + default: `false` + +"coc.preferences.extensionUpdateCheck":~ + + Interval for checking extension updates, default: `"daily"` + + Valid options: ["daily","weekly","never"] + +"coc.preferences.snippetStatusText":~ + + Text shown in 'statusline' to indicate snippet session is activate. + Check |coc-status| for statusline integration. + + Default: `"SNIP"` + +"coc.preferences.colorSupport":~ + + Enable color highlight if Language Server support it, default: `true` + +"coc.preferences.currentFunctionSymbolAutoUpdate":~ + + Automatically update the value of `b:coc_current_function` on `CursorHold` + event, default: `false` + +"coc.preferences.formatOnSaveFiletypes":~ + + Filetypes for which formatting triggers after saving, default: `[]` + + Note: This is the filetype after mapping by `g:coc_filetype_map`. + +"coc.preferences.enableFloatHighlight":~ + + Enable highlight for floating window, default: `true` + +"coc.preferences.rootPatterns":~ + + Root patterns to resolve `workspaceFolder` from parent folders of opened + files, resolved from up to down, default: + `[".git",".hg",".projections.json"]` + +"coc.preferences.watchmanPath":~ + + Executable path for https://facebook.github.io/watchman/, detected + from $PATH by default, default: `null` + +"coc.preferences.jumpCommand":~ + + Command used for location jump performed for goto definition, goto + references etc, default: `"edit"` + + Valid options: ["edit", "split", "vsplit", "tabe", "drop", "tab drop"] + +"coc.preferences.messageLevel":~ + + Message level for filter echoed messages default: `"more"` + + Valid options: ["more", "warning", "error"] + +"coc.preferences.formatOnType":~ + + Set to true to enable format on type, default: `false` + +"coc.preferences.bracketEnterImprove":~ + + Improve handling of pressing enter inside brackets (`<> {} [] ()`) by + create a new empty line in the middle, the indent is calculated by vim, + checkout |indentexpr| for details. + + Works with |coc#on_enter()|, default: `true` + +"coc.preferences.formatOnTypeFiletypes":~ + + Filetypes that should run format on typing, default: `[]` + + Note: takes effect when `coc.preferences.formatOnType` set `true`. + Note: This is the filetype after mapping by `g:coc_filetype_map`. + +"coc.preferences.listOfWorkspaceEdit":~ + + List should contains changed locations after workspace edit, default + to vim's quickfix, default: `quickfix` + + +"coc.preferences.floatActions":~ + + Set to false to disable float/popup support for actions menu. + Default: `true` + +"coc.preferences.promptInput":~ + + Use prompt buffer in float window for user input. + Default: `true` + +"coc.preferences.enableMarkdown":~ + + Tell the language server that markdown text format is supported, + note that you may have additional escaped characters for markdown + text. + +"coc.preferences.silentAutoupdate"~ + + Not open split window with update status when performing auto update. + +"coc.preferences.willSaveHandlerTimeout"~ + + Will save handler timeout, default: `500` + + *coc-config-cursors* + +"cursors.cancelKey":~ + + Key used for cancel cursors session, default: `` + +"cursors.nextKey":~ + + Key used for jump to next cursors position. , default: `` + +"cursors.previousKey":~ + + Key used for jump to previous cursors position, default: `` + + *coc-config-tree* +"tree.closedIcon": ~ + + Closed icon of tree view, use '' to make it looks better when you + have patched font, default: '+'. + +"tree.openedIcon": ~ + + Opened icon of tree view, use '' to make it looks better when you + have patched font, default: '-' + +"tree.key.toggleSelection":~ + + Trigger key to select/unselect item, default: + +"tree.key.toggle":~ + + Trigger key to toggle expand state of tree node, default: 't' + +"tree.key.actions":~ + + Trigger key to invoke actions, default: + +"tree.key.collapseAll":~ + + Trigger key to collapse all tree node, default: 'M' + +"tree.key.invoke":~ + + Trigger key to invoke default command of current node or selection, + default: + +"tree.key.close":~ + + Trigger key to dispose the tree and close tree window, default: + +"tree.key.activeFilter":~ + + Trigger key active filter, only works when tree view support filter, + default: 'f' + +"tree.key.selectNext":~ + + Trigger key to select next item during filter, default + +"tree.key.selectPrevious":~ + + Trigger key to select previous item during filter, default + + *coc-config-outline* +"outline.splitCommand":~ + + Window split command used by outline, default 'botright 30vs' + +"outline.followCursor":~ + + Reveal item in outline tree on cursor hold, default `true` + +"outline.keepWindow":~ + + Jump back to original window after outline is shown, default `false` + +"outline.sortBy":~ + + Sort method for symbols, default: 'category' + Could be 'position', 'name' or 'category'. + +"outline.expandLevel":~ + + Default expand level of tree nodes, default `1` + +"outline.checkBufferSwitch":~ + + Recreate outline view after changed to another buffer on current tab. + Default `true` + +"outline.showLineNumber": ~ + + Show line number of document symbols. + Default `true` + +"outline.codeActionKinds":~ + + Filter code actions in actions menu by kinds. + Default: ["", "quickfix", "refactor", "source"] + + *coc-config-callHierarchy* + +"callHierarchy.openCommand":~ + + Open command for callHierarchy tree view, default to "edit". + +"callHierarchy.splitCommand":~ + + Window split command used by callHierarchy tree view. + +"callHierarchy.enableTooltip":~ + + Enable tooltip to show relative filepath of call hierarchy. + + *coc-config-npm* +"npm.binPath":~ + + Command or full path of npm or yarn executable for install/update + extensions, default: `npm` + + *coc-config-float* + +Used by `suggest.floatConfig`, `diagnostic.floatConfig`, +`signature.floatConfig` and `hover.floatConfig`, following properties are +supported: + + - "border": Change to `true` to enable border. + - "highlight": Background highlight group of float window. + - "title": Title used by float window. + - "borderhighlight": Border highlight group of float window. + - "close": Set to true to draw close icon. + - "maxWidth": Maximum width of float window, contains border. + - "maxHeight": Maximum height of float window, contains border. + - "winblend": Set 'winblend' option of window, neovim only. + - "focusable": Set to false to make window not focusable, neovim only. + - "shadow": Set to true to enable shadow, neovim only. + + *coc-config-languageserver* +"languageserver":~ + + Dictionary of Language Servers, key is the ID of corresponding server, + and value is configuration of languageserver. Default: `{}` + + Properties of languageserver configuration: + + - "enable": Change to `false` to disable that languageserver. + + - "filetypes": Supported filetypes, add * in array for all filetypes. + Note: it's required for start the languageserver, please make sure + your filetype is expected by `:CocCommand document.echoFiletype` command + + - "additionalSchemes": Additional uri schemes, default schemes + including file & untitled. + Note: you have to setup vim provide content for custom uri as well. + + - "cwd": Working directory used to start languageserver, vim's cwd is + used by default. + + - "env": Environment variables for child process. + + - "settings": Settings for languageserver, received on server + initialization. + + - "trace.server": Trace level of communication between server and + client that showed with output channel. + + - "stdioEncoding": Encoding used for stdio of child process. + + - "initializationOptions": Initialization options passed to + languageserver (it's deprecated) + + - "rootPatterns": Root patterns used to resolve rootPath from current + file. + + - "requireRootPattern": If true, doesn't start server when root + pattern not found. + + - "ignoredRootPaths": Absolute root paths that language server should + not use as rootPath, higher priority than rootPatterns. + + - "disableDynamicRegister": Disable dynamic registerCapability feature + for this languageserver to avoid duplicated feature regstration. + + - "disableWorkspaceFolders": Disable workspaceFolders feature for this + languageserver. + + - "disableSnippetCompletion": Disable snippet completion feature for + this languageserver. + + - "disableDiagnostics": Disable handle diagnostics for this + languageserver. + + - "disableCompletion": Disable completion feature for this + languageserver. + + - "formatterPriority": Priority of this languageserver's fomatter. + + - "revealOutputChannelOn": Configure message level to show the output + channel buffer. + + - "progressOnInitialization": Enable progress report on languageserver + initialize. + +Language server start with command:~ + + Additional fields can be used for command language server: + + - "command": Executable program name in $PATH or absolute path of + executable used for start languageserver. + + - "args": Command line arguments of command. + + - "detached": Detach language server when is true. + + - "shell": Use shell for server process, default: `false` + +Language server start with module:~ + + Additional fields can be used forlanguage server started by node + module: + + - "module": Absolute filepath of javascript file. + + - "args": Extra arguments used on fork javascript module. + + - "runtime": Absolute path of node runtime, node runtime of coc.nvim + is used by default. + + - "execArgv": Argv passed to node on fork, normally used for + debugging, ex: `["--nolazy", "--inspect-brk=6045"]` + + - "transport": Transport kind used by server, could be 'ipc', 'stdio', + 'socket' and 'pipe'. 'ipc' is used by default (recommended). + + - "transportPort": Port number used when transport is 'socket'. + +Language server use initialized socket server:~ + + - "port": Port number of socket server. + + - "host": Host of socket server, default to `127.0.0.1`. + +============================================================================== +COMPLETION *coc-completion* + +Default behavior of coc.nvim's completion: + +- Completion is automatically triggered. +- 'completeopt' is temporarily changed to `noinsert,menuone`. +- Snippet complete item would only be expanded after confirm completion. + +Use configurations |coc-config-suggest| to change behavior of completion. + +Tips:~ + +- 'completeopt' used by coc.nvim default to `noselect,menuone`. + +- Your 'completeopt' option would be changed and restored during completion, + so you can still use `menu,preview` for Vim's built in completion. + +- Snippet expand and additional edit feature of LSP requires confirm + completion to work. + +- Floating window is available on Neovim >= 0.4.0. + +------------------------------------------------------------------------------ + +Example key-mappings:~ + +Map to trigger completion and navigate to the next item: > + + function! s:check_back_space() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~ '\s' + endfunction + + inoremap + \ pumvisible() ? "\" : + \ check_back_space() ? "\" : + \ coc#refresh() + + +Map to trigger completion: > + + inoremap coc#refresh() +< + to confirm completion, use: > + + inoremap pumvisible() ? "\" : "\" +< +To make auto-select the first completion item and notify coc.nvim to +format on enter, use: > + + inoremap pumvisible() ? coc#_select_confirm() + \: "\u\\=coc#on_enter()\" + +Map for trigger completion, completion confirm, snippet expand and jump +like VSCode. > + + inoremap + \ pumvisible() ? coc#_select_confirm() : + \ coc#expandableOrJumpable() ? + \ "\=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\" : + \ check_back_space() ? "\" : + \ coc#refresh() + + function! s:check_back_space() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~# '\s' + endfunction + + let g:coc_snippet_next = '' +< +Note: the `coc-snippets` extension is required for this to work. + +============================================================================== +INTERFACE *coc-interface* + +------------------------------------------------------------------------------ + +Key mappings *coc-key-mappings* + +Unlike some vim plugins, coc.nvim doesn't create user global key-mappings by +default. However, there're some cases that local key-mappings are enabled for +current buffer. + + Snippet jump key-mappings when snippet is activated: + |g:coc_snippet_prev| and |g:coc_snippet_next|. + + Cursor jump and cancel key-mappings when cursors is activated + |coc-config-cursors|. + + Dialog key-mappings for confirm and cancel dialog window + |coc-config-dialog|. + + Key-mappings for |CocList| buffer: |coc-list-mappings|. + +Note: Use |:verbose| command to check key-mappings that taking effect. + +Note: Use 'noremap' with will make the key-mapping not work at all. + +Note: key-mappings are provided for convenient, use |CocActionAsync()| or +|CocAction()| for more options. + +Normal mode key-mappings:~ + +*(coc-diagnostic-info)* Show diagnostic message of current position by +invoke |CocAction('diagnosticInfo')| + +*(coc-diagnostic-next)* Jump to next diagnostic position. + +*(coc-diagnostic-prev)* Jump to previous diagnostic position. + +*(coc-diagnostic-next-error)* Jump to next diagnostic error position. + +*(coc-diagnostic-prev-error)* Jump to previous diagnostic error position. + +*(coc-definition)* Jump to definition(s) of current symbol by invoke +|CocAction('jumpDefinition')| + +*(coc-declaration)* Jump to declaration(s) of current symbol by invoke +|CocAction('jumpDeclaration')| + +*(coc-implementation)* Jump to implementation(s) of current symbol by +invoke |CocAction('jumpImplementation')| + +*(coc-type-definition)* Jump to type definition(s) of current symbol by +invoke |CocAction('jumpTypeDefinition')| + +*(coc-references)* Jump to references of current symbol by invoke +|CocAction('jumpReferences')| + +*(coc-references-used)* Jump to references of current symbol exclude +declarations. + +*(coc-format-selected)* + + Format selected range, works on both |visual-mode| and |normal-mode|, + when used in normal mode, the selection works on the motion object. + + For example: > + + vmap p (coc-format-selected) + nmap p (coc-format-selected) +< + makes `p` format the visually selected range, and you can use + `pap` to format a paragraph. + +*(coc-format)* + + Format the whole buffer by invoke |CocAction('format')|, normally you + would like to use a command like: > + + command! -nargs=0 Format :call CocAction('format') +< + to format current buffer. + +*(coc-rename)* Rename symbol under cursor to a new word by invoke +|CocAction('rename')| + +*(coc-refactor)* Open refactor window for refactor of current symbol by +invoke |CocAction('refactor')| + +*(coc-command-repeat)* Repeat latest |CocCommand|. + +*(coc-codeaction)* Get and run code action(s) for current file, use +|coc-codeaction-cursor| for same beharior as VSCode. + +*(coc-codeaction-line)* Get and run code action(s) for current line. + +*(coc-codeaction-cursor)* Get and run code action(s) using empty range +at current cursor. + +*(Coc-codeaction-selected)* Get and run code action(s) with the selected +region. Works on both |visual-mode| and |normal-mode|. + +*(coc-openlink)* Open link under cursor. + +*(coc-codelens-action)* Do command from codeLens of current line. + +*(coc-fix-current)* Try first quickfix action for diagnostics of current +line. + +*(coc-float-hide)* Hide all float windows/popups created by coc.nvim. + +*(coc-float-jump)* Jump to first float window (neovim only), use +|CTRL-W_p| for jump to previous window. + +*(coc-range-select)* + + Select next selection range. + Works on both |visual-mode| and |normal-mode|. + + Note: requires selection ranges feature of language server. + +*(coc-funcobj-i)* + + Select inside function. Recommend mapping: + Works on both |visual-mode| and |normal-mode|. + > + xmap if (coc-funcobj-i) + omap if (coc-funcobj-i) +< + Note: Requires 'textDocument.documentSymbol' support from the language + server. + +*(coc-funcobj-a)* + + Select around function. Works on both |visual-mode| and + |normal-mode|. Recommended mapping: +> + xmap af (coc-funcobj-a) + omap af (coc-funcobj-a) +< + Note: Requires 'textDocument.documentSymbol' support from the language + server. + +*(coc-classobj-i)* + + Select inside class/struct/interface. Works on both |visual-mode| and + |normal-mode|. Recommended mapping: +> + xmap ic (coc-classobj-i) + omap ic (coc-classobj-i) +< + Note: Requires 'textDocument.documentSymbol' support from the language + server. + +*(coc-classobj-a)* + + Select around class/struct/interface. Works on both |visual-mode| and + |normal-mode|. Recommended mapping: +> + xmap ac (coc-classobj-a) + omap ac (coc-classobj-a) +< + Note: Requires 'textDocument.documentSymbol' support from the language + server. + + +*(coc-cursors-operator)* Add text to cursors session by motion object. + +*(coc-cursors-word)* Add current word to cursors session. + +*(coc-cursors-position)* Add current position as empty range to cursors +session. + +Visual mode key-mappings:~ + +*(coc-range-select-backward)* + + Select previous selection range. + + Note: requires selection ranges feature of language server, like: + coc-tsserver, coc-python + +*(coc-cursors-range)* Add selection to cursors session. + +------------------------------------------------------------------------------ +VARIABLES *coc-variables* + +------------------------------------------------------------------------------ + +User defined variables:~ + +b:coc_enabled *b:coc_enabled* + + Set to `0` on buffer create if you don't want coc.nvim receive content + from buffer. Normally used with |BufAdd| autocmd, ex: +> + " Disable file with size > 1MB + autocmd BufAdd * if getfsize(expand('')) > 1024*1024 | + \ let b:coc_enabled=0 | + \ ndif +< +b:coc_root_patterns *b:coc_root_patterns* + + Root patterns used for resolving workspaceFolder for + the current file, will be used instead of + `"coc.preferences.rootPatterns"` setting. E.g.: > + + autocmd FileType python let b:coc_root_patterns = + \ ['.git', '.env'] +< + +b:coc_suggest_disable *b:coc_suggest_disable* + + Disable completion support of current buffer. E.g.: > + + " Disable completion for python + autocmd FileType python let b:coc_suggest_disable = 1 + +b:coc_diagnostic_disable *b:coc_diagnostic_disable* + + Disable diagnostic support of current buffer. + +b:coc_suggest_blacklist *b:coc_suggest_blacklist* + + List of input words for which completion should not be triggered. + E.g.: > + + " Disable completion for 'end' in lua files + autocmd FileType lua let b:coc_suggest_blacklist = ["end"] + +b:coc_additional_keywords *b:coc_additional_keywords* + + Addition keyword characters for generate keywords. E.g.: > + + " Add keyword characters for css + autocmd FileType css let b:coc_additional_keywords = ["-"] + +g:coc_disable_startup_warning *g:coc_disable_startup_warning* + + Disable possible warning on startup for old vim/node version. + + Default: 0 + +g:coc_disable_uncaught_error *g:coc_disable_uncaught_error* + + Disable uncaught error messages from node process of coc.nvim. + + Default: 0 + +g:coc_text_prop_offset *g:coc_text_prop_offset* + + Start |textprop| id offset of highlight namespaces on vim, change to + other value to avoid conflict. + + Default: 1000 + +g:coc_channel_timeout *g:coc_channel_timeout* + + Channel timeout in seconds for request to node client. + + Default: 30 + +g:coc_disable_transparent_cursor *g:coc_disable_transparent_cursor* + + Disable transparent cursor when CocList is activated. + Set it to `1` if you have issue with transparent + cursor. + + Default: 0 + +g:coc_start_at_startup *g:coc_start_at_startup* + + Start coc service on startup, use |CocStart| to start server when you + set it to 0. + + Default: 1 + +g:coc_user_config *g:coc_user_config* + + User configuration object, define this variable when you can't use + |coc#config()| + +g:coc_global_extensions *g:coc_global_extensions* + + Global extension names to install when they aren't installed. +> + let g:coc_global_extensions = ['coc-json', 'coc-git'] +< + Note: coc.nvim would try to install extensions that not installed in + this list after initialization. + +g:coc_uri_prefix_replace_patterns *g:coc_uri_prefix_replace_patterns* + + This map defines URI prefix replacements. This is useful in the case + that an LSP requires code to adhere to a particular directory + structure. For example, `/Users/myUser/workspace` can be mapped to + `/home/myUser/workspace`. +> + let g:coc_uri_prefix_replace_patterns = {'/Users': '/home'} +< +g:coc_enable_locationlist *g:coc_enable_locationlist* + + Use location list of |CocList| when jump to locations. + + Set it to 0 when you need customize behavior of location jump by use + |CocLocationsChange| and |g:coc_jump_locations| + + If you want use vim's quickfix list instead, add + `"coc.preferences.useQuickfixForLocations": true` in your + configuration file, this configuration would be ignored and no autocmd + triggered. + + Default: 1 + +g:coc_snippet_next *g:coc_snippet_next* + + Trigger key for going to the next snippet position, applied in insert + and select mode. + + Only works when snippet session is activated. + + Default: + +g:coc_snippet_prev *g:coc_snippet_prev* + + Trigger key for going to the previous snippet position, applied in + insert and select mode. + + Only works when snippet session is activated. + + Default: + +g:coc_filetype_map *g:coc_filetype_map* + + Map for document filetypes so the server could handle current document + as another filetype, ex: > + + let g:coc_filetype_map = { + \ 'html.swig': 'html', + \ 'wxss': 'css', + \ } +< + Default: {} + + Note: coc will always map filetype `javascript.jsx` to + `javascriptreact` and `typescript.tsx` to + `typescriptreact`. You can find the mapped filetype + of the current buffer by running `:CocCommand document.echoFiletype`. + +g:coc_selectmode_mapping *g:coc_selectmode_mapping* + + Add key mappings for making snippet select mode easier. > + + snoremap c + snoremap c + snoremap c + snoremap "_c +< + Default: 1 + +g:coc_node_path *g:coc_node_path* + + Path to node executable to start coc service. ex: > + + let g:coc_node_path = '/usr/local/opt/node@12/bin/node' +< + Use this when coc has problems with your system node, + + Note: you can use `~` as home directory. + +g:coc_node_args *g:coc_node_args* + + Arguments passed to node when starting coc service from source code. + + Useful for starting coc in debug mode, ex: > +> + let g:coc_node_args = ['--nolazy', '--inspect-brk=6045'] +< + Default: [] + +g:coc_jump_locations *g:coc_jump_locations* + + This variable would be set to jump locations when the + |CocLocationsChange| autocmd is fired. + + Each location item contains: + + 'filename': full file path. + 'lnum': line number (1 based). + 'col': column number(1 based). + 'text': line content of location. + +g:coc_status_error_sign *g:coc_status_error_sign* + + Error character used for statusline, default: `E` + +g:coc_status_warning_sign *g:coc_status_warning_sign* + + Warning character used for statusline, default: `W` + +g:coc_quickfix_open_command *g:coc_quickfix_open_command* + + Command used for open quickfix list. To jump fist position after + quickfix list opend, you can use: +> + let g:coc_quickfix_open_command = 'copen|cfirst' +< + Default: |copen| + +g:WorkspaceFolders *g:WorkspaceFolders* + + Current workspace folders, used for restoring from a session file, add + `set sessionoptions+=globals` to vimrc for restoring globals. + +g:node_client_debug *g:node_client_debug* + + Enable debug mode of node client for check rpc messages between vim + and coc.nvim. Use environment variable $NODE_CLIENT_LOG_FILE to set + the log file or get the log file after coc.nvim started. + To open the log file, use command: > + + :call coc#client#open_log() +< + Default: `0` + +g:coc_config_home *g:coc_config_home* + + Configure the directory which will be used to look for + `coc-settings.json`, default: + + Windows: `~/AppData/Local/nvim` + Other: `~/.config/nvim` + +g:coc_data_home *g:coc_data_home* + + Configure the directory which will be used to for coc data + files(extensions, mru and so on), default: + + Windows: `~/AppData/Local/coc` + Other: `~/.config/coc` + +g:coc_sources_disable_map *g:coc_sources_disable_map* + + Configure disabled sources for different filetypes. + Use `:CocList sources` for loaded complete sources. ex: +> + let g:coc_sources_disable_map = { \ 'python': ['omni', 'tag'] \ } + +g:coc_borderchars *g:coc_borderchars* + + Border characters used by border window, default to: +> + ['─', '│', '─', '│', '┌', '┐', '┘', '└'] +< + Note: you may need special font like Nerd font to show them. + +g:coc_border_joinchars *g:coc_border_joinchars* + + Border join characters used by float window/popup, default to: +> + ['┬', '┤', '┴', '├'] +< + Note: you may need special font like Nerd font to show them. + +g:coc_prompt_win_width *g:coc_prompt_win_width* + + Width of input prompt window, default `32`. + +g:coc_markdown_disabled_languages *g:coc_markdown_disabled_languages* + + Filetype list that should be disabled for highlight in markdown block, ex: > + + let g:coc_markdown_disabled_languages = ['html'] + +------------------------------------------------------------------------------ + +Some variables are provided by coc.nvim so you can use them in your +statusline. See |coc-status| for detail. + +g:coc_process_pid *g:coc_process_pid* + + Process pid of coc.nvim service. If your vim doesn't kill coc.nvim + process on exit, use: +> + autocmd VimLeavePre * if get(g:, 'coc_process_pid', 0) + \ | call system('kill -9 '.g:coc_process_pid) | endif +< + in your vimrc. + +g:coc_service_initialized *g:coc_service_initialized* + + Is `1` when coc.nvim initialized, used with autocmd |CocNvimInit|. + +g:coc_status *g:coc_status* + + Status string contributed by extensions, used for status line. + +g:coc_last_float_win *g:coc_last_float_win* + + Window id of latest created float/popup window. + +g:coc_last_hover_message *g:coc_last_hover_message* + + Last message echoed from `doHover`, can be used in statusline. + + Note: not used when floating or preview window used for `doHover`. + +b:coc_diagnostic_info *b:coc_diagnostic_info* + + Diagnostic information of current buffer, the format would look like: + + `{'error': 0, 'warning': 0, 'information': 0, 'hint':0}` + + can be used to customize statusline. See |coc-status|. + +b:coc_current_function *b:coc_current_function* + + Function string that current cursor in. + + Set `"coc.preferences.currentFunctionSymbolAutoUpdate": true` + in coc-settings.json to update it on CursorHold. + +b:coc_cursors_activated *b:coc_cursors_activated* + + Use expression `get(b:, 'coc_cursors_activated',0)` to check if + cursors session is activated for current buffer. + +------------------------------------------------------------------------------ +FUNCTIONS *coc-functions* + +Coc functions are normally used by user defined command/keymap or other +plugins. + +Note: some functions only work after the coc service has been initialized. + +To run a function on startup, use an autocmd like: > + + autocmd User CocNvimInit call CocAction('runCommand', + \ 'tsserver.watchBuild') +< +coc#start([{option}]) *coc#start()* + + Start completion with optional {option}. Option could contains: + + - `source` specific completion source name. + + ex: > + + inoremap =coc#start({'source': 'word'}) +< + Use `CocList sources` to get available sources. + +coc#config({section}, {value}) *coc#config()* + + Change user configuration by Vim script, no changes would be made to + user configuration file. ex: > + + call coc#config('coc.preferences', { + \ 'timeout': 1000, + \}) + call coc#config('languageserver', { + \ 'ccls': { + \ "command": "ccls", + \ "trace.server": "verbose", + \ "filetypes": ["c", "cpp", "objc", "objcpp"] + \ } + \}) +< + + Note: this function can be called multiple times. + + Note: this function can be called before the service has been + initialized. + + Note: this function can work alongside the user configuration file, + but it's not recommended to use both. + +coc#add_extension({name}, ...) *coc#add_extension()* + + Deprecated function for install extensions not exists. + Use |g:coc_global_extensions| variable instead. + + ex: > + + call coc#add_extension('coc-json', 'coc-tsserver', 'coc-rls') +< + This function can be called before service initialized. + This function can be called multiple times. + +coc#add_command({id}, {command}, [{title}]) *coc#add_command()* + + Add custom Vim command to commands list opened by + `:CocList commands` . + + Example: > + + call coc#add_command('mundoToggle', 'MundoToggle', + \ 'toggle mundo window') +< +coc#refresh() *coc#refresh()* + + Start or refresh completion at current cursor position, bind this to + 'imap' to trigger completion, ex: > + + inoremap coc#refresh() +< +coc#expandable() *coc#expandable()* + + Check if a snippet is expandable at the current position. + Requires `coc-snippets` extension installed. + +coc#jumpable() *coc#jumpable()* + + Check if a snippet is jumpable at the current position. + +coc#expandableOrJumpable() *coc#expandableOrJumpable()* + + Check if a snippet is expandable or jumpable at the current position. + Requires `coc-snippets` extension installed. + +coc#on_enter() *coc#on_enter()* + + Notify coc.nvim that `` has been pressed. + + Used for the format on type and improvement of brackets, ex: > + + inoremap pumvisible() ? coc#_select_confirm() + \: "\u\\=coc#on_enter()\" +< + Note:to enable formatOnType, add ` "coc.preferences.formatOnType": true` + in your settings file. + +coc#status() *coc#status()* + + Return a status string that can be used in the status line, the status + includes diagnostic information from `b:coc_diagnostic_info` and + extension contributed statuses from `g:coc_status`. For statusline + integration, see |coc-status| + +coc#_select_confirm() *coc#_select_confirm()* + + Select first completion item if no completion item is selected, then + confirm the completion. + + Note: for this function to work as expected, either |CompleteChanged| + autocmd should exists or only and should be used to select + a completion item. + +coc#util#api_version() *coc#util#api_version()* + + Get coc.nvim's vim api version number, start from `1`. + +coc#util#job_command() *coc#util#job_command()* + + Get the job command used for starting the coc service. + +coc#util#get_config_home() *coc#util#get_config_home()* + + Get the config directory that contains the user's coc-settings.json. + +coc#util#get_data_home() *coc#util#get_data_home()* + + Get `coc` data directory. + +coc#util#extension_root() *coc#util#extension_root()* + + Return extensions root of coc.nvim. + +coc#util#rebuild() *coc#util#rebuild()* + + Run `npm rebuild` for all coc extensions. + +coc#util#root_patterns() *coc#util#root_patterns()* + + Get root patterns used for current document. + + Result could be something like: > + + {'global': ['.git', '.hg', '.projections.json'], 'buffer': [], 'server': v:null} +< +coc#util#get_config({key}) *coc#util#get_config()* + + Get configuration (mostly defined in coc-settings.json) by {key}, ex: > + + :echo coc#util#get_config('coc.preferences') + +coc#float#has_float([{all}]) *coc#float#has_float()* + + Check if float window/popup exists, check coc.nvim's float + window/popup by default. + +coc#float#close_all([{all}]) *coc#float#close_all()* + + Close all float windows/popups created by coc.nvim, set {all} to `1` + for all float window/popups. + +coc#float#close({winid}) *coc#float#close()* + + Close float window/popup with {winid}. + +coc#float#has_scroll() *coc#float#has_scroll()* + + Return `1` when there is scrollable float window/popup created by + coc.nvim. + + Example key-mappings: +> + if has('nvim-0.4.0') || has('patch-8.2.0750') + nnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" + nnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" + inoremap coc#float#has_scroll() ? "\=coc#float#scroll(1)\" : "\" + inoremap coc#float#has_scroll() ? "\=coc#float#scroll(0)\" : "\" + vnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" + vnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" + endif +< +coc#float#scroll({forward}, [{amount}]) *coc#float#scroll()* + + Scroll all scrollable float windows/popups, scroll backward when + {forward} is not `1`. {amount} could be number or full page when + omitted. + + Note: this function requires nvim >= 0.4.0 or vim >= 8.2.750 to work. + + +CocRequest({id}, {method}, [{params}]) *CocRequest()* + + Send a request to language client of {id} with {method} and optional + {params}. ex: > + + call CocRequest('tslint', 'textDocument/tslint/allFixes', + \ {'textDocument': {'uri': 'file:///tmp'}}) +< + Vim error will be raised if the response contains an error. + + *CocRequestAsync()* + +CocRequestAsync({id}, {method}, [{params}, [{callback}]]) + + Send async request to remote language server. + {callback} function is called with error and response. + +CocNotify({id}, {method}, [{params}]) *CocNotify()* + + Send notification to remote language server, ex: +> + call CocNotify('ccls', '$ccls/reload') +< + *CocRegistNotification()* + +CocRegistNotification({id}, {method}, {callback}) + + Regist notification callback for specified client {id} and {method}, + example: > + + autocmd User CocNvimInit call CocRegistNotification('ccls', + \ '$ccls/publishSemanticHighlight', function('s:Handler')) +< + {callback} is called with single param as notification result. + + Note: when register notification with same {id} and {method}, only the + later registered would work. + + *CocLocations()* + +CocLocations({id}, {method}, [{params}, {openCommand}]) + + Send location request to language client of {id} with + {method} and optional {params}. eg: > + + call CocLocations('ccls', '$ccls/call', {'callee': v:true}) + + call CocLocations('ccls', '$ccls/call', {}, 'vsplit') +< + {openCommand}: optional command to open buffer, default to + `coc.preferences.jumpCommand` , |:edit| by default. When it's + `v:false` locations list would always used. + + *CocLocationsAsync()* + +CocLocationsAsync({id}, {method}, [{params}, {openCommand}]) + + Same as |CocLocations()|, but send notification to server instead + of request. + + +CocAction({action}, [...{args}]) *CocAction()* + + Run {action} of coc with optional extra {args}. + + Checkout |coc-actions| for available actions. + + Note: it's recommended to use |CocActionAsync()| unless you need + result from |CocAction()|. + + *CocActionAsync()* + +CocActionAsync({action}, [...{args}, [{callback}]]) + + Call CocAction by send notification to server of coc.nvim. + + Optional callback is called with `error` as the first argument and + `response` as the second argument. + + Checkout |coc-actions| for available actions. + +CocHasProvider({feature}) *CocHasProvider()* + + Check if provider exists for specified feature. Supported features: + + `rename` `onTypeEdit` `documentLink` `documentColor` `foldingRange` + `format` `codeAction` `workspaceSymbols` `formatRange` `hover` + `signature` `documentSymbol` `documentHighlight` `definition` + `declaration` `typeDefinition` `reference` `implementation` `codeLens` + `selectionRange` + +CocTagFunc({pattern}, {flags}, {info}) *CocTagFunc()* + + Used for vim's 'tagfunc' option, to make tag search by |CTRL-]| use + coc.nvim as provider, tag search would be performed when no result + from coc.nvim. + + Make sure your vim support 'tagfunc' by +> + :echo exists('&tagfunc') +< +------------------------------------------------------------------------------ + *coc-actions* +Available Actions ~ + +Acceptable {action} names for |CocAction()| and |CocActionAsync|. + +"ensureDocument" *CocAction('ensureDocument')* + + Ensure current document is attached to coc.nvim, should be used when + you need invoke action of current document just after document + created. + + Return `v:false` when the document can't be attached, the document + won't be attached for one of these reasons: + + 1. The 'buftype' option is neither nor acwrite. + 2. Buffer variable `b:coc_enabled` is set to `0`. + 3. Size of buffer bigger than `coc.preferences.maxFileSize` + configuration. + 4. The buffer is used for command line window. + +"diagnosticList" *CocAction('diagnosticList')* + + Get all diagnostic items of the current Neovim session. + +"diagnosticInfo" *CocAction('diagnosticInfo')* + + Show diagnostic message at the current position, do not truncate. + +"diagnosticToggle" *CocAction('diagnosticToggle')* + + Enable/disable diagnostics on the fly, not work when `displayByAle` is + enabled. + +"diagnosticPreview" *CocAction('diagnosticPreview')* + + Show diagnostics under current cursor in preview window. + +"diagnosticRefresh" [{bufnr}] *CocAction('diagnosticRefresh')* + + Force refresh diagnostics for special buffer with {bufnr} or all buffers + when {bufnr} not exists, returns `v:null` before diagnostics are shown. + + Useful when `diagnostic.autoRefresh` is `false`. + +"refreshSource" [{source}] *CocAction('refreshSource')* + + refresh all sources or a source with a name of {source}. + +"sourceStat" *CocAction('sourceStat')* + + get the list of completion source stats for the current buffer. + +"toggleSource" {source} *CocAction('toggleSource')* + + enable/disable {source}. + +"jumpDefinition" [{openCommand}] *CocAction('jumpDefinition')* + + jump to definition position of the current symbol. + Return `v:false` when location not found. + + |coc-list-location| is used when more than one position is available, + for custom location list, use variable: |g:coc_enable_locationlist|. + + To always use |coc-list-location|| for locations, use `v:false` for + {openCommand}. + + {openCommand}: optional command to open buffer, default to + `coc.preferences.jumpCommand` in `coc-settings.json` + +"jumpDeclaration" [{openCommand}] *CocAction('jumpDeclaration')* + + jump to declaration position of the current symbol. + Return `v:false` when location not found. + + same behavior as "jumpDefinition". + + When {openCommand} is `v:false`, location list would be always used. + +"jumpImplementation" [{openCommand}] *CocAction('jumpImplementation')* + + Jump to implementation position of the current symbol. + Return `v:false` when location not found. + + same behavior as "jumpDefinition" + +"jumpTypeDefinition" [{openCommand}] *CocAction('jumpTypeDefinition')* + + Jump to type definition position of the current symbol. + Return `v:false` when location not found. + + same behavior as "jumpDefinition" + +"jumpReferences" [{openCommand}] *CocAction('jumpReferences')* + + Jump to references position of the current symbol. + Return `v:false` when location not found. + + same behavior as "jumpDefinition" + +"getHover" *CocAction('getHover')* + + Get documentation text array on current position, returns array of + string. + +"doHover" [{hoverTarget}] *CocAction('doHover')* + + Show documentation of current symbol, return `v:false` when hover not + found. + + {hoverTarget}: optional specification for where to show hover info, + defaults to `coc.preferences.hoverTarget` in `coc-settings.json`. + Valid options: ["preview", "echo", "float"] + +"definitionHover" [{hoverTarget}] *CocAction('definitionHover')* + + Same as |CocAction('doHover')|, but includes definition contents from + definition provider when possible. + +"showSignatureHelp" *CocAction('showSignatureHelp')* + + Echo signature help of current function, return `v:false` when + signature not found. You may want to set up an autocmd like this: > + + autocmd User CocJumpPlaceholder call + \ CocActionAsync('showSignatureHelp') +< +"getCurrentFunctionSymbol" *CocAction('getCurrentFunctionSymbol')* + + Return the function string that current cursor in. + +"documentSymbols" [{bufnr}] *CocAction('documentSymbols')* + + Get a list of symbols of current buffer or specific {bufnr}. + +"rename" *CocAction('rename')* + + Rename the symbol under the cursor position, user will be prompted for + a new name. + + Note: coc.nvim supports rename for disk files, but your language server + may not. + +"refactor" *CocAction('refactor')* + + Open refactor windows with current symbol as activated cursor ranges. + Check |coc-config-cursors| and |coc-config-refactor| for related + configuration. + +"format" *CocAction('format')* + + Format current buffer using the language server. + Return `v:false` when format failed. + +"formatSelected" [{mode}] *CocAction('formatSelected')* + + Format the selected range, {mode} should be one of visual mode: `v` , + `V`, `char`, `line`. + + When {mode} is omitted, it should be called using |formatexpr|. + + +"selectionRanges" *CocAction('selectionRanges')* + + Get selection ranges of current position from language server. + +"services" *CocAction('services')* + + Get an information list for all services. + +"toggleService" {serviceId} *CocAction('toggleService')* + + Start or stop a service. + +"codeAction" [{mode}] [{only}] *CocAction('codeAction')* + + Prompt for a code action and do it. + + {mode} could be `line` or `cursor` or result of |visualmode()|, + current buffer range is used when it's empty string. + + {only} can be title of a codeAction or list of CodeActionKind. + +"codeActionRange" {start} {end} [{kind}] *CocAction('codeActionRange')* + + Run code action for range. + + {start} start line number of range. + {end} end line number of range. + {kind} code action kind, see |CocAction('codeActions')| for available + action kind. + +"codeLensAction" *CocAction('codeLensAction')* + + Invoke the command for codeLens of current line (or the line that + contains codeLens just above). Prompt would be shown when multiple + actions are available. + +"commands" *CocAction('commands')* + + Get a list of available service commands for the current buffer. + +"runCommand" [{name}] [...{args}] *CocAction('runCommand')* + + Run a global command provided by the language server. If {name} is not + provided, a prompt with a list of commands is shown to be selected. + + {args} are passed as arguments of command. + + You can bind your custom command like so: > + + command! -nargs=0 OrganizeImport + \ :call CocActionAsync('runCommand', 'tsserver.organizeImports') + +"fold" {{kind}} *CocAction('fold')* + + Fold the current buffer, optionally use {kind} for filtering folds, + {kind} could be either 'comment', 'imports' or 'region' + + Return `v:false` when failed. + +"highlight" *CocAction('highlight')* + + Highlight the symbols under the cursor. + Overwrite the highlight groups |CocHighlightText|, |CocHighlightRead| + and |CocHighlightWrite| for customizing the colors. + + To enable highlight on CursorHold, create an autocmd like this: > + + autocmd CursorHold * silent call CocActionAsync('highlight') +< +"openLink" [{command}] *CocAction('openlink')* + + Open a link under the cursor with {command}. + {command} default to `edit`. + + File and URL links are supported, return `v:false` when failed. + + Note: it needs language server support documentLink feature to work. + +"extensionStats" *CocAction('extensionStats')* + + Get all extension states as a list. Including `id`, `root` and + `state`. + + State could be `disabled`, `activated` and `loaded`. + +"toggleExtension" {id} *CocAction('toggleExtension')* + + Enable/disable an extension. + +"uninstallExtension" {id} *CocAction('uninstallExtension')* + + Uninstall an extension. + +"reloadExtension" {id} *CocAction('reloadExtension')* + + Reload an activated extension. + +"activeExtension" {id} *CocAction('activeExtension')* + + Activate extension of {id}. + +"deactivateExtension" {id} *CocAction('deactivateExtension')* + + Deactivate extension of {id}. + +"pickColor" *CocAction('pickColor')* + + Change the color at the current cursor position. + + Requires language server support for the document color request. + + Note: only works on mac or when you have python support on Vim and + have the gtk module installed. + +"colorPresentation" *CocAction('colorPresentation')* + + Change the color presentation at the current color position. + + Requires a language server that supports color representation + requests. + +"codeActions" [{mode}] [{only}] *CocAction('codeActions')* + + Get and invoke codeActions on current document, quickpick menu would + be shown when there're many codeActions. + + {mode} can be result of |visualmode()| for visual selected + range. When it's falsy value, current file is used as range. + + {only} can be array of codeActionKind, possible values including: + - 'refactor': Base kind for refactoring actions + - 'quickfix': base kind for quickfix actions + - 'refactor.extract': Base kind for refactoring extraction actions + - 'refactor.inline': Base kind for refactoring inline actions + - 'refactor.rewrite': Base kind for refactoring rewrite actions + - 'source': Base kind for source actions + - 'source.organizeImports': Base kind for an organize imports source + action + - 'source.fixAll': Base kind for auto-fix source actions + + {only} can also be string, which means filter by tilte of codeAction. + +"organizeImport" *CocAction('organizeImport')* + + Run organize import codeAction for current buffer. + Show warning when codeAction not found. + +"fixAll" *CocAction('fixAll')* + + Run fixAll codeAction for current buffer. + Show warning when codeAction not found. + + +"quickfixes" [{visualmode}] *CocAction('quickfixes')* + + Get quickfix codeActions of current buffer. + + Add {visualmode} as second argument get quickfix actions with range of + latest |visualmode()| + +"doCodeAction" {codeAction} *CocAction('doCodeAction')* + + Do a codeAction. + +"doQuickfix" *CocAction('doQuickfix')* + + Do the first preferred quickfix action on current line. + + Throw error when no quickfix action found. + +"addRanges" {ranges} *CocAction('addRanges')* + + Ranges must be provided as array of range type: https://git.io/fjiEG + +"getWordEdit" *CocAction('getWordEdit')* + + Get workspaceEdit of current word, language server used when possible, + extract word from current buffer as fallback. + +"getWorkspaceSymbols" {input} *CocAction(getWorkspaceSymbols)* + + Get workspace symbols from {input}. + +"resolveWorkspaceSymbol" {symbol} *CocAction('resolveWorkspaceSymbol')* + + Resolve location for workspace {symbol}. + +"diagnosticToggleBuffer" [{bufnr}] *CocAction('diagnosticToggleBuffer')* + + Toggle diagnostics for specific buffer, current buffer is used when + {bufnr} not provided. + + Note: this will only affect diagnostics shown in the UI, list of all + diagnostics won't change. + +"showOutline" [{keep}] *CocAction('showOutline')* + + Show outline tree view for current buffer. Old outline window on current + tab would be replaced. + Outline view has Window variable `cocViewId` set to `OUTLINE`. + + {keep} override `"outline.keepWindow"` configuration when specified. + Could be 0 or 1. + + Returns after window is shown (document symbol request is still in + progress). + + Note: like VSCode, outline would try to reload document symbols after + 500ms when provider not registered, which avoid the necessary to check + provider existence. + + Note: error is shown when current buffer is not attatched, checkout + |CocAction('ensureDocument')|, for possible reasons. + + Checkout |coc-config-tree| and |coc-config-outline| for available + configurations. + + Checkout |CocTree| and |CocSymbol| for customize highlights. + + Use configuration `"suggest.completionItemKindLabels"` for custom icons. + + To show outline for each tab automatically, use |autocmd|: +> + autocmd VimEnter,Tabnew * + \ if empty(&buftype) | call CocActionAsync('showOutline', 1) | endif +< +"hideOutline" *CocAction('hideOutline')* + + Close outline window on current tab. Throws vim error when it can't + be closed by vim. + +"incomingCalls" [{CallHierarchyItem}] *CocAction('incomingCalls')* + + Retrieve incoming calls from {CallHierarchyItem} or current position + when not provided. + +"outgoingCalls" [{CallHierarchyItem}] *CocAction('outgoingCalls')* + + Retrieve outgoing calls from {CallHierarchyItem} or current position + when not provided. + +"showIncomingCalls" *CocAction('showIncomingCalls')* + + Show incoming calls of current function with |coc-tree|, + Configured by |CocSymbol|, |coc-config-callHierarchy| and + |coc-config-tree|. + + Related ranges are highlighted with |CocSelectedRange| highlight + group. + + |coc-dialog-menu| could be invoked by key configured by + `"tree.key.actions". Available actions: + + - Dismiss. + - Open in new tab. + - Show Incoming Calls. + - Show Outgoing Calls. + + +"showOutgoingCalls" *CocAction('showOutgoingCalls')* + + Show outgoing calls of current function with |coc-tree|. + +------------------------------------------------------------------------------ +COMMANDS *coc-commands* + +:CocStart *:CocStart* + + Start the coc.nvim server, do nothing if it's already started. + +:CocRestart *:CocRestart* + + Restart coc.nvim service. + + Use this command when you want coc to start all over again. + +:CocDisable *:CocDisable* + + Disable handling vim events. + +:CocEnable *:CocEnable* + + Enable handling vim events. + +:CocConfig *:CocConfig* + + Edit the user config file `.vim/coc-settings.json` in + |coc#util#get_config_home()| + +:CocLocalConfig *:CocLocalConfig* + + Edit or create `.vim/coc-settings.json` of the current working + directory. + +:CocInstall [{option}] {name} ... *:CocInstall* + + Install one or more coc extensions. + + {option}: could be `-sync` for use blocked process to download instead + of terminal. + + Examples: > + + " Install latest coc-omni + :CocInstall coc-omni + " Install coc-omni 1.0.0 + :CocInstall coc-omni@1.0.0 + " Install snippet extension from github + :CocInstall https://github.com/dsznajder/vscode-es7-javascript-react-snippets +> +:CocUninstall {name} *:CocUninstall* + + Uninstall an extension, use to complete the extension + name. + +:CocUpdate *:CocUpdate* + + Update all coc extensions to the latest version. + +:CocUpdateSync *:CocUpdateSync* + + Block version of update coc extensions. + +:CocRebuild *:CocRebuild* + + Run `npm rebuild` for coc extensions. + + May be required when environment nodejs get upgraded. + +:CocCommand {name} [{args}] ... *:CocCommand* + + Run a command contributed by extensions, use `` for name + completion. + +:{range}CocAction [{only}] *:CocAction* + + Get codeActions of current document in actions list, + with optional {range}. + + {only} can be `quickfix`, `refactor`, `source.fixAll` as + CodeActionKind. + +:{range}CocFix *:CocFix* + + Same as `:CocAction quickfix` for quickfix actions. + +:CocOpenLog *:CocOpenLog* + + Open log file of coc.nvim. + + Use environmental variable `NVIM_COC_LOG_FILE` for fixed log file. + Note: the log would be cleared when coc.nvim started. + + Use environment variable `NVIM_COC_LOG_LEVEL` to change log level + (default 'info', could be 'all', 'trace', 'debug', 'info', + 'warn', 'error', 'off'). + Use shell command: > + + export NVIM_COC_LOG_LEVEL=debug +< + or add: > + + let $NVIM_COC_LOG_LEVEL='debug' +< + to the beginning of your `.vimrc` + +:CocInfo *:CocInfo* + + Show version and log information in a split window, useful for + submitting a bug report. + +:CocDiagnostics [height] *:CocDiagnostics* + + Open vim's |location-list| with diagnostics of current buffer. + +:CocSearch *:CocSearch* + + Perform search by ripgrep https://github.com/BurntSushi/ripgrep, + refactor window would be opened. + + Note: the search is performed on your files, so normally you should + save your buffers before invoke this command. + + Common arguments for ripgrep:~ + + `-e` `--regexp`: treat search pattern as regexp. + `-F` `--fixed-strings`: treat search pattern as fixed string. + `-L` `--follow`: follow symbolic links while traversing directories. + `-g` `--glob` {GLOB}: Include or exclude files and directories for + searching that match the given glob. + `--hidden`: Search hidden files and directories. + `--no-ignore-vcs`: Don't respect version control ignore files + (.gitignore, etc.). + `--no-ignore`: Don't respect ignore files (.gitignore, .ignore, etc.). + `-w` `--word-regexp`: Only show matches surrounded by word boundaries. + `-S` `--smart-case`: Searches case insensitively if the pattern is all + lowercase. Search case sensitively otherwise. + `--no-config`: Never read configuration files. + `-x` `--line-regexp`: Only show matches surrounded by line boundaries. + + Use `:man 1 rg` in your terminal for more details. + + Note: By default, hidden files and directories are skipped. + + Note: By default, vcs ignore files including `.gitignore` and + `.ignore` are respected + + Excape arguments:~ + + || is used to convert command line arguments to arguments of + rg, which means you have to escape space for single argument. For + example, if you want to search `import { Neovim` , you have to use: +> + :CocSearch import\ \{\ Neovim +< + The escape for `{` is required because rg use regexp be default, or: +> + :CocSearch -F import\ {\ Neovim +< + for strict match. + + Change and save:~ + + Refactor session is started with searched patterns highlighted, just + change the text and save refactor buffer to make changes across all + related files. You can make any kind of changes, including add lines + and remove lines. + +:CocWatch [extension] *:CocWatch* + + Watch loaded [extension] for reload on file change, use for + complete extension id. + +:CocOutline *:CocOutline* + + Invoke |CocAction('showOutline')| by notification. + +------------------------------------------------------------------------------ +AUTOCMD *coc-autocmds* + + *CocLocationsChange* + +:autocmd User CocLocationsChange {command} + + For building a custom view of locations, set + |g:coc_enable_locationlist| to 0 and use this autocmd with with + |g:coc_jump_locations| + + For example, to disable auto preview of location list, use: +> + let g:coc_enable_locationlist = 0 + autocmd User CocLocationsChange CocList --normal location +< + *CocNvimInit* +:autocmd User CocNvimInit {command} + + Triggered after the coc services have started. + + If you want to trigger an action of coc after Vim has started, this + autocmd should be used because coc is always started asynchronously. + + *CocStatusChange* + +:autocmd User CocStatusChange {command} + + Triggered after `g:coc_status` changed, can be used for refresh + stautsline. + + *CocDiagnosticChange* + +:autocmd User CocDiagnosticChange {command} + + Triggered after the diagnostic status has changed. + + Could be used for updating the statusline. + + *CocJumpPlaceholder* + +:autocmd User CocJumpPlaceholder {command} + + Triggered after a jump to a placeholder. Can be used for + showing signature help like: > + + autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') +< + *CocOpenFloat* + +:autocmd User CocOpenFloat {command} + + Triggered when a floating window is opened. The window is not + focused, use |g:coc_last_float_win| to get window id. + + *CocTerminalOpen* +:autocmd User CocTerminalOpen {command} + + Triggered when the terminal is shown, can be used for adjusting the + window height. + +------------------------------------------------------------------------------ + +HIGHLIGHTS *coc-highlights* + +To customize a highlight, simply use |:highlight| command in your vimrc, like: +> + " make error texts have a red color + highlight CocErrorHighlight ctermfg=Red guifg=#ff0000 +< +Type |:highlight| command with group name to check current highlight. + +Note: don't use `:hi default` for overwriting the highlights. + +Note: user defined highlight commands should appear after the |:colorscheme| +command and use |ColorScheme| autocmd to make sure customized highlights works +after color scheme change. + +Markdown related~ + +*CocBold* for bold text. +*CocItalic* for italic text. +*CocUnderline* for underlined text. +*CocStrikeThrough* for strikethrough text, like usage of deprecated API. +*CocMarkdownCode* for inline code in markdown content. +*CocMarkdownHeader* for markdown header in floating window/popup. +*CocMarkdownLink* for markdown link text in floating window/popup. + +Diagnostics related~ + +*CocFadeOut* for faded out text, such as for highlighting unnecessary code. +*CocErrorSign* for error signs. +*CocWarningSign* for warning signs. +*CocInfoSign* for information signs. +*CocHintSign* for hint signs. +*CocErrorVirtualText* for error virtual text. +*CocWarningVirtualText* for warning virtual text. +*CocInfoVirtualText* for information virtual text. +*CocHintVirtualText* for hint virtual text. +*CocErrorHighlight* for error code range. +*CocWarningHighlight* for warning code range. +*CocInfoHighlight* for information code range. +*CocHintHighlight* for hint code range. +*CocDeprecatedHighlight* for deprecated code range, links to +|CocStrikeThrough| by default. +*CocUnusedHighlight* for unnecessary code range, links to |CocFadeOut| by +default. +*CocErrorLine* line highlight of sign which contains error. +*CocWarningLine* line highlight of sign which contains warning. +*CocInfoLine* line highlight of sign which information. +*CocHintLine* line highlight of sign which contains hint. + +Document highlight related~ + +Highlights used for highlighting same symbols in the buffer at the current +cursor position. + +*CocHighlightText* default symbol highlight. +*CocHighlightRead* for `Read` kind of document symbol. +*CocHighlightWrite* for `Write` kind of document symbol. + +Float window/popup related~ + +*CocFloating* default highlight group of floating windows/popups. +Default link to |NormalFloat| on neovim and|`Pmenu| on vim. +*CocErrorFloat* for errors in floating windows/popups. +*CocWarningFloat* for warnings in floating windows/popups. +*CocInfoFloat* for infos in floating windows/popups. +*CocHintFloat* for hints in floating windows/popups. + +List related~ + +*CocSelectedText* for sign text of selected lines. +*CocSelectedLine* for line highlight of selected lines. +*CocListMode* for mode in statusline of CocList. +*CocListPath* for current cwd in statusline of CocList. + +Tree view related~ + +CocTree* *CocTree* + +*CocTreeTitle* for title in tree view. +*CocTreeDescription* for description beside label. +*CocTreeOpenClose* for open and close icon in tree view. +*CocTreeSelected* for highlight lines contains selected node. + +Symbol icons~ + +CocSymbol* *CocSymbol* + +Highlight groups for symbol icons, including: + +*CocSymbolFile* +*CocSymbolModule* +*CocSymbolNamespace* +*CocSymbolPackage* +*CocSymbolClass* +*CocSymbolMethod* +*CocSymbolProperty* +*CocSymbolField* +*CocSymbolConstructor* +*CocSymbolEnum* +*CocSymbolInterface* +*CocSymbolFunction* +*CocSymbolVariable* +*CocSymbolConstant* +*CocSymbolString* +*CocSymbolNumber* +*CocSymbolBoolean* +*CocSymbolArray* +*CocSymbolObject* +*CocSymbolKey* +*CocSymbolNull* +*CocSymbolEnumMember* +*CocSymbolStruct* +*CocSymbolEvent* +*CocSymbolOperator* +*CocSymbolTypeParameter* +*CocSymbolDefault* + +Note: Use configuration `suggest.completionItemKindLabels` for customized icon +characters. + +Others~ + +*CocCodeLens* for virtual text of codeLens. +*CocCursorRange* for ranges of activated cursors. +*CocHoverRange* for range of current hovered symbol. +*CocMenuSel* for current menu item in menu dialog, works on neovim only since +vim doesn't support change highlight group of cursorline inside popup. +*CocSelectedRange* for highlight ranges of outgoing calls. + +Semantic highlights~ + +CocSem_* *CocSem* + + Used for words whose semantics are provided by the language server, which + typically analyzes source code more deeply than vim's builtin syntax parser. + + Basic defaults are provided for the "standard" token kinds, but any kind + supported by the server can be highlighted by creating the highlight group. + + Default (enabled by setting `g:coc_default_semantic_highlight_groups = 1`): + `hi default link CocSem_namespace Identifier` + `hi default link CocSem_type Type` + `hi default link CocSem_class Structure` + `hi default link CocSem_enum Type` + `hi default link CocSem_interface Type` + `hi default link CocSem_struct Structure` + `hi default link CocSem_typeParameter Type` + `hi default link CocSem_parameter Identifier` + `hi default link CocSem_variable Identifier` + `hi default link CocSem_property Identifier` + `hi default link CocSem_enumMember Constant` + `hi default link CocSem_event Identifier` + `hi default link CocSem_function Function` + `hi default link CocSem_method Function` + `hi default link CocSem_macro Macro` + `hi default link CocSem_keyword Keyword` + `hi default link CocSem_modifier StorageClass` + `hi default link CocSem_comment Comment` + `hi default link CocSem_string String` + `hi default link CocSem_number Number` + `hi default link CocSem_regexp Normal` + `hi default link CocSem_operator Operator` + +============================================================================== +TREE SUPPORT *coc-tree* + +Tree view is used for render outline and call hierarchy, following features +are supported: + +- Data update while keep tree node open/close state. +- Auto refresh on load error. +- Click open/close icon to toggle collapse state. +- Click node to invoke default command. +- Show tooltip in float window on |CursorHold| when possible. +- Key-mappings support |coc-tree-mappings| +- Optional multiple selection. +- Optional node reveal support. +- Optional fuzzy filter support. +- Provide api `window.createTreeView` for extensions. + +Check |coc-config-tree| for related configurations. + +The filetype is `'coctree'`, which can be used to overwrite buffer and window +options. + +Use variable |w:cocViewId| to detect the kind of tree. + +------------------------------------------------------------------------------ + +TREE KEY MAPPINGS *coc-tree-mappings* + +Default key-mappings are provided for 'coctree' buffer, which can be changed +by configuration |coc-config-tree|. + + - Select/unselect item, configured by `"tree.key.toggleSelection"`. + - Invoke actions of current item, configured by `"tree.key.actions"`. + - Close tree window, configured by `"tree.key.close"`. + - Invoke command of current item, configured by `"tree.key.invoke"`. + - Move cursor to original window. +f - Activate filter, configured by `"tree.key.activeFilter"`. +t - Trigger key to toggle expand state of tree node, configured by + `tree.key.toggle`. +M - Collapse all tree node, configured by `"tree.key.collapseAll"`. + +------------------------------------------------------------------------------ + +TREE FILTER *coc-tree-filter* + +Filter mode is used for search for specific node by fuzzy filter, invoke the +key configured by `"tree.key.activeFilter"` to activate filter mode. + +Note: some tree views not have filter mode supported. + +When filter mode is activated, type normal character to insert filter input +and following special keys are supported: + + - Delete last filter character when possible. + - Clean up filter text. + - Navigate to previous filter text (stored on command invoke). + - Navigate to next filter text (stored on command invoke). + - exit filter mode. + - exit filter mode. + or `"tree.key.selectPrevious"` - Select previous node. + or `"tree.key.selectNext"` - Select next node. + or `"key.key.invoke"` - Invoke command of selected node. + +============================================================================== +LIST SUPPORT *coc-list* + +Built-in list support to make working with lists of items easier. + +The following features are supported: + +- Insert & normal mode. +- Default key-mappings for insert & normal mode. +- Customize key-mappings for insert & normal mode. +- Commands for reopening & doing actions with a previous list. +- Different match modes. +- Interactive mode. +- Auto preview on cursor move. +- Number select support. +- Built-in actions for locations. +- Parse ANSI code. +- Mouse support. +- Select actions using . +- Multiple selections using in normal mode. +- Select lines by visual selection. + +------------------------------------------------------------------------------ + +LIST COMMAND *coc-list-command* + +:CocList [{...options}] [{source}] [{...args}] *:CocList* + + Open coc list of {source}, Ex: > + + :CocList --normal location +< + For current jump locations. + + See |coc-list-options| for available list options, + + Also check |coc-config-list| for list configuration. + + {args} are sent to source during the fetching of list. + Press `?` on normal mode to get supported {args} of current + list. + + When {source} is empty, lists source is used. + +:CocListResume [{name}] *:CocListResume* + + Reopen last opened list, input and cursor position will be preserved. + +:CocListCancel *:CocListCancel* + + Close list, useful when the list is not the current window. + +:CocPrev [{name}] *:CocPrev* + + Invoke default action for the previous item in the last {name} list. + + Doesn't open the list window if it's closed. + +:CocNext [{name}] *:CocNext* + + Invoke the default action for the next item in the last {name} list. + + Doesn't open the list window if it's closed. + +:CocFirst [{name}] *:CocFirst* + + Invoke default action for first item in the last {name} list. + +:CocLast [{name}] *:CocLast* + + Invoke default action for last item in the last {name} list. + + *coc-list-options* +Options of CocList command~ + +--top + Show list as top window. + +--tab + Open list in new tabpage. + +--normal + + Start list in normal mode, recommended for short list. + +--no-sort + Disable sort made by fuzzy score or most recently used, use it when + it's already sorted. + +--input={input} + + Specify the input on session start. + +--strict +-S + Use strict matching instead of fuzzy matching. + +--regex +-R + Use regex matching instead of fuzzy matching. + +--ignore-case + + Ignore case when using strict matching or regex matching. + +--number-select +-N + Type a line number to select an item and invoke the default action on + insert mode. Type `0` to select the 10th line. + + +--interactive +-I + Use interactive mode, list items would be reloaded on input + change, filter and sort would be done by list implementation. + + Note: filtering and sorting would be done by underlying task, which + means options including `--strict`, `--no-sort`, `--regex`, + `--ignore-case` would not work at all. + + Note: it requires list implementation have support for interactive + mode. + +--auto-preview +-A + + Start a preview for the current item on the visible list. + +--no-quit + + Not quit list session after do action. + + Note: you may need to refresh the list for current state. + +--first + + Invoke default action for first list item on list open. + Nothing happens when the list is empty. + +------------------------------------------------------------------------------ + +LIST CONFIGURATION *coc-list-configuration* + +Use `coc-settings.json` for configuration of lists. + +The general configuration of list starts with 'list.'. + +Checkout |coc-config-list| or type `list.` in your settings file to get completion +list (requires coc-json installed). + +For configuration of a specified list, use section that starts with: +`list.source.{name}`, where `{name}` is the name of list. + +Change default action:~ + +If you want to use `tabe` as default action of symbols list, you can use: +> + // change default action of symbols + "list.source.symbols.defaultAction": "tabe" +< +in your coc-settings.json + +Change default options:~ + +Use `list.source.{name}.defaultOptions` setting like: > + + // make symbols list use normal mode and interactive by default + "list.source.symbols.defaultOptions": ["--interactive", "--number-select"], +< +Note: some list like symbols only work in interactive mode, you must +include `--interactive` in `defaultOptions`. + +Note: default options will not be used when there're options passed +with |:CocList| command. + +Change default arguments:~ + +Use `list.source.{name}.defaultArgs` setting like: > + + // use regex match for grep source + "list.source.grep.defaultArgs": ["-regex"], + +Note: default arguments used only when arguments from |:CocList| command is +empty. + +Note: Type `?` on normal mode to get supported arguments of current list. + +------------------------------------------------------------------------------ + +LIST MAPPINGS *coc-list-mappings* + +Default mappings on insert mode: + + - Cancel list session. + - Do default action with selected items or current item. + - Stop loading task. + - Paste text from system clipboard. + - Reload list. + - Change to normal mode. + - Select next line. + - Select previous line. + - Move cursor left. + - Move cursor right. + - Move cursor to end of prompt. + - Same as . + - Move cursor to start of prompt. + - Same as . + - Scroll window forward. + - Scroll window backward. + - Remove previous character of cursor. + - Remove previous character of cursor. + - Remove previous word of cursor. + - Remove characters before cursor. + - Navigate to next input in history. + - Navigate to previous input in history. + - Switch matcher for filter items. + - Insert content from vim's register. + - Select action. + +Default mappings on normal mode: + + - Cancel list session. + - Do default action with selected items or current item. + - Stop source from fetching more items. + - Reload list. + - Mark all visible items selected. + - Jump to original window on list create. + - Select action. + - Scroll preview window down. + - Scroll preview window up. + - Toggle select of current item. +i,I,o,O,a,A - Change to insert mode. +p - Preview action. +: - Cancel list session without closing window. +? - Show help of current list. +t - Do 'tabe' action. +d - Do 'drop' action. +s - Do 'split' action. + +Use |coc-list-mappings-custom| to override default mappings. + + *coc-list-mappings-custom* + +Configurations `"list.normalMappings"` and `"list.insertMappings"` are used +for customizing the list key-mappings, ex: > + + "list.insertMappings": { + "": "do:refresh", + "": "feedkeys:\\", + "": "feedkeys:\\", + "": "normal:j", + "": "normal:k", + "": "action:tabe", + "": "call:MyFunc", + // paste yanked text to prompt + "": "eval:@@" + } + "list.normalMappings": { + "c": "expr:MyExprFunc" + "d": "action:delete" + } +< +Note: you should only use mappings that start with ` can't be remapped for other actions. + +The mapping expression should be `command:arguments`, available commands: + +'do' - special actions provided by coc list, including: + 'refresh' - reload list. + 'selectall' - mark all visible items selected. + 'switch' - switch matcher used for filter items. + 'exit' - exit list session. + 'stop' - stop loading task. + 'cancel' - cancel list session but leave list window open. + 'toggle' - toggle selection of current item. + 'togglemode' - toggle between insert and normal mode. + 'previous' - move cursor to previous item. + 'next' - move cursor to next item. + 'defaultaction' - do default action for selected items or current item. + 'jumpback' - stop prompt and jump back to original window. + 'previewtoggle' - toggle preview window, requires preview action exists. + 'previewup' - scroll preview window up. + 'previewdown' - scroll preview window down. + 'help' - show help. +'prompt' - do prompt action, including: + 'previous' - change to previous input in history. + 'next' - change to next input in history. + 'start' - move cursor to start. + 'end' - move cursor to end. + 'left' - move cursor left. + 'right' - move cursor right. + 'deleteforward' - remove previous character. + 'deletebackward' - remove next character. + 'removetail' - remove characters afterwards. + 'removeahead' - remove character ahead. + 'insertregister' - insert content from Vim register. + 'paste' - append text from system clipboard to prompt. +'eval' - append text to prompt from result of VimL expression. +'action' - execute action of list, use to find available actions. +'feedkeys' - feedkeys to list window, use `\\` in JSON to escape special characters. +'normal' - execute normal command in list window. +'normal!' - execute normal command without remap. +'command' - execute command. +'call' - call Vim function with |coc-list-context| as only argument. +'expr' - same as 'call' but expect the function return action name. + + *coc-list-context* + +Context argument contains the following properties: + +'name' - name of the list, ex: `'location'`. +'args' - arguments of the list. +'input' - current input of prompt. +'winid' - window id on list activated. +'bufnr' - buffer number on list activated. +'targets' - list of selected targets, checkout |coc-list-target| for properties. + + *coc-list-target* + +Target contains the following properties: + +'label' - mandatory property that is shown in the buffer. +'filtertext' - optional filter text used for filtering items. +'location' - optional location of item, check out https://bit.ly/2Rtb6Bo +'data' - optional additional properties. + +------------------------------------------------------------------------------ + +LIST SOURCES *coc-list-sources* + +------------------------------------------------------------------------------ + +location *coc-list-location* + + Last jump locations. + + Actions: + + - 'preview' : preview location in preview window. + - 'open': open location by use + `"coc.preferences.jumpCommand"`, default action + - 'tabe': Use |:tabe| to open location. + - 'drop': Use |:drop| to open location. + - 'vsplit': Use |:vsplit| to open location. + - 'split': Use |:split| to open location. + - 'quickfix': Add selected items to Vim's quickfix. + +extensions *coc-list-extensions* + + Manage coc extensions. + + Actions: + + - 'toggle' activate/deactivate extension, default action. + - 'disable' disable extension. + - 'enable' enable extension. + - 'lock' lock/unlock extension to current version. + - 'doc' view extension's README doc. + - 'fix' fix dependencies in terminal buffer. + - 'reload' reload extension. + - 'uninstall' uninstall extension. + +diagnostics *coc-list-diagnostics* + + All diagnostics for the workspace. + + Actions: + + - Same as |coc-list-location| + +outline *coc-list-outline* + + Symbols in the current document. + + Actions: + + - Same as |coc-list-location| + +symbols *coc-list-symbols* + + Search workspace symbols. + + Actions: + + - Same as |coc-list-location| + +services *coc-list-services* + + Manage registered services. + + Actions: + + - 'toggle': toggle service state, default action. + +commands *coc-list-commands* + + Workspace commands. + + Actions: + + - 'run': run selected command, default action. + +links *coc-list-links* + + Links in the current document. + + Actions: + + - 'open': open the link, default action. + - 'jump': jump to link definition. + +sources *coc-list-completion-sources* + + Available completion sources. + + Actions: + + - 'toggle': activate/deactivate source, default action. + - 'refresh': refresh source. + - 'open': open the file where source defined. + +lists *coc-list-lists* + + Get available lists. + + Actions: + + - 'open': open selected list, default action. + +============================================================================== + +DIALOG SUPPORT *coc-dialog* + +Dialog is special float window/popup that could response to user actions, +dialog have close button, border, title (optional), bottom buttons(optional). + +Note bottom buttons work different on neovim and vim, on neovim you can +click the button since neovim allows focus of window, on vim you have to type +highlighted character to trigger button callback. + +Note dialog feature requires neovim >= 0.4.0 or vim >= 8.2.0750 to work. + +See |coc-config-dialog| for available configurations. + +------------------------------------------------------------------------------ + + *coc-dialog-basic* + +A basic dialog is create by javascript api `window.showDialog` , which is just +some texts with optional buttons. + +------------------------------------------------------------------------------ + + *coc-dialog-confirm* + +A confirm dialog is used for user to confirm an action, normally created by +`window.showPrompt()` Confirm dialog uses filter feature on vim8 and +|getchar()| on neoivm. + +The difference is you can operate vim on vim8, but not on neovim. + +Supported key-mappings: + + - force cancel, return -1 for callback. +, n, N - reject the action, return 0 for callback. +y,Y - accept the action, return 1 for callback. + +------------------------------------------------------------------------------ + + *coc-dialog-input* + +A input dialog request user input with optional default value, normally +created by `window.requestInput`, when `"coc.preferences.promptInput"` is +false, vim's commandline input prompt is used instead. + +Supported key-mappings: + + - move cursor to first col. + - move cursor to last col. + - cancel input, an empty string is received by callback. + - confirm current input. + +And other insert mode key-mappings that your neovim provided. + +------------------------------------------------------------------------------ + + *coc-dialog-menu* + +A menu dialog is shown aside current cursor position for pick a single item +from list of items, |coc-codeaction| uses menu dialog by default when it's +supported, extensions could use `window.showMenuPicker` to create menu +dialog. + +Supported key-mappings: + + - cancel selection. + - confirm selection of current item. +1-9 - select item with 1 based index. +g - move to first item. +G - move to last item. +j - move to next item. +k - move to previous item. + - scroll forward. + - scroll backward. + +------------------------------------------------------------------------------ + + *coc-dialog-picker* + +A picker dialog is used for multiple selection. On neovim, it's possible to +toggle selection by mouse click inside the bracket. Extensions could use +`window.showPickerDialog` to create picker dialog. + +Supported key-mappings: + + - cancel selection. + - confirm selection of selected items. + - toggle selection of current item. +g - move to first item. +G - move to last item. +j - move to next item. +k - move to previous item. + - scroll forward. + - scroll backward. + +Note when close button is clicked, the selection is canceled with undefined +result (same as ). + +============================================================================== + +STATUSLINE SUPPORT *coc-status* + +Diagnostics info and other status info contributed by extensions could be +shown in statusline. + +The easiest way is add `%{coc#status()}` to your 'statusline' option. Ex: > + + set statusline^=%{coc#status()} +> +------------------------------------------------------------------------------ + + *coc-status-manual* + +Create function: +> + function! StatusDiagnostic() abort + let info = get(b:, 'coc_diagnostic_info', {}) + if empty(info) | return '' | endif + let msgs = [] + if get(info, 'error', 0) + call add(msgs, 'E' . info['error']) + endif + if get(info, 'warning', 0) + call add(msgs, 'W' . info['warning']) + endif + return join(msgs, ' ') . ' ' . get(g:, 'coc_status', '') + endfunction +< +Add `%{StatusDiagnostic()}` to your 'statusline' option. + +------------------------------------------------------------------------------ + + *coc-status-airline* + +With vim-airline: https://github.com/vim-airline/vim-airline + +Error and warning display should work in vim-airline out of box. + +Disable vim-airline integration: +> + let g:airline#extensions#coc#enabled = 0 +< +Change error symbol: +> + let airline#extensions#coc#error_symbol = 'Error:' +< +Change warning symbol: +> + let airline#extensions#coc#warning_symbol = 'Warning:' +< +Change error format: +> + let airline#extensions#coc#stl_format_err = '%E{[%e(#%fe)]}' +< +Change warning format: +> + let airline#extensions#coc#stl_format_warn = '%W{[%w(#%fw)]}' +< +------------------------------------------------------------------------------ + *coc-status-lightline* + +With lightline.vim: https://github.com/itchyny/lightline.vim + +Use configuration like: > + + let g:lightline = { + \ 'colorscheme': 'wombat', + \ 'active': { + \ 'left': [ [ 'mode', 'paste' ], + \ [ 'cocstatus', 'readonly', 'filename', 'modified' ] ] + \ }, + \ 'component_function': { + \ 'cocstatus': 'coc#status' + \ }, + \ } + + " Use autocmd to force lightline update. + autocmd User CocStatusChange,CocDiagnosticChange call lightline#update() +< +============================================================================== +CUSTOM SOURCE *coc-custom-source* + +Creating a custom source in VimL is supported. + +Check out https://github.com/neoclide/coc.nvim/wiki/Create-custom-source + +============================================================================== +FAQ *coc-faq* + +------------------------------------------------------------------------------ +Q: I got the error message with xxx provider not found. + +A: It means you don't have coc extension or languageserver that provide + this feature, you have to install extension for it or configure + languageserver. + + Note some languageserver may not have that feature supported, please + checkout it's documentation. + +Q: Syntax highlight on float/popup doesn't looks right. + +A: On neovim, coc.nvim uses background neovim instance which load syntax + plugins only for generate highlights, it may not what you would expect. + +Q: I don't have float/popup window shown up. + +A: For vim8, make sure `echo has('textprop') && has('patch-8.1.1719')` + echo 1. For neovim, you need neovim >= 0.4.0. + + +============================================================================== +vim:tw=78:nosta:noet:ts=8:sts=0:ft=help:noet:fen:fdm=marker: diff --git a/private_dot_config/nvim/plugged/coc.nvim/doc/tags b/private_dot_config/nvim/plugged/coc.nvim/doc/tags new file mode 100644 index 0000000..0165ec9 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/doc/tags @@ -0,0 +1,350 @@ +:CocAction coc.txt /*:CocAction* +:CocCommand coc.txt /*:CocCommand* +:CocConfig coc.txt /*:CocConfig* +:CocDiagnostics coc.txt /*:CocDiagnostics* +:CocDisable coc.txt /*:CocDisable* +:CocEnable coc.txt /*:CocEnable* +:CocFirst coc.txt /*:CocFirst* +:CocFix coc.txt /*:CocFix* +:CocInfo coc.txt /*:CocInfo* +:CocInstall coc.txt /*:CocInstall* +:CocLast coc.txt /*:CocLast* +:CocList coc.txt /*:CocList* +:CocListCancel coc.txt /*:CocListCancel* +:CocListResume coc.txt /*:CocListResume* +:CocLocalConfig coc.txt /*:CocLocalConfig* +:CocNext coc.txt /*:CocNext* +:CocOpenLog coc.txt /*:CocOpenLog* +:CocOutline coc.txt /*:CocOutline* +:CocPrev coc.txt /*:CocPrev* +:CocRebuild coc.txt /*:CocRebuild* +:CocRestart coc.txt /*:CocRestart* +:CocSearch coc.txt /*:CocSearch* +:CocStart coc.txt /*:CocStart* +:CocUninstall coc.txt /*:CocUninstall* +:CocUpdate coc.txt /*:CocUpdate* +:CocUpdateSync coc.txt /*:CocUpdateSync* +:CocWatch coc.txt /*:CocWatch* +(coc-classobj-i) coc.txt /*(coc-classobj-i)* +(coc-cursors-position) coc.txt /*(coc-cursors-position)* +(coc-cursors-word) coc.txt /*(coc-cursors-word)* +(coc-funcobj-a) coc.txt /*(coc-funcobj-a)* +(Coc-codeaction-selected) coc.txt /*(Coc-codeaction-selected)* +(coc-classobj-a) coc.txt /*(coc-classobj-a)* +(coc-codeaction) coc.txt /*(coc-codeaction)* +(coc-codeaction-cursor) coc.txt /*(coc-codeaction-cursor)* +(coc-codeaction-line) coc.txt /*(coc-codeaction-line)* +(coc-codelens-action) coc.txt /*(coc-codelens-action)* +(coc-command-repeat) coc.txt /*(coc-command-repeat)* +(coc-cursors-operator) coc.txt /*(coc-cursors-operator)* +(coc-cursors-range) coc.txt /*(coc-cursors-range)* +(coc-declaration) coc.txt /*(coc-declaration)* +(coc-definition) coc.txt /*(coc-definition)* +(coc-diagnostic-info) coc.txt /*(coc-diagnostic-info)* +(coc-diagnostic-next) coc.txt /*(coc-diagnostic-next)* +(coc-diagnostic-next-error) coc.txt /*(coc-diagnostic-next-error)* +(coc-diagnostic-prev) coc.txt /*(coc-diagnostic-prev)* +(coc-diagnostic-prev-error) coc.txt /*(coc-diagnostic-prev-error)* +(coc-fix-current) coc.txt /*(coc-fix-current)* +(coc-float-hide) coc.txt /*(coc-float-hide)* +(coc-float-jump) coc.txt /*(coc-float-jump)* +(coc-format) coc.txt /*(coc-format)* +(coc-format-selected) coc.txt /*(coc-format-selected)* +(coc-funcobj-i) coc.txt /*(coc-funcobj-i)* +(coc-implementation) coc.txt /*(coc-implementation)* +(coc-openlink) coc.txt /*(coc-openlink)* +(coc-range-select) coc.txt /*(coc-range-select)* +(coc-range-select-backward) coc.txt /*(coc-range-select-backward)* +(coc-refactor) coc.txt /*(coc-refactor)* +(coc-references) coc.txt /*(coc-references)* +(coc-references-used) coc.txt /*(coc-references-used)* +(coc-rename) coc.txt /*(coc-rename)* +(coc-type-definition) coc.txt /*(coc-type-definition)* +CocAction('activeExtension') coc.txt /*CocAction('activeExtension')* +CocAction('addRanges') coc.txt /*CocAction('addRanges')* +CocAction('codeAction') coc.txt /*CocAction('codeAction')* +CocAction('codeActionRange') coc.txt /*CocAction('codeActionRange')* +CocAction('codeActions') coc.txt /*CocAction('codeActions')* +CocAction('codeLensAction') coc.txt /*CocAction('codeLensAction')* +CocAction('colorPresentation') coc.txt /*CocAction('colorPresentation')* +CocAction('commands') coc.txt /*CocAction('commands')* +CocAction('deactivateExtension') coc.txt /*CocAction('deactivateExtension')* +CocAction('definitionHover') coc.txt /*CocAction('definitionHover')* +CocAction('diagnosticInfo') coc.txt /*CocAction('diagnosticInfo')* +CocAction('diagnosticList') coc.txt /*CocAction('diagnosticList')* +CocAction('diagnosticPreview') coc.txt /*CocAction('diagnosticPreview')* +CocAction('diagnosticRefresh') coc.txt /*CocAction('diagnosticRefresh')* +CocAction('diagnosticToggle') coc.txt /*CocAction('diagnosticToggle')* +CocAction('diagnosticToggleBuffer') coc.txt /*CocAction('diagnosticToggleBuffer')* +CocAction('doCodeAction') coc.txt /*CocAction('doCodeAction')* +CocAction('doHover') coc.txt /*CocAction('doHover')* +CocAction('doQuickfix') coc.txt /*CocAction('doQuickfix')* +CocAction('documentSymbols') coc.txt /*CocAction('documentSymbols')* +CocAction('ensureDocument') coc.txt /*CocAction('ensureDocument')* +CocAction('extensionStats') coc.txt /*CocAction('extensionStats')* +CocAction('fixAll') coc.txt /*CocAction('fixAll')* +CocAction('fold') coc.txt /*CocAction('fold')* +CocAction('format') coc.txt /*CocAction('format')* +CocAction('formatSelected') coc.txt /*CocAction('formatSelected')* +CocAction('getCurrentFunctionSymbol') coc.txt /*CocAction('getCurrentFunctionSymbol')* +CocAction('getHover') coc.txt /*CocAction('getHover')* +CocAction('getWordEdit') coc.txt /*CocAction('getWordEdit')* +CocAction('hideOutline') coc.txt /*CocAction('hideOutline')* +CocAction('highlight') coc.txt /*CocAction('highlight')* +CocAction('incomingCalls') coc.txt /*CocAction('incomingCalls')* +CocAction('jumpDeclaration') coc.txt /*CocAction('jumpDeclaration')* +CocAction('jumpDefinition') coc.txt /*CocAction('jumpDefinition')* +CocAction('jumpImplementation') coc.txt /*CocAction('jumpImplementation')* +CocAction('jumpReferences') coc.txt /*CocAction('jumpReferences')* +CocAction('jumpTypeDefinition') coc.txt /*CocAction('jumpTypeDefinition')* +CocAction('openlink') coc.txt /*CocAction('openlink')* +CocAction('organizeImport') coc.txt /*CocAction('organizeImport')* +CocAction('outgoingCalls') coc.txt /*CocAction('outgoingCalls')* +CocAction('pickColor') coc.txt /*CocAction('pickColor')* +CocAction('quickfixes') coc.txt /*CocAction('quickfixes')* +CocAction('refactor') coc.txt /*CocAction('refactor')* +CocAction('refreshSource') coc.txt /*CocAction('refreshSource')* +CocAction('reloadExtension') coc.txt /*CocAction('reloadExtension')* +CocAction('rename') coc.txt /*CocAction('rename')* +CocAction('resolveWorkspaceSymbol') coc.txt /*CocAction('resolveWorkspaceSymbol')* +CocAction('runCommand') coc.txt /*CocAction('runCommand')* +CocAction('selectionRanges') coc.txt /*CocAction('selectionRanges')* +CocAction('services') coc.txt /*CocAction('services')* +CocAction('showIncomingCalls') coc.txt /*CocAction('showIncomingCalls')* +CocAction('showOutgoingCalls') coc.txt /*CocAction('showOutgoingCalls')* +CocAction('showOutline') coc.txt /*CocAction('showOutline')* +CocAction('showSignatureHelp') coc.txt /*CocAction('showSignatureHelp')* +CocAction('sourceStat') coc.txt /*CocAction('sourceStat')* +CocAction('toggleExtension') coc.txt /*CocAction('toggleExtension')* +CocAction('toggleService') coc.txt /*CocAction('toggleService')* +CocAction('toggleSource') coc.txt /*CocAction('toggleSource')* +CocAction('uninstallExtension') coc.txt /*CocAction('uninstallExtension')* +CocAction() coc.txt /*CocAction()* +CocAction(getWorkspaceSymbols) coc.txt /*CocAction(getWorkspaceSymbols)* +CocActionAsync() coc.txt /*CocActionAsync()* +CocBold coc.txt /*CocBold* +CocCodeLens coc.txt /*CocCodeLens* +CocCursorRange coc.txt /*CocCursorRange* +CocDeprecatedHighlight coc.txt /*CocDeprecatedHighlight* +CocDiagnosticChange coc.txt /*CocDiagnosticChange* +CocErrorFloat coc.txt /*CocErrorFloat* +CocErrorHighlight coc.txt /*CocErrorHighlight* +CocErrorLine coc.txt /*CocErrorLine* +CocErrorSign coc.txt /*CocErrorSign* +CocErrorVirtualText coc.txt /*CocErrorVirtualText* +CocFadeOut coc.txt /*CocFadeOut* +CocFloating coc.txt /*CocFloating* +CocHasProvider() coc.txt /*CocHasProvider()* +CocHighlightRead coc.txt /*CocHighlightRead* +CocHighlightText coc.txt /*CocHighlightText* +CocHighlightWrite coc.txt /*CocHighlightWrite* +CocHintFloat coc.txt /*CocHintFloat* +CocHintHighlight coc.txt /*CocHintHighlight* +CocHintLine coc.txt /*CocHintLine* +CocHintSign coc.txt /*CocHintSign* +CocHintVirtualText coc.txt /*CocHintVirtualText* +CocHoverRange coc.txt /*CocHoverRange* +CocInfoFloat coc.txt /*CocInfoFloat* +CocInfoHighlight coc.txt /*CocInfoHighlight* +CocInfoLine coc.txt /*CocInfoLine* +CocInfoSign coc.txt /*CocInfoSign* +CocInfoVirtualText coc.txt /*CocInfoVirtualText* +CocItalic coc.txt /*CocItalic* +CocJumpPlaceholder coc.txt /*CocJumpPlaceholder* +CocListMode coc.txt /*CocListMode* +CocListPath coc.txt /*CocListPath* +CocLocations() coc.txt /*CocLocations()* +CocLocationsAsync() coc.txt /*CocLocationsAsync()* +CocLocationsChange coc.txt /*CocLocationsChange* +CocMarkdownCode coc.txt /*CocMarkdownCode* +CocMarkdownHeader coc.txt /*CocMarkdownHeader* +CocMarkdownLink coc.txt /*CocMarkdownLink* +CocMenuSel coc.txt /*CocMenuSel* +CocNotify() coc.txt /*CocNotify()* +CocNvimInit coc.txt /*CocNvimInit* +CocOpenFloat coc.txt /*CocOpenFloat* +CocRegistNotification() coc.txt /*CocRegistNotification()* +CocRequest() coc.txt /*CocRequest()* +CocRequestAsync() coc.txt /*CocRequestAsync()* +CocSelectedLine coc.txt /*CocSelectedLine* +CocSelectedRange coc.txt /*CocSelectedRange* +CocSelectedText coc.txt /*CocSelectedText* +CocSem coc.txt /*CocSem* +CocStatusChange coc.txt /*CocStatusChange* +CocStrikeThrough coc.txt /*CocStrikeThrough* +CocSymbol coc.txt /*CocSymbol* +CocSymbolArray coc.txt /*CocSymbolArray* +CocSymbolBoolean coc.txt /*CocSymbolBoolean* +CocSymbolClass coc.txt /*CocSymbolClass* +CocSymbolConstant coc.txt /*CocSymbolConstant* +CocSymbolConstructor coc.txt /*CocSymbolConstructor* +CocSymbolDefault coc.txt /*CocSymbolDefault* +CocSymbolEnum coc.txt /*CocSymbolEnum* +CocSymbolEnumMember coc.txt /*CocSymbolEnumMember* +CocSymbolEvent coc.txt /*CocSymbolEvent* +CocSymbolField coc.txt /*CocSymbolField* +CocSymbolFile coc.txt /*CocSymbolFile* +CocSymbolFunction coc.txt /*CocSymbolFunction* +CocSymbolInterface coc.txt /*CocSymbolInterface* +CocSymbolKey coc.txt /*CocSymbolKey* +CocSymbolMethod coc.txt /*CocSymbolMethod* +CocSymbolModule coc.txt /*CocSymbolModule* +CocSymbolNamespace coc.txt /*CocSymbolNamespace* +CocSymbolNull coc.txt /*CocSymbolNull* +CocSymbolNumber coc.txt /*CocSymbolNumber* +CocSymbolObject coc.txt /*CocSymbolObject* +CocSymbolOperator coc.txt /*CocSymbolOperator* +CocSymbolPackage coc.txt /*CocSymbolPackage* +CocSymbolProperty coc.txt /*CocSymbolProperty* +CocSymbolString coc.txt /*CocSymbolString* +CocSymbolStruct coc.txt /*CocSymbolStruct* +CocSymbolTypeParameter coc.txt /*CocSymbolTypeParameter* +CocSymbolVariable coc.txt /*CocSymbolVariable* +CocTagFunc() coc.txt /*CocTagFunc()* +CocTerminalOpen coc.txt /*CocTerminalOpen* +CocTree coc.txt /*CocTree* +CocTreeDescription coc.txt /*CocTreeDescription* +CocTreeOpenClose coc.txt /*CocTreeOpenClose* +CocTreeSelected coc.txt /*CocTreeSelected* +CocTreeTitle coc.txt /*CocTreeTitle* +CocUnderline coc.txt /*CocUnderline* +CocUnusedHighlight coc.txt /*CocUnusedHighlight* +CocWarningFloat coc.txt /*CocWarningFloat* +CocWarningHighlight coc.txt /*CocWarningHighlight* +CocWarningLine coc.txt /*CocWarningLine* +CocWarningSign coc.txt /*CocWarningSign* +CocWarningVirtualText coc.txt /*CocWarningVirtualText* +b:coc_additional_keywords coc.txt /*b:coc_additional_keywords* +b:coc_current_function coc.txt /*b:coc_current_function* +b:coc_cursors_activated coc.txt /*b:coc_cursors_activated* +b:coc_diagnostic_disable coc.txt /*b:coc_diagnostic_disable* +b:coc_diagnostic_info coc.txt /*b:coc_diagnostic_info* +b:coc_enabled coc.txt /*b:coc_enabled* +b:coc_root_patterns coc.txt /*b:coc_root_patterns* +b:coc_suggest_blacklist coc.txt /*b:coc_suggest_blacklist* +b:coc_suggest_disable coc.txt /*b:coc_suggest_disable* +coc#_select_confirm() coc.txt /*coc#_select_confirm()* +coc#add_command() coc.txt /*coc#add_command()* +coc#add_extension() coc.txt /*coc#add_extension()* +coc#config() coc.txt /*coc#config()* +coc#expandable() coc.txt /*coc#expandable()* +coc#expandableOrJumpable() coc.txt /*coc#expandableOrJumpable()* +coc#float#close() coc.txt /*coc#float#close()* +coc#float#close_all() coc.txt /*coc#float#close_all()* +coc#float#has_float() coc.txt /*coc#float#has_float()* +coc#float#has_scroll() coc.txt /*coc#float#has_scroll()* +coc#float#scroll() coc.txt /*coc#float#scroll()* +coc#jumpable() coc.txt /*coc#jumpable()* +coc#on_enter() coc.txt /*coc#on_enter()* +coc#refresh() coc.txt /*coc#refresh()* +coc#start() coc.txt /*coc#start()* +coc#status() coc.txt /*coc#status()* +coc#util#api_version() coc.txt /*coc#util#api_version()* +coc#util#extension_root() coc.txt /*coc#util#extension_root()* +coc#util#get_config() coc.txt /*coc#util#get_config()* +coc#util#get_config_home() coc.txt /*coc#util#get_config_home()* +coc#util#get_data_home() coc.txt /*coc#util#get_data_home()* +coc#util#job_command() coc.txt /*coc#util#job_command()* +coc#util#rebuild() coc.txt /*coc#util#rebuild()* +coc#util#root_patterns() coc.txt /*coc#util#root_patterns()* +coc-actions coc.txt /*coc-actions* +coc-autocmds coc.txt /*coc-autocmds* +coc-commands coc.txt /*coc-commands* +coc-completion coc.txt /*coc-completion* +coc-config-callHierarchy coc.txt /*coc-config-callHierarchy* +coc-config-codelens coc.txt /*coc-config-codelens* +coc-config-cursors coc.txt /*coc-config-cursors* +coc-config-diagnostic coc.txt /*coc-config-diagnostic* +coc-config-dialog coc.txt /*coc-config-dialog* +coc-config-float coc.txt /*coc-config-float* +coc-config-hover coc.txt /*coc-config-hover* +coc-config-http coc.txt /*coc-config-http* +coc-config-languageserver coc.txt /*coc-config-languageserver* +coc-config-list coc.txt /*coc-config-list* +coc-config-notification coc.txt /*coc-config-notification* +coc-config-npm coc.txt /*coc-config-npm* +coc-config-outline coc.txt /*coc-config-outline* +coc-config-preferences coc.txt /*coc-config-preferences* +coc-config-refactor coc.txt /*coc-config-refactor* +coc-config-suggest coc.txt /*coc-config-suggest* +coc-config-tree coc.txt /*coc-config-tree* +coc-configuration coc.txt /*coc-configuration* +coc-contents coc.txt /*coc-contents* +coc-custom-source coc.txt /*coc-custom-source* +coc-dialog coc.txt /*coc-dialog* +coc-dialog-basic coc.txt /*coc-dialog-basic* +coc-dialog-confirm coc.txt /*coc-dialog-confirm* +coc-dialog-input coc.txt /*coc-dialog-input* +coc-dialog-menu coc.txt /*coc-dialog-menu* +coc-dialog-picker coc.txt /*coc-dialog-picker* +coc-faq coc.txt /*coc-faq* +coc-functions coc.txt /*coc-functions* +coc-highlights coc.txt /*coc-highlights* +coc-installation coc.txt /*coc-installation* +coc-interface coc.txt /*coc-interface* +coc-introduction coc.txt /*coc-introduction* +coc-key-mappings coc.txt /*coc-key-mappings* +coc-list coc.txt /*coc-list* +coc-list-command coc.txt /*coc-list-command* +coc-list-commands coc.txt /*coc-list-commands* +coc-list-completion-sources coc.txt /*coc-list-completion-sources* +coc-list-configuration coc.txt /*coc-list-configuration* +coc-list-context coc.txt /*coc-list-context* +coc-list-diagnostics coc.txt /*coc-list-diagnostics* +coc-list-extensions coc.txt /*coc-list-extensions* +coc-list-links coc.txt /*coc-list-links* +coc-list-lists coc.txt /*coc-list-lists* +coc-list-location coc.txt /*coc-list-location* +coc-list-mappings coc.txt /*coc-list-mappings* +coc-list-mappings-custom coc.txt /*coc-list-mappings-custom* +coc-list-options coc.txt /*coc-list-options* +coc-list-outline coc.txt /*coc-list-outline* +coc-list-services coc.txt /*coc-list-services* +coc-list-sources coc.txt /*coc-list-sources* +coc-list-symbols coc.txt /*coc-list-symbols* +coc-list-target coc.txt /*coc-list-target* +coc-nvim.txt coc.txt /*coc-nvim.txt* +coc-requirements coc.txt /*coc-requirements* +coc-status coc.txt /*coc-status* +coc-status-airline coc.txt /*coc-status-airline* +coc-status-lightline coc.txt /*coc-status-lightline* +coc-status-manual coc.txt /*coc-status-manual* +coc-tree coc.txt /*coc-tree* +coc-tree-filter coc.txt /*coc-tree-filter* +coc-tree-mappings coc.txt /*coc-tree-mappings* +coc-variables coc.txt /*coc-variables* +g:WorkspaceFolders coc.txt /*g:WorkspaceFolders* +g:coc_border_joinchars coc.txt /*g:coc_border_joinchars* +g:coc_borderchars coc.txt /*g:coc_borderchars* +g:coc_channel_timeout coc.txt /*g:coc_channel_timeout* +g:coc_config_home coc.txt /*g:coc_config_home* +g:coc_data_home coc.txt /*g:coc_data_home* +g:coc_disable_startup_warning coc.txt /*g:coc_disable_startup_warning* +g:coc_disable_transparent_cursor coc.txt /*g:coc_disable_transparent_cursor* +g:coc_disable_uncaught_error coc.txt /*g:coc_disable_uncaught_error* +g:coc_enable_locationlist coc.txt /*g:coc_enable_locationlist* +g:coc_filetype_map coc.txt /*g:coc_filetype_map* +g:coc_global_extensions coc.txt /*g:coc_global_extensions* +g:coc_jump_locations coc.txt /*g:coc_jump_locations* +g:coc_last_float_win coc.txt /*g:coc_last_float_win* +g:coc_last_hover_message coc.txt /*g:coc_last_hover_message* +g:coc_markdown_disabled_languages coc.txt /*g:coc_markdown_disabled_languages* +g:coc_node_args coc.txt /*g:coc_node_args* +g:coc_node_path coc.txt /*g:coc_node_path* +g:coc_process_pid coc.txt /*g:coc_process_pid* +g:coc_prompt_win_width coc.txt /*g:coc_prompt_win_width* +g:coc_quickfix_open_command coc.txt /*g:coc_quickfix_open_command* +g:coc_selectmode_mapping coc.txt /*g:coc_selectmode_mapping* +g:coc_service_initialized coc.txt /*g:coc_service_initialized* +g:coc_snippet_next coc.txt /*g:coc_snippet_next* +g:coc_snippet_prev coc.txt /*g:coc_snippet_prev* +g:coc_sources_disable_map coc.txt /*g:coc_sources_disable_map* +g:coc_start_at_startup coc.txt /*g:coc_start_at_startup* +g:coc_status coc.txt /*g:coc_status* +g:coc_status_error_sign coc.txt /*g:coc_status_error_sign* +g:coc_status_warning_sign coc.txt /*g:coc_status_warning_sign* +g:coc_text_prop_offset coc.txt /*g:coc_text_prop_offset* +g:coc_uri_prefix_replace_patterns coc.txt /*g:coc_uri_prefix_replace_patterns* +g:coc_user_config coc.txt /*g:coc_user_config* +g:node_client_debug coc.txt /*g:node_client_debug* +http.proxy coc.txt /*http.proxy* diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/FETCH_HEAD b/private_dot_config/nvim/plugged/coc.nvim/dot_git/FETCH_HEAD new file mode 100644 index 0000000..6694648 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/FETCH_HEAD @@ -0,0 +1,8 @@ +287c743c9f227fdf0e1db452bbb8ae3c5caffc36 branch 'release' of https://github.com/neoclide/coc.nvim +a9da141dbcb16e72754269a85c20e14832e81639 not-for-merge branch 'feat/typings-SemanticTokensBuilder' of https://github.com/neoclide/coc.nvim +d409bae8d243ea1f364c91fda5e623414fc4aa29 not-for-merge branch 'feat/use-ts-hi-group' of https://github.com/neoclide/coc.nvim +d8faa211837900a087e5a37654d225adee7a8cc3 not-for-merge branch 'fix/create-config-file' of https://github.com/neoclide/coc.nvim +03c4689f6c86371e570eb3fa1d5fc33726aeeb07 not-for-merge branch 'fix/filetype-detect' of https://github.com/neoclide/coc.nvim +6d541365a13ac63bd3674c4987f481301edc2620 not-for-merge branch 'fix/globpath' of https://github.com/neoclide/coc.nvim +2901abc80548b8e6aadb2cec48688e52b0aa6104 not-for-merge branch 'fix/typos-schema' of https://github.com/neoclide/coc.nvim +19a630de325ed71e153e8ca89f114b040c878b1b not-for-merge branch 'master' of https://github.com/neoclide/coc.nvim diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/HEAD b/private_dot_config/nvim/plugged/coc.nvim/dot_git/HEAD new file mode 100644 index 0000000..e6e78df --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/release diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/ORIG_HEAD b/private_dot_config/nvim/plugged/coc.nvim/dot_git/ORIG_HEAD new file mode 100644 index 0000000..400f5c0 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/ORIG_HEAD @@ -0,0 +1 @@ +287c743c9f227fdf0e1db452bbb8ae3c5caffc36 diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/branches/.keep b/private_dot_config/nvim/plugged/coc.nvim/dot_git/branches/.keep new file mode 100644 index 0000000..e69de29 diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/config b/private_dot_config/nvim/plugged/coc.nvim/dot_git/config new file mode 100644 index 0000000..97db3ba --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/config @@ -0,0 +1,14 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true +[remote "origin"] + url = https://github.com/neoclide/coc.nvim.git + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "master"] + remote = origin + merge = refs/heads/master +[branch "release"] + remote = origin + merge = refs/heads/release diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/description b/private_dot_config/nvim/plugged/coc.nvim/dot_git/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_applypatch-msg.sample b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_applypatch-msg.sample new file mode 100644 index 0000000..a5d7b84 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_commit-msg.sample b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_commit-msg.sample new file mode 100644 index 0000000..b58d118 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_fsmonitor-watchman.sample b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_fsmonitor-watchman.sample new file mode 100644 index 0000000..14ed0aa --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_fsmonitor-watchman.sample @@ -0,0 +1,173 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + } + my $query = <<" END"; + ["query", "$git_work_tree", { + "since": $last_update_token, + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_post-update.sample b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_post-update.sample new file mode 100644 index 0000000..ec17ec1 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-applypatch.sample b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-applypatch.sample new file mode 100644 index 0000000..4142082 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-commit.sample b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-commit.sample new file mode 100644 index 0000000..e144712 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-merge-commit.sample b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-merge-commit.sample new file mode 100644 index 0000000..399eab1 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-push.sample b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-push.sample new file mode 100644 index 0000000..4ce688d --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-rebase.sample b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-rebase.sample new file mode 100644 index 0000000..6cbef5c --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-receive.sample b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-receive.sample new file mode 100644 index 0000000..a1fd29e --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_prepare-commit-msg.sample b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_prepare-commit-msg.sample new file mode 100644 index 0000000..10fa14c --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_push-to-checkout.sample b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_push-to-checkout.sample new file mode 100644 index 0000000..af5a0c0 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/hooks/executable_push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/index b/private_dot_config/nvim/plugged/coc.nvim/dot_git/index new file mode 100644 index 0000000..a7aa177 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/index differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/info/exclude b/private_dot_config/nvim/plugged/coc.nvim/dot_git/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/HEAD b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/HEAD new file mode 100644 index 0000000..0715efb --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/HEAD @@ -0,0 +1,7 @@ +0000000000000000000000000000000000000000 03c9add7cd867a013102dcb45fb4e75304d227d7 linux 1632171242 -0400 clone: from https://github.com/neoclide/coc.nvim.git +03c9add7cd867a013102dcb45fb4e75304d227d7 287c743c9f227fdf0e1db452bbb8ae3c5caffc36 linux 1632171242 -0400 checkout: moving from master to release +287c743c9f227fdf0e1db452bbb8ae3c5caffc36 287c743c9f227fdf0e1db452bbb8ae3c5caffc36 array-in-a-matrix 1634528024 -0400 checkout: moving from release to release +287c743c9f227fdf0e1db452bbb8ae3c5caffc36 287c743c9f227fdf0e1db452bbb8ae3c5caffc36 array-in-a-matrix 1634528044 -0400 checkout: moving from release to release +287c743c9f227fdf0e1db452bbb8ae3c5caffc36 287c743c9f227fdf0e1db452bbb8ae3c5caffc36 linux 1636403107 -0500 checkout: moving from release to release +287c743c9f227fdf0e1db452bbb8ae3c5caffc36 287c743c9f227fdf0e1db452bbb8ae3c5caffc36 linux 1636786427 -0500 checkout: moving from release to release +287c743c9f227fdf0e1db452bbb8ae3c5caffc36 287c743c9f227fdf0e1db452bbb8ae3c5caffc36 linux 1636786624 -0500 checkout: moving from release to release diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/heads/master b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/heads/master new file mode 100644 index 0000000..accab09 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 03c9add7cd867a013102dcb45fb4e75304d227d7 linux 1632171242 -0400 clone: from https://github.com/neoclide/coc.nvim.git diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/heads/release b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/heads/release new file mode 100644 index 0000000..a121108 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/heads/release @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 287c743c9f227fdf0e1db452bbb8ae3c5caffc36 linux 1632171242 -0400 branch: Created from refs/remotes/origin/release diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/HEAD b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/HEAD new file mode 100644 index 0000000..accab09 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 03c9add7cd867a013102dcb45fb4e75304d227d7 linux 1632171242 -0400 clone: from https://github.com/neoclide/coc.nvim.git diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/feat/use-ts-hi-group b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/feat/use-ts-hi-group new file mode 100644 index 0000000..36c5471 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/feat/use-ts-hi-group @@ -0,0 +1 @@ +5c8569bb4d20903c7767644037b5e9566b844ced d409bae8d243ea1f364c91fda5e623414fc4aa29 linux 1636403107 -0500 fetch --progress: forced-update diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/fix/filetype-detect b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/fix/filetype-detect new file mode 100644 index 0000000..678f538 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/fix/filetype-detect @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 03c4689f6c86371e570eb3fa1d5fc33726aeeb07 linux 1636403107 -0500 fetch --progress: storing head diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/fix/globpath b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/fix/globpath new file mode 100644 index 0000000..c405c04 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/fix/globpath @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 6d541365a13ac63bd3674c4987f481301edc2620 linux 1636403107 -0500 fetch --progress: storing head diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/fix/typos-schema b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/fix/typos-schema new file mode 100644 index 0000000..ca60628 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/fix/typos-schema @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 2901abc80548b8e6aadb2cec48688e52b0aa6104 linux 1636403107 -0500 fetch --progress: storing head diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/master b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/master new file mode 100644 index 0000000..302a8b1 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/logs/refs/remotes/origin/master @@ -0,0 +1,3 @@ +03c9add7cd867a013102dcb45fb4e75304d227d7 80012b82bca3e1491408dfe7bf0911774d1555c5 array-in-a-matrix 1634528024 -0400 fetch --progress: fast-forward +80012b82bca3e1491408dfe7bf0911774d1555c5 9f6e29b6f9661ebba10ff3df84de11d96c8a9e56 linux 1636403107 -0500 fetch --progress: fast-forward +9f6e29b6f9661ebba10ff3df84de11d96c8a9e56 19a630de325ed71e153e8ca89f114b040c878b1b linux 1636786427 -0500 fetch --progress: fast-forward diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/11/readonly_535de41497a911a61e3633cd549114b3081e97 b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/11/readonly_535de41497a911a61e3633cd549114b3081e97 new file mode 100644 index 0000000..7b25738 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/11/readonly_535de41497a911a61e3633cd549114b3081e97 differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/19/readonly_a630de325ed71e153e8ca89f114b040c878b1b b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/19/readonly_a630de325ed71e153e8ca89f114b040c878b1b new file mode 100644 index 0000000..4b78891 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/19/readonly_a630de325ed71e153e8ca89f114b040c878b1b differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/1a/readonly_943ee2a0c652b1dac5b315a0e3b1bc791ec6ab b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/1a/readonly_943ee2a0c652b1dac5b315a0e3b1bc791ec6ab new file mode 100644 index 0000000..5f6d87c Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/1a/readonly_943ee2a0c652b1dac5b315a0e3b1bc791ec6ab differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/1c/readonly_c214f204ffa721a5ff9f3b8feff262511172dc b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/1c/readonly_c214f204ffa721a5ff9f3b8feff262511172dc new file mode 100644 index 0000000..72b55d2 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/1c/readonly_c214f204ffa721a5ff9f3b8feff262511172dc differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/26/readonly_384f54a83b0bf4dce11ab85a87fbf937d9254f b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/26/readonly_384f54a83b0bf4dce11ab85a87fbf937d9254f new file mode 100644 index 0000000..d726427 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/26/readonly_384f54a83b0bf4dce11ab85a87fbf937d9254f differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/29/readonly_61b27c04472704d6d2c788b5aea3abe36e5cf2 b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/29/readonly_61b27c04472704d6d2c788b5aea3abe36e5cf2 new file mode 100644 index 0000000..5a19896 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/29/readonly_61b27c04472704d6d2c788b5aea3abe36e5cf2 differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/2b/readonly_557314eabda1f0a31c05826793c17114b7db52 b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/2b/readonly_557314eabda1f0a31c05826793c17114b7db52 new file mode 100644 index 0000000..9c4fcdf Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/2b/readonly_557314eabda1f0a31c05826793c17114b7db52 differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/3b/readonly_a09fef29ce9d83c604a96ab0b87183d562302f b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/3b/readonly_a09fef29ce9d83c604a96ab0b87183d562302f new file mode 100644 index 0000000..12569ef Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/3b/readonly_a09fef29ce9d83c604a96ab0b87183d562302f differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/3f/readonly_8c318c89b59827050f5c1578eb39507ff1f460 b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/3f/readonly_8c318c89b59827050f5c1578eb39507ff1f460 new file mode 100644 index 0000000..3469f44 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/3f/readonly_8c318c89b59827050f5c1578eb39507ff1f460 differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/4d/readonly_b789058850664e11867a63134fead9f094d6c2 b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/4d/readonly_b789058850664e11867a63134fead9f094d6c2 new file mode 100644 index 0000000..e1b165a Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/4d/readonly_b789058850664e11867a63134fead9f094d6c2 differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/59/readonly_b0b0126c3b393aa34db2b1417954c2cd9ae01f b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/59/readonly_b0b0126c3b393aa34db2b1417954c2cd9ae01f new file mode 100644 index 0000000..7ac0046 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/59/readonly_b0b0126c3b393aa34db2b1417954c2cd9ae01f differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/5f/readonly_05063e271142ee869d4c3d128ae114db860e4b b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/5f/readonly_05063e271142ee869d4c3d128ae114db860e4b new file mode 100644 index 0000000..070df63 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/5f/readonly_05063e271142ee869d4c3d128ae114db860e4b differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/62/readonly_c2e38250f9e44ecb2c7b3fd89568ddf84e1e0b b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/62/readonly_c2e38250f9e44ecb2c7b3fd89568ddf84e1e0b new file mode 100644 index 0000000..0ceafc4 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/62/readonly_c2e38250f9e44ecb2c7b3fd89568ddf84e1e0b differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/71/readonly_30694700086d968e80989ea40ae00fc66da0da b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/71/readonly_30694700086d968e80989ea40ae00fc66da0da new file mode 100644 index 0000000..2360095 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/71/readonly_30694700086d968e80989ea40ae00fc66da0da differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/72/readonly_9d04fc3fa6285ad95fb35ac947b62ada9dcdd7 b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/72/readonly_9d04fc3fa6285ad95fb35ac947b62ada9dcdd7 new file mode 100644 index 0000000..9ecdf26 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/72/readonly_9d04fc3fa6285ad95fb35ac947b62ada9dcdd7 differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/80/readonly_012b82bca3e1491408dfe7bf0911774d1555c5 b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/80/readonly_012b82bca3e1491408dfe7bf0911774d1555c5 new file mode 100644 index 0000000..f82ac28 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/80/readonly_012b82bca3e1491408dfe7bf0911774d1555c5 differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/85/readonly_2edec76c5a6e83407c8bea1d3b6648739d4ef2 b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/85/readonly_2edec76c5a6e83407c8bea1d3b6648739d4ef2 new file mode 100644 index 0000000..966c7aa Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/85/readonly_2edec76c5a6e83407c8bea1d3b6648739d4ef2 differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/9d/readonly_f622f2e5ab72d14c33fcb40b8ce5879b354765 b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/9d/readonly_f622f2e5ab72d14c33fcb40b8ce5879b354765 new file mode 100644 index 0000000..6c0441e Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/9d/readonly_f622f2e5ab72d14c33fcb40b8ce5879b354765 differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/d4/readonly_0f6e459bd909a30a1db3332c0121878e364c0f b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/d4/readonly_0f6e459bd909a30a1db3332c0121878e364c0f new file mode 100644 index 0000000..c562215 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/d4/readonly_0f6e459bd909a30a1db3332c0121878e364c0f differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/d8/readonly_0f6e86aa8f81ce4799be301aba067d5ae834d4 b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/d8/readonly_0f6e86aa8f81ce4799be301aba067d5ae834d4 new file mode 100644 index 0000000..1af026a Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/d8/readonly_0f6e86aa8f81ce4799be301aba067d5ae834d4 differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/f7/readonly_bda319c0c5a965ed071657108962a381e47336 b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/f7/readonly_bda319c0c5a965ed071657108962a381e47336 new file mode 100644 index 0000000..812e656 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/f7/readonly_bda319c0c5a965ed071657108962a381e47336 differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/info/.keep b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/info/.keep new file mode 100644 index 0000000..e69de29 diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/pack/readonly_pack-06287db39967d182b700434b91945350b2c9dfc2.idx b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/pack/readonly_pack-06287db39967d182b700434b91945350b2c9dfc2.idx new file mode 100644 index 0000000..6e95502 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/pack/readonly_pack-06287db39967d182b700434b91945350b2c9dfc2.idx differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/pack/readonly_pack-06287db39967d182b700434b91945350b2c9dfc2.pack b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/pack/readonly_pack-06287db39967d182b700434b91945350b2c9dfc2.pack new file mode 100644 index 0000000..bf8407a Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/pack/readonly_pack-06287db39967d182b700434b91945350b2c9dfc2.pack differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/pack/readonly_pack-67d3e22d5663834fc402acdc61441ebae96b5573.idx b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/pack/readonly_pack-67d3e22d5663834fc402acdc61441ebae96b5573.idx new file mode 100644 index 0000000..06cfec9 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/pack/readonly_pack-67d3e22d5663834fc402acdc61441ebae96b5573.idx differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/pack/readonly_pack-67d3e22d5663834fc402acdc61441ebae96b5573.pack b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/pack/readonly_pack-67d3e22d5663834fc402acdc61441ebae96b5573.pack new file mode 100644 index 0000000..2b84640 Binary files /dev/null and b/private_dot_config/nvim/plugged/coc.nvim/dot_git/objects/pack/readonly_pack-67d3e22d5663834fc402acdc61441ebae96b5573.pack differ diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/packed-refs b/private_dot_config/nvim/plugged/coc.nvim/dot_git/packed-refs new file mode 100644 index 0000000..c2bdfc3 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/packed-refs @@ -0,0 +1,164 @@ +# pack-refs with: peeled fully-peeled sorted +a9da141dbcb16e72754269a85c20e14832e81639 refs/remotes/origin/feat/typings-SemanticTokensBuilder +5c8569bb4d20903c7767644037b5e9566b844ced refs/remotes/origin/feat/use-ts-hi-group +d8faa211837900a087e5a37654d225adee7a8cc3 refs/remotes/origin/fix/create-config-file +03c9add7cd867a013102dcb45fb4e75304d227d7 refs/remotes/origin/master +287c743c9f227fdf0e1db452bbb8ae3c5caffc36 refs/remotes/origin/release +f04dc51c6ec7b94bd4c69d309261872e937df414 refs/tags/v0.0.1 +^22b92e27d5b49e33cd447e6d3e78f5105644e45b +dbb91163451b3d49e3a890123b2c2fedc08a5b71 refs/tags/v0.0.10 +^8fc87b49d98c129ef8ac361dd8f7a585c1a4610e +ac3e875abc499d477ef082e3d7b195f64da2ebc8 refs/tags/v0.0.11 +^26c61ae7351ae82434d4ab8e7428ae1ea013a3da +78e5b95768bf7abd229d31bbf010f31eaf690141 refs/tags/v0.0.12 +^beb9bbaf53e731aa35655864f2a67d804fd19151 +18b96cd70dc51abe94a342761645f1aa52c1c0f2 refs/tags/v0.0.13 +^956373fc765ef7170bb0486b39543f8871bc49ba +77c9c882d883ba94a9c2afb14a5159d74e3a5f8a refs/tags/v0.0.14 +^fbe0c0ba5a347d8c15645c1de220cb46b07451c6 +4b9cecf2cbc9339baac934bd8388292965d4025f refs/tags/v0.0.15 +^ea30ddd9d84bb0a8f1a0493dbbbbab89f40c1360 +b38d9d1d156c1c43aad28a4320e409f66c7c37ec refs/tags/v0.0.16 +^03afb5a5ee3c5b6019165de21bd258bb25608966 +8689f4e500fa5f2ccf1ee79ef152867548aa2e94 refs/tags/v0.0.17 +^793f383eebf3bd7494612647d5874ee17dbd3f34 +6728d3c52d55f1c628dadfcb5d1c731ba834a8d0 refs/tags/v0.0.18 +^09ab945bffee37f18044ad35a8b16de3b028d9f8 +4ab50af897330613ec231ad5910b7bb68c8dd631 refs/tags/v0.0.19 +^7fcbd2f2884d849d202c1f4fdfbb484eab662d9b +0b6ef2692c9c8d25c0fc025be519a3838c1360d4 refs/tags/v0.0.2 +^6ff769957caa30a8406b081d33d517de93e062b7 +da60344da81230d606a894debdc1a3148de4d307 refs/tags/v0.0.20 +^631a15712b584e2bab7785b4eb77b607a4ccf6ad +c5ca3063d0299b62c07bd19f2db7278637c52a16 refs/tags/v0.0.21 +^2c388b7570c1bf656cb172b5d58f3ee598c3206e +7f9888ece8d96549183c8f55e6b808e31cae7564 refs/tags/v0.0.22 +^332e3dab1b565e655b59d610a9c8af792c6bd402 +ff7f1d21b33849ecd2edf9fec7783c109dac75f2 refs/tags/v0.0.23 +^69693d5a67563e206ebdd3b86892828333eaacf8 +c663a491409346291cce776fdf6a8e36cda78446 refs/tags/v0.0.24 +^4eab01fd64ab0833341233e0f668a22b2b1d630a +6e342249be39a00bfc7e6af275ea2d3aca8580c6 refs/tags/v0.0.25 +^4302b8c4b31c0058f282ea82a981079f8fb0c6f1 +f9e51efe089a6860b14a34d7bc61f12b8fa6e708 refs/tags/v0.0.26 +^a531abd8d388bcfd4dd3e74fea657b1c73a8e2ba +acb825d9ae78708260647a20e80d0af5acc043b1 refs/tags/v0.0.27 +^cfc5de3af5677b1807b1689946ec032b5a3d74fb +741427096aa90832ccee8643e3075de8dc3a1403 refs/tags/v0.0.28 +^17e840426bcbd08eafa835ed3755bfbef0041766 +028470fe9d8b36bd8fa098639acaa32f390f77b6 refs/tags/v0.0.29 +^d090fe35ba7a41f28afbeb7af48ef2ea4793bdd6 +6dfd03d1e235727e542a598b55c1c1abed45360b refs/tags/v0.0.3 +^bf55a14df878b8beb27e58e4b7d791ef6cfc7ad6 +5bc7a6b73566fc51eabc38a1d3a1b03a33b61e75 refs/tags/v0.0.30 +^cce7b97ac7f9bb7b79d80ae190c5d94370759250 +400b95d41c0ad718dcf257c20266727c0bf8258b refs/tags/v0.0.31 +^389b061290ba28ff415c22f0111a717b5a8d658c +a885e47304d1c8d59ba53a66392303230f9d2361 refs/tags/v0.0.32 +^a2e1ce587ef7785a2f8837ecd271fee3bd534463 +bfda8e212117089cd847c589926de321e7e86b6f refs/tags/v0.0.33 +^d0400c4d3eac8f3c09f47a54157702d0e152ca38 +e28bc3ed716e17f2ca0bf0b28b049403a9f54b47 refs/tags/v0.0.34 +^abc90a8546003f066a12506e6b845f29aade10aa +dca9eedc871bfa28c77d1c3aa1ec276a50a8337f refs/tags/v0.0.35 +^822831326d13a35cfb8f3e39766878bb19ef9ba9 +3d2a66fb479fe869df0dfccfd9c15754b0acebff refs/tags/v0.0.36 +^413e0c621109145abdec310815a45fc8ca5b7ab3 +70935de626fbf94efdbad904f221be3a586e52cb refs/tags/v0.0.37 +^853325fc6deba3739768e412c0051189df40f2c5 +ddd4e73034c3ff257546438c4b5797a9122fbf1a refs/tags/v0.0.38 +^4a9ddf7818b7335397694123bf7e3c8520b6157b +ed872b6f29566ef151e7848df192bcd810e3246b refs/tags/v0.0.39 +^7bfc761508e83fa7c9b71e21803d87c71bcd7303 +3f483ba0053eae8a8b2d10c1ac1d0166538e3cab refs/tags/v0.0.4 +^0006071c02be4825947d4d204a194c11a4d51339 +6657ac490b22ba480351d773338540d8c9c9b561 refs/tags/v0.0.40 +^ab3d5bb636b283eed4230b6de67f5c0060ba2c99 +c63b9ede6e8c58b1a07501b39b7f52bc83ebb72f refs/tags/v0.0.41 +^f6213c07d27c09ae641ca12b675993f36d9ef245 +a07572a395c157a6b375499ddb1a06bf9c4c8b73 refs/tags/v0.0.42 +^77ce9449cc48c67f26b61a9983a92dca05efa4c3 +4cc4eb6681cbed19071e173eed7cea823ed0b9f4 refs/tags/v0.0.43 +^3cde2877fc081ddaa2c33771c7ff1c48b28e3757 +0205f69b2f88192ff9f6d26ba553e7f8dd204333 refs/tags/v0.0.44 +^36142bfbcd7830842741481524cd2199086fe9ed +7efd2aa105390e4425ab59c4551f5603130eaf47 refs/tags/v0.0.45 +^81a898f86fd2de10b819fc7d1232c0ebdc789f17 +66b8f38b24e5ffeba217dc30f8e82c3365bc3581 refs/tags/v0.0.46 +^0b964d8e53ea7b195ed6bf3690868597da1fcf30 +471cba59e14ff83faa0355d55feccf02cd68bcc2 refs/tags/v0.0.47 +^3a2c77577af7a2a87249095eb9b21ae288eb9ad6 +1f6bb8a5d9e078d17db46c8801014d152af7de08 refs/tags/v0.0.48 +^7e22262a35ab7f88a766163da8a2c45047d7d492 +4758fc8a6faa7a02b19ba7061cc9a0ed58a476f3 refs/tags/v0.0.49 +^137f1e5ebe127c0b3fa9737ef1bfb9b998a7b936 +06dc4ebecacc2e811c7e7227b6defa0dca7b883e refs/tags/v0.0.5 +^f79d99f96b609d22422316aade582d89ec4040ac +cff78d9bcde15e78c19c570060a775ac8bc767e2 refs/tags/v0.0.50 +^c764e78653f2a16cf79c3a96c8dde1cef474d1cc +3dc13b9ef6e42c2c2808b165a761a7ee219c5421 refs/tags/v0.0.51 +^cc96ec2ae3105637b360b359bc1d6f9952b954eb +e265598fe7dbfbe4a057d2d9ac52362569c47561 refs/tags/v0.0.52 +^a4f5c8b00fdeb10c3749a56683dc64b020ee1f4f +5f9c14126d9d2595abbfc826a6f5f770d1440d1b refs/tags/v0.0.53 +^ec1afd6ff1aee4e3d4decf0783f4c1b150c0b6d4 +ef91d772500e667dc24ad86facf80279defc06c7 refs/tags/v0.0.54 +^18bf65dd7a8cd60ff4104308d5394f8cf2a3c263 +ff195f7fec41d04d6455f975b7ec9161219c40f4 refs/tags/v0.0.55 +^2a367a85c4fe32d9dd9edc90b28dd6eea6008c7a +0174bf62b5d3964c1c95969a69a7e570e8e6066c refs/tags/v0.0.56 +^a41122142a706886bb7f4a15f8b264691ea803a6 +166f0453763e8eab0d9b7a89f9caf0a0e8426c63 refs/tags/v0.0.57 +fa79c9dbc91a7dd48bcf20fc22932ee84dc0d888 refs/tags/v0.0.58 +d0138b596a98504075e8e501e413726a60039c47 refs/tags/v0.0.59 +^7ad16b1cfcaca1a374f4f860bfd30f61d01f1a94 +c58c164e6066dfff2b5595287af6e0ec2e30fc52 refs/tags/v0.0.6 +^521dce04581fa28f1815f2910ba8620607e5b29a +8e686aaabfadea22e99d0999c20f846587518eb4 refs/tags/v0.0.60 +^87bd430d1fd6c666803599d5a5d2ac5f298a1b27 +8c3515a64d1b62281c151b5d3758fdce40889d2b refs/tags/v0.0.61 +^739bcaa607218343ab0c975d630d7ddb4395ed34 +9a9b0fe72c03a8bf8309d01b234bdc412ad66433 refs/tags/v0.0.62 +^f22fc67289232f6f5ebe43ff4a880a3075eaa9b9 +d322272d4efa14c7a893816ead32d69fa40c1a5b refs/tags/v0.0.63 +^b4a00e70ac676578f42c4378adc11a5ff7496805 +467ae709ff5731e850b024e2839d5bfb83c97f95 refs/tags/v0.0.64 +^81ab35e88023ec56e4e031aff9a53e855f09615c +610f0273ef253ac9fa3dbd84a1eadbddced0eeaf refs/tags/v0.0.65 +^f7874ec7d7f8d2c72a603d10c40915c74ca2dcaa +55d10a1a74d38cc95ed423f9f6e8cd2e83a953c0 refs/tags/v0.0.66 +^f9652d2f59d665a91b8c7fad299bc81a81e957a9 +5d4d7901aa2cef84d5aa9ce2a813dfddc1d332ee refs/tags/v0.0.67 +^8741e930c9c5cef97befd3e6f256b121aebe15b3 +6bfe462eafecd0d5863e0e56644e28760cbbbd0a refs/tags/v0.0.68 +^a0ab9a09d08e28169954be07327ab13907541d6f +3bb539522d08c140c75343b669f5a21cdadcc7b0 refs/tags/v0.0.69 +^ea70c2a428d23922a75d59fa6ba1014cbc9b556e +d53854344d5527c13453fd980768693e3b6f5165 refs/tags/v0.0.7 +^4ac8dcefe15550e0c9beba4bf414eee85e510dc5 +4c94035b279d00357077096921333ac31a88b1ed refs/tags/v0.0.70 +^99537d3c524e567ec343a01ffd2bd0aaf9605a4b +aa292e6a5c8c9d93aa6cd64edb69d14ace740f0c refs/tags/v0.0.71 +^fa429d0bbcc0eca6ff85fc9a4d55e43406beec19 +3a6e4290021487dca233ac920f31432b24346a25 refs/tags/v0.0.72 +^22daa03a7d7b7c14125c0d4f5c11ff80e3d70606 +a14804a77d9343b924c85846c92050328bf22d0f refs/tags/v0.0.73 +^d9f01a6023da4f2186291d32f6a1bf71b47309e6 +b9022bf188fd185bca80b7042b9237e866992924 refs/tags/v0.0.74 +^9edc0edaa180fa6e8d5834f8ffc2e9a1f01e1a73 +522d4fcd2b20775716a37056e3c650b2900d422d refs/tags/v0.0.75 +^5b392c532585e3f88e1a143d7f969a992843e908 +0c953758c729c088fe0112f1b88fd8ca7032fce7 refs/tags/v0.0.76 +^a362bc4352ad986f4e8eacd2ec0b8e2d6895ce77 +008095e129a0516de03c89b87c5a33c984fdf919 refs/tags/v0.0.77 +^149c37453982ed83f98fbd73820d8d0f72f23cf0 +048a909ffe0253039bca94e26dc1d140204919c0 refs/tags/v0.0.78 +^705f94fdd3e9919b6f3c69e4dd44bf3bb5167f60 +f545756ad2cc5f4f58c96006ee49846a5ee07f1d refs/tags/v0.0.79 +^6242534f300920296ca27bbecd9d13a0aebbcdbe +6e7ff454aa9f15db16813b8d3961ee185d897b27 refs/tags/v0.0.8 +^3535df0dbc3ecb81dd2a5912e303b7a8bceaa9d4 +edcba0e3f573707081f73669790073183e643148 refs/tags/v0.0.80 +^ce448a6945d90609bc5c063577e12b859de0834b +e75b3e3bf054b50611f222076a46947585baed84 refs/tags/v0.0.9 +^afd3d356b09837b5036bd098387f13fa26057128 diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/heads/master b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/heads/master new file mode 100644 index 0000000..f76cca8 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/heads/master @@ -0,0 +1 @@ +03c9add7cd867a013102dcb45fb4e75304d227d7 diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/heads/release b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/heads/release new file mode 100644 index 0000000..400f5c0 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/heads/release @@ -0,0 +1 @@ +287c743c9f227fdf0e1db452bbb8ae3c5caffc36 diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/HEAD b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/HEAD new file mode 100644 index 0000000..6efe28f --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/master diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/feat/use-ts-hi-group b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/feat/use-ts-hi-group new file mode 100644 index 0000000..f609015 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/feat/use-ts-hi-group @@ -0,0 +1 @@ +d409bae8d243ea1f364c91fda5e623414fc4aa29 diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/fix/filetype-detect b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/fix/filetype-detect new file mode 100644 index 0000000..f994579 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/fix/filetype-detect @@ -0,0 +1 @@ +03c4689f6c86371e570eb3fa1d5fc33726aeeb07 diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/fix/globpath b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/fix/globpath new file mode 100644 index 0000000..8634e67 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/fix/globpath @@ -0,0 +1 @@ +6d541365a13ac63bd3674c4987f481301edc2620 diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/fix/typos-schema b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/fix/typos-schema new file mode 100644 index 0000000..8ff2f9c --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/fix/typos-schema @@ -0,0 +1 @@ +2901abc80548b8e6aadb2cec48688e52b0aa6104 diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/master b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/master new file mode 100644 index 0000000..89e0804 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/remotes/origin/master @@ -0,0 +1 @@ +19a630de325ed71e153e8ca89f114b040c878b1b diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/tags/.keep b/private_dot_config/nvim/plugged/coc.nvim/dot_git/refs/tags/.keep new file mode 100644 index 0000000..e69de29 diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_git/shallow b/private_dot_config/nvim/plugged/coc.nvim/dot_git/shallow new file mode 100644 index 0000000..1506200 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_git/shallow @@ -0,0 +1,85 @@ +0006071c02be4825947d4d204a194c11a4d51339 +03afb5a5ee3c5b6019165de21bd258bb25608966 +03c9add7cd867a013102dcb45fb4e75304d227d7 +09ab945bffee37f18044ad35a8b16de3b028d9f8 +0b964d8e53ea7b195ed6bf3690868597da1fcf30 +137f1e5ebe127c0b3fa9737ef1bfb9b998a7b936 +149c37453982ed83f98fbd73820d8d0f72f23cf0 +166f0453763e8eab0d9b7a89f9caf0a0e8426c63 +17e840426bcbd08eafa835ed3755bfbef0041766 +18bf65dd7a8cd60ff4104308d5394f8cf2a3c263 +22b92e27d5b49e33cd447e6d3e78f5105644e45b +22daa03a7d7b7c14125c0d4f5c11ff80e3d70606 +26c61ae7351ae82434d4ab8e7428ae1ea013a3da +287c743c9f227fdf0e1db452bbb8ae3c5caffc36 +2a367a85c4fe32d9dd9edc90b28dd6eea6008c7a +2c388b7570c1bf656cb172b5d58f3ee598c3206e +332e3dab1b565e655b59d610a9c8af792c6bd402 +3535df0dbc3ecb81dd2a5912e303b7a8bceaa9d4 +36142bfbcd7830842741481524cd2199086fe9ed +389b061290ba28ff415c22f0111a717b5a8d658c +3a2c77577af7a2a87249095eb9b21ae288eb9ad6 +3cde2877fc081ddaa2c33771c7ff1c48b28e3757 +413e0c621109145abdec310815a45fc8ca5b7ab3 +4302b8c4b31c0058f282ea82a981079f8fb0c6f1 +4a9ddf7818b7335397694123bf7e3c8520b6157b +4ac8dcefe15550e0c9beba4bf414eee85e510dc5 +4eab01fd64ab0833341233e0f668a22b2b1d630a +521dce04581fa28f1815f2910ba8620607e5b29a +5b392c532585e3f88e1a143d7f969a992843e908 +5c8569bb4d20903c7767644037b5e9566b844ced +6242534f300920296ca27bbecd9d13a0aebbcdbe +631a15712b584e2bab7785b4eb77b607a4ccf6ad +69693d5a67563e206ebdd3b86892828333eaacf8 +6ff769957caa30a8406b081d33d517de93e062b7 +705f94fdd3e9919b6f3c69e4dd44bf3bb5167f60 +739bcaa607218343ab0c975d630d7ddb4395ed34 +77ce9449cc48c67f26b61a9983a92dca05efa4c3 +793f383eebf3bd7494612647d5874ee17dbd3f34 +7ad16b1cfcaca1a374f4f860bfd30f61d01f1a94 +7bfc761508e83fa7c9b71e21803d87c71bcd7303 +7e22262a35ab7f88a766163da8a2c45047d7d492 +7fcbd2f2884d849d202c1f4fdfbb484eab662d9b +81a898f86fd2de10b819fc7d1232c0ebdc789f17 +81ab35e88023ec56e4e031aff9a53e855f09615c +822831326d13a35cfb8f3e39766878bb19ef9ba9 +853325fc6deba3739768e412c0051189df40f2c5 +8741e930c9c5cef97befd3e6f256b121aebe15b3 +87bd430d1fd6c666803599d5a5d2ac5f298a1b27 +8fc87b49d98c129ef8ac361dd8f7a585c1a4610e +956373fc765ef7170bb0486b39543f8871bc49ba +99537d3c524e567ec343a01ffd2bd0aaf9605a4b +9edc0edaa180fa6e8d5834f8ffc2e9a1f01e1a73 +a0ab9a09d08e28169954be07327ab13907541d6f +a2e1ce587ef7785a2f8837ecd271fee3bd534463 +a362bc4352ad986f4e8eacd2ec0b8e2d6895ce77 +a41122142a706886bb7f4a15f8b264691ea803a6 +a4f5c8b00fdeb10c3749a56683dc64b020ee1f4f +a531abd8d388bcfd4dd3e74fea657b1c73a8e2ba +a9da141dbcb16e72754269a85c20e14832e81639 +ab3d5bb636b283eed4230b6de67f5c0060ba2c99 +abc90a8546003f066a12506e6b845f29aade10aa +afd3d356b09837b5036bd098387f13fa26057128 +b4a00e70ac676578f42c4378adc11a5ff7496805 +beb9bbaf53e731aa35655864f2a67d804fd19151 +bf55a14df878b8beb27e58e4b7d791ef6cfc7ad6 +c764e78653f2a16cf79c3a96c8dde1cef474d1cc +cc96ec2ae3105637b360b359bc1d6f9952b954eb +cce7b97ac7f9bb7b79d80ae190c5d94370759250 +ce448a6945d90609bc5c063577e12b859de0834b +cfc5de3af5677b1807b1689946ec032b5a3d74fb +d0400c4d3eac8f3c09f47a54157702d0e152ca38 +d090fe35ba7a41f28afbeb7af48ef2ea4793bdd6 +d8faa211837900a087e5a37654d225adee7a8cc3 +d9f01a6023da4f2186291d32f6a1bf71b47309e6 +ea30ddd9d84bb0a8f1a0493dbbbbab89f40c1360 +ea70c2a428d23922a75d59fa6ba1014cbc9b556e +ec1afd6ff1aee4e3d4decf0783f4c1b150c0b6d4 +f22fc67289232f6f5ebe43ff4a880a3075eaa9b9 +f6213c07d27c09ae641ca12b675993f36d9ef245 +f7874ec7d7f8d2c72a603d10c40915c74ca2dcaa +f79d99f96b609d22422316aade582d89ec4040ac +f9652d2f59d665a91b8c7fad299bc81a81e957a9 +fa429d0bbcc0eca6ff85fc9a4d55e43406beec19 +fa79c9dbc91a7dd48bcf20fc22932ee84dc0d888 +fbe0c0ba5a347d8c15645c1de220cb46b07451c6 diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_github/FUNDING.yml b/private_dot_config/nvim/plugged/coc.nvim/dot_github/FUNDING.yml new file mode 100644 index 0000000..bc74b9d --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_github/FUNDING.yml @@ -0,0 +1,4 @@ +# These are supported funding model platforms + +open_collective: cocnvim +patreon: chemzqm diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_github/ISSUE_TEMPLATE/bug_report.md b/private_dot_config/nvim/plugged/coc.nvim/dot_github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..3b0eaeb --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,45 @@ +--- +name: Bug report +about: Create a report to help us improve +--- + + + +## Result from CocInfo + + + +## Describe the bug + +A clear and concise description of what the bug is. + +## Reproduce the bug + +**We will close your issue when you don't provide minimal vimrc and we can't +reproduce it** + +- Create file `mini.vim` with: + + ```vim + set nocompatible + set runtimepath^=/path/to/coc.nvim + filetype plugin indent on + syntax on + set hidden + ``` + +- Start (neo)vim with command: `vim -u mini.vim` + +- Operate vim. + +## Screenshots (optional) + +If applicable, add screenshots to help explain your problem. diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_github/ISSUE_TEMPLATE/feature_request.md b/private_dot_config/nvim/plugged/coc.nvim/dot_github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..066b2d9 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,17 @@ +--- +name: Feature request +about: Suggest an idea for this project + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_github/workflows/ci.yml b/private_dot_config/nvim/plugged/coc.nvim/dot_github/workflows/ci.yml new file mode 100644 index 0000000..8be307c --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_github/workflows/ci.yml @@ -0,0 +1,56 @@ +name: coc.nvim CI + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + test: + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest] + node-version: [10, 14] + + env: + NODE_ENV: test + + steps: + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: Install yarn + run: | + curl --compressed -o- -L https://yarnpkg.com/install.sh | bash + - uses: actions/checkout@v2 + - name: yarn install + run: | + yarn global add typescript + yarn + - name: yarn lint + run: yarn lint + - if: matrix.os == 'macos-latest' + name: yarn test on macOS + run: | + curl -LO https://github.com/neovim/neovim/releases/download/nightly/nvim-macos.tar.gz + tar xzf nvim-macos.tar.gz + export PATH="${PATH}:node_modules/.bin:$(pwd)/nvim-osx64/bin" + nvim --version + yarn test + - if: matrix.os == 'ubuntu-latest' + name: yarn test on Ubuntu + run: | + curl -LO https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.tar.gz + tar xzf nvim-linux64.tar.gz + export PATH="${PATH}:node_modules/.bin:$(pwd)/nvim-linux64/bin" + nvim --version + yarn test + env: + NODE_ENV: test diff --git a/private_dot_config/nvim/plugged/coc.nvim/dot_gitignore b/private_dot_config/nvim/plugged/coc.nvim/dot_gitignore new file mode 100644 index 0000000..f9ec5e3 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/dot_gitignore @@ -0,0 +1,13 @@ +lib +*.map +coverage +__pycache__ +.pyc +.log +src +publish.sh +doc/tags +doc/tags-cn +node_modules +src/__tests__/tags +typings diff --git a/private_dot_config/nvim/plugged/coc.nvim/history.md b/private_dot_config/nvim/plugged/coc.nvim/history.md new file mode 100644 index 0000000..b426703 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/history.md @@ -0,0 +1,1166 @@ +# 2019-08-18 0.0.74 + +- feat(cursors): support multiple cursors. +- feat(extensions): install missing extensions by CocInstall. +- feat(extensions): add command `extensions.forceUpdateAll`. +- feat(completion): rework preselect feature. +- feat(extension): use request for fetch package info. +- feat(language-client): support disableDynamicRegister configuration. +- feat(list): paste from vim register support on insert mode #1088. +- feat(plugin): add CocHasProvider(), close #1087. +- refactor(outline): not exclude variables and callback. +- refactor(diagnostic): remove timeout on InsertLeave. + +# 2019-07-11 0.0.73 + +- fix(completion): fix map of number select +- fix(languages): fix cursor position with snippet +- fix(completion): fix cursor position with additionalTextEdits +- fix(position): fix rangeOverlap check #961 +- fix(list): not change guicursor when it's empty +- fix(list): fix filter not work on loading +- fix(list): fix custom location list command not work +- fix(util): highlight & render on vim8 +- fix(handler): fix getCommands +- fix(handler): not check lastInsert on trigger signatureHelp +- fix(handler): fix check of signature help trigger +- fix(language-client): configuration for configured server, closes #930 +- fix(diagnostic): clear diagnostics on filetype change +- feat(plugin): add download & fetch modules +- feat(plugin): add highligher module +- feat(refactor): add `(coc-refactor)` for refactor window +- feat(extension): use mv module for folder rename +- feat(extension): support install taged extension +- feat(extension): support custom extension root `g:coc_extension_root` +- feat(handler): close signature float window on ')' +- feat(list): support `g:coc_quickfix_open_command` +- feat(list): add eval action +- feat(list): add --tab list option +- feat(list): use highligher module for showHelp +- feat(terminal): add noa on window jump +- feat(terminal): support vim8 +- feat(diagnostic): add diagnosticRelated support +- feat(diagnostic): use text properties on vim8 +- feat(handler): improve signature float window + +# 2019-07-01 + +- feat(plugin): add CocStatusChange autocmd +- feat(extension): support both npm and yarn. +- feat(plugin): work on vim 8.0 +- feat(extensions): add lock & doc actions to extension source +- feat(extension): add proxy auth support (#920) +- feat(source): not change startcol for file source +- feat(completion): no numberSelect for number input +- feat(extensions): Use yarn when npm not found +- feat(completion): no popup for command line buffer +- feat(plugin): support only for codeActions action +- feat(task): debounce stdout +- feat(plugin): add keymaps for selection ranges +- feat(plugin): add function textobj +- feat(list): restore window height, closes #905 +- feat(handler): support signature.floatTimeout +- feat(configuration): support change of workspace configuration +- feat(diagnostic): add keymaps for jump error diagnostics +- feat(plugin): delay start on gvim, fix #659 + +# 2019-06-15 + +- feat(plugin): add popup support of vim +- refactor(completion): improve float support +- refactor(floating): remove unused code +- refactor(workspace): replace find-up +- refactor(handler): improve message for fold method +- fix(virtualtext): invalid highlight tag (#874) +- fix(snippets): fix plaintext check +- fix(highlight): catch error of child_process.spawn +- fix(highlight): use v:progpath, fix #871 +- fix(floatFactory): escape feedkeys +- fix(handler): fix getCurrentFunctionSymbol not work + +# 2019-06-12 + +- feat(document): add getVar method +- fix(util): not break selection on message +- fix(workspace): fix jumpTo not work on vim8 +- fix(completion): trigger completion with word character +- refactor(handler): return boolean result +- perf(workspace): improve jump performance +- fix(util): Escape filename for jump (#862) +- refactor(plugin): not show empty hover +- feat(outline): ignore callback function +- feat(workspace): support list of events with registerAutocmd +- fix(workspace): fix jump with tab drop +- refactor(language-client): change API of selectionRanges + +# 2019-06-09 + +- **Break change** `CocHighlightText` link to `CursorColumn` by default. +- **Break change** logger folder changed to `$XDG_RUNTIME_DIR` when exists. +- Add `` and `` support for list, #825. +- Add function `coc#add_command()`. +- Add `disableDiagnostics` & `disableCompletion` to languageclient configuration. +- Add `signature.triggerSignatureWait` configuration. +- Add vim-repeat support for run command and quickfix. +- Add prefered `codeAction` support. +- Add `prompt.paste` action to list. +- Add title as argument support for `codeAction` action. +- Add `suggest.floatEnable` configuration. +- Add `editor.action.organizeImport` command. +- Add `:CocAction` and `:CocFix` commands. +- Add `codeActions` action. +- Fix issues with list. + +# 2019-05-30 + +- **Break change** logger folder changed. +- Add support of vim-repeat for `` keymaps. +- Add `CocRegistNotification()` function. +- Add argument to rename action. +- Add `suggest.disableMenuShortcut` configuration. +- Add glob support for root patterns. +- Add `` keymap to list window. +- Add shortcut in sources list. +- Add `list.previewSplitRight` configuration. +- Add `triggerOnly` property to source. +- Add warning for duplicate extension. +- Bug fixes. + +# 2019-05-07 + +- **New feature** load extensions from coc-extensions folder. +- Add `workspace.renameCurrentFile` command. +- Add `FloatBuffer`, `FloatFactory` and `URI` to exports. +- Add `resolveItem` support to list. +- Fix prompt can't work when execute list action. +- Fix ansiparser for empty color ranges. +- Fix highlight only work with first 8 items. + +# 2019-04-27 + +- **Break change** vim-node-rpc not required on vim. +- **Break change** python not required on vim. +- **Break change** complete items would refreshed after 500ms when not finished. +- Add `additionalSchemes` for configured language server. +- Add support for jumpCommand as false. +- Fix `diagnostic.level` not work. + +# 2019-04-09 + +- **Break change** `--strictMatch` option of list renamed to `--strict` +- **Break change** `suggest.reloadPumOnInsertChar` support removed. +- **Break change** no more binary release. +- **Break change** logic for resolve workspace folder changed. +- Add `Task` module. +- Add `getCurrentFunctionSymbol` action. +- Add `list.source.outline.ctagsFilestypes` setting. +- Add `suggest.disableMenu` and `suggest.disableMenu` settings. +- Add `equal` support for complete items. +- Add support for do action with visual select lines of list. +- Add expand tilder support for language server command. +- Add switch matcher support to list. +- Add select all support to lsit. +- Add quickfix action to list. +- Add `selectionRanges` of LSP. +- Add load extentions for &rtp support. +- Add `coc#on_enter()` for formatOnType and add new lines on enter. +- Improve completion by support trigger completion when pumvisible. +- Remove document check on `BufWritePre`. + +# 2019-03-31 + +- **Break change** not using vim-node-rpc from npm modules any more. +- **Break change** rename `_` to `CocRefresh`. +- Fix wrong format options send to server. +- Fix throw eror when extention root not created. +- Fix MarkedString not considered as markdown. +- Fix echo message on vim exit. +- Fix error throw on file watch. +- Fix unexpected update of user configuration. + +# 2019-03-28 + +- Add `workspace.resolveRootFolder`. +- Add `diagnostic.joinMessageLines` setting. +- Add `suggest.completionItemKindLabels` setting. +- Add `memento` support for extention. +- Add `workspace.getSelectedRange`. +- Add `Terminal` module. +- Add command `workbench.action.reloadWindow`. +- Fix extention not activated by command. +- Fix broken undo with floating window. +- Fix document create possible wrong uri & filetype. +- Improve highlight with floating window. + +# 2019-03-24 + +- **Break change** make number input not trigger completion. +- **Break change** make none keywords character doesn't filter completion. +- Add functions for check snippet state. +- Add setting `diagnostic.checkCurrentLine`. +- Fix `signature.target` not work. +- Fix flick of signature window. +- Fix EPIPE error of node-client. +- Fix wrong root of FileWatchSysmtem. + +# 2019-03-19 + +- **Break change** signature settings now starts `signature`. +- **Break change** default request timeout changed to 5s. +- **Break change** `commands.executeCommand` return promise. +- Add `coc.preferences.signatureHelpTarget`. +- Add `diagnostic.maxWindowHeight` & `signature.maxWindowHeight`. +- Add `diagnostic.enableSign`. +- Add support for `$COC_NO_PLUGINS`. +- Add keymaps: `(coc-float-hide)` and `(coc-float-jump)`. +- Add `coc.preferences.enableFloatHighlight`. +- Fix issues with floating window. +- Fix critical performance issue on diff text. +- Improve color of `CocHighlightText`. +- Improve sort of complete items. +- Improve extention list with version and open action. + +# 2019-03-16 + +- **Break change** change vim config home on windows to '\$HOME/vimfiles'. +- Add highlights to float windows. +- Add CocLocationsAsync(). +- Add support for `b:coc_suggest_disable`. +- Add support for `b:coc_suggest_blacklist`. +- Add setting `diagnostic.messageTarget`. +- Add floating window support for signatures. +- Fix issues with diagnostic float. +- Fix info of completion item not shown. +- Fix CocUpdateSync not work without service start. +- Fix wrong indent spaces of snippets. + +# 2019-03-11 + +- **Break change** change buffers instead of disk file for `workspace.applyEdits`. +- **Break change** add config errors to diagnostic list instead of jump locations. +- **Break change** hack for popup menu flicker is remvoed, use `suggest.reloadPumOnInsertChar` to enable it. +- **Break change** use `nvim_select_popupmenu_item` for number select completion. +- Add floating window for completion items. +- Add floating window support for diagnostics. +- Add floating window support for hover documentation. +- Add `coc#on_enter()` for notify enter pressed. +- Add setting `coc.preferences.useQuickfixForLocations`. +- Add support of `g:coc_watch_extensions` for automatic reload extentions. +- Add command: `editor.action.doCodeAction`. +- Fix service on restarted on windows after rebuild. +- Fix config of airline. +- Fix relative path of watchman. +- Improve Mru model. + +# 2019-03-03 + +- **Break change** signature change of `workspace.registerKeymap`. +- **Break change** `` of CocList can't be remapped any more. +- **Break change** use `yarnpkg` command instead of `yarn` when possible. +- **Break change** `noinsert` is removed from `completeopt` when `noselect` is + enabled, `` would break line by default. +- Add setting `diagnostic.refreshAfterSave`. +- Add chinese documentation. +- Add support of multiple line placeholder. +- Fix edit of nested snippet placeholders. +- Fix possible infinite create of documents. +- Fix check for resume completion. + +# 2019-02-25 + +- **Break change** default of `suggest.detailMaxLength` changed to 100. +- **Break change** option of `workspace.registerKeymap` changed. +- Add settings: `suggest.defailField`. +- Add check for autocmd in health check. +- Add trigger patterns support for complete sources. +- Add support of `coc-snippets-expand-jump` +- Add `source` option for completion start. +- Add `sources.createSource` method. + +# 2019-02-22 + +- **Break change** some configurations have been renamed, checkout #462. +- **Break change** no longer automatic trigger for CursorHoldI #452. +- **Break change** add preview option of `completeopt` according to `suggest.enablePreview`. +- Add statusItem for CocUpdate. +- Add `-sycn` option for `:CocInstall` +- Add support for floating preview window. +- Add more module export. +- Fix check of vim-node-rpc throw error. +- Fix wrong line for TextEdit of complete item. +- Fix diagnostics not cleared on service restart. + +# 2019-02-17 + +- **Break change** completion resolve requires CompleteChanged autocmd. +- **Break change** mapping of space on insert mode of list removed. +- **Break change** kind of completion item use single letter. +- Fix snippet not works on GUI vim. +- Fix cursor vanish on vim by use timer hacks. +- Fix behavior of list preview window. +- Fix python check on vim. +- Fix CocJumpPlaceholder not fired. +- Fix vscode-open command not work. + +# 2019-02-12 + +- **Break change** function `coc#util#clearmatches` signature changed. +- Add check for python gtk module. +- Add check for vim-node-rpc update error. +- Fix source name of diagnostics. +- Fix empty buffers created on preview. +- Fix trigger of `CursorHoldI`. + +# 2019-02-11 + +- **Break change:** internal filetype of settings file changed to jsonc. +- **Break change:** `coc#util#install` changed to synchronize by default. +- **Break change:** no document highlight would be added for colored symbol. +- **Break change:** remove `coc.preferences.openResourceCommand`. +- Add fallback rename implementation which rename symbols on current buffer. +- Add command `:CocUpdateSync`. +- Add `coc.preferences.detailMaxLength` for slice detail on completion menu. +- Add cancel support for completion. +- Add `ctags` as fallback of document symbols list. +- Add default key-mappings for location actions. +- Add python check on vim. +- Add `disableSyntaxes` support for completion sources. +- Add support for change `isProgress` of `StatusBarItem` +- Add check of coc.nvim version for `CocUpdate` +- Add `coc.preferences.previewAutoClose`, default true. +- Add `workspace.add registerAutocmd`. +- Fix highlight not cleared on vim +- Fix health check of service state. +- Fix CursorHoldI not triggered on neovim. +- Fix sort of list not stable. + +# 2019-02-04 + +- **Break change:** no messages when documentSymbol and workspaceSymbol provider + not found. +- Add support for configure sign in statusline. +- Add help action for list. +- Fix parse error on extentions update. +- Fix wrong uri on windows. +- Fix cancel list without close ui. +- Improve startup time by remove jobwait. + +# 2019-02-02 + +- **Break change:** extentions now update automatically, prompt is removed. +- Add check for extention compatibility. +- Add transform support for placeholder. +- Add check for node version. +- Add error check for list. +- Add settings: `coc.preferences.diagnostic.virtualTextLines`. +- Fix preview window not shown. +- Fix highlight not cleared on vim. +- Fix highlight commands of list block vim on start. +- Improve extention load. +- Improve list experience. + +# 2019-01-28 + +- **Break change:** `coc.preferences.diagnostic.echoMessage` changed to enum. +- Add mru support for commands and lists list. +- Add `coc.preferences.diagnostic.refreshOnInsertMode` +- Add `Mru` module. +- Improve highlight for lists, support empty `filterLabel`. +- Fix `findLocations` not work with nest locations. +- Fix cursor position after apply additionalTextEdits. + +# 2019-01-24 + +- **Break change:** python code for denite support moved to seperated repo. +- **Break change:** Quickfix list no longer used. +- Add list support. +- Add configuration: `coc.preferences.diagnostic.virtualText`. +- Add watch for `&rtp` change. +- Add support for configure `g:coc_user_config` and `g:coc_global_extensions` +- Add support for send request to coc on vim start. +- Add `g:coc_start_at_startup` support. +- Add configuration: `coc.preferences.invalidInsertCharacters`. +- Add configuration: `coc.preferences.snippetStatusText`. +- Add `coc#_insert_key()` for insert keymap. +- Add `workspace.registerExprKeymap()`. +- Add detect for `vim-node-rpc` abnormal exist. +- Add `requireRootPattern` to languageserver configuration. +- Fix git check, always generate keywords. +- Fix crash when `righleft` set to 1 on neovim. +- Fix snippet position could be wrong. + +# 2019-01-09 + +- **Break change:** throw error when languageserver id is invalid. +- Add watcher for languageserver configuration change. +- Fix possible invalid package.json. +- Fix applyEdits not work sometimes. +- Fix server still started when command search failed. +- Fix log file not writeable. +- Improve completion performance. + +# 2019-01-03 + +- **Break change:** using of `g:rooter_patterns` is removed. +- **Break change:** diagnostics would be updated in insert mode now. +- Add configuration: `coc.preferences.rootPatterns` +- Add `TM_SELECTED_TEXT` and `CLIPBOARD` support for snippets. +- Fix check of latest insert char failed. +- Fix highlight not cleared sometimes. + +# 2019-01-01 + +- Fix issues with completion. + +# 2018-12-31 + +- **Break change:** created keymaps use rpcrequest instead of rpcnotify. +- **Break change:** snippets provider is removed, use `coc-snippets` for + extention snippets. +- Add command: `coc.action.insertSnippet` +- Fix position of snippets. +- Fix modifier of registered keymaps. +- Fix completion triggered on complete done. +- Fix closure function possible conflict. +- Fix unexpected snippet cancel. +- Fix document applyEdits, always use current lines. +- Fix fail of yarn global command. +- Fix check of changedtick on completion done. +- Fix line used for textEdit of completion. +- Fix snippet canceled by `formatOnType`. +- Fix `CocJumpPlaceholder` not fired +- Optimize content synchronize. + +# 2018-12-27 + +- **Break change:** no more message on service ready. +- **Break change:** vim source now registered as extention. +- **Break change:** complete item sort have reworked. +- **Break change:** request send to coc would throw when service not ready. +- Add support for check current state on diagnostic update. +- Add `env` opinion for registered command languageserver. +- Add outputChannel for watchman. +- Add `coc#_select_confirm()` for trigger select and confirm. +- Add `coc.preferences.numberSelect`. +- Add priority support for format provider. +- Add `workspace.watchGlobal` and `workspace.watchOption` methods. +- Fix cursor disappear on `TextChangedP` with vim. +- Fix coc process not killed when update on windows. +- Fix snippet broken on vim. +- Fix support of startcol of completion result. +- Fix `labelOffsetSupport` wrong position. +- Fix flicking on neovim. +- Fix unicide not considered as iskeyword. +- Fix watchman client not initialized sometimes. +- Improve performance for parse iskeyword. +- Not echo message on vim exit. +- Not send empty configuration change to languageserver. + +# 2018-12-20 + +- **Break change** configuration for module language server, transport now + require specified value. +- **Break change** new algorithm for socre complete items. +- Add command `workspace.clearWatchman`. +- Add `quickfixs`, `doCodeAction` and `doQuickfix` actions. +- Add `g:vim_node_rpc_args` for debug purpose. +- Add `coc#add_extension()` for specify extentions to install. +- Fix clients not restarted on CocRestart. +- Fix `execArgv` and `runtime` not work for node language server. +- Fix detail of complete item not echoed sometimes. +- Fix actions missing when registered with same clientId. +- Fix issues with signature echo. +- Fix uri is wrong with whitespace. +- Improve highlight performance with `nvim_call_atomic`. + +# 2018-12-17 + +- **Break change** `vim-node-rpc` now upgrade in bacground. +- Add `ignoredRootPaths` to `languageserver` option. +- Add detect of vim running state. +- Add `client.vim` for create clients. +- Fix possible wrong current line of `completeResolve`. +- Fix snippet not work with `set virtualedit=all`. +- Fix default timeout to 2000. +- Fix file mode of log file. + +# 2018-12-12 + +- **Break change** `fixInsertedWord` fix inserted word which ends with word + after. +- **Break change** `onCompleteSelect` is removed. +- Add `workspace.registerKeymap` for regist keymap. +- Add match score for sort complete items. +- Fix possible connection lost. +- Fix priority of diagnostic signs. +- Fix possible wrong uri. +- Fix `RevealOutputChannelOn` not default to `never`. +- Fix possible wrong line used for textEdit of complete item. +- Fix possible wrong cursor position of snippet after inserted. + +# 2018-12-08 + +- **Break change** default rootPath would be directory of current file, not cwd. +- **Break change** codeLens feature now disabled by default. +- **Break change** diagnostic prev/next now loop diagnostics. +- Add support of neovim highlight namespace. +- Add support for undo `additionalTextEdits` on neovim +- Fix configuration resolve could be wrong. +- Fix word of completion item could be wrong. +- Fix rootPath could be null. +- Fix highlight not cleared on restart. + +# 2018-12-06 + +- **Break change** `RevealOutputChannelOn` of language client default to + `never`. +- Fix can't install on windows vim. +- Fix `displayByAle` not clearing diagnostics. +- Add check for `vim-node-rpc` udpate on vim. +- Add `Resolver` module. +- Improve apply `WorkspaceEdit`, support `0` as document version and merge + edits for same document. + +# 2018-12-05 + +- Add `CocJumpPlaceholder` autocmd. +- Add `rootPatterns` to `languageserver` config. +- Add setting: `coc.preferences.hoverTarget`, support use echo. +- Add setting `coc.preferences.diagnostic.displayByAle` for use ale to display errors. +- Add setting `coc.preferences.extensionUpdateCheck` for control update check of + extentions. +- Add `coc#config` for set configuration in vim. +- Fix rootPath not resolved on initialize. +- Fix possible wrong `tabSize` by use `shiftwidth` option. +- Fix trigger of `documentColors` request. +- Fix `vim-node-rpc` service not work on windows vim. +- Fix `codeLens` not works. +- Fix highlight of signatureHelp. +- Fix watchman watching same root multiple times. +- Fix completion throw undefined error. +- Fix `open_terminal` not works on vim. +- Fix possible connection lost by use notification when possible. +- Fix process not terminated when connection lost. +- Rework diagnostics with task sequence. +- Rework configuration with more tests. + +# 2018-11-28 + +- _Break change_ signature help reworked, vim API for echo signature changed. +- Add `:CocInfo` command. +- Add trigger for signature help after function expand. +- Add echo message when provider not found for some actions. +- Add support for `formatexpr` +- Add support for locality bonus like VSCode. +- Add support of `applyAdditionaLEdits` on item selected by `` +- Add `coc.preferences.useQuickfixForLocations` +- Add `coc.preferences.messageLevel` +- Add support for trigger command which not registered by server. +- Add `g:coc_denite_quickfix_action` +- Fix insert unwanted word when trigger `commitCharacter`. +- Fix rpc request throw on vim. +- Fix `data` of complete item conflict. +- Fix code action not work sometime. +- Fix `coc.preferences.diagnostic.locationlist` not work. +- Fix `coc.preference.preferCompleteThanJumpPlaceholder`. +- Fix `workspace.jumpTo` not work sometime. +- Fix line indent for snippet. +- Fix trigger of `signatureHelp` and `onTypeFormat`. + +# 2018-11-24 + +- **Break change** sources exluding `around`, `buffer` or `file` are extracted + as extensions. +- **Break change** custom source not exists any more. +- Add `coc.preferences.preferCompleteThanJumpPlaceholder` to make jump + placeholder behavior as confirm completion when possible. +- Add `CocDiagnosticChange` autocmd for force statusline update. +- Add `onDidUnloadExtension` event on extention unload. +- Fix `getDiagnosticsInRange`, consider all interactive ranges. +- Fix completion throw when `data` on complete item is `string`. +- Fix `commitCharacters` not works. +- Fix workspace methods: `renameFile`, `deleteFile` and `resolveRoot`. +- Fix textEdit of builtin sources not works. + +# 2018-11-19 + +- **Break change** snippet support reworked: support nest snippets, independent + session in each buffer and lots of fixes. +- **Break change** diagnostic list now sort by severity first. +- Add commands: `:CocUninstall` and `:CocOpenLog` +- Add cterm color for highlights. +- Add line highlight support for diagnostic. +- Add `coc.preferences.fixInsertedWord` to make complete item replace current word. +- Fix check confirm not works on vim sometimes. +- Fix check of `vim-node-rpc`. +- Fix preselect complete item not first sometimes. +- Improve completion sort result by consider more abort priority and recent + selected. +- Improve colors module, only highlight current buffer and when buffer changed. +- Improve `doc/coc.txt` + +# 2018-11-13 + +- **Break change** default completion timeout changed to 2s. +- **Break change** snippet session not canceled on `InsertLeave`, use + `` in normal mode to cancel. +- Add document color support. +- Add CocAction 'pickColor' and 'colorPresentation'. +- Add prompt for install vim-node-rpc module. +- Add support for `inComplete` completion result. +- Add status item for snippet session. +- Add support for fix inserted text of snippet completion item. +- Fix document highlight not cleared. +- Fix cancel behavior of snippet. +- Fix range check of edit on snippet session. +- Fix check of completion confirm. +- Fix highlight group 'CocHighlightWrite' not work. +- Fix command `editor.action.rename` not works. +- Fix throw error before initialize. +- Fix `g:coc_node_path` not working. +- Fix file source throw undefined error. +- Improve logic of sorting completion items, strict match items comes first. + +# 2018-11-07 + +- **Break change** word source removed from custom sources, enabled for markdown + by default. +- **Break change** ignore sortText when input.length > 3. +- **Break change** show prompt for install `coc-json` when not found. +- Fix document content synchronize could be wrong. +- Fix filetype not converted on completion. +- Fix complete item possible not resolved. +- Improve document highlight, no highlight when cursor moved. +- Improve completion score, use fuzzaldrin-plus replace fuzzaldrin. + +# 2018-11-02 + +- **Break change** no items from snippets source when input is empty. +- **Break change** `javascript.jsx` would changed to `javascriptreact` as languageId. +- **Break change** `typescript.tsx` would changed to `typescriptreact` as languageId. +- Add support for `commitCharacters` and `coc.preferences.acceptSuggestionOnCommitCharacter`. +- Add setting: `coc.preferences.diagnostic.level`. +- Add `g:coc_filetype_map` for customize mapping between filetype and languageId. +- Add `g:coc_node_path` for custom node executable. +- Add `workspaceFolders` feature to language client. +- Add `~` to complete item of snippet source. +- Add `onDidChangeWorkspaceFolder` event +- Fix `eol` issue by check `eol` option. +- Fix `workspace.document` could be null. +- Fix `workspaceFolder` could be null. +- Fix diagnostic for quickfix buffer. +- Fix resolve of `coc.preferences.rootPath` + +# 2018-10-29 + +- **Break change** diagnostic reworked, no refresh on insert mode. +- **Break change** keep `sortText` on filter for better result. +- **Break change** prefer trigger completion than filter, same as VSCode. +- **Break change** filetype of document would be first part of `&filetype` split by `.`. +- **Break change** prefer label as abbr for complete item. +- Fix creating wrong `textEdit` for snippet. +- Fix `startcol` of `CompleteResult` not working. +- Fix `workspaceConfiguration.toJSON` return invalid result. +- Fix `workspace.readFile` not synchronized with buffer. +- Fix `workspace.rootPath` not resolved as expected. +- Fix `CompletionItem` resolved multiple times. +- Fix check of `latestInsert` on completion. +- Fix `formatOnType` possible add unnecessary indent. +- Fix document content synchronized on vim. +- Fix confirm check of completion for all source. +- Fix document possible register multiple times. +- Fix completion always stopped when input is empty. +- Add warning message when definition not found. +- Add `redraw` after `g:coc_status` changed. +- Remove change of `virtualedit` option of snippet. +- Improved performance of filter completion items. + +# 2018-10-25 + +- Fix `implementation` and `typeDefinition` of language client not working. +- Fix `diffLines` return wrong range. +- Fix `setqflist` and `setloclist` not works on vim. +- Fix snippets and `additionalTextEdits` not works on vim. +- Fix append lines not works on vim. +- Fix highlight action not works on vim. +- Fix null version of `TextDocumentIdentifier` not handled. +- Add `workspace.registerTextDocumentContentProvider` for handle custom uri. +- Add `workspace.createStatusBarItem` method. + +# 2018-10-21 + +- **Break change**: `triggerAfterInsertEnter` now respect `minTriggerInputLength`. +- Add `coc.preferences.minTriggerInputLength`. +- Add command: `:CocCommand`. +- Fix `position` of `provideCompletionItems`. +- Fix content change not trigger after completion. +- Fix default sorters & matchers of denite sources. +- Fix `outputChannel` wrong `buftype`. +- Fix completion not works with `textEdit` add new lines. +- Fix first item not resolved when `noselect` is disabled +- Remove using of `diff` module. + +# 2018-10-18 + +- **Break change**: all buffers are created as document. +- **Break change**: retrieve workspace root on document create. +- Fix `uri` for all buffer types. +- Fix bad performance on parse keywords. +- Fix check of language client state. +- Fix register of `renameProvider` +- Fix `CocRequestAsync` not work. +- Fix `workspace.openResource` error with `wildignore` option. +- Fix output channel can't shown if hidden. +- Fix extension activate before document create. +- Add command `vscode.open` and `editor.action.restart`. +- Add `workspace.requestInput` method. +- Add support of `g:rooter_patterns` +- Add `storagePath` to `ExtensionContext` +- Add `workspace.env` property. +- Add support of scoped configuration. +- Disable buffer highlight on vim. + +# 2018-10-14 + +- **Break change** API: `workspace.resoleModule` only does resolve. +- **Break change** extension would still be loaded even if current coc version + miss match. +- **Break change** variables are removed from view of `Denite coc-symbols` +- Fix `workspace.applyEdits` +- Fix `console.log` throws in extension. +- Fix invalid `workspace.root` with custom buffer schema. +- Fix possible crash on neovim 0.3.1 by not attach terminal buffer. +- Fix jump position not stored when jump to current buffer position. +- Fix install function not works on vim. +- Add support for custom uri schema for `workspace.jumpTo` and `workspace.openResource` +- Add `workspace.findUp` for find up file of current buffer. +- Add `env` option for custom language server config. +- Add vim function: `CocRequest` and `CocRequestAsync` for send request to + language server in vim. +- Add `coc.preferences.parseKeywordsLimitLines` and `coc.preferences.hyphenAsKeyword` + for buffer parse. +- Rework completion for performance and accuracy. + +# 2018-10-05 + +- **Break change**, `workspace.onDidChangeConfiguration` emit `ConfigurationChangeEvent` now. +- Add `position` to function `coc#util#open_terminal`. +- Improve performance of completion by use vim's filter when possible. +- Fix service start multiple times. +- Fix parse of `iskeyword` option, consider `@-@`. +- Fix completion of snippet: cancel on line change. + +# 2018-10-01 + +- Improved document `didChange` before trigger completion. +- Add option `coc.preferences.triggerCompletionWait`, default 60. +- Add watch for `iskeyword` change. +- Fix snippet jump not works sometime. +- Fix possible wrong `rootPath` of language server. +- Fix highlight of highlight action not using terminal colors. +- Fix detect for insert new line character. + +# 2018-09-30 + +- Add quickfix source of denite and fzf +- Add option `coc.preferences.rootPath` +- Add option `revealOutputChannelOn` to language server. +- Fix jump of placeholder. +- Fix empty root on language server initialize. + +# 2018-09-28 + +- **Break change**: `coc.preferences.formatOnType` default to `false`. +- **Break change**: snippet completion disabled in `string` and `comment`. +- Add support for register local extension. +- Add title for commands in `Denite coc-command` +- Fix prompt hidden by echo message. +- Fix contribute commands not shown in denite interface. +- Fix parse of `iskeyword`, support character range. +- Fix `triggerKind` of completion. +- Fix install extension from url not reloaded. + +# 2018-09-27 + +- **Break change**: `:CocDisable` disabled all events from vim. +- **Break change**: new snippet implementation. + - Support multiple line snippet. + - Support VSCode snippet extension. + - Support completion of snippets from snippet extension. +- Add highlight groups for different severity. +- Add `coc.preferences.formatOnType` option. +- Add `coc.preferences.snippets.enable` option. +- Fix snippet not works as `insertText`. +- Fix echo message with multiple lines. +- Fix `signatureHelp` with `showcmd` disabled. +- Fix location list cleared on `:lopen`. +- Fix diagnostic info not cleared on `:CocDisable` +- Fix diagnostic info not cleared on buffer unload. +- Fix buffer highlight not cleared on `highlight` action. +- Fix format on type not work as expected. + +# 2018-09-24 + +- **Break change**: use `CursorMove` instead of `CursorHold` for diagnostic + message. +- **Break change**: direct move to diagnostic position would show diagnostic + message without truncate. +- **Break change**: snippet would be canceled when mode changed to normal, no + mapping of `` any more. +- Add format document on `insertLeave` when `onTypeFormat` is supported. +- Add buffer operations on resource edit. +- Add `uninstall` action for `Denite coc-extension`. +- Fix active extension on command not working. +- Fix delete file from resource edit not works. + +# 2018-09-20 + +- Fix diagnostic check next offset for diagnostics. +- Add `(coc-diagnostic-info)` for show diagnostic message without + truncate. + +# 2018-09-15 + +- Fix wrong configuration on update. +- Fix install command with tag version. +- Fix using of unsafe `new Buffer`. +- Add support of trace format & resource operations. +- Add support of json validation for extension. +- Add support of format on save by `coc.preferences.formatOnSaveFiletypes` + +# 2018-09-10 + +- Add `Denite coc-extension` for manage extensions. +- Add actions for manage extension including `toggleExtension` `reloadExtension` + `deactivateExtension` +- Add check for extension update everyday. +- Fix extensions using same process of coc itself. +- Fix `configurationSection` should be null if none was specified. + +# 2018-09-07 + +- **Break change**: all extension all seperated from core, checkout + [Using coc extension](https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions) +- Fix `textDocumentSync` option not work when received as object. +- Fix wrong diagnostic info when using multiple lint servers. +- Use `CursorHold` for show diagnostic message. +- Add option `coc.preferences.enableMessage` to disable showing of diagnostic + message. +- Add new events module for receive vim events. +- Add support for `prepareRename`. +- Add support for `CodeActionOptions` + +# 2018-08-30 + +- Fix wrong `triggerKind` from VSCode. +- Add `(coc-openlink)` for open link. +- Add `typescript.jsx` as valid typescript type. + +# 2018-08-23 + +- Fix sometimes client status invalid. +- Add multiply provider support for all features. +- Add `documentLink` support +- Add `documentHighlight` support +- Add `foldingRange` support +- Add support of `documentSelector` same as VSCode + +# 2018-08-21 + +- Fix diagnostic and arguments of tsserver. +- Add `keepfocus` option for `open_terminal`. +- Improve error catch of autocmds. +- Add `onTypeFormat` feature for language server +- Add `onTypeFormat` support for tsserver. +- Refactor and more tests of workspace. +- Fix `window/showMessageRequest` request. +- Use `callAsync` for async request to vim. +- Add `CocActionAsync` function send async request to server. + +# 2018-08-17 + +- Fix exists terminal buffer not watched. +- Fix buffer not attached after `edit!`. +- Fix clean diagnostics of `tsserver.watchBuild` command. +- Fix refresh of buffer. +- Fix document not found on `BufEnter`. + + Use `rpcrequest` for `BufCreate` + +- Fix no permission of log file. + + Disable create log file for root user. + +- Add more command for tsserver: + + - `tsserver.reloadProjects` + - `tsserver.openTsServerLog` + - `tsserver.goToProjectConfig` + - `tsserver.restart` + +- Add test for workspace. + +# 2018-08-16 + +- Improved for tsserver: + + - Add `watchBuild` command for build current project with watch in terminal. + - Support of untitled buffer + - Support `projectRootPath` + +- Fix detach error of document. +- Fix trigger characters not works for some source. +- Fix document possible not sync before save. +- Fix denite errors with 0 as result. +- Fix wrong arguments of tsserver refactor command. +- Use `drop` for workspace `openResource`. +- Add clear coc signs on `:CocRestart`. +- **Break change** all buffer types except `nofile` `help` and `quickfix` are + watched for changes. + +# 2018-08-15 + +- Fix filter of completion items on fast input. +- Fix sometimes fails of include & neosnippet source. +- Fix sometimes fails to find global modules. +- Improve complete source initialization. + + - Always respect change of configuration. + +- Add ability to start standalone coc service for debugging. + + - Use `NVIM_LISTEN_ADDRESS=/tmp/nvim nvim` to start + neovim. + - Start coc server by command like `node bin/server.js` + +- Add ability to recover from unload buffer. + + Sometimes `bufReadPost` `BufEnter` could be not be fired on buffer create, + check buffer on `CursorHold` and `TextChanged` to fix this issue. + +- Add tsserver features: `tsserver.formatOnSave` and `tsserver.organizeImportOnSave` + + Both default to false. + +- Add tests for completion sources. + +# 2018-08-14 + +- Fix remote source not working. +- Fix sort of completion items. +- Fix EPIPE error from net module. +- Add `tslint.lintProject` command. +- Add config `coc.preferences.maxCompleteItemCount`. +- Add `g:coc_auto_copen`, default to `1`. + +# 2018-08-12 + +- **Break change** `:CocRefresh` replaced with `call CocAction('refreshSource')`. +- Add support filetype change of buffer. +- Add basic test for completion. +- Improve loading speed, use child process to initialize vim sources. +- Improve install.sh, install node when not exists. +- Improve interface of workspace. +- Fix loading of configuration content. + +# 2018-08-11 + +- Fix configuration content not saved on change. +- Fix thrown error on watchman not found. +- Fix incompatible options of `child_process`. +- Fix location list for diagnostics. + + - Reset on `BufWinEnter`. + - Available for all windows of single buffer. + - Use replace on change for coc location list. + - Add debounce. + +- Fix signature help behaviour, truncate messages to not overlap. +- Reworks sources use async import. + +# 2018-08-10 + +- Fix dispose for all modules. +- Add support for multiple `addWillSaveUntilListener`. +- Fix `startcol` for json server. +- Add support filetype `javascriptreact` for tsserver. + +# 2018-08-09 + +- Add `coc#util#install` for installation. +- Add `install.cmd` for windows. + +# 2018-08-08 + +- Improved location list for diagnostics. +- Add `internal` option to command. + + Commands registered by server are internal. + +- Add support for multiple save wait until requests. + +# 2018-08-07 + +- Add `forceFullSync` to language server option. + +# 2018-08-05 + +- Improve eslint extension to use workspaceFolder. +- Fix watchman not works with multiple roots. +- Add feature: dynamic root support for workspace. +- **Break change** output channel of watchman is removed. + +# 2018-08-04 + +- Fix order of document symbols. +- Fix completion snippet with `$variable`. +- Add feature: expand snippet on confirm. +- Add feature: `(coc-complete-custom)` for complete custom sources. + + Default customs sources: `emoji`, `include` and `word` + +- **Break change** `emoji` `include` used for all filetypes by default. + +# 2018-08-03 + +- Add command `:CocErrors` for debug. +- Support `DocumentSymbol` for 'textDocument/documentSymbol' + +# 2018-08-02 + +- Fix error of language client with unsupported schema. + + No document event fired for unsupported schema (eg: fugitive://) + +- Fix update empty configuration not works. + +# 2018-07-31 + +- Improve file source triggered with dirname started path. + +# 2018-07-30 + +- Fix source ultisnip not working. +- Fix custom language client with command not working. +- Fix wrong arguments passed to `runCommand` function. +- Improve module install, add `sudo` for `npm install` on Linux. +- Improve completion on backspace. + - Completion is resumed when search is empty. + - Completion is triggered when user try to fix search. + +# 2018-07-29 + +- **Break change** all servers are decoupled from coc.nvim + + A prompt for download is shown when server not found. + +- **Break change** `vim-node-rpc` decoupled from coc.nvim + + A prompt would be shown to help user install vim-node-rpc in vim. + +- Add command `CocConfig` + +# 2018-07-28 + +- Fix uncaught exception error on windows. +- Use plugin root for assets resolve. +- Fix emoji source not triggered by `:`. +- Improve file source to recognize `~` as user home. + +# 2018-07-27 + +- Prompt user for download server module with big extension like `vetur` and `wxml-langserver` +- **Break change**, section of settings changed: `cssserver.[languageId]` moved to `[languageId]` + + For example: `cssserver.css` section is moved to `css` section. + + This makes coc settings of css languages the same as VSCode. + +- **Break change**, `stylelint` extension is disabled by default, add + + ``` + "stylelint.enable": true, + ``` + + to your `coc-settings.json` to enable it. + + User will be prompted to download server if `stylelint-langserver` is not + installed globally. + +- **Break change**, `triggerAfterInsertEnter` is always `true`, add + + ``` + "coc.preferences.triggerAfterInsertEnter": false, + ``` + + to your `coc-settings.json` to disable it. + +- **Break change**, when `autoTrigger` is `always` completion would be triggered + after completion item select. + +# 2018-07-24 + +- better statusline integration with airline and lightline. + +# 2018-07-23 + +- Coc service start much faster. +- Add vim-node-rpc module. +- **Break change** global function `CocAutocmd` and `CocResult` are removed. +- Support Vue with vetur + +# 2018-07-21 + +- Fix issue with `completeopt`. +- Add source `neosnippet`. +- Add source `gocode`. + +# 2018-07-20 + +- Add documentation for language server debug. +- Rework register of functions, avoid undefined function. + +# 2018-07-19 + +- Fix error of `isFile` check. +- Ignore undefined function on service start. + +# 2018-07-17 + +- Add `coc.preference.jumpCommand` to settings. +- Make coc service standalone. + +# 2018-07-16 + +- Support arguments for `runCommand` action. +- Add coc command `workspace.showOutput`. +- Support output channel for language server. +- Support `[extension].trace.server` setting for trace server communication. + +# 2018-07-15 + +- Support location list for diagnostic. +- Add tsserver project errors command. + +# 2018-07-14 + +- Add support for `preselect` of complete item. +- Add support for socket language server configuration. +- Fix configured language server doesn't work. +- Add `workspace.diffDocument` coc command. +- Fix buffer sometimes not attached. +- Improve completion of JSON extension. + +# 2018-07-13 + +- **Break change:** `diagnostic` in setting.json changed to `diagnostic`. +- Fix clearHighlight arguments. +- Add eslint extension https://github.com/Microsoft/vscode-eslint. +- Fix snippet break with line have \$variable. +- Use jsonc-parser replace json5. +- Add `data/schema.json` for coc-settings.json. + +# 2018-07-12 + +- Fix restart of tsserver not working. +- Fix edit of current buffer change jumplist by using `:keepjumps`. diff --git a/private_dot_config/nvim/plugged/coc.nvim/package-lock.json b/private_dot_config/nvim/plugged/coc.nvim/package-lock.json new file mode 100644 index 0000000..a1e4c45 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/package-lock.json @@ -0,0 +1,6221 @@ +{ + "name": "coc.nvim-master", + "version": "0.0.80", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/compat-data": { + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.4.tgz", + "integrity": "sha512-i2wXrWQNkH6JplJQGn3Rd2I4Pij8GdHkXwHMxm+zV5YG/Jci+bCNrWZEWC4o+umiDkRrRs4dVzH3X4GP7vyjQQ==", + "dev": true + }, + "@babel/core": { + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz", + "integrity": "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.14.3", + "@babel/helper-compilation-targets": "^7.13.16", + "@babel/helper-module-transforms": "^7.14.2", + "@babel/helpers": "^7.14.0", + "@babel/parser": "^7.14.3", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.14.2", + "@babel/types": "^7.14.2", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.3.tgz", + "integrity": "sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.2", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.4.tgz", + "integrity": "sha512-JgdzOYZ/qGaKTVkn5qEDV/SXAh8KcyUVkCoSWGN8T3bwrgd6m+/dJa2kVGi6RJYJgEYPBdZ84BZp9dUjNWkBaA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.4", + "@babel/helper-validator-option": "^7.12.17", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz", + "integrity": "sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.14.2" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", + "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", + "dev": true, + "requires": { + "@babel/types": "^7.13.12" + } + }, + "@babel/helper-module-imports": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", + "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", + "dev": true, + "requires": { + "@babel/types": "^7.13.12" + } + }, + "@babel/helper-module-transforms": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz", + "integrity": "sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.13.12", + "@babel/helper-replace-supers": "^7.13.12", + "@babel/helper-simple-access": "^7.13.12", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.14.0", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.14.2", + "@babel/types": "^7.14.2" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", + "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz", + "integrity": "sha512-zZ7uHCWlxfEAAOVDYQpEf/uyi1dmeC7fX4nCf2iz9drnCwi1zvwXL3HwWWNXUQEJ1k23yVn3VbddiI9iJEXaTQ==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.13.12", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.14.2", + "@babel/types": "^7.14.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", + "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", + "dev": true, + "requires": { + "@babel/types": "^7.13.12" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", + "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", + "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", + "dev": true + }, + "@babel/helpers": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz", + "integrity": "sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==", + "dev": true, + "requires": { + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.14.0", + "@babel/types": "^7.14.0" + } + }, + "@babel/highlight": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", + "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.0", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.4.tgz", + "integrity": "sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA==", + "dev": true + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.2.tgz", + "integrity": "sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.14.2", + "@babel/helper-function-name": "^7.14.2", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.14.2", + "@babel/types": "^7.14.2", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.4.tgz", + "integrity": "sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.0", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@chemzqm/neovim": { + "version": "5.2.12", + "resolved": "https://registry.npmjs.org/@chemzqm/neovim/-/neovim-5.2.12.tgz", + "integrity": "sha512-MmnFaF7P8Sw/WsselXtoexTUxPJGWupUDMTz0T76mWU+M61TXt213UBgxA/idr7ZSCnFTyujDVqcaL5xYd9tig==", + "requires": { + "msgpack-lite": "^0.1.26" + } + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@eslint/eslintrc": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz", + "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + } + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + } + }, + "@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + } + }, + "@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "node-notifier": "^8.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + } + }, + "@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "dev": true, + "requires": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + } + }, + "@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz", + "integrity": "sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, + "@types/babel__core": { + "version": "7.1.14", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz", + "integrity": "sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", + "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz", + "integrity": "sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/cli-table": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@types/cli-table/-/cli-table-0.3.0.tgz", + "integrity": "sha512-QnZUISJJXyhyD6L1e5QwXDV/A5i2W1/gl6D6YMc8u0ncPepbv/B4w3S+izVvtAg60m6h+JP09+Y/0zF2mojlFQ==", + "dev": true + }, + "@types/debounce": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-3.0.0.tgz", + "integrity": "sha512-SbehVj+zL0QFTufW3HP/Xvwr/kFWw1sFMLCvmyJdp5Xegbo81sqA2tByWlyeryvSwWBrY4drpLOtGPh0fkxjCQ==", + "dev": true + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "dev": true + }, + "@types/fb-watchman": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha512-Ao2jlksPEUGCEXBvJz5e2MuDpYUtxXgtUk45cg0g5Mmy4f0j7bQuDlOlqBMgKGRl9dZAK4ZTzFtukuzj2mURlQ==", + "dev": true, + "requires": { + "@types/events": "*" + } + }, + "@types/fs-extra": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.6.tgz", + "integrity": "sha512-ecNRHw4clCkowNOBJH1e77nvbPxHYnWIXMv1IAoG/9+MYGkgoyr3Ppxr7XYFNL41V422EDhyV4/4SSK8L2mlig==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "26.0.18", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.18.tgz", + "integrity": "sha512-scDPs+mELZgsFetTgBSsIxKGrlitn9t/d2ecP+S1QSIGD+31fkMBEftLfOAX5k3tU06/0PjreJIQ+gWEbbHqpw==", + "dev": true, + "requires": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true + }, + "@types/marked": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-1.2.1.tgz", + "integrity": "sha512-d5adCgRHB+NAme23hkiTkvpfZUDqoNtL2Sr2nZBJqSj3zyHLxsfFWsGQ2sK2z9aX6L1xkJzon2c0jTPcsEjpaQ==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/minipass": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@types/minipass/-/minipass-2.2.0.tgz", + "integrity": "sha512-wuzZksN4w4kyfoOv/dlpov4NOunwutLA/q7uc00xU02ZyUY+aoM5PWIXEKBMnm0NHd4a+N71BMjq+x7+2Af1fg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/mkdirp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-1.0.1.tgz", + "integrity": "sha512-HkGSK7CGAXncr8Qn/0VqNtExEE+PHMWb+qlR1faHMao7ng6P3tAaoWWBMdva0gL5h4zprjIO89GJOLXsMcDm1Q==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "10.17.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.35.tgz", + "integrity": "sha512-gXx7jAWpMddu0f7a+L+txMplp3FnHl53OhQIF9puXKq3hDGY/GjH+MF04oWnV/adPSCrbtHumDCFwzq2VhltWA==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "@types/prettier": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.2.3.tgz", + "integrity": "sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA==", + "dev": true + }, + "@types/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", + "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", + "dev": true + }, + "@types/tar": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/tar/-/tar-4.0.4.tgz", + "integrity": "sha512-0Xv+xcmkTsOZdIF4yCnd7RkOOyfyqPaqJ7RZFKnwdxfDbkN3eAAE9sHl8zJFqBz4VhxolW9EErbjR1oyH7jK2A==", + "dev": true, + "requires": { + "@types/minipass": "*", + "@types/node": "*" + } + }, + "@types/uuid": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.0.tgz", + "integrity": "sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==", + "dev": true + }, + "@types/which": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/which/-/which-1.3.2.tgz", + "integrity": "sha512-8oDqyLC7eD4HM307boe2QWKyuzdzWBj56xI/imSl2cpL+U3tCMaTAkMJ4ee5JBZ/FsOJlvRGeIShiZDAl1qERA==", + "dev": true + }, + "@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.11.1.tgz", + "integrity": "sha512-fABclAX2QIEDmTMk6Yd7Muv1CzFLwWM4505nETzRHpP3br6jfahD9UUJkhnJ/g2m7lwfz8IlswcwGGPGiq9exw==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.11.1", + "@typescript-eslint/scope-manager": "4.11.1", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.11.1.tgz", + "integrity": "sha512-mAlWowT4A6h0TC9F+J5pdbEhjNiEMO+kqPKQ4sc3fVieKL71dEqfkKgtcFVSX3cjSBwYwhImaQ/mXQF0oaI38g==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.11.1", + "@typescript-eslint/types": "4.11.1", + "@typescript-eslint/typescript-estree": "4.11.1", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.11.1.tgz", + "integrity": "sha512-BJ3jwPQu1jeynJ5BrjLuGfK/UJu6uwHxJ/di7sanqmUmxzmyIcd3vz58PMR7wpi8k3iWq2Q11KMYgZbUpRoIPw==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "4.11.1", + "@typescript-eslint/types": "4.11.1", + "@typescript-eslint/typescript-estree": "4.11.1", + "debug": "^4.1.1" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.11.1.tgz", + "integrity": "sha512-Al2P394dx+kXCl61fhrrZ1FTI7qsRDIUiVSuN6rTwss6lUn8uVO2+nnF4AvO0ug8vMsy3ShkbxLu/uWZdTtJMQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.11.1", + "@typescript-eslint/visitor-keys": "4.11.1" + } + }, + "@typescript-eslint/types": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.11.1.tgz", + "integrity": "sha512-5kvd38wZpqGY4yP/6W3qhYX6Hz0NwUbijVsX2rxczpY6OXaMxh0+5E5uLJKVFwaBM7PJe1wnMym85NfKYIh6CA==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.11.1.tgz", + "integrity": "sha512-tC7MKZIMRTYxQhrVAFoJq/DlRwv1bnqA4/S2r3+HuHibqvbrPcyf858lNzU7bFmy4mLeIHFYr34ar/1KumwyRw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.11.1", + "@typescript-eslint/visitor-keys": "4.11.1", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.11.1.tgz", + "integrity": "sha512-IrlBhD9bm4bdYcS8xpWarazkKXlE7iYb1HzRuyBP114mIaj5DJPo11Us1HgH60dTt41TCZXMaTCAW+OILIYPOg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.11.1", + "eslint-visitor-keys": "^2.0.0" + } + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.0.0.tgz", + "integrity": "sha512-6564t0m0fuQMnockqBv7wJxo9T5C2V9JpYXyNScfRDPVLusOQQhkpMGrFC17QbiolraQ1sMXX+Y5nJpjqozL4g==" + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "dev": true, + "requires": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", + "requires": { + "buffers": "~0.1.1", + "chainsaw": "~0.1.0" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "browserslist": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + } + }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=" + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001235", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001235.tgz", + "integrity": "sha512-zWEwIVqnzPkSAXOUlQnPW2oKoYb2aLQ4Q5ejdjBcnH63rfypaW34CxaeBn1VMya2XaEU3P/R2qHpWyj+l0BT1A==", + "dev": true + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + } + }, + "chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", + "requires": { + "traverse": ">=0.3.0 <0.4" + } + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + } + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "chokidar": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cli-table": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.4.tgz", + "integrity": "sha512-1vinpnX/ZERcmE443i3SZTmU5DF0rPO9DrL4I2iVAllhxzCM9SzPlHnz19fsZB78htkKZvYBvj6SZ6vXnaxmTA==", + "requires": { + "chalk": "^2.4.1", + "string-width": "^4.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "comment-parser": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.6.tgz", + "integrity": "sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg==", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "date-format": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", + "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==" + }, + "debounce": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", + "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "requires": { + "mimic-response": "^3.1.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "electron-to-chromium": { + "version": "1.3.749", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.749.tgz", + "integrity": "sha512-F+v2zxZgw/fMwPz/VUGIggG4ZndDsYy0vlpthi3tjmDZlcfbhN5mYW0evXUsBr2sUtuDANFtle410A9u/sd/4A==", + "dev": true + }, + "emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", + "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.10.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "esbuild": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.7.tgz", + "integrity": "sha512-vxENKWBo928ErLiT/uUv8Sl2EoC5cF3cZzCTc8hDEh9ZAZ75xblJCr72NeJo74lxWaGopIePZPIWq1qDpLUHQQ==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.15.0.tgz", + "integrity": "sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.2.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.0", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + } + } + }, + "eslint-plugin-jest": { + "version": "24.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.1.3.tgz", + "integrity": "sha512-dNGGjzuEzCE3d5EPZQ/QGtmlMotqnYWD/QpCZ1UuZlrMAdhG5rldh0N0haCvhGnUkSeuORS5VNROwF9Hrgn3Lg==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "^4.0.1" + } + }, + "eslint-plugin-jsdoc": { + "version": "30.7.13", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.13.tgz", + "integrity": "sha512-YM4WIsmurrp0rHX6XiXQppqKB8Ne5ATiZLJe2+/fkp9l9ExXFr43BbAbjZaVrpCT+tuPYOZ8k1MICARHnURUNQ==", + "dev": true, + "requires": { + "comment-parser": "^0.7.6", + "debug": "^4.3.1", + "jsdoctypeparser": "^9.0.0", + "lodash": "^4.17.20", + "regextras": "^0.7.1", + "semver": "^7.3.4", + "spdx-expression-parse": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "event-lite": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/event-lite/-/event-lite-0.1.2.tgz", + "integrity": "sha512-HnSYx1BsJ87/p6swwzv+2v6B4X+uxUteoDfRxsAb1S1BePzQqOLevVmkdA15GHJVd9A9Ok6wygUR18Hu0YeV9g==" + }, + "exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" + }, + "fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastq": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", + "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "requires": { + "bser": "2.1.1" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "dependencies": { + "flatted": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" + }, + "follow-redirects": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", + "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "globby": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", + "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true, + "optional": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "int64-buffer": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.1.10.tgz", + "integrity": "sha1-J3siiofZWtd30HwTgyAiQGpHNCM=" + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "optional": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==" + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "optional": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "isuri": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/isuri/-/isuri-2.0.3.tgz", + "integrity": "sha1-NDcSHbL+Za8LoIC34ahjb2MsypE=", + "requires": { + "rfc-3986": "1.0.1" + } + }, + "jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "dev": true, + "requires": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "dependencies": { + "jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "dev": true, + "requires": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + } + } + } + }, + "jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + } + } + }, + "jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + } + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + } + }, + "jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + } + }, + "jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true + }, + "jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + } + }, + "jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "dev": true, + "requires": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + } + }, + "jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true + }, + "jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true + }, + "jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + } + }, + "jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + } + }, + "jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + } + }, + "jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "dev": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" + } + }, + "jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + } + }, + "jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + } + } + }, + "jest-watcher": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "dev": true, + "requires": { + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" + } + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsdoctypeparser": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz", + "integrity": "sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==", + "dev": true + }, + "jsdom": { + "version": "16.6.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz", + "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==", + "dev": true, + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.5", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.3.0.tgz", + "integrity": "sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==", + "dev": true + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonc-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", + "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + }, + "dependencies": { + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + } + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "log4js": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz", + "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==", + "requires": { + "date-format": "^3.0.0", + "debug": "^4.1.1", + "flatted": "^2.0.1", + "rfdc": "^1.1.4", + "streamroller": "^2.2.4" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "marked": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.5.tgz", + "integrity": "sha512-2AlqgYnVPOc9WDyWu7S5DJaEZsfk6dNh/neatQ3IHUW4QLutM/VPSH9lG7bif+XjFWc9K9XR3QvR+fXuECmfdA==" + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "mime-db": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", + "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.31", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", + "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", + "dev": true, + "requires": { + "mime-db": "1.48.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "msgpack-lite": { + "version": "0.1.26", + "resolved": "https://registry.npmjs.org/msgpack-lite/-/msgpack-lite-0.1.26.tgz", + "integrity": "sha1-3TxQsm8FnyXn7e42REGDWOKprYk=", + "requires": { + "event-lite": "^0.1.1", + "ieee754": "^1.1.8", + "int64-buffer": "^0.1.9", + "isarray": "^1.0.0" + } + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-notifier": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", + "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", + "dev": true, + "optional": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "optional": true + } + } + }, + "node-releases": { + "version": "1.1.73", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", + "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + } + } + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", + "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + } + } + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise.prototype.finally": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.2.tgz", + "integrity": "sha512-A2HuJWl2opDH0EafgdjwEw7HysI8ff/n4lW4QEVBCUXFk9QeGecBWv0Deph0UmLe3tTNYegz8MOjsVuE6SMoJA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.0", + "function-bind": "^1.1.1" + } + }, + "prompts": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", + "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + } + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, + "regextras": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.1.tgz", + "integrity": "sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rfc-3986": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rfc-3986/-/rfc-3986-1.0.1.tgz", + "integrity": "sha1-7uuINC+tvoAnwPNq2pIaE+b5YgY=" + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", + "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "streamroller": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz", + "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==", + "requires": { + "date-format": "^2.1.0", + "debug": "^4.1.1", + "fs-extra": "^8.1.0" + }, + "dependencies": { + "date-format": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", + "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + } + } + }, + "string.prototype.matchall": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.3.tgz", + "integrity": "sha512-OBxYDA2ifZQ2e13cP82dWFMaCV9CGF8GzmN4fljBVw5O5wep0lu4gacm1OL6MjROoUnB8VbkWRThqkV2YFLNxw==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has-symbols": "^1.0.1", + "internal-slot": "^1.0.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.3" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tar": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz", + "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + }, + "dependencies": { + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=" + }, + "ts-jest": { + "version": "26.4.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", + "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", + "dev": true, + "requires": { + "@types/jest": "26.x", + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^26.1.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "mkdirp": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "dependencies": { + "yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true + } + } + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz", + "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "unzip-stream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unzip-stream/-/unzip-stream-0.3.1.tgz", + "integrity": "sha512-RzaGXLNt+CW+T41h1zl6pGz3EaeVhYlK+rdAap+7DxW5kqsqePO8kRtWPaCiVqdhZc86EctSPVYNix30YOMzmw==", + "requires": { + "binary": "^0.3.0", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + } + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "v8-to-istanbul": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", + "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vscode-jsonrpc": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-5.0.1.tgz", + "integrity": "sha512-JvONPptw3GAQGXlVV2utDcHx0BiY34FupW/kI6mZ5x06ER5DdPG/tXWMVHjTNULF5uKPOUUD0SaXg5QaubJL0A==" + }, + "vscode-languageserver": { + "version": "7.1.0-next.4", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.1.0-next.4.tgz", + "integrity": "sha512-/65lxR/CuLJoOdzTjOTYUPWS7k5qzaWese4PObnWc6jwLryUrSa7DslYfaRXigh5/xr1nlaUZCcJwkpgM0wFvw==", + "dev": true, + "requires": { + "vscode-languageserver-protocol": "3.17.0-next.5" + }, + "dependencies": { + "vscode-jsonrpc": { + "version": "6.1.0-next.2", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.1.0-next.2.tgz", + "integrity": "sha512-nkiNDGI+Ytp7uj1lxHXddXCoEunhcry1D+KmVHBfUUgWT9jMF8ZJyH5KQObdF+OGAh7bXZxD/SV4uGwSCeHHWA==", + "dev": true + }, + "vscode-languageserver-protocol": { + "version": "3.17.0-next.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.0-next.5.tgz", + "integrity": "sha512-LFZ6WMB3iPezQAU9OnGoERzcIVKhcs0OLfD/NHcqSj3g1wgxuLUL5kSlZbbjFySQCmhzm6b0yb3hjTSeBtq1+w==", + "dev": true, + "requires": { + "vscode-jsonrpc": "6.1.0-next.2", + "vscode-languageserver-types": "3.17.0-next.1" + } + }, + "vscode-languageserver-types": { + "version": "3.17.0-next.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.1.tgz", + "integrity": "sha512-VGzh06oynbYa6JbTKUbxOEZN7CYEtWhN7DK5wfzUpeCJl8X8xZX39g2PVfpqXrIEduu7dcJgK007KgnX9tHNKA==", + "dev": true + } + } + }, + "vscode-languageserver-protocol": { + "version": "3.15.3", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.15.3.tgz", + "integrity": "sha512-zrMuwHOAQRhjDSnflWdJG+O2ztMWss8GqUUB8dXLR/FPenwkiBNkMIJJYfSN6sgskvsF0rHAoBowNQfbyZnnvw==", + "requires": { + "vscode-jsonrpc": "^5.0.1", + "vscode-languageserver-types": "3.15.1" + } + }, + "vscode-languageserver-textdocument": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz", + "integrity": "sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA==" + }, + "vscode-languageserver-types": { + "version": "3.15.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz", + "integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ==" + }, + "vscode-uri": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", + "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==" + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.5.0.tgz", + "integrity": "sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg==", + "dev": true, + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "dev": true + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } +} diff --git a/private_dot_config/nvim/plugged/coc.nvim/package.json b/private_dot_config/nvim/plugged/coc.nvim/package.json new file mode 100644 index 0000000..e704458 --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/package.json @@ -0,0 +1,50 @@ +{ + "name": "coc.nvim", + "version": "0.0.80", + "description": "LSP based intellisense engine for neovim & vim8.", + "main": "./lib/index.js", + "engines": { + "node": ">=8.10.0" + }, + "scripts": {}, + "repository": { + "type": "git", + "url": "git+https://github.com/neoclide/coc.nvim.git" + }, + "keywords": [ + "complete", + "neovim" + ], + "author": "Qiming Zhao ", + "license": "MIT", + "bugs": { + "url": "https://github.com/neoclide/coc.nvim/issues" + }, + "homepage": "https://github.com/neoclide/coc.nvim#readme", + "jest": { + "globals": { + "__TEST__": true + }, + "projects": [ + "" + ], + "watchman": false, + "clearMocks": true, + "globalSetup": "./jest.js", + "testEnvironment": "node", + "moduleFileExtensions": [ + "ts", + "tsx", + "json", + "js" + ], + "transform": { + "^.+\\.tsx?$": "ts-jest" + }, + "testRegex": "src/__tests__/.*\\.(test|spec)\\.ts$", + "coverageDirectory": "./coverage/" + }, + "devDependencies": {}, + "dependencies": {} +} + diff --git a/private_dot_config/nvim/plugged/coc.nvim/plugin/coc.vim b/private_dot_config/nvim/plugged/coc.nvim/plugin/coc.vim new file mode 100644 index 0000000..66f995d --- /dev/null +++ b/private_dot_config/nvim/plugged/coc.nvim/plugin/coc.vim @@ -0,0 +1,583 @@ +scriptencoding utf-8 +if exists('g:did_coc_loaded') || v:version < 800 + finish +endif + +function! s:checkVersion() abort + let l:unsupported = 0 + if get(g:, 'coc_disable_startup_warning', 0) != 1 + if has('nvim') + let l:unsupported = !has('nvim-0.3.2') + else + let l:unsupported = !has('patch-8.0.1453') + endif + + if l:unsupported == 1 + echohl Error + echom "coc.nvim requires at least Vim 8.0.1453 or Neovim 0.3.2, but you're using an older version." + echom "Please upgrade your (neo)vim." + echom "You can add this to your vimrc to avoid this message:" + echom " let g:coc_disable_startup_warning = 1" + echom "Note that some features may error out or behave incorrectly." + echom "Please do not report bugs unless you're using at least Vim 8.0.1453 or Neovim 0.3.2." + echohl None + sleep 2 + else + if !has('nvim-0.4.0') && !has('patch-8.1.1719') + echohl WarningMsg + echom "coc.nvim works best on vim >= 8.1.1719 and neovim >= 0.4.0, consider upgrade your vim." + echom "You can add this to your vimrc to avoid this message:" + echom " let g:coc_disable_startup_warning = 1" + echom "Note that some features may behave incorrectly." + echohl None + sleep 2 + endif + endif + endif +endfunction + +call s:checkVersion() + +let g:did_coc_loaded = 1 +let g:coc_service_initialized = 0 +let s:is_win = has('win32') || has('win64') +let s:root = expand(':h:h') +let s:is_vim = !has('nvim') +let s:is_gvim = get(v:, 'progname', '') ==# 'gvim' + +if get(g:, 'coc_start_at_startup', 1) && !s:is_gvim + call coc#rpc#start_server() +endif + +function! CocTagFunc(pattern, flags, info) abort + if a:flags !=# 'c' + " use standard tag search + return v:null + endif + return coc#rpc#request('getTagList', []) +endfunction + +function! CocPopupCallback(bufnr, arglist) abort + if len(a:arglist) == 2 + if a:arglist[0] == 'confirm' + call coc#rpc#notify('PromptInsert', [a:arglist[1]]) + elseif a:arglist[0] == 'exit' + execute 'silent! bd! '.a:bufnr + "call coc#rpc#notify('PromptUpdate', [a:arglist[1]]) + endif + endif +endfunction + +function! CocAction(name, ...) abort + if !get(g:, 'coc_service_initialized', 0) + throw 'coc.nvim not ready when invoke CocAction "'.a:name.'"' + endif + return coc#rpc#request(a:name, a:000) +endfunction + +function! CocHasProvider(name) abort + return coc#rpc#request('hasProvider', [a:name]) +endfunction + +function! CocActionAsync(name, ...) abort + return s:AsyncRequest(a:name, a:000) +endfunction + +function! CocRequest(...) abort + return coc#rpc#request('sendRequest', a:000) +endfunction + +function! CocNotify(...) abort + return coc#rpc#request('sendNotification', a:000) +endfunction + +function! CocRegistNotification(id, method, cb) abort + call coc#on_notify(a:id, a:method, a:cb) +endfunction + +function! CocLocations(id, method, ...) abort + let args = [a:id, a:method] + copy(a:000) + call coc#rpc#request('findLocations', args) +endfunction + +function! CocLocationsAsync(id, method, ...) abort + let args = [a:id, a:method] + copy(a:000) + call coc#rpc#notify('findLocations', args) +endfunction + +function! CocRequestAsync(...) + return s:AsyncRequest('sendRequest', a:000) +endfunction + +function! s:AsyncRequest(name, args) abort + let Cb = empty(a:args)? v:null : a:args[len(a:args) - 1] + if type(Cb) == 2 + if !coc#rpc#ready() + call Cb('service not started', v:null) + else + call coc#rpc#request_async(a:name, a:args[0:-2], Cb) + endif + return '' + endif + call coc#rpc#notify(a:name, a:args) + return '' +endfunction + +function! s:CommandList(...) abort + let list = coc#rpc#request('commandList', a:000) + return join(list, "\n") +endfunction + +function! s:ExtensionList(...) abort + let stats = CocAction('extensionStats') + call filter(stats, 'v:val["isLocal"] == v:false') + let list = map(stats, 'v:val["id"]') + return join(list, "\n") +endfunction + +function! s:SearchOptions(...) abort + let list = ['-e', '--regexp', '-F', '--fixed-strings', '-L', '--follow', + \ '-g', '--glob', '--hidden', '--no-hidden', '--no-ignore-vcs', + \ '--word-regexp', '-w', '--smart-case', '-S', '--no-config', + \ '--line-regexp', '--no-ignore', '-x'] + return join(list, "\n") +endfunction + +function! s:LoadedExtensions(...) abort + let list = CocAction('loadedExtensions') + return join(list, "\n") +endfunction + +function! s:InstallOptions(...)abort + let list = ['-terminal', '-sync'] + return join(list, "\n") +endfunction + +function! s:OpenConfig() + let home = coc#util#get_config_home() + if !isdirectory(home) + echohl MoreMsg + echom 'Config directory "'.home.'" not exists, create? (y/n)' + echohl None + let confirm = nr2char(getchar()) + redraw! + if !(confirm ==? "y" || confirm ==? "\r") + return + else + call mkdir(home, 'p') + end + endif + execute 'edit '.home.'/coc-settings.json' + call coc#rpc#notify('checkJsonExtension', []) +endfunction + +function! s:get_color(item, fallback) abort + let t = type(a:item) + if t == 1 + return a:item + endif + if t == 4 + let item = get(a:item, 'gui', {}) + let color = get(item, &background, a:fallback) + return type(color) == 1 ? color : a:fallback + endif + return a:fallback +endfunction + +function! s:AddAnsiGroups() abort + let color_map = {} + let colors = ['#282828', '#cc241d', '#98971a', '#d79921', '#458588', '#b16286', '#689d6a', '#a89984', '#928374'] + let names = ['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white', 'grey'] + for i in range(0, len(names) - 1) + let name = names[i] + if exists('g:terminal_ansi_colors') + let color_map[name] = s:get_color(get(g:terminal_ansi_colors, i, colors[i]), colors[i]) + else + let color_map[name] = get(g:, 'terminal_color_'.i, colors[i]) + endif + endfor + try + for name in keys(color_map) + let foreground = toupper(name[0]).name[1:] + let foregroundColor = color_map[name] + for key in keys(color_map) + let background = toupper(key[0]).key[1:] + let backgroundColor = color_map[key] + exe 'hi default CocList'.foreground.background.' guifg='.foregroundColor.' guibg='.backgroundColor + endfor + exe 'hi default CocListFg'.foreground. ' guifg='.foregroundColor. ' ctermfg='.foreground + exe 'hi default CocListBg'.foreground. ' guibg='.foregroundColor. ' ctermbg='.foreground + endfor + catch /.*/ + " ignore invalid color + endtry +endfunction + +function! s:CursorRangeFromSelected(type, ...) abort + " add range by operator + call coc#rpc#request('cursorsSelect', [bufnr('%'), 'operator', a:type]) +endfunction + +function! s:OpenDiagnostics(...) abort + let height = get(a:, 1, 0) + call coc#rpc#request('fillDiagnostics', [bufnr('%')]) + if height + execute ':lopen '.height + else + lopen + endif +endfunction + +function! s:Disable() abort + if get(g:, 'coc_enabled', 0) == 0 + return + endif + augroup coc_nvim + autocmd! + augroup end + call coc#rpc#request('detach', []) + echohl MoreMsg + echom '[coc.nvim] Event disabled' + echohl None + let g:coc_enabled = 0 +endfunction + +function! s:Autocmd(...) abort + if !g:coc_service_initialized + return + endif + call coc#rpc#notify('CocAutocmd', a:000) +endfunction + +function! s:SyncAutocmd(...) + if !g:coc_service_initialized + return + endif + call coc#rpc#request('CocAutocmd', a:000) +endfunction + +function! s:Enable(initialize) + if get(g:, 'coc_enabled', 0) == 1 + return + endif + let g:coc_enabled = 1 + + augroup coc_nvim + autocmd! + + if exists('##MenuPopupChanged') && exists('*nvim_open_win') + autocmd MenuPopupChanged * call s:Autocmd('MenuPopupChanged', get(v:, 'event', {}), win_screenpos(winnr())[0] + winline() - 2) + endif + if exists('##CompleteChanged') + autocmd CompleteChanged * call s:Autocmd('MenuPopupChanged', get(v:, 'event', {}), win_screenpos(winnr())[0] + winline() - 2) + endif + + if coc#rpc#started() + autocmd VimEnter * call coc#rpc#notify('VimEnter', []) + elseif get(g:, 'coc_start_at_startup', 1) + autocmd VimEnter * call coc#rpc#start_server() + endif + if s:is_vim + if exists('##DirChanged') + autocmd DirChanged * call s:Autocmd('DirChanged', getcwd()) + endif + if exists('##TerminalOpen') + autocmd TerminalOpen * call s:Autocmd('TermOpen', +expand('')) + endif + else + autocmd DirChanged * call s:Autocmd('DirChanged', get(v:event, 'cwd', '')) + autocmd TermOpen * call s:Autocmd('TermOpen', +expand('')) + autocmd TermClose * call s:Autocmd('TermClose', +expand('')) + autocmd CursorMoved * call coc#float#nvim_refresh_scrollbar(win_getid()) + autocmd WinEnter * call coc#float#nvim_win_enter(win_getid()) + if exists('##WinClosed') + autocmd WinClosed * call coc#float#close_related(+expand('')) + autocmd WinClosed * call s:Autocmd('WinClosed', +expand('')) + endif + endif + if has('nvim-0.4.0') || has('patch-8.1.1719') + autocmd CursorHold * call coc#float#check_related() + endif + autocmd WinLeave * call s:Autocmd('WinLeave', win_getid()) + autocmd WinEnter * call s:Autocmd('WinEnter', win_getid()) + autocmd BufWinLeave * call s:Autocmd('BufWinLeave', +expand(''), bufwinid(+expand(''))) + autocmd BufWinEnter * call s:Autocmd('BufWinEnter', +expand(''), win_getid()) + autocmd FileType * call s:Autocmd('FileType', expand(''), +expand('')) + autocmd CompleteDone * call s:Autocmd('CompleteDone', get(v:, 'completed_item', {})) + autocmd InsertCharPre * call s:Autocmd('InsertCharPre', v:char, bufnr('%')) + if exists('##TextChangedP') + autocmd TextChangedP * call s:Autocmd('TextChangedP', +expand(''), {'lnum': line('.'), 'col': col('.'), 'pre': strpart(getline('.'), 0, col('.') - 1), 'changedtick': b:changedtick}) + endif + autocmd TextChangedI * call s:Autocmd('TextChangedI', +expand(''), {'lnum': line('.'), 'col': col('.'), 'pre': strpart(getline('.'), 0, col('.') - 1), 'changedtick': b:changedtick}) + autocmd InsertLeave * call s:Autocmd('InsertLeave', +expand('')) + autocmd InsertEnter * call s:Autocmd('InsertEnter', +expand('')) + autocmd BufHidden * call s:Autocmd('BufHidden', +expand('')) + autocmd BufEnter * call s:Autocmd('BufEnter', +expand('')) + autocmd TextChanged * call s:Autocmd('TextChanged', +expand(''), getbufvar(+expand(''), 'changedtick')) + autocmd BufWritePost * call s:Autocmd('BufWritePost', +expand('')) + autocmd CursorMoved * call s:Autocmd('CursorMoved', +expand(''), [line('.'), col('.')]) + autocmd CursorMovedI * call s:Autocmd('CursorMovedI', +expand(''), [line('.'), col('.')]) + autocmd CursorHold * call s:Autocmd('CursorHold', +expand('')) + autocmd CursorHoldI * call s:Autocmd('CursorHoldI', +expand('')) + autocmd BufNewFile,BufReadPost * call s:Autocmd('BufCreate', +expand('')) + autocmd BufUnload * call s:Autocmd('BufUnload', +expand('')) + autocmd BufWritePre * call s:SyncAutocmd('BufWritePre', +expand('')) + autocmd FocusGained * if mode() !~# '^c' | call s:Autocmd('FocusGained') | endif + autocmd FocusLost * call s:Autocmd('FocusLost') + autocmd VimResized * call s:Autocmd('VimResized', &columns, &lines) + autocmd VimLeavePre * let g:coc_vim_leaving = 1 + autocmd BufReadCmd,FileReadCmd,SourceCmd list://* call coc#list#setup(expand('')) + autocmd BufWriteCmd __coc_refactor__* :call coc#rpc#notify('saveRefactor', [+expand('')]) + autocmd ColorScheme * call s:Hi() + augroup end + if a:initialize == 0 + call coc#rpc#request('attach', []) + echohl MoreMsg + echom '[coc.nvim] Event enabled' + echohl None + endif +endfunction + +function! s:Hi() abort + hi default CocErrorSign ctermfg=Red guifg=#ff0000 guibg=NONE + hi default CocWarningSign ctermfg=Brown guifg=#ff922b guibg=NONE + hi default CocInfoSign ctermfg=Yellow guifg=#fab005 guibg=NONE + hi default CocHintSign ctermfg=Blue guifg=#15aabf guibg=NONE + hi default CocSelectedText ctermfg=Red guifg=#fb4934 guibg=NONE + hi default CocCodeLens ctermfg=Gray guifg=#999999 guibg=NONE + hi default CocUnderline cterm=underline gui=underline + hi default CocBold term=bold cterm=bold gui=bold + hi default CocItalic term=italic cterm=italic gui=italic + if s:is_vim || has('nvim-0.4.0') + hi default CocStrikeThrough cterm=strikethrough gui=strikethrough + else + hi default CocStrikeThrough guifg=#989898 ctermfg=gray + endif + hi default CocMarkdownLink ctermfg=Blue guifg=#15aabf guibg=NONE + hi default link CocFadeOut Conceal + hi default link CocMarkdownCode markdownCode + hi default link CocMarkdownHeader markdownH1 + hi default link CocMenuSel PmenuSel + hi default link CocErrorFloat CocErrorSign + hi default link CocWarningFloat CocWarningSign + hi default link CocInfoFloat CocInfoSign + hi default link CocHintFloat CocHintSign + hi default link CocErrorHighlight CocUnderline + hi default link CocWarningHighlight CocUnderline + hi default link CocInfoHighlight CocUnderline + hi default link CocHintHighlight CocUnderline + hi default link CocDeprecatedHighlight CocStrikeThrough + hi default link CocUnusedHighlight CocFadeOut + hi default link CocListMode ModeMsg + hi default link CocListPath Comment + hi default link CocHighlightText CursorColumn + hi default link CocHoverRange Search + hi default link CocCursorRange Search + hi default link CocHighlightRead CocHighlightText + hi default link CocHighlightWrite CocHighlightText + " Tree view highlights + hi default link CocTreeTitle Title + hi default link CocTreeDescription Comment + hi default link CocTreeOpenClose CocBold + hi default link CocTreeSelected CursorLine + hi default link CocSelectedRange CocHighlightText + " Symbol highlights + hi default link CocSymbolDefault MoreMsg + hi default link CocSymbolFile Statement + hi default link CocSymbolModule Statement + hi default link CocSymbolNamespace Statement + hi default link CocSymbolPackage Statement + hi default link CocSymbolClass Statement + hi default link CocSymbolMethod Function + hi default link CocSymbolProperty Keyword + hi default link CocSymbolField CocSymbolDefault + hi default link CocSymbolConstructor Function + hi default link CocSymbolEnum CocSymbolDefault + hi default link CocSymbolInterface CocSymbolDefault + hi default link CocSymbolFunction Function + hi default link CocSymbolVariable CocSymbolDefault + hi default link CocSymbolConstant Constant + hi default link CocSymbolString String + hi default link CocSymbolNumber Number + hi default link CocSymbolBoolean Boolean + hi default link CocSymbolArray CocSymbolDefault + hi default link CocSymbolObject CocSymbolDefault + hi default link CocSymbolKey Keyword + hi default link CocSymbolNull Type + hi default link CocSymbolEnumMember CocSymbolDefault + hi default link CocSymbolStruct Keyword + hi default link CocSymbolEvent Keyword + hi default link CocSymbolOperator Operator + hi default link CocSymbolTypeParameter Operator + + if has('nvim') + hi default link CocFloating NormalFloat + else + hi default link CocFloating Pmenu + endif + if !exists('*sign_getdefined') || empty(sign_getdefined('CocCurrentLine')) + sign define CocCurrentLine linehl=CocMenuSel + endif + if !exists('*sign_getdefined') || empty(sign_getdefined('CocTreeSelected')) + sign define CocTreeSelected linehl=CocTreeSelected + endif + if has('nvim-0.5.0') + hi default CocCursorTransparent gui=strikethrough blend=100 + endif + + if has('nvim') + let names = ['Error', 'Warning', 'Info', 'Hint'] + for name in names + if !hlexists('Coc'.name.'VirtualText') + exe 'hi default link Coc'.name.'VirtualText Coc'.name.'Sign' + endif + endfor + endif + call s:AddAnsiGroups() + + if get(g:, 'coc_default_semantic_highlight_groups', 0) == 1 + hi default link CocSem_namespace Identifier + hi default link CocSem_type Type + hi default link CocSem_class Structure + hi default link CocSem_enum Type + hi default link CocSem_interface Type + hi default link CocSem_struct Structure + hi default link CocSem_typeParameter Type + hi default link CocSem_parameter Identifier + hi default link CocSem_variable Identifier + hi default link CocSem_property Identifier + hi default link CocSem_enumMember Constant + hi default link CocSem_event Identifier + hi default link CocSem_function Function + hi default link CocSem_method Function + hi default link CocSem_macro Macro + hi default link CocSem_keyword Keyword + hi default link CocSem_modifier StorageClass + hi default link CocSem_comment Comment + hi default link CocSem_string String + hi default link CocSem_number Number + hi default link CocSem_regexp Normal + hi default link CocSem_operator Operator + endif +endfunction + +function! s:FormatFromSelected(type) + call CocActionAsync('formatSelected', a:type) +endfunction + +function! s:CodeActionFromSelected(type) + call CocActionAsync('codeAction', a:type) +endfunction + +function! s:ShowInfo() + if coc#rpc#ready() + call coc#rpc#notify('showInfo', []) + else + let lines = [] + echomsg 'coc.nvim service not started, checking environment...' + let node = get(g:, 'coc_node_path', $COC_NODE_PATH == '' ? 'node' : $COC_NODE_PATH) + if !executable(node) + call add(lines, 'Error: '.node.' is not executable!') + else + let output = trim(system(node . ' --version')) + let ms = matchlist(output, 'v\(\d\+\).\(\d\+\).\(\d\+\)') + if empty(ms) || str2nr(ms[1]) < 12 || (str2nr(ms[1]) == 12 && str2nr(ms[2]) < 12) + call add(lines, 'Error: Node version '.output.' < 12.12.0, please upgrade node.js') + endif + endif + " check bundle + let file = s:root.'/build/index.js' + if !filereadable(file) + call add(lines, 'Error: javascript bundle not found, please compile code of coc.nvim by esbuild.') + endif + if !empty(lines) + botright vnew + setl filetype=nofile + call setline(1, lines) + else + if get(g:, 'coc_start_at_startup',1) + echohl MoreMsg | echon 'Service stopped for some unknown reason, try :CocStart' | echohl None + else + echohl MoreMsg | echon 'Start on startup is disabled, try :CocStart' | echohl None + endif + endif + endif +endfunction + +command! -nargs=0 CocOutline :call coc#rpc#notify('showOutline', []) +command! -nargs=? CocDiagnostics :call s:OpenDiagnostics() +command! -nargs=0 CocInfo :call s:ShowInfo() +command! -nargs=0 CocOpenLog :call coc#rpc#notify('openLog', []) +command! -nargs=0 CocDisable :call s:Disable() +command! -nargs=0 CocEnable :call s:Enable(0) +command! -nargs=0 CocConfig :call s:OpenConfig() +command! -nargs=0 CocLocalConfig :call coc#rpc#notify('openLocalConfig', []) +command! -nargs=0 CocRestart :call coc#rpc#restart() +command! -nargs=0 CocStart :call coc#rpc#start_server() +command! -nargs=0 CocRebuild :call coc#util#rebuild() +command! -nargs=1 -complete=custom,s:LoadedExtensions CocWatch :call coc#rpc#notify('watchExtension', []) +command! -nargs=+ -complete=custom,s:SearchOptions CocSearch :call coc#rpc#notify('search', []) +command! -nargs=+ -complete=custom,s:ExtensionList CocUninstall :call CocActionAsync('uninstallExtension', ) +command! -nargs=* -complete=custom,s:CommandList -range CocCommand :call coc#rpc#notify('runCommand', []) +command! -nargs=* -complete=custom,coc#list#options CocList :call coc#rpc#notify('openList', []) +command! -nargs=? -complete=custom,coc#list#names CocListResume :call coc#rpc#notify('listResume', []) +command! -nargs=? -complete=custom,coc#list#names CocListCancel :call coc#rpc#notify('listCancel', []) +command! -nargs=? -complete=custom,coc#list#names CocPrev :call coc#rpc#notify('listPrev', []) +command! -nargs=? -complete=custom,coc#list#names CocNext :call coc#rpc#notify('listNext', []) +command! -nargs=? -complete=custom,coc#list#names CocFirst :call coc#rpc#notify('listFirst', []) +command! -nargs=? -complete=custom,coc#list#names CocLast :call coc#rpc#notify('listLast', []) +command! -nargs=* -range CocAction :call coc#rpc#notify('codeActionRange', [, , ]) +command! -nargs=* -range CocFix :call coc#rpc#notify('codeActionRange', [, , 'quickfix']) +command! -nargs=0 CocUpdate :call coc#util#update_extensions(1) +command! -nargs=0 -bar CocUpdateSync :call coc#util#update_extensions() +command! -nargs=* -bar -complete=custom,s:InstallOptions CocInstall :call coc#util#install_extension([]) + +call s:Enable(1) +call s:Hi() + +vnoremap (coc-range-select) :call CocActionAsync('rangeSelect', visualmode(), v:true) +vnoremap (coc-range-select-backward) :call CocActionAsync('rangeSelect', visualmode(), v:false) +nnoremap (coc-range-select) :call CocActionAsync('rangeSelect', '', v:true) +nnoremap (coc-codelens-action) :call CocActionAsync('codeLensAction') +vnoremap (coc-format-selected) :call CocActionAsync('formatSelected', visualmode()) +vnoremap (coc-codeaction-selected) :call CocActionAsync('codeAction', visualmode()) +nnoremap (coc-codeaction-selected) :set operatorfunc=CodeActionFromSelectedg@ +nnoremap (coc-codeaction) :call CocActionAsync('codeAction', '') +nnoremap (coc-codeaction-line) :call CocActionAsync('codeAction', 'line') +nnoremap (coc-codeaction-cursor) :call CocActionAsync('codeAction', 'cursor') +nnoremap (coc-rename) :call CocActionAsync('rename') +nnoremap (coc-format-selected) :set operatorfunc=FormatFromSelectedg@ +nnoremap (coc-format) :call CocActionAsync('format') +nnoremap (coc-diagnostic-info) :call CocActionAsync('diagnosticInfo') +nnoremap (coc-diagnostic-next) :call CocActionAsync('diagnosticNext') +nnoremap (coc-diagnostic-prev) :call CocActionAsync('diagnosticPrevious') +nnoremap (coc-diagnostic-next-error) :call CocActionAsync('diagnosticNext', 'error') +nnoremap (coc-diagnostic-prev-error) :call CocActionAsync('diagnosticPrevious', 'error') +nnoremap (coc-definition) :call CocActionAsync('jumpDefinition') +nnoremap (coc-declaration) :call CocActionAsync('jumpDeclaration') +nnoremap (coc-implementation) :call CocActionAsync('jumpImplementation') +nnoremap (coc-type-definition) :call CocActionAsync('jumpTypeDefinition') +nnoremap (coc-references) :call CocActionAsync('jumpReferences') +nnoremap (coc-references-used) :call CocActionAsync('jumpUsed') +nnoremap (coc-openlink) :call CocActionAsync('openLink') +nnoremap (coc-fix-current) :call CocActionAsync('doQuickfix') +nnoremap (coc-float-hide) :call coc#float#close_all() +nnoremap (coc-float-jump) :call coc#float#jump() +nnoremap (coc-command-repeat) :call CocAction('repeatCommand') +nnoremap (coc-refactor) :call CocActionAsync('refactor') +inoremap CocRefresh =coc#_complete() + +nnoremap (coc-cursors-operator) :set operatorfunc=CursorRangeFromSelectedg@ +vnoremap (coc-cursors-range) :call CocAction('cursorsSelect', bufnr('%'), 'range', visualmode()) +nnoremap (coc-cursors-word) :call CocAction('cursorsSelect', bufnr('%'), 'word', 'n') +nnoremap (coc-cursors-position) :call CocAction('cursorsSelect', bufnr('%'), 'position', 'n') + +vnoremap (coc-funcobj-i) :call CocAction('selectSymbolRange', v:true, visualmode(), ['Method', 'Function']) +vnoremap (coc-funcobj-a) :call CocAction('selectSymbolRange', v:false, visualmode(), ['Method', 'Function']) +onoremap (coc-funcobj-i) :call CocAction('selectSymbolRange', v:true, '', ['Method', 'Function']) +onoremap (coc-funcobj-a) :call CocAction('selectSymbolRange', v:false, '', ['Method', 'Function']) + +vnoremap (coc-classobj-i) :call CocAction('selectSymbolRange', v:true, visualmode(), ['Interface', 'Struct', 'Class']) +vnoremap (coc-classobj-a) :call CocAction('selectSymbolRange', v:false, visualmode(), ['Interface', 'Struct', 'Class']) +onoremap (coc-classobj-i) :call CocAction('selectSymbolRange', v:true, '', ['Interface', 'Struct', 'Class']) +onoremap (coc-classobj-a) :call CocAction('selectSymbolRange', v:false, '', ['Interface', 'Struct', 'Class']) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/LICENSE b/private_dot_config/nvim/plugged/vim-airline-themes/LICENSE new file mode 100644 index 0000000..7802547 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (C) 2013-2021 Bailey Ling & Contributors. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/README.md b/private_dot_config/nvim/plugged/vim-airline-themes/README.md new file mode 100644 index 0000000..4a37cb0 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/README.md @@ -0,0 +1,62 @@ +# vim-airline-themes [![Build Status](https://travis-ci.org/vim-airline/vim-airline-themes.svg?branch=master)](https://travis-ci.org/vim-airline/vim-airline-themes) [![reviewdog](https://github.com/vim-airline/vim-airline-themes/workflows/reviewdog/badge.svg?branch=master&event=push)](https://github.com/vim-airline/vim-airline-themes/actions?query=workflow%3Areviewdog+event%3Apush+branch%3Amaster) + +This is the official theme repository for [vim-airline][11] + +# Installation + +This plugin follows the standard runtime path structure, and as such it can be installed with a variety of plugin managers: + +| Plugin Manager | Install with... | +| ------------- | ------------- | +| [Pathogen][4] | `git clone https://github.com/vim-airline/vim-airline-themes ~/.vim/bundle/vim-airline-themes`
    Remember to run `:Helptags` to generate help tags | +| [NeoBundle][5] | `NeoBundle 'vim-airline/vim-airline-themes'` | +| [Vundle][6] | `Plugin 'vim-airline/vim-airline-themes'` | +| [Plug][7] | `Plug 'vim-airline/vim-airline-themes'` | +| [VAM][8] | `call vam#ActivateAddons([ 'vim-airline-themes' ])` | +| [Dein][9] | `call dein#add('vim-airline/vim-airline-themes')` | +| [minpac][10] | `call minpac#add('vim-airline/vim-airline-themes')` | +| pack feature (native Vim 8 package feature)| `git clone https://github.com/vim-airline/vim-airline-themes ~/.vim/pack/dist/start/vim-airline-themes`
    Remember to run `:helptags ~/.vim/pack/dist/start/vim-airline-themes/doc` to generate help tags | +| manual | copy all of the files into your `~/.vim` directory | + +# Using a Theme + +Once installed, use `:AirlineTheme ` to set the theme, e.g. `:AirlineTheme simple` + +To set in .vimrc, use `let g:airline_theme=''`, e.g. `let g:airline_theme='simple'` + +**Note:** The command `:AirlineTheme` is only available, if you have also cloned and installed the main [vim-airline][11] repository. + +# Contribution Guidelines + +## New themes + +* Pull requests for new themes are welcome. Please be sure to include a screenshot. You can paste an image into issue [#1](https://github.com/vim-airline/vim-airline-themes/issues/1), and then editing the post to reveal the uploaded image URL. Please don't forgot to update the documentation. + +## Modifications to existing themes + +* Themes are subjective, so if you are going to make modifications to an existing theme, please expose a configurable variable to allow users to choose how the theme will react. + +# Screenshots + +Screenshots are in the process of being migrated here. In the meantime you can find screenshots in the existing repository's [Wiki](https://github.com/vim-airline/vim-airline/wiki/Screenshots). + +# Maintenance + +If you are interested in becoming the official maintainer of this project, please contact [**@bling**][1], [**@chrisbra**][2], or [**@mhartington**][3]. + +# License + +MIT License. Copyright (c) 2013-2021 Bailey Ling & Contributors. + + +[1]: https://github.com/bling +[2]: https://github.com/chrisbra +[3]: https://github.com/mhartington +[4]: https://github.com/tpope/vim-pathogen +[5]: https://github.com/Shougo/neobundle.vim +[6]: https://github.com/VundleVim/Vundle.vim +[7]: https://github.com/junegunn/vim-plug +[8]: https://github.com/MarcWeber/vim-addon-manager +[9]: https://github.com/Shougo/dein.vim +[10]: https://github.com/k-takata/minpac/ +[11]: https://github.com/vim-airline/vim-airline diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/alduin.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/alduin.vim new file mode 100644 index 0000000..dd14603 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/alduin.vim @@ -0,0 +1,97 @@ +" Author: Danilo Augusto +" Script: Alduin (vim-airline version) +" License: MIT + +let s:gui00 = "#1c1c1c" " ANSI Black +let s:gui01 = "#af8787" " ANSI Red +let s:gui02 = "#dfaf87" " ANSI Green +let s:gui03 = "#878787" " ANSI Yellow +let s:gui04 = "#af5f5f" " ANSI Blue +let s:gui05 = "#875f5f" " ANSI Magenta +let s:gui06 = "#87afaf" " ANSI Cyan +let s:gui07 = "#ffdf87" " ANSI White +let s:gui08 = "#87875f" +let s:gui09 = "#af1600" +let s:gui0A = "#af875f" +let s:gui0B = "#878787" +let s:gui0C = "#af5f00" +let s:gui0D = "#5f5f87" +let s:gui0E = "#afd7d7" +let s:gui0F = "#dfdfaf" + +let s:cterm00 = "234" +let s:cterm01 = "138" +let s:cterm02 = "180" +let s:cterm03 = "102" +let s:cterm04 = "131" +let s:cterm05 = "95" +let s:cterm06 = "109" +let s:cterm07 = "222" +let s:cterm08 = "101" +let s:cterm09 = "138" +let s:cterm0A = "180" +let s:cterm0B = "102" +let s:cterm0C = "130" +let s:cterm0D = "60" +let s:cterm0E = "152" +let s:cterm0F = "187" + +let s:guiWhite = "#ffffff" +let s:guiGray = "#666666" +let s:guiDarkGray = "#545454" +let s:guiAlmostBlack = "#2a2a2a" +let s:ctermWhite = "231" +let s:ctermGray = "243" +let s:ctermDarkGray = "240" +let s:ctermAlmostBlack = "235" + +let g:airline#themes#alduin#palette = {} +let s:modified = { 'airline_c': [s:gui07, '', s:cterm07, '', ''] } + +" Normal mode +let s:N1 = [s:gui07, s:gui0D, s:cterm07, s:cterm0D] +let s:N2 = [s:guiWhite, s:gui01, s:ctermWhite, s:cterm01] +let s:N3 = [s:gui02, s:guiDarkGray, s:cterm02, s:ctermDarkGray] +let g:airline#themes#alduin#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#alduin#palette.normal_modified = s:modified + +" Insert mode +let s:I1 = [s:guiWhite, s:gui0B, s:ctermWhite, s:cterm0B] +let s:I2 = s:N2 +let s:I3 = [s:guiWhite, s:gui01, s:ctermWhite, s:cterm01] +let g:airline#themes#alduin#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#alduin#palette.insert_modified = s:modified + +" Visual mode +let s:V1 = [s:guiWhite, s:gui08, s:ctermWhite, s:cterm08] +let s:V2 = s:N2 +let s:V3 = s:I3 +let g:airline#themes#alduin#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#alduin#palette.visual_modified = s:modified + +" Replace mode +let s:R1 = [s:gui08, s:gui00, s:cterm08, s:cterm00] +let s:R2 = s:N2 +let s:R3 = s:I3 +let g:airline#themes#alduin#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#alduin#palette.replace_modified = s:modified + +" Inactive mode +let s:IN1 = [s:guiGray, s:gui01, s:ctermGray, s:cterm01] +let s:IN2 = [s:gui02, s:guiAlmostBlack, s:cterm02, s:ctermAlmostBlack] +let s:IN3 = [s:gui02, s:guiAlmostBlack, s:cterm02, s:ctermAlmostBlack] +let g:airline#themes#alduin#palette.inactive = airline#themes#generate_color_map(s:IN1, s:IN2, s:IN3) +let g:airline#themes#alduin#palette.inactive_modified = s:modified + +" CtrlP +if !get(g:, 'loaded_ctrlp', 0) + finish +endif + +let s:CP1 = [s:guiWhite, s:gui01, s:ctermWhite, s:cterm01] +let s:CP2 = [s:guiWhite, s:gui03, s:ctermWhite, s:cterm01] +let s:CP3 = [s:guiWhite, s:gui0D, s:ctermWhite, s:cterm0D] +let g:airline#themes#alduin#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ s:CP1, + \ s:CP2, + \ s:CP3) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/angr.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/angr.vim new file mode 100644 index 0000000..df00add --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/angr.vim @@ -0,0 +1,109 @@ +" Color palette +let s:gui_dark_gray = '#303030' +let s:cterm_dark_gray = 236 +let s:gui_med_gray_hi = '#444444' +let s:cterm_med_gray_hi = 238 +let s:gui_med_gray_lo = '#3a3a3a' +let s:cterm_med_gray_lo = 237 +let s:gui_light_gray = '#b2b2b2' +let s:cterm_light_gray = 249 +let s:gui_green = '#005f87' +let s:cterm_green = 150 +let s:gui_blue = '#87afd7' +let s:cterm_blue = 110 +let s:gui_purple = '#afafd7' +let s:cterm_purple = 146 +let s:gui_orange = '#ffaf87' +let s:cterm_orange = 216 +let s:gui_red = '#d78787' +let s:cterm_red = 174 +let s:gui_pink = '#d7afd7' +let s:cterm_pink = 182 + +let g:airline#themes#angr#palette = {} + +" Normal mode +let s:N1 = [s:gui_dark_gray, s:gui_green, s:cterm_dark_gray, s:cterm_green] +let s:N2 = [s:gui_light_gray, s:gui_med_gray_lo, s:cterm_light_gray, s:cterm_med_gray_lo] +let s:N3 = [s:gui_light_gray, s:gui_med_gray_hi, s:cterm_light_gray, s:cterm_med_gray_hi] " inside text +let g:airline#themes#angr#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#angr#palette.normal_modified = { + \ 'airline_c': [s:gui_orange, s:gui_med_gray_hi, s:cterm_orange, s:cterm_med_gray_hi, ''], + \ } + +" Insert mode +let s:I1 = [s:gui_med_gray_hi, s:gui_blue, s:cterm_med_gray_hi, s:cterm_blue] +let s:I3 = [s:gui_blue, s:gui_med_gray_hi, s:cterm_blue, s:cterm_med_gray_hi] " inside text +let g:airline#themes#angr#palette.insert = airline#themes#generate_color_map(s:I1, s:N2, s:I3) +let g:airline#themes#angr#palette.insert_modified = copy(g:airline#themes#angr#palette.normal_modified) +let g:airline#themes#angr#palette.insert_paste = { + \ 'airline_a': [s:gui_dark_gray, s:gui_orange, s:cterm_dark_gray, s:cterm_orange, ''], + \ } + +" Replace mode +let g:airline#themes#angr#palette.replace = { + \ 'airline_a': [s:gui_dark_gray, s:gui_red, s:cterm_dark_gray, s:cterm_red, ''], + \ 'airline_c': [s:gui_red, s:gui_med_gray_hi, s:cterm_red, s:cterm_med_gray_hi, ''], + \ } +let g:airline#themes#angr#palette.replace_modified = copy(g:airline#themes#angr#palette.insert_modified) + +" Visual mode +let s:V1 = [s:gui_dark_gray, s:gui_pink, s:cterm_dark_gray, s:cterm_pink] +let s:V3 = [s:gui_pink, s:gui_med_gray_hi, s:cterm_pink, s:cterm_med_gray_hi] +let g:airline#themes#angr#palette.visual = airline#themes#generate_color_map(s:V1, s:N2, s:V3) +let g:airline#themes#angr#palette.visual_modified = copy(g:airline#themes#angr#palette.insert_modified) + +" Inactive window +let s:IA = [s:gui_light_gray, s:gui_med_gray_hi, s:cterm_light_gray, s:cterm_med_gray_hi, ''] +let g:airline#themes#angr#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#angr#palette.inactive_modified = { + \ 'airline_c': [s:gui_orange, '', s:cterm_orange, '', ''], + \ } + +" Warnings +let s:ER = airline#themes#get_highlight2(['ErrorMsg', 'bg'], ['ErrorMsg', 'fg'], 'bold') +let g:airline#themes#angr#palette.normal.airline_warning = [ + \ s:ER[1], s:ER[0], s:ER[3], s:ER[2] + \ ] +let g:airline#themes#angr#palette.normal_modified.airline_warning = +\ g:airline#themes#angr#palette.normal.airline_warning +let g:airline#themes#angr#palette.insert.airline_warning = +\ g:airline#themes#angr#palette.normal.airline_warning +let g:airline#themes#angr#palette.insert_modified.airline_warning = +\ g:airline#themes#angr#palette.normal.airline_warning +let g:airline#themes#angr#palette.visual.airline_warning = +\ g:airline#themes#angr#palette.normal.airline_warning +let g:airline#themes#angr#palette.visual_modified.airline_warning = +\ g:airline#themes#angr#palette.normal.airline_warning +let g:airline#themes#angr#palette.replace.airline_warning = +\ g:airline#themes#angr#palette.normal.airline_warning +let g:airline#themes#angr#palette.replace_modified.airline_warning = +\ g:airline#themes#angr#palette.normal.airline_warning + +" Errors +let g:airline#themes#angr#palette.normal.airline_error = [ + \ s:ER[1], s:ER[0], s:ER[3], s:ER[2] + \ ] +let g:airline#themes#angr#palette.normal_modified.airline_error = +\ g:airline#themes#angr#palette.normal.airline_error +let g:airline#themes#angr#palette.insert.airline_error = +\ g:airline#themes#angr#palette.normal.airline_error +let g:airline#themes#angr#palette.insert_modified.airline_error = +\ g:airline#themes#angr#palette.normal.airline_error +let g:airline#themes#angr#palette.visual.airline_error = +\ g:airline#themes#angr#palette.normal.airline_error +let g:airline#themes#angr#palette.visual_modified.airline_error = +\ g:airline#themes#angr#palette.normal.airline_error +let g:airline#themes#angr#palette.replace.airline_error = +\ g:airline#themes#angr#palette.normal.airline_error +let g:airline#themes#angr#palette.replace_modified.airline_error = +\ g:airline#themes#angr#palette.normal.airline_error + +" CtrlP +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#angr#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui_orange, s:gui_med_gray_hi, s:cterm_orange, s:cterm_med_gray_hi, '' ] , + \ [ s:gui_orange, s:gui_med_gray_lo, s:cterm_orange, s:cterm_med_gray_lo, '' ] , + \ [ s:gui_dark_gray, s:gui_green, s:cterm_dark_gray, s:cterm_green, 'bold' ] ) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/apprentice.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/apprentice.vim new file mode 100644 index 0000000..5eca56d --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/apprentice.vim @@ -0,0 +1,84 @@ +" vim-airline theme for Apprentice +" +" Author: pt307 (based on work by romainl) +" License: MIT License + +let s:almost_black = [ '#1c1c1c', 234 ] +let s:darker_grey = [ '#262626', 235 ] +let s:medium_grey = [ '#585858', 240 ] +let s:lighter_grey = [ '#bcbcbc', 250 ] +let s:light_purple = [ '#8787af', 103 ] +let s:light_green = [ '#87af87', 108 ] +let s:green = [ '#5f875f', 65 ] +let s:light_blue = [ '#87afd7', 110 ] +let s:red = [ '#af5f5f', 131 ] +let s:orange = [ '#ff8700', 208 ] +let s:ocre = [ '#87875f', 101 ] +let s:yellow = [ '#ffffaf', 229 ] + +function! s:color_list(fg, bg) abort + return [a:fg[0], a:bg[0], a:fg[1], a:bg[1]] +endfunction + +let g:airline#themes#apprentice#palette = {} + +let s:modified = { + \ 'airline_c': s:color_list(s:orange, '') + \ } +let s:warning = s:color_list(s:darker_grey, s:orange) +let s:error = s:color_list(s:darker_grey, s:red) + +let s:airline_a_normal = s:color_list(s:darker_grey, s:ocre) +let s:airline_b_normal = s:color_list(s:darker_grey, s:medium_grey) +let s:airline_c_normal = s:color_list(s:lighter_grey, s:darker_grey) +let g:airline#themes#apprentice#palette.normal = airline#themes#generate_color_map(s:airline_a_normal, s:airline_b_normal, s:airline_c_normal) +let g:airline#themes#apprentice#palette.normal_modified = s:modified +let g:airline#themes#apprentice#palette.normal.airline_warning = s:warning +let g:airline#themes#apprentice#palette.normal_modified.airline_warning = s:warning +let g:airline#themes#apprentice#palette.normal.airline_error = s:error +let g:airline#themes#apprentice#palette.normal_modified.airline_error = s:error + +let s:airline_a_insert = s:color_list(s:darker_grey, s:green) +let s:airline_b_insert = s:airline_b_normal +let s:airline_c_insert = s:airline_c_normal +let g:airline#themes#apprentice#palette.insert = airline#themes#generate_color_map(s:airline_a_insert, s:airline_b_insert, s:airline_c_insert) +let g:airline#themes#apprentice#palette.insert_modified = s:modified +let g:airline#themes#apprentice#palette.insert.airline_warning = s:warning +let g:airline#themes#apprentice#palette.insert_modified.airline_warning = s:warning +let g:airline#themes#apprentice#palette.insert.airline_error = s:error +let g:airline#themes#apprentice#palette.insert_modified.airline_error = s:error + +let s:airline_a_replace = s:color_list(s:darker_grey, s:red) +let s:airline_b_replace = s:airline_b_normal +let s:airline_c_replace = s:airline_c_normal +let g:airline#themes#apprentice#palette.replace = airline#themes#generate_color_map(s:airline_a_replace, s:airline_b_replace, s:airline_c_replace) +let g:airline#themes#apprentice#palette.replace_modified = s:modified +let g:airline#themes#apprentice#palette.replace.airline_warning = s:warning +let g:airline#themes#apprentice#palette.replace_modified.airline_warning = s:warning +let g:airline#themes#apprentice#palette.replace.airline_error = s:error +let g:airline#themes#apprentice#palette.replace_modified.airline_error = s:error + +let s:airline_a_visual = s:color_list(s:darker_grey, s:yellow) +let s:airline_b_visual = s:airline_b_normal +let s:airline_c_visual = s:airline_c_normal +let g:airline#themes#apprentice#palette.visual = airline#themes#generate_color_map(s:airline_a_visual, s:airline_b_visual, s:airline_c_visual) +let g:airline#themes#apprentice#palette.visual_modified = s:modified +let g:airline#themes#apprentice#palette.visual.airline_warning = s:warning +let g:airline#themes#apprentice#palette.visual_modified.airline_warning = s:warning +let g:airline#themes#apprentice#palette.visual.airline_error = s:error +let g:airline#themes#apprentice#palette.visual_modified.airline_error = s:error + +let s:airline_a_inactive = s:color_list(s:darker_grey, s:medium_grey) +let s:airline_b_inactive = s:color_list(s:medium_grey, s:darker_grey) +let s:airline_c_inactive = s:airline_b_inactive +let g:airline#themes#apprentice#palette.inactive = airline#themes#generate_color_map(s:airline_a_inactive, s:airline_b_inactive, s:airline_c_inactive) +let g:airline#themes#apprentice#palette.inactive_modified = s:modified + +let g:airline#themes#apprentice#palette.accents = { + \ 'orange': s:color_list(s:orange, ''), + \ 'blue': s:color_list(s:light_blue, ''), + \ 'green': s:color_list(s:light_green, ''), + \ 'purple': s:color_list(s:light_purple, ''), + \ 'yellow': s:color_list(s:yellow, ''), + \ 'red': s:color_list(s:red, '') + \ } diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/atomic.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/atomic.vim new file mode 100644 index 0000000..58c3ee7 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/atomic.vim @@ -0,0 +1,77 @@ +"---------------------------------------------------------------- +" ___ __ _ +" / | / /_____ ____ ___ (_)____ +" / /| |/ __/ __ \/ __ `__ \/ / ___/ +" / ___ / /_/ /_/ / / / / / / / /__ +" /_/ |_\__/\____/_/ /_/ /_/_/\___/ +" +"---------------------------------------------------------------- +" Theme : Atomic +" Version : 2.1.0 +" License : MIT +" Author : Gerard Bajona +" URL : https://github.com/gerardbm/atomic +" ---------------------------------------------------------------- +" Colors will be adapted to the current colorscheme. For better +" contrast use the atomic colorscheme: it has ten color palettes +" with sixteen colors selected procedurally (algorithms). +" +" Atomic colorscheme: https://github.com/gerardbm/vim-atomic +" ---------------------------------------------------------------- + +let g:airline#themes#atomic#palette = {} + +function! airline#themes#atomic#refresh() + + let s:N1 = airline#themes#get_highlight2(['LineNr', 'bg'], ['ModeMsg', 'fg'], 'none') + let s:N2 = airline#themes#get_highlight2(['LineNr', 'bg'], ['LineNr', 'fg'], 'none') + let s:N3 = airline#themes#get_highlight2(['ModeMsg', 'fg'], ['StatusLine', 'bg'], 'none') + let g:airline#themes#atomic#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + + let s:I1 = airline#themes#get_highlight2(['LineNr', 'bg'], ['Question', 'fg'], 'none') + let s:I2 = airline#themes#get_highlight2(['LineNr', 'bg'], ['LineNr', 'fg'], 'none') + let s:I3 = airline#themes#get_highlight2(['Question', 'fg'], ['StatusLine', 'bg'], 'none') + let g:airline#themes#atomic#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + + let s:R1 = airline#themes#get_highlight2(['LineNr', 'bg'], ['ErrorMsg', 'fg'], 'none') + let s:R2 = airline#themes#get_highlight2(['LineNr', 'bg'], ['LineNr', 'fg'], 'none') + let s:R3 = airline#themes#get_highlight2(['ErrorMsg', 'fg'], ['StatusLine', 'bg'], 'none') + let g:airline#themes#atomic#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + + let s:V1 = airline#themes#get_highlight2(['LineNr', 'bg'], ['WarningMsg', 'fg'], 'none') + let s:V2 = airline#themes#get_highlight2(['LineNr', 'bg'], ['LineNr', 'fg'], 'none') + let s:V3 = airline#themes#get_highlight2(['WarningMsg', 'fg'], ['StatusLine', 'bg'], 'none') + let g:airline#themes#atomic#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + + let s:IA1 = airline#themes#get_highlight2(['LineNr', 'fg'], ['StatusLine', 'bg'], 'none') + let s:IA2 = airline#themes#get_highlight2(['LineNr', 'fg'], ['StatusLine', 'bg'], 'none') + let s:IA3 = airline#themes#get_highlight2(['LineNr', 'fg'], ['StatusLine', 'bg'], 'none') + let g:airline#themes#atomic#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + + " Accent color + " It helps to remove the bold typography into modes section + let g:airline#themes#atomic#palette.accents = {'black' : airline#themes#get_highlight2(['LineNr', 'bg'], ['ModeMsg', 'fg'], 'none')} + + " Mode map + let g:airline_mode_map = { + \ '__' : '--', + \ 'n' : 'N', + \ 'i' : 'I', + \ 'R' : 'R', + \ 'c' : 'C', + \ 'v' : 'V', + \ 'V' : 'V-L', + \ '' : 'V-B', + \ 's' : 'S', + \ 'S' : 'S-L', + \ '' : 'S-B', + \ 't' : 'T', + \ } + + " Settings + let g:airline_symbols.paste = 'Ξ' + let g:airline_symbols.spell = 'S' + +endfunction + +call airline#themes#atomic#refresh() diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/ayu_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/ayu_dark.vim new file mode 100644 index 0000000..a8d83ab --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/ayu_dark.vim @@ -0,0 +1,34 @@ +" Normal mode +" (Dark) +let s:N1 = [ '#3D424D' , '#C2D94C' , 59 , 149 ] " guifg guibg ctermfg ctermbg +let s:N2 = [ '#C2D94C' , '#304357' , 149 , 59 ] " guifg guibg ctermfg ctermbg +let s:N3 = [ '#B3B1AD' , '#0A0E14' , 145 , 16 ] " guifg guibg ctermfg ctermbg + +" Insert mode +let s:I1 = [ '#3D424D' , '#39BAE6' , 59 , 74 ] " guifg guibg ctermfg ctermbg +let s:I2 = [ '#39BAE6' , '#304357' , 74 , 59 ] " guifg guibg ctermfg ctermbg +let s:I3 = [ '#B3B1AD' , '#0A0E14' , 145 , 16 ] " guifg guibg ctermfg ctermbg + +" Visual mode +let s:V1 = [ '#3D424D' , '#FF8F40' , 59 , 209 ] " guifg guibg ctermfg ctermbg +let s:V2 = [ '#FF8F40' , '#304357' , 209 , 59 ] " guifg guibg ctermfg ctermbg +let s:V3 = [ '#B3B1AD' , '#0A0E14' , 145 , 16 ] " guifg guibg ctermfg ctermbg + +" Replace mode +let s:RE = [ '#3D424D' , '#FF3333' , 59 , 203 ] " guifg guibg ctermfg ctermbg + +let g:airline#themes#ayu_dark#palette = {} + +let g:airline#themes#ayu_dark#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let g:airline#themes#ayu_dark#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#ayu_dark#palette.insert_replace = { + \ 'airline_a': [ s:RE[0] , s:I1[1] , s:RE[1] , s:I1[3] , '' ] } + +let g:airline#themes#ayu_dark#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let g:airline#themes#ayu_dark#palette.replace = copy(g:airline#themes#ayu_dark#palette.normal) +let g:airline#themes#ayu_dark#palette.replace.airline_a = [ s:RE[0] , s:RE[1] , s:RE[2] , s:RE[3] , '' ] + +let s:IA = [ s:N1[1] , s:N3[1] , s:N1[3] , s:N3[3] , '' ] +let g:airline#themes#ayu_dark#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/ayu_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/ayu_light.vim new file mode 100644 index 0000000..bd3b695 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/ayu_light.vim @@ -0,0 +1,34 @@ +" Normal mode +" (Dark) +let s:N1 = [ '#6C7680' , '#86B300' , 66 , 106 ] " guifg guibg ctermfg ctermbg +let s:N2 = [ '#86B300' , '#6C7680' , 106 , 66 ] " guifg guibg ctermfg ctermbg +let s:N3 = [ '#6C7680' , '#FAFAFA' , 66 , 231 ] " guifg guibg ctermfg ctermbg + +" Insert mode +let s:I1 = [ '#6C7680' , '#55B4D4' , 66 , 74 ] " guifg guibg ctermfg ctermbg +let s:I2 = [ '#55B4D4' , '#6C7680' , 74 , 66 ] " guifg guibg ctermfg ctermbg +let s:I3 = [ '#6C7680' , '#FAFAFA' , 66 , 231 ] " guifg guibg ctermfg ctermbg + +" Visual mode +let s:V1 = [ '#6C7680' , '#FA8D3E' , 66 , 209 ] " guifg guibg ctermfg ctermbg +let s:V2 = [ '#FA8D3E' , '#6C7680' , 209 , 66 ] " guifg guibg ctermfg ctermbg +let s:V3 = [ '#6C7680' , '#FAFAFA' , 66 , 231 ] " guifg guibg ctermfg ctermbg + +" Replace mode +let s:RE = [ '#6C7680' , '#F51818' , 66 , 196 ] " guifg guibg ctermfg ctermbg + +let g:airline#themes#ayu_light#palette = {} + +let g:airline#themes#ayu_light#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let g:airline#themes#ayu_light#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#ayu_light#palette.insert_replace = { + \ 'airline_a': [ s:RE[0] , s:I1[1] , s:RE[1] , s:I1[3] , '' ] } + +let g:airline#themes#ayu_light#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let g:airline#themes#ayu_light#palette.replace = copy(g:airline#themes#ayu_light#palette.normal) +let g:airline#themes#ayu_light#palette.replace.airline_a = [ s:RE[0] , s:RE[1] , s:RE[2] , s:RE[3] , '' ] + +let s:IA = [ s:N1[1] , s:N3[1] , s:N1[3] , s:N3[3] , '' ] +let g:airline#themes#ayu_light#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/ayu_mirage.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/ayu_mirage.vim new file mode 100644 index 0000000..bb93a92 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/ayu_mirage.vim @@ -0,0 +1,34 @@ +" Normal mode +" (Dark) +let s:N1 = [ '#212733' , '#BBE67E' , 0 , 114 ] " guifg guibg ctermfg ctermbg +let s:N2 = [ '#BBE67E' , '#212733' , 114 , 0 ] " guifg guibg ctermfg ctermbg +let s:N3 = [ '#E6E1CF' , '#212733' , 15 , 0 ] " guifg guibg ctermfg ctermbg + +" Insert mode +let s:I1 = [ '#212733' , '#80D4FF' , 0 , 80 ] " guifg guibg ctermfg ctermbg +let s:I2 = [ '#80D4FF' , '#212733' , 80 , 0 ] " guifg guibg ctermfg ctermbg +let s:I3 = [ '#E6E1CF' , '#212733' , 15 , 0 ] " guifg guibg ctermfg ctermbg + +" Visual mode +let s:V1 = [ '#212733' , '#FFAE57' , 0 , 173 ] " guifg guibg ctermfg ctermbg +let s:V2 = [ '#FFAE57' , '#212733' , 173 , 0 ] " guifg guibg ctermfg ctermbg +let s:V3 = [ '#E6E1CF' , '#212733' , 15 , 0 ] " guifg guibg ctermfg ctermbg + +" Replace mode +let s:RE = [ '#212733' , '#F07178' , 0 , 167 ] " guifg guibg ctermfg ctermbg + +let g:airline#themes#ayu_mirage#palette = {} + +let g:airline#themes#ayu_mirage#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let g:airline#themes#ayu_mirage#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#ayu_mirage#palette.insert_replace = { + \ 'airline_a': [ s:RE[0] , s:I1[1] , s:RE[1] , s:I1[3] , '' ] } + +let g:airline#themes#ayu_mirage#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let g:airline#themes#ayu_mirage#palette.replace = copy(g:airline#themes#ayu_mirage#palette.normal) +let g:airline#themes#ayu_mirage#palette.replace.airline_a = [ s:RE[0] , s:RE[1] , s:RE[2] , s:RE[3] , '' ] + +let s:IA = [ s:N1[1] , s:N3[1] , s:N1[3] , s:N3[3] , '' ] +let g:airline#themes#ayu_mirage#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/badwolf.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/badwolf.vim new file mode 100644 index 0000000..7f954f4 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/badwolf.vim @@ -0,0 +1,56 @@ +let s:N1 = [ '#141413' , '#aeee00' , 232 , 154 ] " blackestgravel & lime +let s:N2 = [ '#f4cf86' , '#45413b' , 222 , 238 ] " dirtyblonde & deepgravel +let s:N3 = [ '#8cffba' , '#242321' , 121 , 235 ] " saltwatertaffy & darkgravel +let s:N4 = [ '#666462' , 241 ] " mediumgravel + +let s:I1 = [ '#141413' , '#0a9dff' , 232 , 39 ] " blackestgravel & tardis +let s:I2 = [ '#f4cf86' , '#005fff' , 222 , 27 ] " dirtyblonde & facebook +let s:I3 = [ '#0a9dff' , '#242321' , 39 , 235 ] " tardis & darkgravel + +let s:V1 = [ '#141413' , '#ffa724' , 232 , 214 ] " blackestgravel & orange +let s:V2 = [ '#000000' , '#fade3e' , 16 , 221 ] " coal & dalespale +let s:V3 = [ '#000000' , '#b88853' , 16 , 137 ] " coal & toffee +let s:V4 = [ '#c7915b' , 173 ] " coffee + +let s:PA = [ '#f4cf86' , 222 ] " dirtyblonde +let s:RE = [ '#ff9eb8' , 211 ] " dress + +let s:IA = [ s:N3[1] , s:N2[1] , s:N3[3] , s:N2[3] , '' ] + +let g:airline#themes#badwolf#palette = {} + +let g:airline#themes#badwolf#palette.accents = { + \ 'red': [ '#ff2c4b' , '' , 196 , '' , '' ] + \ } + +let g:airline#themes#badwolf#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#badwolf#palette.normal_modified = { + \ 'airline_b': [ s:N2[0] , s:N4[0] , s:N2[2] , s:N4[1] , '' ] , + \ 'airline_c': [ s:V1[1] , s:N2[1] , s:V1[3] , s:N2[3] , '' ] } + + +let g:airline#themes#badwolf#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#badwolf#palette.insert_modified = { + \ 'airline_c': [ s:V1[1] , s:N2[1] , s:V1[3] , s:N2[3] , '' ] } +let g:airline#themes#badwolf#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] } + + +let g:airline#themes#badwolf#palette.replace = copy(airline#themes#badwolf#palette.insert) +let g:airline#themes#badwolf#palette.replace.airline_a = [ s:I1[0] , s:RE[0] , s:I1[2] , s:RE[1] , '' ] +let g:airline#themes#badwolf#palette.replace_modified = g:airline#themes#badwolf#palette.insert_modified + + +let g:airline#themes#badwolf#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#badwolf#palette.visual_modified = { + \ 'airline_c': [ s:V3[0] , s:V4[0] , s:V3[2] , s:V4[1] , '' ] } + + +let g:airline#themes#badwolf#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#badwolf#palette.inactive_modified = { + \ 'airline_c': [ s:V1[1] , '' , s:V1[3] , '' , '' ] } + +let g:airline#themes#badwolf#palette.terminal = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#badwolf#palette.normal_modified.airline_term = s:N3 +let g:airline#themes#badwolf#palette.terminal.airline_term = s:I3 +let g:airline#themes#badwolf#palette.visual_modified.airline_term = s:V2 diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16.vim new file mode 100644 index 0000000..0a7b442 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16.vim @@ -0,0 +1,181 @@ +let s:improved_contrast = get(g:, 'airline_base16_improved_contrast', 0) + +" Color palette +let s:gui_dark_gray = '#202020' +let s:cterm_dark_gray = 234 +let s:gui_med_gray_hi = '#303030' +let s:cterm_med_gray_hi = 236 +let s:gui_med_gray_lo = '#3a3a3a' +let s:cterm_med_gray_lo = 237 +let s:gui_light_gray = '#505050' +let s:cterm_light_gray = 239 +let s:gui_lightlight_gray = '#8A8A8A' +let s:cterm_lightlight_gray = 245 +let s:gui_green = '#99cc99' +let s:cterm_green = 151 +let s:gui_blue = '#6a9fb5' +let s:cterm_blue = 67 +let s:gui_purple = '#aa759f' +let s:cterm_purple = 139 +let s:gui_orange = '#d28445' +let s:cterm_orange = 173 +let s:gui_red = '#ac4142' +let s:cterm_red = 131 +let s:gui_pink = '#d7afd7' +let s:cterm_pink = 182 + +if get(g:, 'airline#themes#base16#constant', 0) + let g:airline#themes#base16#palette = {} + + " Normal mode + let s:N1 = [s:gui_dark_gray, s:gui_green, s:cterm_dark_gray, s:cterm_green] + if s:improved_contrast + let s:N2 = [s:gui_lightlight_gray, s:gui_med_gray_lo, s:cterm_lightlight_gray, s:cterm_med_gray_lo] + else + + let s:N2 = [s:gui_light_gray, s:gui_med_gray_lo, s:cterm_light_gray, s:cterm_med_gray_lo] + endif + let s:N3 = [s:gui_green, s:gui_med_gray_hi, s:cterm_green, s:cterm_med_gray_hi] + let g:airline#themes#base16#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + let g:airline#themes#base16#palette.normal_modified = { + \ 'airline_c': [s:gui_orange, s:gui_med_gray_hi, s:cterm_orange, s:cterm_med_gray_hi, ''], + \ } + + " Insert mode + let s:I1 = [s:gui_med_gray_hi, s:gui_blue, s:cterm_med_gray_hi, s:cterm_blue] + let s:I3 = [s:gui_blue, s:gui_med_gray_hi, s:cterm_blue, s:cterm_med_gray_hi] + let g:airline#themes#base16#palette.insert = airline#themes#generate_color_map(s:I1, s:N2, s:I3) + let g:airline#themes#base16#palette.insert_modified = copy(g:airline#themes#base16#palette.normal_modified) + let g:airline#themes#base16#palette.insert_paste = { + \ 'airline_a': [s:gui_dark_gray, s:gui_orange, s:cterm_dark_gray, s:cterm_orange, ''], + \ } + + " Replace mode + let g:airline#themes#base16#palette.replace = { + \ 'airline_a': [s:gui_dark_gray, s:gui_red, s:cterm_dark_gray, s:cterm_red, ''], + \ 'airline_c': [s:gui_red, s:gui_med_gray_hi, s:cterm_red, s:cterm_med_gray_hi, ''], + \ } + let g:airline#themes#base16#palette.replace_modified = copy(g:airline#themes#base16#palette.insert_modified) + + " Visual mode + let s:V1 = [s:gui_dark_gray, s:gui_pink, s:cterm_dark_gray, s:cterm_pink] + let s:V3 = [s:gui_pink, s:gui_med_gray_hi, s:cterm_pink, s:cterm_med_gray_hi] + let g:airline#themes#base16#palette.visual = airline#themes#generate_color_map(s:V1, s:N2, s:V3) + let g:airline#themes#base16#palette.visual_modified = copy(g:airline#themes#base16#palette.insert_modified) + + " Inactive window + if s:improved_contrast + let s:IA = [s:gui_dark_gray, s:gui_med_gray_hi, s:cterm_lightlight_gray, s:cterm_med_gray_hi, ''] + else + let s:IA = [s:gui_dark_gray, s:gui_med_gray_hi, s:cterm_light_gray, s:cterm_med_gray_hi, ''] + endif + let g:airline#themes#base16#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) + let g:airline#themes#base16#palette.inactive_modified = { + \ 'airline_c': [s:gui_orange, '', s:cterm_orange, '', ''], + \ } +else + function! airline#themes#base16#refresh() + let g:airline#themes#base16#palette = {} + + let g:airline#themes#base16#palette.accents = { + \ 'red': airline#themes#get_highlight('Constant'), + \ } + + let s:N1 = airline#themes#get_highlight2(['DiffText', 'bg'], ['DiffText', 'fg'], 'bold') + let s:N2 = airline#themes#get_highlight2(['Visual', 'fg'], ['Visual', 'bg']) + let s:N3 = airline#themes#get_highlight('CursorLine') + let g:airline#themes#base16#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + + let group = airline#themes#get_highlight('Statement') + let g:airline#themes#base16#palette.normal_modified = { + \ 'airline_c': [ group[0], '', group[2], '', '' ] + \ } + + let s:I1 = airline#themes#get_highlight2(['DiffText', 'bg'], ['DiffAdded', 'fg'], 'bold') + let s:I2 = airline#themes#get_highlight2(['DiffAdded', 'fg'], ['Normal', 'bg']) + let s:I3 = s:N3 + let g:airline#themes#base16#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + let g:airline#themes#base16#palette.insert_modified = g:airline#themes#base16#palette.normal_modified + + let s:R1 = airline#themes#get_highlight2(['DiffText', 'bg'], ['WarningMsg', 'fg'], 'bold') + let s:R2 = s:N2 + let s:R3 = s:N3 + let g:airline#themes#base16#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + let g:airline#themes#base16#palette.replace_modified = g:airline#themes#base16#palette.normal_modified + + let s:V1 = airline#themes#get_highlight2(['DiffText', 'bg'], ['Constant', 'fg'], 'bold') + let s:V2 = airline#themes#get_highlight2(['Constant', 'fg'], ['Normal', 'bg']) + let s:V3 = s:N3 + let g:airline#themes#base16#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + let g:airline#themes#base16#palette.visual_modified = g:airline#themes#base16#palette.normal_modified + + " Use VertSplit's bg and default fg (reversed) for inactive statusline. + let s:VS = airline#themes#get_highlight('VertSplit') + if s:improved_contrast + let s:IA = [ s:VS[1], 'NONE', s:VS[2], s:cterm_lightlight_gray, 'reverse'] + else + let s:IA = [ s:VS[1], 'NONE', s:VS[2], 'NONE', 'reverse'] + endif + let g:airline#themes#base16#palette.inactive = + \ airline#themes#generate_color_map(s:IA, s:IA, s:IA, s:IA, s:IA, s:IA) + let s:IM = [ s:VS[1], 'NONE', s:VS[2], 'NONE', 'reverse'] + let g:airline#themes#base16#palette.inactive_modified = + \ airline#themes#generate_color_map(s:IM, s:IM, s:IM, s:IM, s:IM, s:IM) + + " Warnings + let s:WI = airline#themes#get_highlight2(['WarningMsg', 'bg'], ['WarningMsg', 'fg'], 'bold') + let g:airline#themes#base16#palette.normal.airline_warning = [ + \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] + \ ] + + let g:airline#themes#base16#palette.normal_modified.airline_warning = + \ g:airline#themes#base16#palette.normal.airline_warning + + let g:airline#themes#base16#palette.insert.airline_warning = + \ g:airline#themes#base16#palette.normal.airline_warning + + let g:airline#themes#base16#palette.insert_modified.airline_warning = + \ g:airline#themes#base16#palette.normal.airline_warning + + let g:airline#themes#base16#palette.visual.airline_warning = + \ g:airline#themes#base16#palette.normal.airline_warning + + let g:airline#themes#base16#palette.visual_modified.airline_warning = + \ g:airline#themes#base16#palette.normal.airline_warning + + let g:airline#themes#base16#palette.replace.airline_warning = + \ g:airline#themes#base16#palette.normal.airline_warning + + let g:airline#themes#base16#palette.replace_modified.airline_warning = + \ g:airline#themes#base16#palette.normal.airline_warning + + " Errors + let s:ER = airline#themes#get_highlight2(['ErrorMsg', 'bg'], ['ErrorMsg', 'fg'], 'bold') + let g:airline#themes#base16#palette.normal.airline_error = [ + \ s:ER[0], s:ER[1], s:ER[2], s:ER[3] + \ ] + + let g:airline#themes#base16#palette.normal_modified.airline_error = + \ g:airline#themes#base16#palette.normal.airline_error + + let g:airline#themes#base16#palette.insert.airline_error = + \ g:airline#themes#base16#palette.normal.airline_error + + let g:airline#themes#base16#palette.insert_modified.airline_error = + \ g:airline#themes#base16#palette.normal.airline_error + + let g:airline#themes#base16#palette.visual.airline_error = + \ g:airline#themes#base16#palette.normal.airline_error + + let g:airline#themes#base16#palette.visual_modified.airline_error = + \ g:airline#themes#base16#palette.normal.airline_error + + let g:airline#themes#base16#palette.replace.airline_error = + \ g:airline#themes#base16#palette.normal.airline_error + + let g:airline#themes#base16#palette.replace_modified.airline_error = + \ g:airline#themes#base16#palette.normal.airline_error + + endfunction + call airline#themes#base16#refresh() +endif diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_3024.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_3024.vim new file mode 100644 index 0000000..f4e318a --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_3024.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 3024 Scheme by Jan T. Sott (http://github.com/idleberg) +let g:airline#themes#base16_3024#palette = {} +let s:gui00 = "#090300" +let s:gui01 = "#3a3432" +let s:gui02 = "#4a4543" +let s:gui03 = "#5c5855" +let s:gui04 = "#807d7c" +let s:gui05 = "#a5a2a2" +let s:gui06 = "#d6d5d4" +let s:gui07 = "#f7f7f7" +let s:gui08 = "#db2d20" +let s:gui09 = "#e8bbd0" +let s:gui0A = "#fded02" +let s:gui0B = "#01a252" +let s:gui0C = "#b5e4f4" +let s:gui0D = "#01a0e4" +let s:gui0E = "#a16a94" +let s:gui0F = "#cdab53" + +let s:cterm00 = 0 +let s:cterm01 = 59 +let s:cterm02 = 59 +let s:cterm03 = 59 +let s:cterm04 = 102 +let s:cterm05 = 145 +let s:cterm06 = 188 +let s:cterm07 = 15 +let s:cterm08 = 1 +let s:cterm09 = 182 +let s:cterm0A = 11 +let s:cterm0B = 35 +let s:cterm0C = 153 +let s:cterm0D = 38 +let s:cterm0E = 132 +let s:cterm0F = 179 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_3024#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_3024#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_3024#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_3024#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_3024#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_3024#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_adwaita.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_adwaita.vim new file mode 100644 index 0000000..ab89658 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_adwaita.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Adwaita Scheme by Rory Bradford (https://github.com/roryrjb) +let g:airline#themes#base16_adwaita#palette = {} +let s:gui00 = "#2D3234" +let s:gui01 = "#33393B" +let s:gui02 = "#4B5356" +let s:gui03 = "#566164" +let s:gui04 = "#919494" +let s:gui05 = "#C5C6C5" +let s:gui06 = "#D3D4D5" +let s:gui07 = "#EEEEEC" +let s:gui08 = "#FFA500" +let s:gui09 = "#FFFF60" +let s:gui0A = "#91EE6F" +let s:gui0B = "#6FEE91" +let s:gui0C = "#6F91B4" +let s:gui0D = "#916FB4" +let s:gui0E = "#EE6F91" +let s:gui0F = "#EE6F6F" + +let s:cterm00 = 0 +let s:cterm01 = 59 +let s:cterm02 = 59 +let s:cterm03 = 102 +let s:cterm04 = 145 +let s:cterm05 = 188 +let s:cterm06 = 188 +let s:cterm07 = 15 +let s:cterm08 = 180 +let s:cterm09 = 186 +let s:cterm0A = 150 +let s:cterm0B = 115 +let s:cterm0C = 110 +let s:cterm0D = 140 +let s:cterm0E = 175 +let s:cterm0F = 174 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_adwaita#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_adwaita#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_adwaita#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_adwaita#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_adwaita#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_adwaita#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_apathy.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_apathy.vim new file mode 100644 index 0000000..85a9584 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_apathy.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Apathy Scheme by Jannik Siebert (https://github.com/janniks) +let g:airline#themes#base16_apathy#palette = {} +let s:gui00 = "#031A16" +let s:gui01 = "#0B342D" +let s:gui02 = "#184E45" +let s:gui03 = "#2B685E" +let s:gui04 = "#5F9C92" +let s:gui05 = "#81B5AC" +let s:gui06 = "#A7CEC8" +let s:gui07 = "#D2E7E4" +let s:gui08 = "#3E9688" +let s:gui09 = "#3E7996" +let s:gui0A = "#3E4C96" +let s:gui0B = "#883E96" +let s:gui0C = "#963E4C" +let s:gui0D = "#96883E" +let s:gui0E = "#4C963E" +let s:gui0F = "#3E965B" + +let s:cterm00 = 0 +let s:cterm01 = 22 +let s:cterm02 = 23 +let s:cterm03 = 23 +let s:cterm04 = 72 +let s:cterm05 = 109 +let s:cterm06 = 152 +let s:cterm07 = 188 +let s:cterm08 = 66 +let s:cterm09 = 66 +let s:cterm0A = 60 +let s:cterm0B = 96 +let s:cterm0C = 95 +let s:cterm0D = 101 +let s:cterm0E = 65 +let s:cterm0F = 65 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_apathy#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_apathy#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_apathy#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_apathy#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_apathy#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_apathy#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_ashes.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_ashes.vim new file mode 100644 index 0000000..a162c67 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_ashes.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Ashes Scheme by Jannik Siebert (https://github.com/janniks) +let g:airline#themes#base16_ashes#palette = {} +let s:gui00 = "#1C2023" +let s:gui01 = "#393F45" +let s:gui02 = "#565E65" +let s:gui03 = "#747C84" +let s:gui04 = "#ADB3BA" +let s:gui05 = "#C7CCD1" +let s:gui06 = "#DFE2E5" +let s:gui07 = "#F3F4F5" +let s:gui08 = "#C7AE95" +let s:gui09 = "#C7C795" +let s:gui0A = "#AEC795" +let s:gui0B = "#95C7AE" +let s:gui0C = "#95AEC7" +let s:gui0D = "#AE95C7" +let s:gui0E = "#C795AE" +let s:gui0F = "#C79595" + +let s:cterm00 = 0 +let s:cterm01 = 59 +let s:cterm02 = 59 +let s:cterm03 = 102 +let s:cterm04 = 145 +let s:cterm05 = 188 +let s:cterm06 = 188 +let s:cterm07 = 15 +let s:cterm08 = 180 +let s:cterm09 = 186 +let s:cterm0A = 150 +let s:cterm0B = 115 +let s:cterm0C = 110 +let s:cterm0D = 140 +let s:cterm0E = 175 +let s:cterm0F = 174 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_ashes#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_ashes#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_ashes#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_ashes#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_ashes#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_ashes#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_cave.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_cave.vim new file mode 100644 index 0000000..2da3d60 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_cave.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Cave vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-cave", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#19171c' +let s:gui01 = '#26232a' +let s:gui02 = '#585260' +let s:gui03 = '#655f6d' +let s:gui04 = '#7e7887' +let s:gui05 = '#8b8792' +let s:gui06 = '#e2dfe7' +let s:gui07 = '#efecf4' +let s:gui08 = '#be4678' +let s:gui09 = '#aa573c' +let s:gui0A = '#a06e3b' +let s:gui0B = '#2a9292' +let s:gui0C = '#398bc6' +let s:gui0D = '#576ddb' +let s:gui0E = '#955ae7' +let s:gui0F = '#bf40bf' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_cave_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_cave_light.vim new file mode 100644 index 0000000..3066f5e --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_cave_light.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Cave Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-cave-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#efecf4' +let s:gui01 = '#e2dfe7' +let s:gui02 = '#8b8792' +let s:gui03 = '#7e7887' +let s:gui04 = '#655f6d' +let s:gui05 = '#585260' +let s:gui06 = '#26232a' +let s:gui07 = '#19171c' +let s:gui08 = '#be4678' +let s:gui09 = '#aa573c' +let s:gui0A = '#a06e3b' +let s:gui0B = '#2a9292' +let s:gui0C = '#398bc6' +let s:gui0D = '#576ddb' +let s:gui0E = '#955ae7' +let s:gui0F = '#bf40bf' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_dune.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_dune.vim new file mode 100644 index 0000000..54941f9 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_dune.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Dune vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-dune", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#20201d' +let s:gui01 = '#292824' +let s:gui02 = '#6e6b5e' +let s:gui03 = '#7d7a68' +let s:gui04 = '#999580' +let s:gui05 = '#a6a28c' +let s:gui06 = '#e8e4cf' +let s:gui07 = '#fefbec' +let s:gui08 = '#d73737' +let s:gui09 = '#b65611' +let s:gui0A = '#ae9513' +let s:gui0B = '#60ac39' +let s:gui0C = '#1fad83' +let s:gui0D = '#6684e1' +let s:gui0E = '#b854d4' +let s:gui0F = '#d43552' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_dune_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_dune_light.vim new file mode 100644 index 0000000..4f724fc --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_dune_light.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Dune Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-dune-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#fefbec' +let s:gui01 = '#e8e4cf' +let s:gui02 = '#a6a28c' +let s:gui03 = '#999580' +let s:gui04 = '#7d7a68' +let s:gui05 = '#6e6b5e' +let s:gui06 = '#292824' +let s:gui07 = '#20201d' +let s:gui08 = '#d73737' +let s:gui09 = '#b65611' +let s:gui0A = '#ae9513' +let s:gui0B = '#60ac39' +let s:gui0C = '#1fad83' +let s:gui0D = '#6684e1' +let s:gui0E = '#b854d4' +let s:gui0F = '#d43552' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_estuary.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_estuary.vim new file mode 100644 index 0000000..9ab570c --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_estuary.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Estuary vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-estuary", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#22221b' +let s:gui01 = '#302f27' +let s:gui02 = '#5f5e4e' +let s:gui03 = '#6c6b5a' +let s:gui04 = '#878573' +let s:gui05 = '#929181' +let s:gui06 = '#e7e6df' +let s:gui07 = '#f4f3ec' +let s:gui08 = '#ba6236' +let s:gui09 = '#ae7313' +let s:gui0A = '#a5980d' +let s:gui0B = '#7d9726' +let s:gui0C = '#5b9d48' +let s:gui0D = '#36a166' +let s:gui0E = '#5f9182' +let s:gui0F = '#9d6c7c' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_estuary_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_estuary_light.vim new file mode 100644 index 0000000..2b85f4d --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_estuary_light.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Estuary Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-estuary-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#f4f3ec' +let s:gui01 = '#e7e6df' +let s:gui02 = '#929181' +let s:gui03 = '#878573' +let s:gui04 = '#6c6b5a' +let s:gui05 = '#5f5e4e' +let s:gui06 = '#302f27' +let s:gui07 = '#22221b' +let s:gui08 = '#ba6236' +let s:gui09 = '#ae7313' +let s:gui0A = '#a5980d' +let s:gui0B = '#7d9726' +let s:gui0C = '#5b9d48' +let s:gui0D = '#36a166' +let s:gui0E = '#5f9182' +let s:gui0F = '#9d6c7c' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_forest.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_forest.vim new file mode 100644 index 0000000..d8bbe26 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_forest.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Forest vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-forest", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#1b1918' +let s:gui01 = '#2c2421' +let s:gui02 = '#68615e' +let s:gui03 = '#766e6b' +let s:gui04 = '#9c9491' +let s:gui05 = '#a8a19f' +let s:gui06 = '#e6e2e0' +let s:gui07 = '#f1efee' +let s:gui08 = '#f22c40' +let s:gui09 = '#df5320' +let s:gui0A = '#c38418' +let s:gui0B = '#7b9726' +let s:gui0C = '#3d97b8' +let s:gui0D = '#407ee7' +let s:gui0E = '#6666ea' +let s:gui0F = '#c33ff3' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_forest_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_forest_light.vim new file mode 100644 index 0000000..d86af1c --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_forest_light.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Forest Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-forest-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#f1efee' +let s:gui01 = '#e6e2e0' +let s:gui02 = '#a8a19f' +let s:gui03 = '#9c9491' +let s:gui04 = '#766e6b' +let s:gui05 = '#68615e' +let s:gui06 = '#2c2421' +let s:gui07 = '#1b1918' +let s:gui08 = '#f22c40' +let s:gui09 = '#df5320' +let s:gui0A = '#c38418' +let s:gui0B = '#7b9726' +let s:gui0C = '#3d97b8' +let s:gui0D = '#407ee7' +let s:gui0E = '#6666ea' +let s:gui0F = '#c33ff3' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_heath.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_heath.vim new file mode 100644 index 0000000..ca21708 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_heath.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Heath vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-heath", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#1b181b' +let s:gui01 = '#292329' +let s:gui02 = '#695d69' +let s:gui03 = '#776977' +let s:gui04 = '#9e8f9e' +let s:gui05 = '#ab9bab' +let s:gui06 = '#d8cad8' +let s:gui07 = '#f7f3f7' +let s:gui08 = '#ca402b' +let s:gui09 = '#a65926' +let s:gui0A = '#bb8a35' +let s:gui0B = '#918b3b' +let s:gui0C = '#159393' +let s:gui0D = '#516aec' +let s:gui0E = '#7b59c0' +let s:gui0F = '#cc33cc' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_heath_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_heath_light.vim new file mode 100644 index 0000000..d616a79 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_heath_light.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Heath Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-heath-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#f7f3f7' +let s:gui01 = '#d8cad8' +let s:gui02 = '#ab9bab' +let s:gui03 = '#9e8f9e' +let s:gui04 = '#776977' +let s:gui05 = '#695d69' +let s:gui06 = '#292329' +let s:gui07 = '#1b181b' +let s:gui08 = '#ca402b' +let s:gui09 = '#a65926' +let s:gui0A = '#bb8a35' +let s:gui0B = '#918b3b' +let s:gui0C = '#159393' +let s:gui0D = '#516aec' +let s:gui0E = '#7b59c0' +let s:gui0F = '#cc33cc' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_lakeside.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_lakeside.vim new file mode 100644 index 0000000..76e196c --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_lakeside.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Lakeside vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-lakeside", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#161b1d' +let s:gui01 = '#1f292e' +let s:gui02 = '#516d7b' +let s:gui03 = '#5a7b8c' +let s:gui04 = '#7195a8' +let s:gui05 = '#7ea2b4' +let s:gui06 = '#c1e4f6' +let s:gui07 = '#ebf8ff' +let s:gui08 = '#d22d72' +let s:gui09 = '#935c25' +let s:gui0A = '#8a8a0f' +let s:gui0B = '#568c3b' +let s:gui0C = '#2d8f6f' +let s:gui0D = '#257fad' +let s:gui0E = '#6b6bb8' +let s:gui0F = '#b72dd2' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_lakeside_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_lakeside_light.vim new file mode 100644 index 0000000..ed58b0b --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_lakeside_light.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Lakeside Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-lakeside-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#ebf8ff' +let s:gui01 = '#c1e4f6' +let s:gui02 = '#7ea2b4' +let s:gui03 = '#7195a8' +let s:gui04 = '#5a7b8c' +let s:gui05 = '#516d7b' +let s:gui06 = '#1f292e' +let s:gui07 = '#161b1d' +let s:gui08 = '#d22d72' +let s:gui09 = '#935c25' +let s:gui0A = '#8a8a0f' +let s:gui0B = '#568c3b' +let s:gui0C = '#2d8f6f' +let s:gui0D = '#257fad' +let s:gui0E = '#6b6bb8' +let s:gui0F = '#b72dd2' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_plateau.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_plateau.vim new file mode 100644 index 0000000..1ce85ff --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_plateau.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Plateau vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-plateau", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#1b1818' +let s:gui01 = '#292424' +let s:gui02 = '#585050' +let s:gui03 = '#655d5d' +let s:gui04 = '#7e7777' +let s:gui05 = '#8a8585' +let s:gui06 = '#e7dfdf' +let s:gui07 = '#f4ecec' +let s:gui08 = '#ca4949' +let s:gui09 = '#b45a3c' +let s:gui0A = '#a06e3b' +let s:gui0B = '#4b8b8b' +let s:gui0C = '#5485b6' +let s:gui0D = '#7272ca' +let s:gui0E = '#8464c4' +let s:gui0F = '#bd5187' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_plateau_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_plateau_light.vim new file mode 100644 index 0000000..a6f8350 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_plateau_light.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Plateau Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-plateau-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#f4ecec' +let s:gui01 = '#e7dfdf' +let s:gui02 = '#8a8585' +let s:gui03 = '#7e7777' +let s:gui04 = '#655d5d' +let s:gui05 = '#585050' +let s:gui06 = '#292424' +let s:gui07 = '#1b1818' +let s:gui08 = '#ca4949' +let s:gui09 = '#b45a3c' +let s:gui0A = '#a06e3b' +let s:gui0B = '#4b8b8b' +let s:gui0C = '#5485b6' +let s:gui0D = '#7272ca' +let s:gui0E = '#8464c4' +let s:gui0F = '#bd5187' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_savanna.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_savanna.vim new file mode 100644 index 0000000..c6a6597 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_savanna.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Savanna vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-savanna", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#171c19' +let s:gui01 = '#232a25' +let s:gui02 = '#526057' +let s:gui03 = '#5f6d64' +let s:gui04 = '#78877d' +let s:gui05 = '#87928a' +let s:gui06 = '#dfe7e2' +let s:gui07 = '#ecf4ee' +let s:gui08 = '#b16139' +let s:gui09 = '#9f713c' +let s:gui0A = '#a07e3b' +let s:gui0B = '#489963' +let s:gui0C = '#1c9aa0' +let s:gui0D = '#478c90' +let s:gui0E = '#55859b' +let s:gui0F = '#867469' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_savanna_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_savanna_light.vim new file mode 100644 index 0000000..f98bbc8 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_savanna_light.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Savanna Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-savanna-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#ecf4ee' +let s:gui01 = '#dfe7e2' +let s:gui02 = '#87928a' +let s:gui03 = '#78877d' +let s:gui04 = '#5f6d64' +let s:gui05 = '#526057' +let s:gui06 = '#232a25' +let s:gui07 = '#171c19' +let s:gui08 = '#b16139' +let s:gui09 = '#9f713c' +let s:gui0A = '#a07e3b' +let s:gui0B = '#489963' +let s:gui0C = '#1c9aa0' +let s:gui0D = '#478c90' +let s:gui0E = '#55859b' +let s:gui0F = '#867469' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_seaside.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_seaside.vim new file mode 100644 index 0000000..61b19e0 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_seaside.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Seaside vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-seaside", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#131513' +let s:gui01 = '#242924' +let s:gui02 = '#5e6e5e' +let s:gui03 = '#687d68' +let s:gui04 = '#809980' +let s:gui05 = '#8ca68c' +let s:gui06 = '#cfe8cf' +let s:gui07 = '#f4fbf4' +let s:gui08 = '#e6193c' +let s:gui09 = '#87711d' +let s:gui0A = '#98981b' +let s:gui0B = '#29a329' +let s:gui0C = '#1999b3' +let s:gui0D = '#3d62f5' +let s:gui0E = '#ad2bee' +let s:gui0F = '#e619c3' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_seaside_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_seaside_light.vim new file mode 100644 index 0000000..fc8a933 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_seaside_light.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Seaside Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-seaside-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#f4fbf4' +let s:gui01 = '#cfe8cf' +let s:gui02 = '#8ca68c' +let s:gui03 = '#809980' +let s:gui04 = '#687d68' +let s:gui05 = '#5e6e5e' +let s:gui06 = '#242924' +let s:gui07 = '#131513' +let s:gui08 = '#e6193c' +let s:gui09 = '#87711d' +let s:gui0A = '#98981b' +let s:gui0B = '#29a329' +let s:gui0C = '#1999b3' +let s:gui0D = '#3d62f5' +let s:gui0E = '#ad2bee' +let s:gui0F = '#e619c3' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_sulphurpool.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_sulphurpool.vim new file mode 100644 index 0000000..90aff17 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_sulphurpool.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Sulphurpool vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-sulphurpool", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#202746' +let s:gui01 = '#293256' +let s:gui02 = '#5e6687' +let s:gui03 = '#6b7394' +let s:gui04 = '#898ea4' +let s:gui05 = '#979db4' +let s:gui06 = '#dfe2f1' +let s:gui07 = '#f5f7ff' +let s:gui08 = '#c94922' +let s:gui09 = '#c76b29' +let s:gui0A = '#c08b30' +let s:gui0B = '#ac9739' +let s:gui0C = '#22a2c9' +let s:gui0D = '#3d8fd1' +let s:gui0E = '#6679cc' +let s:gui0F = '#9c637a' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_sulphurpool_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_sulphurpool_light.vim new file mode 100644 index 0000000..8169547 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelier_sulphurpool_light.vim @@ -0,0 +1,85 @@ +" Base16 Atelier Sulphurpool Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Bram de Haan (http://atelierbramdehaan.nl) + +let s:scheme_slug = substitute("atelier-sulphurpool-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#f5f7ff' +let s:gui01 = '#dfe2f1' +let s:gui02 = '#979db4' +let s:gui03 = '#898ea4' +let s:gui04 = '#6b7394' +let s:gui05 = '#5e6687' +let s:gui06 = '#293256' +let s:gui07 = '#202746' +let s:gui08 = '#c94922' +let s:gui09 = '#c76b29' +let s:gui0A = '#c08b30' +let s:gui0B = '#ac9739' +let s:gui0C = '#22a2c9' +let s:gui0D = '#3d8fd1' +let s:gui0E = '#6679cc' +let s:gui0F = '#9c637a' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelierdune.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelierdune.vim new file mode 100644 index 0000000..c3d54c6 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelierdune.vim @@ -0,0 +1,89 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Atelier Dune Scheme by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) +let g:airline#themes#base16_atelierdune#palette = {} + +let s:gui00 = "#20201d" +let s:gui01 = "#292824" +let s:gui02 = "#6e6b5e" +let s:gui03 = "#7d7a68" +let s:gui04 = "#999580" +let s:gui05 = "#a6a28c" +let s:gui06 = "#e8e4cf" +let s:gui07 = "#fefbec" +let s:gui08 = "#d73737" +let s:gui09 = "#b65611" +let s:gui0A = "#cfb017" +let s:gui0B = "#60ac39" +let s:gui0C = "#1fad83" +let s:gui0D = "#6684e1" +let s:gui0E = "#b854d4" +let s:gui0F = "#d43552" + +let s:cterm00 = 0 +let s:cterm01 = 0 +let s:cterm02 = 59 +let s:cterm03 = 101 +let s:cterm04 = 102 +let s:cterm05 = 144 +let s:cterm06 = 188 +let s:cterm07 = 15 +let s:cterm08 = 167 +let s:cterm09 = 182 +let s:cterm0B = 71 +let s:cterm0C = 36 +let s:cterm0D = 68 +let s:cterm0E = 134 +" those two are not used +let s:cterm0A = 178 +let s:cterm0F = 167 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierdune#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierdune#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierdune#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierdune#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_atelierdune#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Warning info +let s:WARNING = [ s:gui01, s:gui0A, s:cterm0C, s:cterm06 ] +let s:ERROR = [ s:gui07, s:gui08, s:cterm07, s:cterm08 ] + +let g:airline#themes#base16_atelierdune#palette.normal.airline_warning = s:WARNING +let g:airline#themes#base16_atelierdune#palette.insert.airline_warning = s:WARNING +let g:airline#themes#base16_atelierdune#palette.visual.airline_warning = s:WARNING +let g:airline#themes#base16_atelierdune#palette.replace.airline_warning = s:WARNING + +let g:airline#themes#base16_atelierdune#palette.normal.airline_error = s:ERROR +let g:airline#themes#base16_atelierdune#palette.insert.airline_error = s:ERROR +let g:airline#themes#base16_atelierdune#palette.visual.airline_error = s:ERROR +let g:airline#themes#base16_atelierdune#palette.replace.airline_error = s:ERROR + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_atelierdune#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelierforest.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelierforest.vim new file mode 100644 index 0000000..70c23de --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelierforest.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Atelier Forest Scheme by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) +let g:airline#themes#base16_atelierforest#palette = {} +let s:gui00 = "#1b1918" +let s:gui01 = "#2c2421" +let s:gui02 = "#68615e" +let s:gui03 = "#766e6b" +let s:gui04 = "#9c9491" +let s:gui05 = "#a8a19f" +let s:gui06 = "#e6e2e0" +let s:gui07 = "#f1efee" +let s:gui08 = "#f22c40" +let s:gui09 = "#df5320" +let s:gui0A = "#d5911a" +let s:gui0B = "#5ab738" +let s:gui0C = "#00ad9c" +let s:gui0D = "#407ee7" +let s:gui0E = "#6666ea" +let s:gui0F = "#c33ff3" + +let s:cterm00 = 0 +let s:cterm01 = 0 +let s:cterm02 = 59 +let s:cterm03 = 95 +let s:cterm04 = 138 +let s:cterm05 = 145 +let s:cterm06 = 188 +let s:cterm07 = 15 +let s:cterm08 = 197 +let s:cterm09 = 166 +let s:cterm0A = 172 +let s:cterm0B = 71 +let s:cterm0C = 37 +let s:cterm0D = 68 +let s:cterm0E = 62 +let s:cterm0F = 135 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierforest#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierforest#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierforest#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierforest#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_atelierforest#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_atelierforest#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelierheath.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelierheath.vim new file mode 100644 index 0000000..20179c7 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelierheath.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Atelier Heath Scheme by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) +let g:airline#themes#base16_atelierheath#palette = {} +let s:gui00 = "#1b181b" +let s:gui01 = "#292329" +let s:gui02 = "#695d69" +let s:gui03 = "#776977" +let s:gui04 = "#9e8f9e" +let s:gui05 = "#ab9bab" +let s:gui06 = "#d8cad8" +let s:gui07 = "#f7f3f7" +let s:gui08 = "#ca402b" +let s:gui09 = "#a65926" +let s:gui0A = "#bb8a35" +let s:gui0B = "#379a37" +let s:gui0C = "#159393" +let s:gui0D = "#516aec" +let s:gui0E = "#7b59c0" +let s:gui0F = "#cc33cc" + +let s:cterm00 = 0 +let s:cterm01 = 0 +let s:cterm02 = 59 +let s:cterm03 = 96 +let s:cterm04 = 139 +let s:cterm05 = 139 +let s:cterm06 = 188 +let s:cterm07 = 15 +let s:cterm08 = 166 +let s:cterm09 = 130 +let s:cterm0A = 137 +let s:cterm0B = 65 +let s:cterm0C = 30 +let s:cterm0D = 12 +let s:cterm0E = 97 +let s:cterm0F = 170 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierheath#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierheath#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierheath#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierheath#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_atelierheath#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_atelierheath#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelierlakeside.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelierlakeside.vim new file mode 100644 index 0000000..0d1e758 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelierlakeside.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Atelier Lakeside Scheme by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside/) +let g:airline#themes#base16_atelierlakeside#palette = {} +let s:gui00 = "#161b1d" +let s:gui01 = "#1f292e" +let s:gui02 = "#516d7b" +let s:gui03 = "#5a7b8c" +let s:gui04 = "#7195a8" +let s:gui05 = "#7ea2b4" +let s:gui06 = "#c1e4f6" +let s:gui07 = "#ebf8ff" +let s:gui08 = "#d22d72" +let s:gui09 = "#935c25" +let s:gui0A = "#8a8a0f" +let s:gui0B = "#568c3b" +let s:gui0C = "#2d8f6f" +let s:gui0D = "#257fad" +let s:gui0E = "#5d5db1" +let s:gui0F = "#b72dd2" + +let s:cterm00 = 0 +let s:cterm01 = 0 +let s:cterm02 = 60 +let s:cterm03 = 66 +let s:cterm04 = 67 +let s:cterm05 = 109 +let s:cterm06 = 153 +let s:cterm07 = 195 +let s:cterm08 = 161 +let s:cterm09 = 94 +let s:cterm0A = 100 +let s:cterm0B = 65 +let s:cterm0C = 29 +let s:cterm0D = 31 +let s:cterm0E = 61 +let s:cterm0F = 5 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierlakeside#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierlakeside#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierlakeside#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierlakeside#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_atelierlakeside#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_atelierlakeside#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelierseaside.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelierseaside.vim new file mode 100644 index 0000000..0314ea2 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atelierseaside.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Atelier Seaside Scheme by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/) +let g:airline#themes#base16_atelierseaside#palette = {} +let s:gui00 = "#131513" +let s:gui01 = "#242924" +let s:gui02 = "#5e6e5e" +let s:gui03 = "#687d68" +let s:gui04 = "#809980" +let s:gui05 = "#8ca68c" +let s:gui06 = "#cfe8cf" +let s:gui07 = "#f0fff0" +let s:gui08 = "#e6193c" +let s:gui09 = "#87711d" +let s:gui0A = "#c3c322" +let s:gui0B = "#29a329" +let s:gui0C = "#1999b3" +let s:gui0D = "#3d62f5" +let s:gui0E = "#ad2bee" +let s:gui0F = "#e619c3" + +let s:cterm00 = 0 +let s:cterm01 = 0 +let s:cterm02 = 59 +let s:cterm03 = 65 +let s:cterm04 = 102 +let s:cterm05 = 108 +let s:cterm06 = 188 +let s:cterm07 = 15 +let s:cterm08 = 161 +let s:cterm09 = 94 +let s:cterm0A = 3 +let s:cterm0B = 2 +let s:cterm0C = 31 +let s:cterm0D = 12 +let s:cterm0E = 129 +let s:cterm0F = 5 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierseaside#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierseaside#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierseaside#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_atelierseaside#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_atelierseaside#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_atelierseaside#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atlas.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atlas.vim new file mode 100644 index 0000000..cb4f9f0 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_atlas.vim @@ -0,0 +1,85 @@ +" Base16 Atlas vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Alex Lende (https://ajlende.com) + +let s:scheme_slug = substitute("atlas", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#002635' +let s:gui01 = '#00384d' +let s:gui02 = '#517F8D' +let s:gui03 = '#6C8B91' +let s:gui04 = '#869696' +let s:gui05 = '#a1a19a' +let s:gui06 = '#e6e6dc' +let s:gui07 = '#fafaf8' +let s:gui08 = '#ff5a67' +let s:gui09 = '#f08e48' +let s:gui0A = '#ffcc1b' +let s:gui0B = '#7fc06e' +let s:gui0C = '#14747e' +let s:gui0D = '#5dd7b9' +let s:gui0E = '#9a70a4' +let s:gui0F = '#c43060' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_bespin.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_bespin.vim new file mode 100644 index 0000000..b4f3523 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_bespin.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Bespin Scheme by Jan T. Sott +let g:airline#themes#base16_bespin#palette = {} +let s:gui00 = "#28211c" +let s:gui01 = "#36312e" +let s:gui02 = "#5e5d5c" +let s:gui03 = "#666666" +let s:gui04 = "#797977" +let s:gui05 = "#8a8986" +let s:gui06 = "#9d9b97" +let s:gui07 = "#baae9e" +let s:gui08 = "#cf6a4c" +let s:gui09 = "#cf7d34" +let s:gui0A = "#f9ee98" +let s:gui0B = "#54be0d" +let s:gui0C = "#afc4db" +let s:gui0D = "#5ea6ea" +let s:gui0E = "#9b859d" +let s:gui0F = "#937121" + +let s:cterm00 = 0 +let s:cterm01 = 58 +let s:cterm02 = 59 +let s:cterm03 = 241 +let s:cterm04 = 102 +let s:cterm05 = 102 +let s:cterm06 = 138 +let s:cterm07 = 145 +let s:cterm08 = 167 +let s:cterm09 = 173 +let s:cterm0A = 228 +let s:cterm0B = 70 +let s:cterm0C = 152 +let s:cterm0D = 74 +let s:cterm0E = 103 +let s:cterm0F = 94 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_bespin#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_bespin#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_bespin#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_bespin#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_bespin#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_bespin#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal.vim new file mode 100644 index 0000000..dccb2bc --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal.vim @@ -0,0 +1,85 @@ +" Base16 Black Metal vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By metalelf0 (https://github.com/metalelf0) + +let s:scheme_slug = substitute("black-metal", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#000000' +let s:gui01 = '#121212' +let s:gui02 = '#222222' +let s:gui03 = '#333333' +let s:gui04 = '#999999' +let s:gui05 = '#c1c1c1' +let s:gui06 = '#999999' +let s:gui07 = '#c1c1c1' +let s:gui08 = '#5f8787' +let s:gui09 = '#aaaaaa' +let s:gui0A = '#a06666' +let s:gui0B = '#dd9999' +let s:gui0C = '#aaaaaa' +let s:gui0D = '#888888' +let s:gui0E = '#999999' +let s:gui0F = '#444444' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_bathory.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_bathory.vim new file mode 100644 index 0000000..c8c403f --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_bathory.vim @@ -0,0 +1,85 @@ +" Base16 Black Metal (Bathory) vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By metalelf0 (https://github.com/metalelf0) + +let s:scheme_slug = substitute("black-metal-bathory", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#000000' +let s:gui01 = '#121212' +let s:gui02 = '#222222' +let s:gui03 = '#333333' +let s:gui04 = '#999999' +let s:gui05 = '#c1c1c1' +let s:gui06 = '#999999' +let s:gui07 = '#c1c1c1' +let s:gui08 = '#5f8787' +let s:gui09 = '#aaaaaa' +let s:gui0A = '#e78a53' +let s:gui0B = '#fbcb97' +let s:gui0C = '#aaaaaa' +let s:gui0D = '#888888' +let s:gui0E = '#999999' +let s:gui0F = '#444444' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_burzum.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_burzum.vim new file mode 100644 index 0000000..1d292d9 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_burzum.vim @@ -0,0 +1,85 @@ +" Base16 Black Metal (Burzum) vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By metalelf0 (https://github.com/metalelf0) + +let s:scheme_slug = substitute("black-metal-burzum", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#000000' +let s:gui01 = '#121212' +let s:gui02 = '#222222' +let s:gui03 = '#333333' +let s:gui04 = '#999999' +let s:gui05 = '#c1c1c1' +let s:gui06 = '#999999' +let s:gui07 = '#c1c1c1' +let s:gui08 = '#5f8787' +let s:gui09 = '#aaaaaa' +let s:gui0A = '#99bbaa' +let s:gui0B = '#ddeecc' +let s:gui0C = '#aaaaaa' +let s:gui0D = '#888888' +let s:gui0E = '#999999' +let s:gui0F = '#444444' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_dark_funeral.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_dark_funeral.vim new file mode 100644 index 0000000..9d39565 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_dark_funeral.vim @@ -0,0 +1,85 @@ +" Base16 Black Metal (Dark Funeral) vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By metalelf0 (https://github.com/metalelf0) + +let s:scheme_slug = substitute("black-metal-dark-funeral", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#000000' +let s:gui01 = '#121212' +let s:gui02 = '#222222' +let s:gui03 = '#333333' +let s:gui04 = '#999999' +let s:gui05 = '#c1c1c1' +let s:gui06 = '#999999' +let s:gui07 = '#c1c1c1' +let s:gui08 = '#5f8787' +let s:gui09 = '#aaaaaa' +let s:gui0A = '#5f81a5' +let s:gui0B = '#d0dfee' +let s:gui0C = '#aaaaaa' +let s:gui0D = '#888888' +let s:gui0E = '#999999' +let s:gui0F = '#444444' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_gorgoroth.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_gorgoroth.vim new file mode 100644 index 0000000..ab9bda4 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_gorgoroth.vim @@ -0,0 +1,85 @@ +" Base16 Black Metal (Gorgoroth) vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By metalelf0 (https://github.com/metalelf0) + +let s:scheme_slug = substitute("black-metal-gorgoroth", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#000000' +let s:gui01 = '#121212' +let s:gui02 = '#222222' +let s:gui03 = '#333333' +let s:gui04 = '#999999' +let s:gui05 = '#c1c1c1' +let s:gui06 = '#999999' +let s:gui07 = '#c1c1c1' +let s:gui08 = '#5f8787' +let s:gui09 = '#aaaaaa' +let s:gui0A = '#8c7f70' +let s:gui0B = '#9b8d7f' +let s:gui0C = '#aaaaaa' +let s:gui0D = '#888888' +let s:gui0E = '#999999' +let s:gui0F = '#444444' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_immortal.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_immortal.vim new file mode 100644 index 0000000..97779d6 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_immortal.vim @@ -0,0 +1,85 @@ +" Base16 Black Metal (Immortal) vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By metalelf0 (https://github.com/metalelf0) + +let s:scheme_slug = substitute("black-metal-immortal", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#000000' +let s:gui01 = '#121212' +let s:gui02 = '#222222' +let s:gui03 = '#333333' +let s:gui04 = '#999999' +let s:gui05 = '#c1c1c1' +let s:gui06 = '#999999' +let s:gui07 = '#c1c1c1' +let s:gui08 = '#5f8787' +let s:gui09 = '#aaaaaa' +let s:gui0A = '#556677' +let s:gui0B = '#7799bb' +let s:gui0C = '#aaaaaa' +let s:gui0D = '#888888' +let s:gui0E = '#999999' +let s:gui0F = '#444444' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_khold.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_khold.vim new file mode 100644 index 0000000..65e909f --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_khold.vim @@ -0,0 +1,85 @@ +" Base16 Black Metal (Khold) vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By metalelf0 (https://github.com/metalelf0) + +let s:scheme_slug = substitute("black-metal-khold", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#000000' +let s:gui01 = '#121212' +let s:gui02 = '#222222' +let s:gui03 = '#333333' +let s:gui04 = '#999999' +let s:gui05 = '#c1c1c1' +let s:gui06 = '#999999' +let s:gui07 = '#c1c1c1' +let s:gui08 = '#5f8787' +let s:gui09 = '#aaaaaa' +let s:gui0A = '#974b46' +let s:gui0B = '#eceee3' +let s:gui0C = '#aaaaaa' +let s:gui0D = '#888888' +let s:gui0E = '#999999' +let s:gui0F = '#444444' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_marduk.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_marduk.vim new file mode 100644 index 0000000..25773e8 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_marduk.vim @@ -0,0 +1,85 @@ +" Base16 Black Metal (Marduk) vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By metalelf0 (https://github.com/metalelf0) + +let s:scheme_slug = substitute("black-metal-marduk", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#000000' +let s:gui01 = '#121212' +let s:gui02 = '#222222' +let s:gui03 = '#333333' +let s:gui04 = '#999999' +let s:gui05 = '#c1c1c1' +let s:gui06 = '#999999' +let s:gui07 = '#c1c1c1' +let s:gui08 = '#5f8787' +let s:gui09 = '#aaaaaa' +let s:gui0A = '#626b67' +let s:gui0B = '#a5aaa7' +let s:gui0C = '#aaaaaa' +let s:gui0D = '#888888' +let s:gui0E = '#999999' +let s:gui0F = '#444444' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_mayhem.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_mayhem.vim new file mode 100644 index 0000000..28ffa24 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_mayhem.vim @@ -0,0 +1,85 @@ +" Base16 Black Metal (Mayhem) vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By metalelf0 (https://github.com/metalelf0) + +let s:scheme_slug = substitute("black-metal-mayhem", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#000000' +let s:gui01 = '#121212' +let s:gui02 = '#222222' +let s:gui03 = '#333333' +let s:gui04 = '#999999' +let s:gui05 = '#c1c1c1' +let s:gui06 = '#999999' +let s:gui07 = '#c1c1c1' +let s:gui08 = '#5f8787' +let s:gui09 = '#aaaaaa' +let s:gui0A = '#eecc6c' +let s:gui0B = '#f3ecd4' +let s:gui0C = '#aaaaaa' +let s:gui0D = '#888888' +let s:gui0E = '#999999' +let s:gui0F = '#444444' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_nile.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_nile.vim new file mode 100644 index 0000000..fc013de --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_nile.vim @@ -0,0 +1,85 @@ +" Base16 Black Metal (Nile) vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By metalelf0 (https://github.com/metalelf0) + +let s:scheme_slug = substitute("black-metal-nile", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#000000' +let s:gui01 = '#121212' +let s:gui02 = '#222222' +let s:gui03 = '#333333' +let s:gui04 = '#999999' +let s:gui05 = '#c1c1c1' +let s:gui06 = '#999999' +let s:gui07 = '#c1c1c1' +let s:gui08 = '#5f8787' +let s:gui09 = '#aaaaaa' +let s:gui0A = '#777755' +let s:gui0B = '#aa9988' +let s:gui0C = '#aaaaaa' +let s:gui0D = '#888888' +let s:gui0E = '#999999' +let s:gui0F = '#444444' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_venom.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_venom.vim new file mode 100644 index 0000000..f18117a --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_black_metal_venom.vim @@ -0,0 +1,85 @@ +" Base16 Black Metal (Venom) vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By metalelf0 (https://github.com/metalelf0) + +let s:scheme_slug = substitute("black-metal-venom", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#000000' +let s:gui01 = '#121212' +let s:gui02 = '#222222' +let s:gui03 = '#333333' +let s:gui04 = '#999999' +let s:gui05 = '#c1c1c1' +let s:gui06 = '#999999' +let s:gui07 = '#c1c1c1' +let s:gui08 = '#5f8787' +let s:gui09 = '#aaaaaa' +let s:gui0A = '#79241f' +let s:gui0B = '#f8f7f2' +let s:gui0C = '#aaaaaa' +let s:gui0D = '#888888' +let s:gui0E = '#999999' +let s:gui0F = '#444444' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_brewer.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_brewer.vim new file mode 100644 index 0000000..0164677 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_brewer.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Brewer Scheme by Timothée Poisot (http://github.com/tpoisot) +let g:airline#themes#base16_brewer#palette = {} +let s:gui00 = "#0c0d0e" +let s:gui01 = "#2e2f30" +let s:gui02 = "#515253" +let s:gui03 = "#737475" +let s:gui04 = "#959697" +let s:gui05 = "#b7b8b9" +let s:gui06 = "#dadbdc" +let s:gui07 = "#fcfdfe" +let s:gui08 = "#e31a1c" +let s:gui09 = "#e6550d" +let s:gui0A = "#dca060" +let s:gui0B = "#31a354" +let s:gui0C = "#80b1d3" +let s:gui0D = "#3182bd" +let s:gui0E = "#756bb1" +let s:gui0F = "#b15928" + +let s:cterm00 = 0 +let s:cterm01 = 17 +let s:cterm02 = 59 +let s:cterm03 = 66 +let s:cterm04 = 102 +let s:cterm05 = 145 +let s:cterm06 = 188 +let s:cterm07 = 15 +let s:cterm08 = 1 +let s:cterm09 = 166 +let s:cterm0A = 179 +let s:cterm0B = 71 +let s:cterm0C = 110 +let s:cterm0D = 67 +let s:cterm0E = 97 +let s:cterm0F = 130 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_brewer#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_brewer#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_brewer#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_brewer#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_brewer#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_brewer#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_bright.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_bright.vim new file mode 100644 index 0000000..23c7432 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_bright.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Bright Scheme by Chris Kempson (http://chriskempson.com) +let g:airline#themes#base16_bright#palette = {} +let s:gui00 = "#000000" +let s:gui01 = "#303030" +let s:gui02 = "#505050" +let s:gui03 = "#b0b0b0" +let s:gui04 = "#d0d0d0" +let s:gui05 = "#e0e0e0" +let s:gui06 = "#f5f5f5" +let s:gui07 = "#ffffff" +let s:gui08 = "#fb0120" +let s:gui09 = "#fc6d24" +let s:gui0A = "#fda331" +let s:gui0B = "#a1c659" +let s:gui0C = "#76c7b7" +let s:gui0D = "#6fb3d2" +let s:gui0E = "#d381c3" +let s:gui0F = "#be643c" + +let s:cterm00 = 0 +let s:cterm01 = 236 +let s:cterm02 = 239 +let s:cterm03 = 249 +let s:cterm04 = 252 +let s:cterm05 = 253 +let s:cterm06 = 15 +let s:cterm07 = 15 +let s:cterm08 = 9 +let s:cterm09 = 202 +let s:cterm0A = 215 +let s:cterm0B = 149 +let s:cterm0C = 115 +let s:cterm0D = 74 +let s:cterm0E = 175 +let s:cterm0F = 131 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_bright#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_bright#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_bright#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_bright#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_bright#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_bright#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_brogrammer.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_brogrammer.vim new file mode 100644 index 0000000..2acba36 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_brogrammer.vim @@ -0,0 +1,85 @@ +" Base16 Brogrammer vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Vik Ramanujam (http://github.com/piggyslasher) + +let s:scheme_slug = substitute("brogrammer", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#1f1f1f' +let s:gui01 = '#f81118' +let s:gui02 = '#2dc55e' +let s:gui03 = '#ecba0f' +let s:gui04 = '#2a84d2' +let s:gui05 = '#4e5ab7' +let s:gui06 = '#1081d6' +let s:gui07 = '#d6dbe5' +let s:gui08 = '#d6dbe5' +let s:gui09 = '#de352e' +let s:gui0A = '#1dd361' +let s:gui0B = '#f3bd09' +let s:gui0C = '#1081d6' +let s:gui0D = '#5350b9' +let s:gui0E = '#0f7ddb' +let s:gui0F = '#ffffff' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_brushtrees.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_brushtrees.vim new file mode 100644 index 0000000..3c21950 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_brushtrees.vim @@ -0,0 +1,85 @@ +" Base16 Brush Trees vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Abraham White <abelincoln.white@gmail.com> + +let s:scheme_slug = substitute("brushtrees", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#E3EFEF' +let s:gui01 = '#C9DBDC' +let s:gui02 = '#B0C5C8' +let s:gui03 = '#98AFB5' +let s:gui04 = '#8299A1' +let s:gui05 = '#6D828E' +let s:gui06 = '#5A6D7A' +let s:gui07 = '#485867' +let s:gui08 = '#b38686' +let s:gui09 = '#d8bba2' +let s:gui0A = '#aab386' +let s:gui0B = '#87b386' +let s:gui0C = '#86b3b3' +let s:gui0D = '#868cb3' +let s:gui0E = '#b386b2' +let s:gui0F = '#b39f9f' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_brushtrees_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_brushtrees_dark.vim new file mode 100644 index 0000000..1c3127a --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_brushtrees_dark.vim @@ -0,0 +1,85 @@ +" Base16 Brush Trees Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Abraham White <abelincoln.white@gmail.com> + +let s:scheme_slug = substitute("brushtrees-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#485867' +let s:gui01 = '#5A6D7A' +let s:gui02 = '#6D828E' +let s:gui03 = '#8299A1' +let s:gui04 = '#98AFB5' +let s:gui05 = '#B0C5C8' +let s:gui06 = '#C9DBDC' +let s:gui07 = '#E3EFEF' +let s:gui08 = '#b38686' +let s:gui09 = '#d8bba2' +let s:gui0A = '#aab386' +let s:gui0B = '#87b386' +let s:gui0C = '#86b3b3' +let s:gui0D = '#868cb3' +let s:gui0E = '#b386b2' +let s:gui0F = '#b39f9f' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_chalk.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_chalk.vim new file mode 100644 index 0000000..d0345a9 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_chalk.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Chalk Scheme by Chris Kempson (http://chriskempson.com) +let g:airline#themes#base16_chalk#palette = {} +let s:gui00 = "#151515" +let s:gui01 = "#202020" +let s:gui02 = "#303030" +let s:gui03 = "#505050" +let s:gui04 = "#b0b0b0" +let s:gui05 = "#d0d0d0" +let s:gui06 = "#e0e0e0" +let s:gui07 = "#f5f5f5" +let s:gui08 = "#fb9fb1" +let s:gui09 = "#eda987" +let s:gui0A = "#ddb26f" +let s:gui0B = "#acc267" +let s:gui0C = "#12cfc0" +let s:gui0D = "#6fc2ef" +let s:gui0E = "#e1a3ee" +let s:gui0F = "#deaf8f" + +let s:cterm00 = 233 +let s:cterm01 = 234 +let s:cterm02 = 236 +let s:cterm03 = 239 +let s:cterm04 = 249 +let s:cterm05 = 252 +let s:cterm06 = 253 +let s:cterm07 = 15 +let s:cterm08 = 217 +let s:cterm09 = 216 +let s:cterm0A = 179 +let s:cterm0B = 143 +let s:cterm0C = 6 +let s:cterm0D = 75 +let s:cterm0E = 183 +let s:cterm0F = 180 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_chalk#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_chalk#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_chalk#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_chalk#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_chalk#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_chalk#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_circus.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_circus.vim new file mode 100644 index 0000000..82d58d0 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_circus.vim @@ -0,0 +1,85 @@ +" Base16 Circus vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Stephan Boyer (https://github.com/stepchowfun) and Esther Wang (https://github.com/ewang12) + +let s:scheme_slug = substitute("circus", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#191919' +let s:gui01 = '#202020' +let s:gui02 = '#303030' +let s:gui03 = '#5f5a60' +let s:gui04 = '#505050' +let s:gui05 = '#a7a7a7' +let s:gui06 = '#808080' +let s:gui07 = '#ffffff' +let s:gui08 = '#dc657d' +let s:gui09 = '#4bb1a7' +let s:gui0A = '#c3ba63' +let s:gui0B = '#84b97c' +let s:gui0C = '#4bb1a7' +let s:gui0D = '#639ee4' +let s:gui0E = '#b888e2' +let s:gui0F = '#b888e2' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_classic.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_classic.vim new file mode 100644 index 0000000..ac37123 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_classic.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Classic Scheme by Jason Heeris (http://heeris.id.au) +let g:airline#themes#base16_classic#palette = {} +let s:gui00 = "#151515" +let s:gui01 = "#202020" +let s:gui02 = "#303030" +let s:gui03 = "#505050" +let s:gui04 = "#B0B0B0" +let s:gui05 = "#D0D0D0" +let s:gui06 = "#E0E0E0" +let s:gui07 = "#F5F5F5" +let s:gui08 = "#AC4142" +let s:gui09 = "#D28445" +let s:gui0A = "#F4BF75" +let s:gui0B = "#90A959" +let s:gui0C = "#75B5AA" +let s:gui0D = "#6A9FB5" +let s:gui0E = "#AA759F" +let s:gui0F = "#8F5536" + +let s:cterm00 = 0 +let s:cterm01 = 18 +let s:cterm02 = 19 +let s:cterm03 = 8 +let s:cterm04 = 20 +let s:cterm05 = 7 +let s:cterm06 = 21 +let s:cterm07 = 15 +let s:cterm08 = 1 +let s:cterm09 = 16 +let s:cterm0A = 3 +let s:cterm0B = 2 +let s:cterm0C = 6 +let s:cterm0D = 4 +let s:cterm0E = 5 +let s:cterm0F = 17 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_classic#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_classic#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_classic#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_classic#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_classic#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_classic#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_classic_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_classic_dark.vim new file mode 100644 index 0000000..5a8dc5e --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_classic_dark.vim @@ -0,0 +1,85 @@ +" Base16 Classic Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Jason Heeris (http://heeris.id.au) + +let s:scheme_slug = substitute("classic-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#151515' +let s:gui01 = '#202020' +let s:gui02 = '#303030' +let s:gui03 = '#505050' +let s:gui04 = '#B0B0B0' +let s:gui05 = '#D0D0D0' +let s:gui06 = '#E0E0E0' +let s:gui07 = '#F5F5F5' +let s:gui08 = '#AC4142' +let s:gui09 = '#D28445' +let s:gui0A = '#F4BF75' +let s:gui0B = '#90A959' +let s:gui0C = '#75B5AA' +let s:gui0D = '#6A9FB5' +let s:gui0E = '#AA759F' +let s:gui0F = '#8F5536' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_classic_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_classic_light.vim new file mode 100644 index 0000000..62102b8 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_classic_light.vim @@ -0,0 +1,85 @@ +" Base16 Classic Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Jason Heeris (http://heeris.id.au) + +let s:scheme_slug = substitute("classic-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#F5F5F5' +let s:gui01 = '#E0E0E0' +let s:gui02 = '#D0D0D0' +let s:gui03 = '#B0B0B0' +let s:gui04 = '#505050' +let s:gui05 = '#303030' +let s:gui06 = '#202020' +let s:gui07 = '#151515' +let s:gui08 = '#AC4142' +let s:gui09 = '#D28445' +let s:gui0A = '#F4BF75' +let s:gui0B = '#90A959' +let s:gui0C = '#75B5AA' +let s:gui0D = '#6A9FB5' +let s:gui0E = '#AA759F' +let s:gui0F = '#8F5536' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_codeschool.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_codeschool.vim new file mode 100644 index 0000000..f9cf956 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_codeschool.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Codeschool Scheme by brettof86 +let g:airline#themes#base16_codeschool#palette = {} +let s:gui00 = "#232c31" +let s:gui01 = "#1c3657" +let s:gui02 = "#2a343a" +let s:gui03 = "#3f4944" +let s:gui04 = "#84898c" +let s:gui05 = "#9ea7a6" +let s:gui06 = "#a7cfa3" +let s:gui07 = "#b5d8f6" +let s:gui08 = "#2a5491" +let s:gui09 = "#43820d" +let s:gui0A = "#a03b1e" +let s:gui0B = "#237986" +let s:gui0C = "#b02f30" +let s:gui0D = "#484d79" +let s:gui0E = "#c59820" +let s:gui0F = "#c98344" + +let s:cterm00 = 17 +let s:cterm01 = 23 +let s:cterm02 = 23 +let s:cterm03 = 59 +let s:cterm04 = 102 +let s:cterm05 = 145 +let s:cterm06 = 151 +let s:cterm07 = 153 +let s:cterm08 = 24 +let s:cterm09 = 64 +let s:cterm0A = 130 +let s:cterm0B = 30 +let s:cterm0C = 125 +let s:cterm0D = 60 +let s:cterm0E = 172 +let s:cterm0F = 173 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_codeschool#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_codeschool#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_codeschool#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_codeschool#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_codeschool#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_codeschool#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_colors.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_colors.vim new file mode 100644 index 0000000..d65442d --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_colors.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Colors Scheme by mrmrs (http://clrs.cc) +let g:airline#themes#base16_colors#palette = {} +let s:gui00 = "#111111" +let s:gui01 = "#333333" +let s:gui02 = "#555555" +let s:gui03 = "#777777" +let s:gui04 = "#999999" +let s:gui05 = "#bbbbbb" +let s:gui06 = "#dddddd" +let s:gui07 = "#ffffff" +let s:gui08 = "#ff4136" +let s:gui09 = "#ff851b" +let s:gui0A = "#ffdc00" +let s:gui0B = "#2ecc40" +let s:gui0C = "#7fdbff" +let s:gui0D = "#0074d9" +let s:gui0E = "#b10dc9" +let s:gui0F = "#85144b" + +let s:cterm00 = 233 +let s:cterm01 = 236 +let s:cterm02 = 240 +let s:cterm03 = 243 +let s:cterm04 = 246 +let s:cterm05 = 250 +let s:cterm06 = 253 +let s:cterm07 = 15 +let s:cterm08 = 203 +let s:cterm09 = 208 +let s:cterm0A = 220 +let s:cterm0B = 41 +let s:cterm0C = 117 +let s:cterm0D = 32 +let s:cterm0E = 128 +let s:cterm0F = 89 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_colors#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_colors#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_colors#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_colors#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_colors#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_colors#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_cupcake.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_cupcake.vim new file mode 100644 index 0000000..5c7167a --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_cupcake.vim @@ -0,0 +1,85 @@ +" Base16 Cupcake vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Chris Kempson (http://chriskempson.com) + +let s:scheme_slug = substitute("cupcake", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#fbf1f2' +let s:gui01 = '#f2f1f4' +let s:gui02 = '#d8d5dd' +let s:gui03 = '#bfb9c6' +let s:gui04 = '#a59daf' +let s:gui05 = '#8b8198' +let s:gui06 = '#72677E' +let s:gui07 = '#585062' +let s:gui08 = '#D57E85' +let s:gui09 = '#EBB790' +let s:gui0A = '#DCB16C' +let s:gui0B = '#A3B367' +let s:gui0C = '#69A9A7' +let s:gui0D = '#7297B9' +let s:gui0E = '#BB99B4' +let s:gui0F = '#BAA58C' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_cupertino.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_cupertino.vim new file mode 100644 index 0000000..1b4622b --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_cupertino.vim @@ -0,0 +1,85 @@ +" Base16 Cupertino vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Defman21 + +let s:scheme_slug = substitute("cupertino", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#ffffff' +let s:gui01 = '#c0c0c0' +let s:gui02 = '#c0c0c0' +let s:gui03 = '#808080' +let s:gui04 = '#808080' +let s:gui05 = '#404040' +let s:gui06 = '#404040' +let s:gui07 = '#5e5e5e' +let s:gui08 = '#c41a15' +let s:gui09 = '#eb8500' +let s:gui0A = '#826b28' +let s:gui0B = '#007400' +let s:gui0C = '#318495' +let s:gui0D = '#0000ff' +let s:gui0E = '#a90d91' +let s:gui0F = '#826b28' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_darktooth.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_darktooth.vim new file mode 100644 index 0000000..862b98f --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_darktooth.vim @@ -0,0 +1,85 @@ +" Base16 Darktooth vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Jason Milkins (https://github.com/jasonm23) + +let s:scheme_slug = substitute("darktooth", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#1D2021' +let s:gui01 = '#32302F' +let s:gui02 = '#504945' +let s:gui03 = '#665C54' +let s:gui04 = '#928374' +let s:gui05 = '#A89984' +let s:gui06 = '#D5C4A1' +let s:gui07 = '#FDF4C1' +let s:gui08 = '#FB543F' +let s:gui09 = '#FE8625' +let s:gui0A = '#FAC03B' +let s:gui0B = '#95C085' +let s:gui0C = '#8BA59B' +let s:gui0D = '#0D6678' +let s:gui0E = '#8F4673' +let s:gui0F = '#A87322' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_decaf.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_decaf.vim new file mode 100644 index 0000000..748b70b --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_decaf.vim @@ -0,0 +1,85 @@ +" Base16 Decaf vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Alex Mirrington (https://github.com/alexmirrington) + +let s:scheme_slug = substitute("decaf", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#2d2d2d' +let s:gui01 = '#393939' +let s:gui02 = '#515151' +let s:gui03 = '#777777' +let s:gui04 = '#b4b7b4' +let s:gui05 = '#cccccc' +let s:gui06 = '#e0e0e0' +let s:gui07 = '#ffffff' +let s:gui08 = '#ff7f7b' +let s:gui09 = '#ffbf70' +let s:gui0A = '#ffd67c' +let s:gui0B = '#beda78' +let s:gui0C = '#bed6ff' +let s:gui0D = '#90bee1' +let s:gui0E = '#efb3f7' +let s:gui0F = '#ff93b3' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_default.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_default.vim new file mode 100644 index 0000000..841c12e --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_default.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Default Scheme by Chris Kempson (http://chriskempson.com) +let g:airline#themes#base16_default#palette = {} +let s:gui00 = "#181818" +let s:gui01 = "#282828" +let s:gui02 = "#383838" +let s:gui03 = "#585858" +let s:gui04 = "#b8b8b8" +let s:gui05 = "#d8d8d8" +let s:gui06 = "#e8e8e8" +let s:gui07 = "#f8f8f8" +let s:gui08 = "#ab4642" +let s:gui09 = "#dc9656" +let s:gui0A = "#f7ca88" +let s:gui0B = "#a1b56c" +let s:gui0C = "#86c1b9" +let s:gui0D = "#7cafc2" +let s:gui0E = "#ba8baf" +let s:gui0F = "#a16946" + +let s:cterm00 = 233 +let s:cterm01 = 235 +let s:cterm02 = 237 +let s:cterm03 = 240 +let s:cterm04 = 249 +let s:cterm05 = 253 +let s:cterm06 = 254 +let s:cterm07 = 15 +let s:cterm08 = 131 +let s:cterm09 = 173 +let s:cterm0A = 222 +let s:cterm0B = 143 +let s:cterm0C = 109 +let s:cterm0D = 109 +let s:cterm0E = 139 +let s:cterm0F = 131 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_default#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_default#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_default#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_default#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_default#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_default#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_default_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_default_dark.vim new file mode 100644 index 0000000..96ccbe3 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_default_dark.vim @@ -0,0 +1,85 @@ +" Base16 Default Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Chris Kempson (http://chriskempson.com) + +let s:scheme_slug = substitute("default-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#181818' +let s:gui01 = '#282828' +let s:gui02 = '#383838' +let s:gui03 = '#585858' +let s:gui04 = '#b8b8b8' +let s:gui05 = '#d8d8d8' +let s:gui06 = '#e8e8e8' +let s:gui07 = '#f8f8f8' +let s:gui08 = '#ab4642' +let s:gui09 = '#dc9656' +let s:gui0A = '#f7ca88' +let s:gui0B = '#a1b56c' +let s:gui0C = '#86c1b9' +let s:gui0D = '#7cafc2' +let s:gui0E = '#ba8baf' +let s:gui0F = '#a16946' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_default_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_default_light.vim new file mode 100644 index 0000000..dfeb2e4 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_default_light.vim @@ -0,0 +1,85 @@ +" Base16 Default Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Chris Kempson (http://chriskempson.com) + +let s:scheme_slug = substitute("default-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#f8f8f8' +let s:gui01 = '#e8e8e8' +let s:gui02 = '#d8d8d8' +let s:gui03 = '#b8b8b8' +let s:gui04 = '#585858' +let s:gui05 = '#383838' +let s:gui06 = '#282828' +let s:gui07 = '#181818' +let s:gui08 = '#ab4642' +let s:gui09 = '#dc9656' +let s:gui0A = '#f7ca88' +let s:gui0B = '#a1b56c' +let s:gui0C = '#86c1b9' +let s:gui0D = '#7cafc2' +let s:gui0E = '#ba8baf' +let s:gui0F = '#a16946' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_dracula.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_dracula.vim new file mode 100644 index 0000000..1cfdbca --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_dracula.vim @@ -0,0 +1,85 @@ +" Base16 Dracula vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Mike Barkmin (http://github.com/mikebarkmin) based on Dracula Theme (http://github.com/dracula) + +let s:scheme_slug = substitute("dracula", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#282936' +let s:gui01 = '#3a3c4e' +let s:gui02 = '#4d4f68' +let s:gui03 = '#626483' +let s:gui04 = '#62d6e8' +let s:gui05 = '#e9e9f4' +let s:gui06 = '#f1f2f8' +let s:gui07 = '#f7f7fb' +let s:gui08 = '#ea51b2' +let s:gui09 = '#b45bcf' +let s:gui0A = '#00f769' +let s:gui0B = '#ebff87' +let s:gui0C = '#a1efe4' +let s:gui0D = '#62d6e8' +let s:gui0E = '#b45bcf' +let s:gui0F = '#00f769' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_edge_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_edge_dark.vim new file mode 100644 index 0000000..11e1c8b --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_edge_dark.vim @@ -0,0 +1,85 @@ +" Base16 Edge Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Sainnhepark (https://github.com/sainnhe) + +let s:scheme_slug = substitute("edge-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#262729' +let s:gui01 = '#88909f' +let s:gui02 = '#b7bec9' +let s:gui03 = '#3e4249' +let s:gui04 = '#73b3e7' +let s:gui05 = '#b7bec9' +let s:gui06 = '#d390e7' +let s:gui07 = '#3e4249' +let s:gui08 = '#e77171' +let s:gui09 = '#e77171' +let s:gui0A = '#dbb774' +let s:gui0B = '#a1bf78' +let s:gui0C = '#5ebaa5' +let s:gui0D = '#73b3e7' +let s:gui0E = '#d390e7' +let s:gui0F = '#5ebaa5' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_edge_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_edge_light.vim new file mode 100644 index 0000000..fc664ba --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_edge_light.vim @@ -0,0 +1,85 @@ +" Base16 Edge Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Sainnhepark (https://github.com/sainnhe) + +let s:scheme_slug = substitute("edge-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#fafafa' +let s:gui01 = '#7c9f4b' +let s:gui02 = '#d69822' +let s:gui03 = '#5e646f' +let s:gui04 = '#6587bf' +let s:gui05 = '#5e646f' +let s:gui06 = '#b870ce' +let s:gui07 = '#5e646f' +let s:gui08 = '#db7070' +let s:gui09 = '#db7070' +let s:gui0A = '#d69822' +let s:gui0B = '#7c9f4b' +let s:gui0C = '#509c93' +let s:gui0D = '#6587bf' +let s:gui0E = '#b870ce' +let s:gui0F = '#509c93' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_eighties.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_eighties.vim new file mode 100644 index 0000000..7161e39 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_eighties.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Eighties Scheme by Chris Kempson (http://chriskempson.com) +let g:airline#themes#base16_eighties#palette = {} +let s:gui00 = "#2d2d2d" +let s:gui01 = "#393939" +let s:gui02 = "#515151" +let s:gui03 = "#747369" +let s:gui04 = "#a09f93" +let s:gui05 = "#d3d0c8" +let s:gui06 = "#e8e6df" +let s:gui07 = "#f2f0ec" +let s:gui08 = "#f2777a" +let s:gui09 = "#f99157" +let s:gui0A = "#ffcc66" +let s:gui0B = "#99cc99" +let s:gui0C = "#66cccc" +let s:gui0D = "#6699cc" +let s:gui0E = "#cc99cc" +let s:gui0F = "#d27b53" + +let s:cterm00 = 236 +let s:cterm01 = 237 +let s:cterm02 = 239 +let s:cterm03 = 95 +let s:cterm04 = 144 +let s:cterm05 = 188 +let s:cterm06 = 188 +let s:cterm07 = 15 +let s:cterm08 = 210 +let s:cterm09 = 209 +let s:cterm0A = 221 +let s:cterm0B = 114 +let s:cterm0C = 80 +let s:cterm0D = 68 +let s:cterm0E = 176 +let s:cterm0F = 173 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_eighties#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_eighties#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_eighties#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_eighties#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_eighties#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_eighties#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_embers.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_embers.vim new file mode 100644 index 0000000..0c26076 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_embers.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Embers Scheme by Jannik Siebert (https://github.com/janniks) +let g:airline#themes#base16_embers#palette = {} +let s:gui00 = "#16130F" +let s:gui01 = "#2C2620" +let s:gui02 = "#433B32" +let s:gui03 = "#5A5047" +let s:gui04 = "#8A8075" +let s:gui05 = "#A39A90" +let s:gui06 = "#BEB6AE" +let s:gui07 = "#DBD6D1" +let s:gui08 = "#826D57" +let s:gui09 = "#828257" +let s:gui0A = "#6D8257" +let s:gui0B = "#57826D" +let s:gui0C = "#576D82" +let s:gui0D = "#6D5782" +let s:gui0E = "#82576D" +let s:gui0F = "#825757" + +let s:cterm00 = 0 +let s:cterm01 = 0 +let s:cterm02 = 59 +let s:cterm03 = 59 +let s:cterm04 = 102 +let s:cterm05 = 138 +let s:cterm06 = 145 +let s:cterm07 = 188 +let s:cterm08 = 95 +let s:cterm09 = 101 +let s:cterm0A = 65 +let s:cterm0B = 65 +let s:cterm0C = 60 +let s:cterm0D = 60 +let s:cterm0E = 95 +let s:cterm0F = 95 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_embers#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_embers#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_embers#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_embers#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_embers#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_embers#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_espresso.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_espresso.vim new file mode 100644 index 0000000..55843a7 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_espresso.vim @@ -0,0 +1,85 @@ +" Base16 Espresso vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Alex Mirrington (https://github.com/alexmirrington) + +let s:scheme_slug = substitute("espresso", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#2d2d2d' +let s:gui01 = '#393939' +let s:gui02 = '#515151' +let s:gui03 = '#777777' +let s:gui04 = '#b4b7b4' +let s:gui05 = '#cccccc' +let s:gui06 = '#e0e0e0' +let s:gui07 = '#ffffff' +let s:gui08 = '#d25252' +let s:gui09 = '#f9a959' +let s:gui0A = '#ffc66d' +let s:gui0B = '#a5c261' +let s:gui0C = '#bed6ff' +let s:gui0D = '#6c99bb' +let s:gui0E = '#d197d9' +let s:gui0F = '#f97394' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_flat.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_flat.vim new file mode 100644 index 0000000..aa4f5cf --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_flat.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Flat Scheme by Chris Kempson (http://chriskempson.com) +let g:airline#themes#base16_flat#palette = {} +let s:gui00 = "#2C3E50" +let s:gui01 = "#34495E" +let s:gui02 = "#7F8C8D" +let s:gui03 = "#95A5A6" +let s:gui04 = "#BDC3C7" +let s:gui05 = "#e0e0e0" +let s:gui06 = "#f5f5f5" +let s:gui07 = "#ECF0F1" +let s:gui08 = "#E74C3C" +let s:gui09 = "#E67E22" +let s:gui0A = "#F1C40F" +let s:gui0B = "#2ECC71" +let s:gui0C = "#1ABC9C" +let s:gui0D = "#3498DB" +let s:gui0E = "#9B59B6" +let s:gui0F = "#be643c" + +let s:cterm00 = 23 +let s:cterm01 = 59 +let s:cterm02 = 102 +let s:cterm03 = 109 +let s:cterm04 = 146 +let s:cterm05 = 253 +let s:cterm06 = 15 +let s:cterm07 = 15 +let s:cterm08 = 167 +let s:cterm09 = 172 +let s:cterm0A = 220 +let s:cterm0B = 41 +let s:cterm0C = 37 +let s:cterm0D = 68 +let s:cterm0E = 97 +let s:cterm0F = 131 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_flat#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_flat#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_flat#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_flat#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_flat#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_flat#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_framer.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_framer.vim new file mode 100644 index 0000000..338c624 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_framer.vim @@ -0,0 +1,85 @@ +" Base16 Framer vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Framer (Maintained by Jesse Hoyos) + +let s:scheme_slug = substitute("framer", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#181818' +let s:gui01 = '#151515' +let s:gui02 = '#464646' +let s:gui03 = '#747474' +let s:gui04 = '#B9B9B9' +let s:gui05 = '#D0D0D0' +let s:gui06 = '#E8E8E8' +let s:gui07 = '#EEEEEE' +let s:gui08 = '#FD886B' +let s:gui09 = '#FC4769' +let s:gui0A = '#FECB6E' +let s:gui0B = '#32CCDC' +let s:gui0C = '#ACDDFD' +let s:gui0D = '#20BCFC' +let s:gui0E = '#BA8CFC' +let s:gui0F = '#B15F4A' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_fruit_soda.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_fruit_soda.vim new file mode 100644 index 0000000..6074b49 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_fruit_soda.vim @@ -0,0 +1,85 @@ +" Base16 Fruit Soda vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By jozip + +let s:scheme_slug = substitute("fruit-soda", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#f1ecf1' +let s:gui01 = '#e0dee0' +let s:gui02 = '#d8d5d5' +let s:gui03 = '#b5b4b6' +let s:gui04 = '#979598' +let s:gui05 = '#515151' +let s:gui06 = '#474545' +let s:gui07 = '#2d2c2c' +let s:gui08 = '#fe3e31' +let s:gui09 = '#fe6d08' +let s:gui0A = '#f7e203' +let s:gui0B = '#47f74c' +let s:gui0C = '#0f9cfd' +let s:gui0D = '#2931df' +let s:gui0E = '#611fce' +let s:gui0F = '#b16f40' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gigavolt.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gigavolt.vim new file mode 100644 index 0000000..6ee8651 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gigavolt.vim @@ -0,0 +1,85 @@ +" Base16 Gigavolt vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Aidan Swope (http://github.com/Whillikers) + +let s:scheme_slug = substitute("gigavolt", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#202126' +let s:gui01 = '#2d303d' +let s:gui02 = '#5a576e' +let s:gui03 = '#a1d2e6' +let s:gui04 = '#cad3ff' +let s:gui05 = '#e9e7e1' +let s:gui06 = '#eff0f9' +let s:gui07 = '#f2fbff' +let s:gui08 = '#ff661a' +let s:gui09 = '#19f988' +let s:gui0A = '#ffdc2d' +let s:gui0B = '#f2e6a9' +let s:gui0C = '#fb6acb' +let s:gui0D = '#40bfff' +let s:gui0E = '#ae94f9' +let s:gui0F = '#6187ff' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_github.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_github.vim new file mode 100644 index 0000000..03e9ce0 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_github.vim @@ -0,0 +1,85 @@ +" Base16 Github vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Defman21 + +let s:scheme_slug = substitute("github", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#ffffff' +let s:gui01 = '#f5f5f5' +let s:gui02 = '#c8c8fa' +let s:gui03 = '#969896' +let s:gui04 = '#e8e8e8' +let s:gui05 = '#333333' +let s:gui06 = '#ffffff' +let s:gui07 = '#ffffff' +let s:gui08 = '#ed6a43' +let s:gui09 = '#0086b3' +let s:gui0A = '#795da3' +let s:gui0B = '#183691' +let s:gui0C = '#183691' +let s:gui0D = '#795da3' +let s:gui0E = '#a71d5d' +let s:gui0F = '#333333' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_google.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_google.vim new file mode 100644 index 0000000..f20da8c --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_google.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Google Scheme by Seth Wright (http://sethawright.com) +let g:airline#themes#base16_google#palette = {} +let s:gui00 = "#1d1f21" +let s:gui01 = "#282a2e" +let s:gui02 = "#373b41" +let s:gui03 = "#969896" +let s:gui04 = "#b4b7b4" +let s:gui05 = "#c5c8c6" +let s:gui06 = "#e0e0e0" +let s:gui07 = "#ffffff" +let s:gui08 = "#CC342B" +let s:gui09 = "#F96A38" +let s:gui0A = "#FBA922" +let s:gui0B = "#198844" +let s:gui0C = "#3971ED" +let s:gui0D = "#3971ED" +let s:gui0E = "#A36AC7" +let s:gui0F = "#3971ED" + +let s:cterm00 = 0 +let s:cterm01 = 0 +let s:cterm02 = 59 +let s:cterm03 = 102 +let s:cterm04 = 145 +let s:cterm05 = 188 +let s:cterm06 = 253 +let s:cterm07 = 15 +let s:cterm08 = 166 +let s:cterm09 = 203 +let s:cterm0A = 214 +let s:cterm0B = 29 +let s:cterm0C = 12 +let s:cterm0D = 12 +let s:cterm0E = 134 +let s:cterm0F = 12 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_google#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_google#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_google#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_google#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_google#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_google#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_google_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_google_dark.vim new file mode 100644 index 0000000..e710b8a --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_google_dark.vim @@ -0,0 +1,85 @@ +" Base16 Google Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Seth Wright (http://sethawright.com) + +let s:scheme_slug = substitute("google-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#1d1f21' +let s:gui01 = '#282a2e' +let s:gui02 = '#373b41' +let s:gui03 = '#969896' +let s:gui04 = '#b4b7b4' +let s:gui05 = '#c5c8c6' +let s:gui06 = '#e0e0e0' +let s:gui07 = '#ffffff' +let s:gui08 = '#CC342B' +let s:gui09 = '#F96A38' +let s:gui0A = '#FBA922' +let s:gui0B = '#198844' +let s:gui0C = '#3971ED' +let s:gui0D = '#3971ED' +let s:gui0E = '#A36AC7' +let s:gui0F = '#3971ED' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_google_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_google_light.vim new file mode 100644 index 0000000..08080c8 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_google_light.vim @@ -0,0 +1,85 @@ +" Base16 Google Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Seth Wright (http://sethawright.com) + +let s:scheme_slug = substitute("google-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#ffffff' +let s:gui01 = '#e0e0e0' +let s:gui02 = '#c5c8c6' +let s:gui03 = '#b4b7b4' +let s:gui04 = '#969896' +let s:gui05 = '#373b41' +let s:gui06 = '#282a2e' +let s:gui07 = '#1d1f21' +let s:gui08 = '#CC342B' +let s:gui09 = '#F96A38' +let s:gui0A = '#FBA922' +let s:gui0B = '#198844' +let s:gui0C = '#3971ED' +let s:gui0D = '#3971ED' +let s:gui0E = '#A36AC7' +let s:gui0F = '#3971ED' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_grayscale.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_grayscale.vim new file mode 100644 index 0000000..bf60eb3 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_grayscale.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Grayscale Scheme by Alexandre Gavioli (https://github.com/Alexx2/) +let g:airline#themes#base16_grayscale#palette = {} +let s:gui00 = "#101010" +let s:gui01 = "#252525" +let s:gui02 = "#464646" +let s:gui03 = "#525252" +let s:gui04 = "#ababab" +let s:gui05 = "#b9b9b9" +let s:gui06 = "#e3e3e3" +let s:gui07 = "#f7f7f7" +let s:gui08 = "#7c7c7c" +let s:gui09 = "#999999" +let s:gui0A = "#a0a0a0" +let s:gui0B = "#8e8e8e" +let s:gui0C = "#868686" +let s:gui0D = "#686868" +let s:gui0E = "#747474" +let s:gui0F = "#5e5e5e" + +let s:cterm00 = 233 +let s:cterm01 = 235 +let s:cterm02 = 238 +let s:cterm03 = 239 +let s:cterm04 = 248 +let s:cterm05 = 250 +let s:cterm06 = 254 +let s:cterm07 = 15 +let s:cterm08 = 243 +let s:cterm09 = 246 +let s:cterm0A = 247 +let s:cterm0B = 245 +let s:cterm0C = 244 +let s:cterm0D = 241 +let s:cterm0E = 243 +let s:cterm0F = 240 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_grayscale#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_grayscale#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_grayscale#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_grayscale#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_grayscale#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_grayscale#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_grayscale_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_grayscale_dark.vim new file mode 100644 index 0000000..ac9fd37 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_grayscale_dark.vim @@ -0,0 +1,85 @@ +" Base16 Grayscale Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Alexandre Gavioli (https://github.com/Alexx2/) + +let s:scheme_slug = substitute("grayscale-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#101010' +let s:gui01 = '#252525' +let s:gui02 = '#464646' +let s:gui03 = '#525252' +let s:gui04 = '#ababab' +let s:gui05 = '#b9b9b9' +let s:gui06 = '#e3e3e3' +let s:gui07 = '#f7f7f7' +let s:gui08 = '#7c7c7c' +let s:gui09 = '#999999' +let s:gui0A = '#a0a0a0' +let s:gui0B = '#8e8e8e' +let s:gui0C = '#868686' +let s:gui0D = '#686868' +let s:gui0E = '#747474' +let s:gui0F = '#5e5e5e' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_grayscale_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_grayscale_light.vim new file mode 100644 index 0000000..bac4eab --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_grayscale_light.vim @@ -0,0 +1,85 @@ +" Base16 Grayscale Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Alexandre Gavioli (https://github.com/Alexx2/) + +let s:scheme_slug = substitute("grayscale-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#f7f7f7' +let s:gui01 = '#e3e3e3' +let s:gui02 = '#b9b9b9' +let s:gui03 = '#ababab' +let s:gui04 = '#525252' +let s:gui05 = '#464646' +let s:gui06 = '#252525' +let s:gui07 = '#101010' +let s:gui08 = '#7c7c7c' +let s:gui09 = '#999999' +let s:gui0A = '#a0a0a0' +let s:gui0B = '#8e8e8e' +let s:gui0C = '#868686' +let s:gui0D = '#686868' +let s:gui0E = '#747474' +let s:gui0F = '#5e5e5e' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_greenscreen.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_greenscreen.vim new file mode 100644 index 0000000..b460449 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_greenscreen.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Green Screen Scheme by Chris Kempson (http://chriskempson.com) +let g:airline#themes#base16_greenscreen#palette = {} +let s:gui00 = "#001100" +let s:gui01 = "#003300" +let s:gui02 = "#005500" +let s:gui03 = "#007700" +let s:gui04 = "#009900" +let s:gui05 = "#00bb00" +let s:gui06 = "#00dd00" +let s:gui07 = "#00ff00" +let s:gui08 = "#007700" +let s:gui09 = "#009900" +let s:gui0A = "#007700" +let s:gui0B = "#00bb00" +let s:gui0C = "#005500" +let s:gui0D = "#009900" +let s:gui0E = "#00bb00" +let s:gui0F = "#005500" + +let s:cterm00 = 0 +let s:cterm01 = 22 +let s:cterm02 = 22 +let s:cterm03 = 28 +let s:cterm04 = 28 +let s:cterm05 = 34 +let s:cterm06 = 40 +let s:cterm07 = 10 +let s:cterm08 = 28 +let s:cterm09 = 28 +let s:cterm0A = 28 +let s:cterm0B = 34 +let s:cterm0C = 22 +let s:cterm0D = 28 +let s:cterm0E = 34 +let s:cterm0F = 22 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_greenscreen#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_greenscreen#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_greenscreen#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_greenscreen#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_greenscreen#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_greenscreen#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_dark_hard.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_dark_hard.vim new file mode 100644 index 0000000..1880f10 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_dark_hard.vim @@ -0,0 +1,78 @@ +" vim-airline template by ronald2wing (https://github.com/ronald2wing) +" Base 16 Gruvbox Dark Hard Scheme by Dawid Kurek (https://github.com/dawikur) +let g:airline#themes#base16_gruvbox_dark_hard#palette = {} +let s:gui00 = "#1d2021" +let s:gui01 = "#3c3836" +let s:gui02 = "#504945" +let s:gui03 = "#665c54" +let s:gui04 = "#bdae93" +let s:gui05 = "#d5c4a1" +let s:gui06 = "#ebdbb2" +let s:gui07 = "#fbf1c7" +let s:gui08 = "#fb4934" +let s:gui09 = "#fe8019" +let s:gui0A = "#fabd2f" +let s:gui0B = "#b8bb26" +let s:gui0C = "#8ec07c" +let s:gui0D = "#83a598" +let s:gui0E = "#d3869b" +let s:gui0F = "#d65d0e" + +let s:cterm00 = 234 +let s:cterm01 = 235 +let s:cterm02 = 236 +let s:cterm03 = 240 +let s:cterm04 = 143 +let s:cterm05 = 187 +let s:cterm06 = 223 +let s:cterm07 = 230 +let s:cterm08 = 203 +let s:cterm09 = 208 +let s:cterm0A = 214 +let s:cterm0B = 142 +let s:cterm0C = 108 +let s:cterm0D = 108 +let s:cterm0E = 175 +let s:cterm0F = 166 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_gruvbox_dark_hard#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_gruvbox_dark_hard#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_gruvbox_dark_hard#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_gruvbox_dark_hard#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_gruvbox_dark_hard#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +let g:airline#themes#base16_gruvbox_dark_hard#palette.terminal = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#base16_gruvbox_dark_hard#palette.normal.airline_term = s:N3 +let g:airline#themes#base16_gruvbox_dark_hard#palette.terminal.airline_term = s:N3 +let g:airline#themes#base16_gruvbox_dark_hard#palette.visual.airline_term = s:N3 + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_gruvbox_dark_hard#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_dark_medium.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_dark_medium.vim new file mode 100644 index 0000000..6be0083 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_dark_medium.vim @@ -0,0 +1,85 @@ +" Base16 Gruvbox dark, medium vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) + +let s:scheme_slug = substitute("gruvbox-dark-medium", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#282828' +let s:gui01 = '#3c3836' +let s:gui02 = '#504945' +let s:gui03 = '#665c54' +let s:gui04 = '#bdae93' +let s:gui05 = '#d5c4a1' +let s:gui06 = '#ebdbb2' +let s:gui07 = '#fbf1c7' +let s:gui08 = '#fb4934' +let s:gui09 = '#fe8019' +let s:gui0A = '#fabd2f' +let s:gui0B = '#b8bb26' +let s:gui0C = '#8ec07c' +let s:gui0D = '#83a598' +let s:gui0E = '#d3869b' +let s:gui0F = '#d65d0e' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_dark_pale.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_dark_pale.vim new file mode 100644 index 0000000..12b9eaa --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_dark_pale.vim @@ -0,0 +1,85 @@ +" Base16 Gruvbox dark, pale vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) + +let s:scheme_slug = substitute("gruvbox-dark-pale", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#262626' +let s:gui01 = '#3a3a3a' +let s:gui02 = '#4e4e4e' +let s:gui03 = '#8a8a8a' +let s:gui04 = '#949494' +let s:gui05 = '#dab997' +let s:gui06 = '#d5c4a1' +let s:gui07 = '#ebdbb2' +let s:gui08 = '#d75f5f' +let s:gui09 = '#ff8700' +let s:gui0A = '#ffaf00' +let s:gui0B = '#afaf00' +let s:gui0C = '#85ad85' +let s:gui0D = '#83adad' +let s:gui0E = '#d485ad' +let s:gui0F = '#d65d0e' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_dark_soft.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_dark_soft.vim new file mode 100644 index 0000000..c118190 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_dark_soft.vim @@ -0,0 +1,85 @@ +" Base16 Gruvbox dark, soft vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) + +let s:scheme_slug = substitute("gruvbox-dark-soft", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#32302f' +let s:gui01 = '#3c3836' +let s:gui02 = '#504945' +let s:gui03 = '#665c54' +let s:gui04 = '#bdae93' +let s:gui05 = '#d5c4a1' +let s:gui06 = '#ebdbb2' +let s:gui07 = '#fbf1c7' +let s:gui08 = '#fb4934' +let s:gui09 = '#fe8019' +let s:gui0A = '#fabd2f' +let s:gui0B = '#b8bb26' +let s:gui0C = '#8ec07c' +let s:gui0D = '#83a598' +let s:gui0E = '#d3869b' +let s:gui0F = '#d65d0e' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_light_hard.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_light_hard.vim new file mode 100644 index 0000000..82c65af --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_light_hard.vim @@ -0,0 +1,85 @@ +" Base16 Gruvbox light, hard vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) + +let s:scheme_slug = substitute("gruvbox-light-hard", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#f9f5d7' +let s:gui01 = '#ebdbb2' +let s:gui02 = '#d5c4a1' +let s:gui03 = '#bdae93' +let s:gui04 = '#665c54' +let s:gui05 = '#504945' +let s:gui06 = '#3c3836' +let s:gui07 = '#282828' +let s:gui08 = '#9d0006' +let s:gui09 = '#af3a03' +let s:gui0A = '#b57614' +let s:gui0B = '#79740e' +let s:gui0C = '#427b58' +let s:gui0D = '#076678' +let s:gui0E = '#8f3f71' +let s:gui0F = '#d65d0e' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_light_medium.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_light_medium.vim new file mode 100644 index 0000000..f63ab3a --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_light_medium.vim @@ -0,0 +1,85 @@ +" Base16 Gruvbox light, medium vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) + +let s:scheme_slug = substitute("gruvbox-light-medium", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#fbf1c7' +let s:gui01 = '#ebdbb2' +let s:gui02 = '#d5c4a1' +let s:gui03 = '#bdae93' +let s:gui04 = '#665c54' +let s:gui05 = '#504945' +let s:gui06 = '#3c3836' +let s:gui07 = '#282828' +let s:gui08 = '#9d0006' +let s:gui09 = '#af3a03' +let s:gui0A = '#b57614' +let s:gui0B = '#79740e' +let s:gui0C = '#427b58' +let s:gui0D = '#076678' +let s:gui0E = '#8f3f71' +let s:gui0F = '#d65d0e' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_light_soft.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_light_soft.vim new file mode 100644 index 0000000..f50e6c5 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_gruvbox_light_soft.vim @@ -0,0 +1,85 @@ +" Base16 Gruvbox light, soft vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) + +let s:scheme_slug = substitute("gruvbox-light-soft", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#f2e5bc' +let s:gui01 = '#ebdbb2' +let s:gui02 = '#d5c4a1' +let s:gui03 = '#bdae93' +let s:gui04 = '#665c54' +let s:gui05 = '#504945' +let s:gui06 = '#3c3836' +let s:gui07 = '#282828' +let s:gui08 = '#9d0006' +let s:gui09 = '#af3a03' +let s:gui0A = '#b57614' +let s:gui0B = '#79740e' +let s:gui0C = '#427b58' +let s:gui0D = '#076678' +let s:gui0E = '#8f3f71' +let s:gui0F = '#d65d0e' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_harmonic16.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_harmonic16.vim new file mode 100644 index 0000000..9700a04 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_harmonic16.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 harmonic16 Scheme by Jannik Siebert (https://github.com/janniks) +let g:airline#themes#base16_harmonic16#palette = {} +let s:gui00 = "#0b1c2c" +let s:gui01 = "#223b54" +let s:gui02 = "#405c79" +let s:gui03 = "#627e99" +let s:gui04 = "#aabcce" +let s:gui05 = "#cbd6e2" +let s:gui06 = "#e5ebf1" +let s:gui07 = "#f7f9fb" +let s:gui08 = "#bf8b56" +let s:gui09 = "#bfbf56" +let s:gui0A = "#8bbf56" +let s:gui0B = "#56bf8b" +let s:gui0C = "#568bbf" +let s:gui0D = "#8b56bf" +let s:gui0E = "#bf568b" +let s:gui0F = "#bf5656" + +let s:cterm00 = 0 +let s:cterm01 = 23 +let s:cterm02 = 60 +let s:cterm03 = 66 +let s:cterm04 = 146 +let s:cterm05 = 188 +let s:cterm06 = 189 +let s:cterm07 = 15 +let s:cterm08 = 137 +let s:cterm09 = 143 +let s:cterm0A = 107 +let s:cterm0B = 72 +let s:cterm0C = 67 +let s:cterm0D = 97 +let s:cterm0E = 132 +let s:cterm0F = 131 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_harmonic16#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_harmonic16#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_harmonic16#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_harmonic16#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_harmonic16#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_harmonic16#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_harmonic_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_harmonic_dark.vim new file mode 100644 index 0000000..c5799e7 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_harmonic_dark.vim @@ -0,0 +1,85 @@ +" Base16 Harmonic16 Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Jannik Siebert (https://github.com/janniks) + +let s:scheme_slug = substitute("harmonic-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#0b1c2c' +let s:gui01 = '#223b54' +let s:gui02 = '#405c79' +let s:gui03 = '#627e99' +let s:gui04 = '#aabcce' +let s:gui05 = '#cbd6e2' +let s:gui06 = '#e5ebf1' +let s:gui07 = '#f7f9fb' +let s:gui08 = '#bf8b56' +let s:gui09 = '#bfbf56' +let s:gui0A = '#8bbf56' +let s:gui0B = '#56bf8b' +let s:gui0C = '#568bbf' +let s:gui0D = '#8b56bf' +let s:gui0E = '#bf568b' +let s:gui0F = '#bf5656' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_harmonic_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_harmonic_light.vim new file mode 100644 index 0000000..1cb5c6f --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_harmonic_light.vim @@ -0,0 +1,85 @@ +" Base16 Harmonic16 Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Jannik Siebert (https://github.com/janniks) + +let s:scheme_slug = substitute("harmonic-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#f7f9fb' +let s:gui01 = '#e5ebf1' +let s:gui02 = '#cbd6e2' +let s:gui03 = '#aabcce' +let s:gui04 = '#627e99' +let s:gui05 = '#405c79' +let s:gui06 = '#223b54' +let s:gui07 = '#0b1c2c' +let s:gui08 = '#bf8b56' +let s:gui09 = '#bfbf56' +let s:gui0A = '#8bbf56' +let s:gui0B = '#56bf8b' +let s:gui0C = '#568bbf' +let s:gui0D = '#8b56bf' +let s:gui0E = '#bf568b' +let s:gui0F = '#bf5656' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_heetch.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_heetch.vim new file mode 100644 index 0000000..954bb17 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_heetch.vim @@ -0,0 +1,85 @@ +" Base16 Heetch Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Geoffrey Teale (tealeg@gmail.com) + +let s:scheme_slug = substitute("heetch", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#190134' +let s:gui01 = '#392551' +let s:gui02 = '#5A496E' +let s:gui03 = '#7B6D8B' +let s:gui04 = '#9C92A8' +let s:gui05 = '#BDB6C5' +let s:gui06 = '#DEDAE2' +let s:gui07 = '#FEFFFF' +let s:gui08 = '#27D9D5' +let s:gui09 = '#5BA2B6' +let s:gui0A = '#8F6C97' +let s:gui0B = '#C33678' +let s:gui0C = '#F80059' +let s:gui0D = '#BD0152' +let s:gui0E = '#82034C' +let s:gui0F = '#470546' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_heetch_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_heetch_light.vim new file mode 100644 index 0000000..bf18ad6 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_heetch_light.vim @@ -0,0 +1,85 @@ +" Base16 Heetch Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Geoffrey Teale (tealeg@gmail.com) + +let s:scheme_slug = substitute("heetch-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#feffff' +let s:gui01 = '#392551' +let s:gui02 = '#7b6d8b' +let s:gui03 = '#9c92a8' +let s:gui04 = '#ddd6e5' +let s:gui05 = '#5a496e' +let s:gui06 = '#470546' +let s:gui07 = '#190134' +let s:gui08 = '#27d9d5' +let s:gui09 = '#bdb6c5' +let s:gui0A = '#5ba2b6' +let s:gui0B = '#f80059' +let s:gui0C = '#c33678' +let s:gui0D = '#47f9f5' +let s:gui0E = '#bd0152' +let s:gui0F = '#dedae2' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_helios.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_helios.vim new file mode 100644 index 0000000..7aae995 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_helios.vim @@ -0,0 +1,85 @@ +" Base16 Helios vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Alex Meyer (https://github.com/reyemxela) + +let s:scheme_slug = substitute("helios", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#1d2021' +let s:gui01 = '#383c3e' +let s:gui02 = '#53585b' +let s:gui03 = '#6f7579' +let s:gui04 = '#cdcdcd' +let s:gui05 = '#d5d5d5' +let s:gui06 = '#dddddd' +let s:gui07 = '#e5e5e5' +let s:gui08 = '#d72638' +let s:gui09 = '#eb8413' +let s:gui0A = '#f19d1a' +let s:gui0B = '#88b92d' +let s:gui0C = '#1ba595' +let s:gui0D = '#1e8bac' +let s:gui0E = '#be4264' +let s:gui0F = '#c85e0d' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_hopscotch.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_hopscotch.vim new file mode 100644 index 0000000..0e78688 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_hopscotch.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Hopscotch Scheme by Jan T. Sott +let g:airline#themes#base16_hopscotch#palette = {} +let s:gui00 = "#322931" +let s:gui01 = "#433b42" +let s:gui02 = "#5c545b" +let s:gui03 = "#797379" +let s:gui04 = "#989498" +let s:gui05 = "#b9b5b8" +let s:gui06 = "#d5d3d5" +let s:gui07 = "#ffffff" +let s:gui08 = "#dd464c" +let s:gui09 = "#fd8b19" +let s:gui0A = "#fdcc59" +let s:gui0B = "#8fc13e" +let s:gui0C = "#149b93" +let s:gui0D = "#1290bf" +let s:gui0E = "#c85e7c" +let s:gui0F = "#b33508" + +let s:cterm00 = 53 +let s:cterm01 = 59 +let s:cterm02 = 59 +let s:cterm03 = 96 +let s:cterm04 = 102 +let s:cterm05 = 145 +let s:cterm06 = 188 +let s:cterm07 = 15 +let s:cterm08 = 167 +let s:cterm09 = 208 +let s:cterm0A = 221 +let s:cterm0B = 107 +let s:cterm0C = 30 +let s:cterm0D = 31 +let s:cterm0E = 168 +let s:cterm0F = 130 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_hopscotch#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_hopscotch#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_hopscotch#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_hopscotch#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_hopscotch#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_hopscotch#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_horizon_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_horizon_dark.vim new file mode 100644 index 0000000..a96f222 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_horizon_dark.vim @@ -0,0 +1,85 @@ +" Base16 Horizon Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Michaël Ball (http://github.com/michael-ball/) + +let s:scheme_slug = substitute("horizon-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#1C1E26' +let s:gui01 = '#232530' +let s:gui02 = '#2E303E' +let s:gui03 = '#6F6F70' +let s:gui04 = '#9DA0A2' +let s:gui05 = '#CBCED0' +let s:gui06 = '#DCDFE4' +let s:gui07 = '#E3E6EE' +let s:gui08 = '#E93C58' +let s:gui09 = '#E58D7D' +let s:gui0A = '#EFB993' +let s:gui0B = '#EFAF8E' +let s:gui0C = '#24A8B4' +let s:gui0D = '#DF5273' +let s:gui0E = '#B072D1' +let s:gui0F = '#E4A382' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_horizon_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_horizon_light.vim new file mode 100644 index 0000000..a0a7311 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_horizon_light.vim @@ -0,0 +1,85 @@ +" Base16 Horizon Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Michaël Ball (http://github.com/michael-ball/) + +let s:scheme_slug = substitute("horizon-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#FDF0ED' +let s:gui01 = '#FADAD1' +let s:gui02 = '#F9CBBE' +let s:gui03 = '#BDB3B1' +let s:gui04 = '#948C8A' +let s:gui05 = '#403C3D' +let s:gui06 = '#302C2D' +let s:gui07 = '#201C1D' +let s:gui08 = '#F7939B' +let s:gui09 = '#F6661E' +let s:gui0A = '#FBE0D9' +let s:gui0B = '#94E1B0' +let s:gui0C = '#DC3318' +let s:gui0D = '#DA103F' +let s:gui0E = '#1D8991' +let s:gui0F = '#E58C92' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_horizon_terminal_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_horizon_terminal_dark.vim new file mode 100644 index 0000000..8de0c41 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_horizon_terminal_dark.vim @@ -0,0 +1,85 @@ +" Base16 Horizon Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Michaël Ball (http://github.com/michael-ball/) + +let s:scheme_slug = substitute("horizon-terminal-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#1C1E26' +let s:gui01 = '#232530' +let s:gui02 = '#2E303E' +let s:gui03 = '#6F6F70' +let s:gui04 = '#9DA0A2' +let s:gui05 = '#CBCED0' +let s:gui06 = '#DCDFE4' +let s:gui07 = '#E3E6EE' +let s:gui08 = '#E95678' +let s:gui09 = '#FAB795' +let s:gui0A = '#FAC29A' +let s:gui0B = '#29D398' +let s:gui0C = '#59E1E3' +let s:gui0D = '#26BBD9' +let s:gui0E = '#EE64AC' +let s:gui0F = '#F09383' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_horizon_terminal_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_horizon_terminal_light.vim new file mode 100644 index 0000000..164571a --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_horizon_terminal_light.vim @@ -0,0 +1,85 @@ +" Base16 Horizon Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Michaël Ball (http://github.com/michael-ball/) + +let s:scheme_slug = substitute("horizon-terminal-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#FDF0ED' +let s:gui01 = '#FADAD1' +let s:gui02 = '#F9CBBE' +let s:gui03 = '#BDB3B1' +let s:gui04 = '#948C8A' +let s:gui05 = '#403C3D' +let s:gui06 = '#302C2D' +let s:gui07 = '#201C1D' +let s:gui08 = '#E95678' +let s:gui09 = '#F9CEC3' +let s:gui0A = '#FADAD1' +let s:gui0B = '#29D398' +let s:gui0C = '#59E1E3' +let s:gui0D = '#26BBD9' +let s:gui0E = '#EE64AC' +let s:gui0F = '#F9CBBE' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_ia_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_ia_dark.vim new file mode 100644 index 0000000..b334ed0 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_ia_dark.vim @@ -0,0 +1,85 @@ +" Base16 iA Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By iA Inc. (modified by aramisgithub) + +let s:scheme_slug = substitute("ia-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#1a1a1a' +let s:gui01 = '#222222' +let s:gui02 = '#1d414d' +let s:gui03 = '#767676' +let s:gui04 = '#b8b8b8' +let s:gui05 = '#cccccc' +let s:gui06 = '#e8e8e8' +let s:gui07 = '#f8f8f8' +let s:gui08 = '#d88568' +let s:gui09 = '#d86868' +let s:gui0A = '#b99353' +let s:gui0B = '#83a471' +let s:gui0C = '#7c9cae' +let s:gui0D = '#8eccdd' +let s:gui0E = '#b98eb2' +let s:gui0F = '#8b6c37' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_ia_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_ia_light.vim new file mode 100644 index 0000000..f029181 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_ia_light.vim @@ -0,0 +1,85 @@ +" Base16 iA Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By iA Inc. (modified by aramisgithub) + +let s:scheme_slug = substitute("ia-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#f6f6f6' +let s:gui01 = '#dedede' +let s:gui02 = '#bde5f2' +let s:gui03 = '#898989' +let s:gui04 = '#767676' +let s:gui05 = '#181818' +let s:gui06 = '#e8e8e8' +let s:gui07 = '#f8f8f8' +let s:gui08 = '#9c5a02' +let s:gui09 = '#c43e18' +let s:gui0A = '#c48218' +let s:gui0B = '#38781c' +let s:gui0C = '#2d6bb1' +let s:gui0D = '#48bac2' +let s:gui0E = '#a94598' +let s:gui0F = '#8b6c37' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_icy.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_icy.vim new file mode 100644 index 0000000..825f405 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_icy.vim @@ -0,0 +1,85 @@ +" Base16 Icy Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By icyphox (https://icyphox.ga) + +let s:scheme_slug = substitute("icy", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#021012' +let s:gui01 = '#031619' +let s:gui02 = '#041f23' +let s:gui03 = '#052e34' +let s:gui04 = '#064048' +let s:gui05 = '#095b67' +let s:gui06 = '#0c7c8c' +let s:gui07 = '#109cb0' +let s:gui08 = '#16c1d9' +let s:gui09 = '#b3ebf2' +let s:gui0A = '#80deea' +let s:gui0B = '#4dd0e1' +let s:gui0C = '#26c6da' +let s:gui0D = '#00bcd4' +let s:gui0E = '#00acc1' +let s:gui0F = '#0097a7' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_irblack.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_irblack.vim new file mode 100644 index 0000000..4500850 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_irblack.vim @@ -0,0 +1,85 @@ +" Base16 IR Black vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Timothée Poisot (http://timotheepoisot.fr) + +let s:scheme_slug = substitute("irblack", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#000000' +let s:gui01 = '#242422' +let s:gui02 = '#484844' +let s:gui03 = '#6c6c66' +let s:gui04 = '#918f88' +let s:gui05 = '#b5b3aa' +let s:gui06 = '#d9d7cc' +let s:gui07 = '#fdfbee' +let s:gui08 = '#ff6c60' +let s:gui09 = '#e9c062' +let s:gui0A = '#ffffb6' +let s:gui0B = '#a8ff60' +let s:gui0C = '#c6c5fe' +let s:gui0D = '#96cbfe' +let s:gui0E = '#ff73fd' +let s:gui0F = '#b18a3d' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_isotope.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_isotope.vim new file mode 100644 index 0000000..aa5e0bd --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_isotope.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Isotope Scheme by Jan T. Sott +let g:airline#themes#base16_isotope#palette = {} +let s:gui00 = "#000000" +let s:gui01 = "#404040" +let s:gui02 = "#606060" +let s:gui03 = "#808080" +let s:gui04 = "#c0c0c0" +let s:gui05 = "#d0d0d0" +let s:gui06 = "#e0e0e0" +let s:gui07 = "#ffffff" +let s:gui08 = "#ff0000" +let s:gui09 = "#ff9900" +let s:gui0A = "#ff0099" +let s:gui0B = "#33ff00" +let s:gui0C = "#00ffff" +let s:gui0D = "#0066ff" +let s:gui0E = "#cc00ff" +let s:gui0F = "#3300ff" + +let s:cterm00 = 0 +let s:cterm01 = 237 +let s:cterm02 = 241 +let s:cterm03 = 244 +let s:cterm04 = 250 +let s:cterm05 = 252 +let s:cterm06 = 253 +let s:cterm07 = 15 +let s:cterm08 = 9 +let s:cterm09 = 208 +let s:cterm0A = 198 +let s:cterm0B = 82 +let s:cterm0C = 14 +let s:cterm0D = 27 +let s:cterm0E = 165 +let s:cterm0F = 57 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_isotope#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_isotope#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_isotope#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_isotope#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_isotope#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_isotope#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_londontube.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_londontube.vim new file mode 100644 index 0000000..b228e23 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_londontube.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 London Tube Scheme by Jan T. Sott +let g:airline#themes#base16_londontube#palette = {} +let s:gui00 = "#231f20" +let s:gui01 = "#1c3f95" +let s:gui02 = "#5a5758" +let s:gui03 = "#737171" +let s:gui04 = "#959ca1" +let s:gui05 = "#d9d8d8" +let s:gui06 = "#e7e7e8" +let s:gui07 = "#ffffff" +let s:gui08 = "#ee2e24" +let s:gui09 = "#f386a1" +let s:gui0A = "#ffd204" +let s:gui0B = "#00853e" +let s:gui0C = "#85cebc" +let s:gui0D = "#009ddc" +let s:gui0E = "#98005d" +let s:gui0F = "#b06110" + +let s:cterm00 = 0 +let s:cterm01 = 24 +let s:cterm02 = 59 +let s:cterm03 = 59 +let s:cterm04 = 109 +let s:cterm05 = 188 +let s:cterm06 = 188 +let s:cterm07 = 15 +let s:cterm08 = 1 +let s:cterm09 = 211 +let s:cterm0A = 220 +let s:cterm0B = 29 +let s:cterm0C = 115 +let s:cterm0D = 38 +let s:cterm0E = 89 +let s:cterm0F = 130 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_londontube#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_londontube#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_londontube#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_londontube#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_londontube#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_londontube#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_macintosh.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_macintosh.vim new file mode 100644 index 0000000..4801995 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_macintosh.vim @@ -0,0 +1,85 @@ +" Base16 Macintosh vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Rebecca Bettencourt (http://www.kreativekorp.com) + +let s:scheme_slug = substitute("macintosh", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#000000' +let s:gui01 = '#404040' +let s:gui02 = '#404040' +let s:gui03 = '#808080' +let s:gui04 = '#808080' +let s:gui05 = '#c0c0c0' +let s:gui06 = '#c0c0c0' +let s:gui07 = '#ffffff' +let s:gui08 = '#dd0907' +let s:gui09 = '#ff6403' +let s:gui0A = '#fbf305' +let s:gui0B = '#1fb714' +let s:gui0C = '#02abea' +let s:gui0D = '#0000d3' +let s:gui0E = '#4700a5' +let s:gui0F = '#90713a' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_marrakesh.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_marrakesh.vim new file mode 100644 index 0000000..e6cd459 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_marrakesh.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Marrakesh Scheme by Alexandre Gavioli (http://github.com/Alexx2/) +let g:airline#themes#base16_marrakesh#palette = {} +let s:gui00 = "#201602" +let s:gui01 = "#302e00" +let s:gui02 = "#5f5b17" +let s:gui03 = "#6c6823" +let s:gui04 = "#86813b" +let s:gui05 = "#948e48" +let s:gui06 = "#ccc37a" +let s:gui07 = "#faf0a5" +let s:gui08 = "#c35359" +let s:gui09 = "#b36144" +let s:gui0A = "#a88339" +let s:gui0B = "#18974e" +let s:gui0C = "#75a738" +let s:gui0D = "#477ca1" +let s:gui0E = "#8868b3" +let s:gui0F = "#b3588e" + +let s:cterm00 = 0 +let s:cterm01 = 52 +let s:cterm02 = 58 +let s:cterm03 = 58 +let s:cterm04 = 101 +let s:cterm05 = 101 +let s:cterm06 = 180 +let s:cterm07 = 229 +let s:cterm08 = 131 +let s:cterm09 = 131 +let s:cterm0A = 137 +let s:cterm0B = 29 +let s:cterm0C = 107 +let s:cterm0D = 67 +let s:cterm0E = 97 +let s:cterm0F = 132 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_marrakesh#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_marrakesh#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_marrakesh#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_marrakesh#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_marrakesh#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_marrakesh#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_materia.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_materia.vim new file mode 100644 index 0000000..259e63c --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_materia.vim @@ -0,0 +1,85 @@ +" Base16 Materia vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Defman21 + +let s:scheme_slug = substitute("materia", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#263238' +let s:gui01 = '#2C393F' +let s:gui02 = '#37474F' +let s:gui03 = '#707880' +let s:gui04 = '#C9CCD3' +let s:gui05 = '#CDD3DE' +let s:gui06 = '#D5DBE5' +let s:gui07 = '#FFFFFF' +let s:gui08 = '#EC5F67' +let s:gui09 = '#EA9560' +let s:gui0A = '#FFCC00' +let s:gui0B = '#8BD649' +let s:gui0C = '#80CBC4' +let s:gui0D = '#89DDFF' +let s:gui0E = '#82AAFF' +let s:gui0F = '#EC5F67' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_material.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_material.vim new file mode 100644 index 0000000..8fe1aea --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_material.vim @@ -0,0 +1,85 @@ +" Base16 Material vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Nate Peterson + +let s:scheme_slug = substitute("material", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#263238' +let s:gui01 = '#2E3C43' +let s:gui02 = '#314549' +let s:gui03 = '#546E7A' +let s:gui04 = '#B2CCD6' +let s:gui05 = '#EEFFFF' +let s:gui06 = '#EEFFFF' +let s:gui07 = '#FFFFFF' +let s:gui08 = '#F07178' +let s:gui09 = '#F78C6C' +let s:gui0A = '#FFCB6B' +let s:gui0B = '#C3E88D' +let s:gui0C = '#89DDFF' +let s:gui0D = '#82AAFF' +let s:gui0E = '#C792EA' +let s:gui0F = '#FF5370' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_material_darker.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_material_darker.vim new file mode 100644 index 0000000..3693a84 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_material_darker.vim @@ -0,0 +1,85 @@ +" Base16 Material Darker vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Nate Peterson + +let s:scheme_slug = substitute("material-darker", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#212121' +let s:gui01 = '#303030' +let s:gui02 = '#353535' +let s:gui03 = '#4A4A4A' +let s:gui04 = '#B2CCD6' +let s:gui05 = '#EEFFFF' +let s:gui06 = '#EEFFFF' +let s:gui07 = '#FFFFFF' +let s:gui08 = '#F07178' +let s:gui09 = '#F78C6C' +let s:gui0A = '#FFCB6B' +let s:gui0B = '#C3E88D' +let s:gui0C = '#89DDFF' +let s:gui0D = '#82AAFF' +let s:gui0E = '#C792EA' +let s:gui0F = '#FF5370' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_material_lighter.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_material_lighter.vim new file mode 100644 index 0000000..0b6f374 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_material_lighter.vim @@ -0,0 +1,85 @@ +" Base16 Material Lighter vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Nate Peterson + +let s:scheme_slug = substitute("material-lighter", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#FAFAFA' +let s:gui01 = '#E7EAEC' +let s:gui02 = '#CCEAE7' +let s:gui03 = '#CCD7DA' +let s:gui04 = '#8796B0' +let s:gui05 = '#80CBC4' +let s:gui06 = '#80CBC4' +let s:gui07 = '#FFFFFF' +let s:gui08 = '#FF5370' +let s:gui09 = '#F76D47' +let s:gui0A = '#FFB62C' +let s:gui0B = '#91B859' +let s:gui0C = '#39ADB5' +let s:gui0D = '#6182B8' +let s:gui0E = '#7C4DFF' +let s:gui0F = '#E53935' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_material_palenight.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_material_palenight.vim new file mode 100644 index 0000000..c581651 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_material_palenight.vim @@ -0,0 +1,85 @@ +" Base16 Material Palenight vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Nate Peterson + +let s:scheme_slug = substitute("material-palenight", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#292D3E' +let s:gui01 = '#444267' +let s:gui02 = '#32374D' +let s:gui03 = '#676E95' +let s:gui04 = '#8796B0' +let s:gui05 = '#959DCB' +let s:gui06 = '#959DCB' +let s:gui07 = '#FFFFFF' +let s:gui08 = '#F07178' +let s:gui09 = '#F78C6C' +let s:gui0A = '#FFCB6B' +let s:gui0B = '#C3E88D' +let s:gui0C = '#89DDFF' +let s:gui0D = '#82AAFF' +let s:gui0E = '#C792EA' +let s:gui0F = '#FF5370' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_material_vivid.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_material_vivid.vim new file mode 100644 index 0000000..5bc3c15 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_material_vivid.vim @@ -0,0 +1,85 @@ +" Base16 Material Vivid vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By joshyrobot + +let s:scheme_slug = substitute("material-vivid", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#202124' +let s:gui01 = '#27292c' +let s:gui02 = '#323639' +let s:gui03 = '#44464d' +let s:gui04 = '#676c71' +let s:gui05 = '#80868b' +let s:gui06 = '#9e9e9e' +let s:gui07 = '#ffffff' +let s:gui08 = '#f44336' +let s:gui09 = '#ff9800' +let s:gui0A = '#ffeb3b' +let s:gui0B = '#00e676' +let s:gui0C = '#00bcd4' +let s:gui0D = '#2196f3' +let s:gui0E = '#673ab7' +let s:gui0F = '#8d6e63' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_mellow_purple.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_mellow_purple.vim new file mode 100644 index 0000000..d0c7a3b --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_mellow_purple.vim @@ -0,0 +1,85 @@ +" Base16 Mellow Purple vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By gidsi + +let s:scheme_slug = substitute("mellow-purple", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#1e0528' +let s:gui01 = '#1A092D' +let s:gui02 = '#331354' +let s:gui03 = '#320f55' +let s:gui04 = '#873582' +let s:gui05 = '#ffeeff' +let s:gui06 = '#ffeeff' +let s:gui07 = '#f8c0ff' +let s:gui08 = '#00d9e9' +let s:gui09 = '#aa00a3' +let s:gui0A = '#955ae7' +let s:gui0B = '#05cb0d' +let s:gui0C = '#b900b1' +let s:gui0D = '#550068' +let s:gui0E = '#8991bb' +let s:gui0F = '#4d6fff' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_mexico_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_mexico_light.vim new file mode 100644 index 0000000..78354fb --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_mexico_light.vim @@ -0,0 +1,85 @@ +" Base16 Mexico Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Sheldon Johnson + +let s:scheme_slug = substitute("mexico-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#f8f8f8' +let s:gui01 = '#e8e8e8' +let s:gui02 = '#d8d8d8' +let s:gui03 = '#b8b8b8' +let s:gui04 = '#585858' +let s:gui05 = '#383838' +let s:gui06 = '#282828' +let s:gui07 = '#181818' +let s:gui08 = '#ab4642' +let s:gui09 = '#dc9656' +let s:gui0A = '#f79a0e' +let s:gui0B = '#538947' +let s:gui0C = '#4b8093' +let s:gui0D = '#7cafc2' +let s:gui0E = '#96609e' +let s:gui0F = '#a16946' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_mocha.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_mocha.vim new file mode 100644 index 0000000..1097c95 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_mocha.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Mocha Scheme by Chris Kempson (http://chriskempson.com) +let g:airline#themes#base16_mocha#palette = {} +let s:gui00 = "#3B3228" +let s:gui01 = "#534636" +let s:gui02 = "#645240" +let s:gui03 = "#7e705a" +let s:gui04 = "#b8afad" +let s:gui05 = "#d0c8c6" +let s:gui06 = "#e9e1dd" +let s:gui07 = "#f5eeeb" +let s:gui08 = "#cb6077" +let s:gui09 = "#d28b71" +let s:gui0A = "#f4bc87" +let s:gui0B = "#beb55b" +let s:gui0C = "#7bbda4" +let s:gui0D = "#8ab3b5" +let s:gui0E = "#a89bb9" +let s:gui0F = "#bb9584" + +let s:cterm00 = 58 +let s:cterm01 = 59 +let s:cterm02 = 59 +let s:cterm03 = 95 +let s:cterm04 = 145 +let s:cterm05 = 188 +let s:cterm06 = 188 +let s:cterm07 = 230 +let s:cterm08 = 168 +let s:cterm09 = 173 +let s:cterm0A = 216 +let s:cterm0B = 143 +let s:cterm0C = 109 +let s:cterm0D = 109 +let s:cterm0E = 139 +let s:cterm0F = 138 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_mocha#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_mocha#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_mocha#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_mocha#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_mocha#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_mocha#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_monokai.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_monokai.vim new file mode 100644 index 0000000..fe1b774 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_monokai.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Monokai Scheme by Wimer Hazenberg (http://www.monokai.nl) +let g:airline#themes#base16_monokai#palette = {} +let s:gui00 = "#272822" +let s:gui01 = "#383830" +let s:gui02 = "#49483e" +let s:gui03 = "#75715e" +let s:gui04 = "#a59f85" +let s:gui05 = "#f8f8f2" +let s:gui06 = "#f5f4f1" +let s:gui07 = "#f9f8f5" +let s:gui08 = "#f92672" +let s:gui09 = "#fd971f" +let s:gui0A = "#f4bf75" +let s:gui0B = "#a6e22e" +let s:gui0C = "#a1efe4" +let s:gui0D = "#66d9ef" +let s:gui0E = "#ae81ff" +let s:gui0F = "#cc6633" + +let s:cterm00 = 0 +let s:cterm01 = 59 +let s:cterm02 = 59 +let s:cterm03 = 95 +let s:cterm04 = 144 +let s:cterm05 = 15 +let s:cterm06 = 15 +let s:cterm07 = 15 +let s:cterm08 = 197 +let s:cterm09 = 208 +let s:cterm0A = 216 +let s:cterm0B = 3 +let s:cterm0C = 158 +let s:cterm0D = 81 +let s:cterm0E = 141 +let s:cterm0F = 167 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_monokai#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_monokai#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_monokai#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_monokai#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_monokai#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_monokai#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_nord.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_nord.vim new file mode 100644 index 0000000..78e8c11 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_nord.vim @@ -0,0 +1,75 @@ +" vim-airline theme by gretzky (https://github.com/gretzky) +" nord scheme by arcticstudio +" (https://github.com/arcticicestudio/nord) +" base 16 from (https://github.com/ada-lovecraft/base16-nord-scheme/blob/master/nord.yaml) +let g:airline#themes#base16_nord#palette = {} +let s:gui00 = "#2e3440" +let s:gui01 = "#3b4252" +let s:gui02 = "#434c5e" +let s:gui03 = "#4c566a" +let s:gui04 = "#d8dee9" +let s:gui05 = "#e5e9f0" +let s:gui06 = "#eceff4" +let s:gui07 = "#8fbcbb" +let s:gui08 = "#88c0d0" +let s:gui09 = "#81a1c1" +let s:gui0A = "#5e81ac" +let s:gui0B = "#bf616a" +let s:gui0C = "#d08770" +let s:gui0D = "#ebcb8b" +let s:gui0E = "#a3be8c" +let s:gui0F = "#b48ead" + +let s:cterm00 = 0 +let s:cterm01 = 0 +let s:cterm02 = 59 +let s:cterm03 = 102 +let s:cterm04 = 145 +let s:cterm05 = 188 +let s:cterm06 = 253 +let s:cterm07 = 15 +let s:cterm08 = 166 +let s:cterm09 = 203 +let s:cterm0A = 214 +let s:cterm0B = 29 +let s:cterm0C = 12 +let s:cterm0D = 12 +let s:cterm0E = 134 +let s:cterm0F = 12 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_nord#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_nord#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_nord#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_nord#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_nord#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_nord#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_nova.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_nova.vim new file mode 100644 index 0000000..c1e5f86 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_nova.vim @@ -0,0 +1,85 @@ +" Base16 Nova vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By George Essig (https://github.com/gessig), Trevor D. Miller (https://trevordmiller.com) + +let s:scheme_slug = substitute("nova", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#3C4C55' +let s:gui01 = '#556873' +let s:gui02 = '#6A7D89' +let s:gui03 = '#899BA6' +let s:gui04 = '#899BA6' +let s:gui05 = '#C5D4DD' +let s:gui06 = '#899BA6' +let s:gui07 = '#556873' +let s:gui08 = '#83AFE5' +let s:gui09 = '#7FC1CA' +let s:gui0A = '#A8CE93' +let s:gui0B = '#7FC1CA' +let s:gui0C = '#F2C38F' +let s:gui0D = '#83AFE5' +let s:gui0E = '#9A93E1' +let s:gui0F = '#F2C38F' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_ocean.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_ocean.vim new file mode 100644 index 0000000..b1a76dd --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_ocean.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Ocean Scheme by Chris Kempson (http://chriskempson.com) +let g:airline#themes#base16_ocean#palette = {} +let s:gui00 = "#2b303b" +let s:gui01 = "#343d46" +let s:gui02 = "#4f5b66" +let s:gui03 = "#65737e" +let s:gui04 = "#a7adba" +let s:gui05 = "#c0c5ce" +let s:gui06 = "#dfe1e8" +let s:gui07 = "#eff1f5" +let s:gui08 = "#bf616a" +let s:gui09 = "#d08770" +let s:gui0A = "#ebcb8b" +let s:gui0B = "#a3be8c" +let s:gui0C = "#96b5b4" +let s:gui0D = "#8fa1b3" +let s:gui0E = "#b48ead" +let s:gui0F = "#ab7967" + +let s:cterm00 = 23 +let s:cterm01 = 59 +let s:cterm02 = 59 +let s:cterm03 = 60 +let s:cterm04 = 145 +let s:cterm05 = 152 +let s:cterm06 = 188 +let s:cterm07 = 15 +let s:cterm08 = 131 +let s:cterm09 = 173 +let s:cterm0A = 186 +let s:cterm0B = 144 +let s:cterm0C = 109 +let s:cterm0D = 109 +let s:cterm0E = 139 +let s:cterm0F = 137 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_ocean#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_ocean#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_ocean#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_ocean#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_ocean#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_ocean#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_oceanicnext.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_oceanicnext.vim new file mode 100644 index 0000000..c5e9edf --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_oceanicnext.vim @@ -0,0 +1,83 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Oceanic Next Scheme by Chris Kempson (http://chriskempson.com) +let g:airline#themes#base16_oceanicnext#palette = {} +let s:gui00 = "#1b2b34" +let s:gui01 = "#343d46" +let s:gui02 = "#4f5b66" +let s:gui03 = "#65737e" +let s:gui04 = "#a7adba" +let s:gui05 = "#c0c5ce" +let s:gui06 = "#cdd3de" +let s:gui07 = "#d8dee9" +let s:gui08 = "#ec5f67" +let s:gui09 = "#f99157" +let s:gui0A = "#fac863" +let s:gui0B = "#99c794" +let s:gui0C = "#5fb3b3" +let s:gui0D = "#6699cc" +let s:gui0E = "#c594c5" +let s:gui0F = "#ab7967" + +" Terminal color definitions +let s:cterm00 = 00 +let s:cterm03 = 08 +let s:cterm05 = 07 +let s:cterm07 = 15 +let s:cterm08 = 01 +let s:cterm0A = 03 +let s:cterm0B = 02 +let s:cterm0C = 06 +let s:cterm0D = 04 +let s:cterm0E = 05 +if exists('base16colorspace') && base16colorspace == "256" + let s:cterm01 = 18 + let s:cterm02 = 19 + let s:cterm04 = 20 + let s:cterm06 = 21 + let s:cterm09 = 16 + let s:cterm0F = 17 +else + let s:cterm01 = 10 + let s:cterm02 = 11 + let s:cterm04 = 12 + let s:cterm06 = 13 + let s:cterm09 = 09 + let s:cterm0F = 14 +endif + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_oceanicnext#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_oceanicnext#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_oceanicnext#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_oceanicnext#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_oceanicnext#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_oceanicnext#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_one_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_one_light.vim new file mode 100644 index 0000000..dfe46c6 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_one_light.vim @@ -0,0 +1,85 @@ +" Base16 One Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Daniel Pfeifer (http://github.com/purpleKarrot) + +let s:scheme_slug = substitute("one-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#fafafa' +let s:gui01 = '#f0f0f1' +let s:gui02 = '#e5e5e6' +let s:gui03 = '#a0a1a7' +let s:gui04 = '#696c77' +let s:gui05 = '#383a42' +let s:gui06 = '#202227' +let s:gui07 = '#090a0b' +let s:gui08 = '#ca1243' +let s:gui09 = '#d75f00' +let s:gui0A = '#c18401' +let s:gui0B = '#50a14f' +let s:gui0C = '#0184bc' +let s:gui0D = '#4078f2' +let s:gui0E = '#a626a4' +let s:gui0F = '#986801' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_onedark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_onedark.vim new file mode 100644 index 0000000..8543031 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_onedark.vim @@ -0,0 +1,85 @@ +" Base16 OneDark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Lalit Magant (http://github.com/tilal6991) + +let s:scheme_slug = substitute("onedark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#282c34' +let s:gui01 = '#353b45' +let s:gui02 = '#3e4451' +let s:gui03 = '#545862' +let s:gui04 = '#565c64' +let s:gui05 = '#abb2bf' +let s:gui06 = '#b6bdca' +let s:gui07 = '#c8ccd4' +let s:gui08 = '#e06c75' +let s:gui09 = '#d19a66' +let s:gui0A = '#e5c07b' +let s:gui0B = '#98c379' +let s:gui0C = '#56b6c2' +let s:gui0D = '#61afef' +let s:gui0E = '#c678dd' +let s:gui0F = '#be5046' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_outrun_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_outrun_dark.vim new file mode 100644 index 0000000..405b5d8 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_outrun_dark.vim @@ -0,0 +1,85 @@ +" Base16 Outrun Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Hugo Delahousse (http://github.com/hugodelahousse/) + +let s:scheme_slug = substitute("outrun-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#00002A' +let s:gui01 = '#20204A' +let s:gui02 = '#30305A' +let s:gui03 = '#50507A' +let s:gui04 = '#B0B0DA' +let s:gui05 = '#D0D0FA' +let s:gui06 = '#E0E0FF' +let s:gui07 = '#F5F5FF' +let s:gui08 = '#FF4242' +let s:gui09 = '#FC8D28' +let s:gui0A = '#F3E877' +let s:gui0B = '#59F176' +let s:gui0C = '#0EF0F0' +let s:gui0D = '#66B0FF' +let s:gui0E = '#F10596' +let s:gui0F = '#F003EF' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_papercolor_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_papercolor_dark.vim new file mode 100644 index 0000000..9230677 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_papercolor_dark.vim @@ -0,0 +1,85 @@ +" Base16 PaperColor Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Jon Leopard (http://github.com/jonleopard) based on PaperColor Theme (https://github.com/NLKNguyen/papercolor-theme) + +let s:scheme_slug = substitute("papercolor-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#1c1c1c' +let s:gui01 = '#af005f' +let s:gui02 = '#5faf00' +let s:gui03 = '#d7af5f' +let s:gui04 = '#5fafd7' +let s:gui05 = '#808080' +let s:gui06 = '#d7875f' +let s:gui07 = '#d0d0d0' +let s:gui08 = '#585858' +let s:gui09 = '#5faf5f' +let s:gui0A = '#afd700' +let s:gui0B = '#af87d7' +let s:gui0C = '#ffaf00' +let s:gui0D = '#ff5faf' +let s:gui0E = '#00afaf' +let s:gui0F = '#5f8787' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_papercolor_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_papercolor_light.vim new file mode 100644 index 0000000..3d7f3ac --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_papercolor_light.vim @@ -0,0 +1,85 @@ +" Base16 PaperColor Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Jon Leopard (http://github.com/jonleopard) based on PaperColor Theme (https://github.com/NLKNguyen/papercolor-theme) + +let s:scheme_slug = substitute("papercolor-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#eeeeee' +let s:gui01 = '#af0000' +let s:gui02 = '#008700' +let s:gui03 = '#5f8700' +let s:gui04 = '#0087af' +let s:gui05 = '#878787' +let s:gui06 = '#005f87' +let s:gui07 = '#444444' +let s:gui08 = '#bcbcbc' +let s:gui09 = '#d70000' +let s:gui0A = '#d70087' +let s:gui0B = '#8700af' +let s:gui0C = '#d75f00' +let s:gui0D = '#d75f00' +let s:gui0E = '#005faf' +let s:gui0F = '#005f87' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_paraiso.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_paraiso.vim new file mode 100644 index 0000000..1277b31 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_paraiso.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Paraiso Scheme by Jan T. Sott +let g:airline#themes#base16_paraiso#palette = {} +let s:gui00 = "#2f1e2e" +let s:gui01 = "#41323f" +let s:gui02 = "#4f424c" +let s:gui03 = "#776e71" +let s:gui04 = "#8d8687" +let s:gui05 = "#a39e9b" +let s:gui06 = "#b9b6b0" +let s:gui07 = "#e7e9db" +let s:gui08 = "#ef6155" +let s:gui09 = "#f99b15" +let s:gui0A = "#fec418" +let s:gui0B = "#48b685" +let s:gui0C = "#5bc4bf" +let s:gui0D = "#06b6ef" +let s:gui0E = "#815ba4" +let s:gui0F = "#e96ba8" + +let s:cterm00 = 0 +let s:cterm01 = 59 +let s:cterm02 = 59 +let s:cterm03 = 95 +let s:cterm04 = 102 +let s:cterm05 = 144 +let s:cterm06 = 145 +let s:cterm07 = 188 +let s:cterm08 = 203 +let s:cterm09 = 208 +let s:cterm0A = 220 +let s:cterm0B = 72 +let s:cterm0C = 79 +let s:cterm0D = 39 +let s:cterm0E = 97 +let s:cterm0F = 169 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_paraiso#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_paraiso#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_paraiso#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_paraiso#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_paraiso#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_paraiso#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_phd.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_phd.vim new file mode 100644 index 0000000..f72b5c7 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_phd.vim @@ -0,0 +1,85 @@ +" Base16 PhD vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Hennig Hasemann (http://leetless.de/vim.html) + +let s:scheme_slug = substitute("phd", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#061229' +let s:gui01 = '#2a3448' +let s:gui02 = '#4d5666' +let s:gui03 = '#717885' +let s:gui04 = '#9a99a3' +let s:gui05 = '#b8bbc2' +let s:gui06 = '#dbdde0' +let s:gui07 = '#ffffff' +let s:gui08 = '#d07346' +let s:gui09 = '#f0a000' +let s:gui0A = '#fbd461' +let s:gui0B = '#99bf52' +let s:gui0C = '#72b9bf' +let s:gui0D = '#5299bf' +let s:gui0E = '#9989cc' +let s:gui0F = '#b08060' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_pico.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_pico.vim new file mode 100644 index 0000000..2ad8dde --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_pico.vim @@ -0,0 +1,85 @@ +" Base16 Pico vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By PICO-8 (http://www.lexaloffle.com/pico-8.php) + +let s:scheme_slug = substitute("pico", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#000000' +let s:gui01 = '#1d2b53' +let s:gui02 = '#7e2553' +let s:gui03 = '#008751' +let s:gui04 = '#ab5236' +let s:gui05 = '#5f574f' +let s:gui06 = '#c2c3c7' +let s:gui07 = '#fff1e8' +let s:gui08 = '#ff004d' +let s:gui09 = '#ffa300' +let s:gui0A = '#fff024' +let s:gui0B = '#00e756' +let s:gui0C = '#29adff' +let s:gui0D = '#83769c' +let s:gui0E = '#ff77a8' +let s:gui0F = '#ffccaa' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_pop.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_pop.vim new file mode 100644 index 0000000..0888703 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_pop.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Pop Scheme by Chris Kempson (http://chriskempson.com) +let g:airline#themes#base16_pop#palette = {} +let s:gui00 = "#000000" +let s:gui01 = "#202020" +let s:gui02 = "#303030" +let s:gui03 = "#505050" +let s:gui04 = "#b0b0b0" +let s:gui05 = "#d0d0d0" +let s:gui06 = "#e0e0e0" +let s:gui07 = "#ffffff" +let s:gui08 = "#eb008a" +let s:gui09 = "#f29333" +let s:gui0A = "#f8ca12" +let s:gui0B = "#37b349" +let s:gui0C = "#00aabb" +let s:gui0D = "#0e5a94" +let s:gui0E = "#b31e8d" +let s:gui0F = "#7a2d00" + +let s:cterm00 = 0 +let s:cterm01 = 234 +let s:cterm02 = 236 +let s:cterm03 = 239 +let s:cterm04 = 249 +let s:cterm05 = 252 +let s:cterm06 = 253 +let s:cterm07 = 15 +let s:cterm08 = 162 +let s:cterm09 = 209 +let s:cterm0A = 220 +let s:cterm0B = 71 +let s:cterm0C = 37 +let s:cterm0D = 24 +let s:cterm0E = 126 +let s:cterm0F = 88 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_pop#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_pop#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_pop#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_pop#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_pop#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_pop#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_porple.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_porple.vim new file mode 100644 index 0000000..7e05abc --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_porple.vim @@ -0,0 +1,85 @@ +" Base16 Porple vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Niek den Breeje (https://github.com/AuditeMarlow) + +let s:scheme_slug = substitute("porple", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#292c36' +let s:gui01 = '#333344' +let s:gui02 = '#474160' +let s:gui03 = '#65568a' +let s:gui04 = '#b8b8b8' +let s:gui05 = '#d8d8d8' +let s:gui06 = '#e8e8e8' +let s:gui07 = '#f8f8f8' +let s:gui08 = '#f84547' +let s:gui09 = '#d28e5d' +let s:gui0A = '#efa16b' +let s:gui0B = '#95c76f' +let s:gui0C = '#64878f' +let s:gui0D = '#8485ce' +let s:gui0E = '#b74989' +let s:gui0F = '#986841' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_railscasts.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_railscasts.vim new file mode 100644 index 0000000..771a5b1 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_railscasts.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Railscasts Scheme by Ryan Bates (http://railscasts.com) +let g:airline#themes#base16_railscasts#palette = {} +let s:gui00 = "#2b2b2b" +let s:gui01 = "#272935" +let s:gui02 = "#3a4055" +let s:gui03 = "#5a647e" +let s:gui04 = "#d4cfc9" +let s:gui05 = "#e6e1dc" +let s:gui06 = "#f4f1ed" +let s:gui07 = "#f9f7f3" +let s:gui08 = "#da4939" +let s:gui09 = "#cc7833" +let s:gui0A = "#ffc66d" +let s:gui0B = "#a5c261" +let s:gui0C = "#519f50" +let s:gui0D = "#6d9cbe" +let s:gui0E = "#b6b3eb" +let s:gui0F = "#bc9458" + +let s:cterm00 = 235 +let s:cterm01 = 17 +let s:cterm02 = 59 +let s:cterm03 = 60 +let s:cterm04 = 188 +let s:cterm05 = 188 +let s:cterm06 = 15 +let s:cterm07 = 15 +let s:cterm08 = 167 +let s:cterm09 = 173 +let s:cterm0A = 221 +let s:cterm0B = 143 +let s:cterm0C = 71 +let s:cterm0D = 73 +let s:cterm0E = 146 +let s:cterm0F = 137 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_railscasts#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_railscasts#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_railscasts#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_railscasts#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_railscasts#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_railscasts#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_rebecca.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_rebecca.vim new file mode 100644 index 0000000..6872851 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_rebecca.vim @@ -0,0 +1,85 @@ +" Base16 Rebecca vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Victor Borja (http://github.com/vic) based on Rebecca Theme (http://github.com/vic/rebecca-theme) + +let s:scheme_slug = substitute("rebecca", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#292a44' +let s:gui01 = '#663399' +let s:gui02 = '#383a62' +let s:gui03 = '#666699' +let s:gui04 = '#a0a0c5' +let s:gui05 = '#f1eff8' +let s:gui06 = '#ccccff' +let s:gui07 = '#53495d' +let s:gui08 = '#a0a0c5' +let s:gui09 = '#efe4a1' +let s:gui0A = '#ae81ff' +let s:gui0B = '#6dfedf' +let s:gui0C = '#8eaee0' +let s:gui0D = '#2de0a7' +let s:gui0E = '#7aa5ff' +let s:gui0F = '#ff79c6' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_sandcastle.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_sandcastle.vim new file mode 100644 index 0000000..daaf7f6 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_sandcastle.vim @@ -0,0 +1,85 @@ +" Base16 Sandcastle vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By George Essig (https://github.com/gessig) + +let s:scheme_slug = substitute("sandcastle", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#282c34' +let s:gui01 = '#2c323b' +let s:gui02 = '#3e4451' +let s:gui03 = '#665c54' +let s:gui04 = '#928374' +let s:gui05 = '#a89984' +let s:gui06 = '#d5c4a1' +let s:gui07 = '#fdf4c1' +let s:gui08 = '#83a598' +let s:gui09 = '#a07e3b' +let s:gui0A = '#a07e3b' +let s:gui0B = '#528b8b' +let s:gui0C = '#83a598' +let s:gui0D = '#83a598' +let s:gui0E = '#d75f5f' +let s:gui0F = '#a87322' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_seti.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_seti.vim new file mode 100644 index 0000000..5d7af21 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_seti.vim @@ -0,0 +1,77 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base16 Seti UI by + +let g:airline#themes#base16_seti#palette = {} +let s:gui00 = "#151718" +let s:gui01 = "#282a2b" +let s:gui02 = "#3B758C" +let s:gui03 = "#41535B" +let s:gui04 = "#43a5d5" +let s:gui05 = "#d6d6d6" +let s:gui06 = "#eeeeee" +let s:gui07 = "#ffffff" +let s:gui08 = "#Cd3f45" +let s:gui09 = "#db7b55" +let s:gui0A = "#e6cd69" +let s:gui0B = "#9fca56" +let s:gui0C = "#55dbbe" +let s:gui0D = "#55b5db" +let s:gui0E = "#a074c4" +let s:gui0F = "#8a553f" + + +let s:cterm00 = 0 +let s:cterm01 = 18 +let s:cterm02 = 19 +let s:cterm03 = 8 +let s:cterm04 = 20 +let s:cterm05 = 7 +let s:cterm06 = 21 +let s:cterm07 = 15 +let s:cterm08 = 1 +let s:cterm09 = 16 +let s:cterm0A = 3 +let s:cterm0B = 2 +let s:cterm0C = 6 +let s:cterm0D = 4 +let s:cterm0E = 5 +let s:cterm0F = 17 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_seti#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_seti#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_seti#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_seti#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_seti#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_seti#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) + + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_shapeshifter.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_shapeshifter.vim new file mode 100644 index 0000000..a518265 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_shapeshifter.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 shapeshifter Scheme by Tyler Benziger (http://tybenz.com) +let g:airline#themes#base16_shapeshifter#palette = {} +let s:gui00 = "#000000" +let s:gui01 = "#040404" +let s:gui02 = "#102015" +let s:gui03 = "#343434" +let s:gui04 = "#555555" +let s:gui05 = "#ababab" +let s:gui06 = "#e0e0e0" +let s:gui07 = "#f9f9f9" +let s:gui08 = "#e92f2f" +let s:gui09 = "#e09448" +let s:gui0A = "#dddd13" +let s:gui0B = "#0ed839" +let s:gui0C = "#23edda" +let s:gui0D = "#3b48e3" +let s:gui0E = "#f996e2" +let s:gui0F = "#69542d" + +let s:cterm00 = 0 +let s:cterm01 = 0 +let s:cterm02 = 0 +let s:cterm03 = 236 +let s:cterm04 = 240 +let s:cterm05 = 248 +let s:cterm06 = 253 +let s:cterm07 = 15 +let s:cterm08 = 1 +let s:cterm09 = 173 +let s:cterm0A = 3 +let s:cterm0B = 41 +let s:cterm0C = 50 +let s:cterm0D = 12 +let s:cterm0E = 212 +let s:cterm0F = 58 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_shapeshifter#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_shapeshifter#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_shapeshifter#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_shapeshifter#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_shapeshifter#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_shapeshifter#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_shell.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_shell.vim new file mode 100644 index 0000000..fdcb7f1 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_shell.vim @@ -0,0 +1,10 @@ +" This theme has been improved and renamed to base16_vim. The following is +" provided for backward compatibility. + +function! airline#themes#base16_shell#refresh() + call airline#themes#base16_vim#refresh() + let g:airline#themes#base16_shell#palette + \ = g:airline#themes#base16_vim#palette +endfunction + +call airline#themes#base16_shell#refresh() diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_snazzy.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_snazzy.vim new file mode 100644 index 0000000..76704ed --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_snazzy.vim @@ -0,0 +1,121 @@ +" base16-snazzy +" theme format modified from wombat +" colors from sindresorhus/hyper-snazzy & h404bi/base16-snazzy-scheme/ +" Made by Ayush Shenoy (masala-man) +" +" BASE16-SNAZZY XTERM +let s:base00 = '#282a36' "236 +let s:base01 = '#34353e' "237 +let s:base02 = '#43454f' "238 +let s:base03 = '#78787e' "244 +let s:base04 = '#a5a5a9' "248 +let s:base05 = '#e2e4e5' "254 +let s:base06 = '#eff0eb' "255 +let s:base07 = '#f1f1f0' "15 +let s:base08 = '#ff5c57' "203 +let s:base09 = '#ff9f43' "215 +let s:base0A = '#f3f99d' "229 +let s:base0B = '#5af78e' "84 +let s:base0C = '#9aedfe' "123 +let s:base0D = '#57c7ff' "81 +let s:base0E = '#ff6ac1' "205 +let s:base0F = '#b2643c' "131 + +" Normal mode +" [ guifg , guibg , ctermfg , ctermbg , opts ] +let s:N1 = [ s:base00 , s:base0D , 235 , 81 ] " [ color of body and line-info ] +let s:N2 = [ s:base0D , s:base00 , 81 , 235 ] " [ diffcount and file-info ] +let s:N3 = [ s:base0D , s:base00 , 81 , 235 ] " [ filename ] +let s:N4 = [ s:base0D , 81 ] " [ buffer modified ] + +" Insert mode +let s:I1 = [ s:base00 , s:base0B , 235 , 84 ] +let s:I2 = [ s:base0B , s:base00 , 84 , 235 ] +let s:I3 = [ s:base0B , s:base00 , 84 , 235 ] +let s:I4 = [ s:base0B , 84 ] + +" Visual mode +let s:V1 = [ s:base00 , s:base0A , 235 , 229 ] +let s:V2 = [ s:base0A , s:base00 , 229 , 235 ] +let s:V3 = [ s:base0A , s:base00 , 229 , 235 ] +let s:V4 = [ s:base0A , 229 ] + +" Replace mode +let s:R1 = [ s:base00 , s:base08 , 235 , 203 ] +let s:R2 = [ s:base08 , s:base00 , 203 , 235 ] +let s:R3 = [ s:base08 , s:base00 , 203 , 235 ] +let s:R4 = [ s:base08 , 203 ] + +" Paste mode +let s:PA = [ s:base0B , 84 ] + +" Info modified +let s:IM = [ s:base00 , 235 ] + +" Inactive mode +let s:IA = [ '' , s:N3[1] , 244 , 235 , '' ] " [ color of bar on inactive splits ] + +let g:airline#themes#base16_snazzy#palette = {} + +let g:airline#themes#base16_snazzy#palette.accents = { + \ 'red': [ s:base08 , '' , 203 , '' , '' ] + \ } + +let ER = [ s:base00 , s:base08 , 235 , 203 ] " [ error color ] +let WI = [ s:base00 , s:base0A , 235 , 229 ] " [ warning color ] + +let g:airline#themes#base16_snazzy#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#base16_snazzy#palette.normal_modified = { + \ 'airline_a': [ s:N1[0] , s:N4[0] , s:N1[2] , s:N4[1] , '' ] , + \ 'airline_b': [ s:N4[0] , s:IM[0] , s:N4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:N4[0] , s:N3[1] , s:N4[1] , s:N3[3] , '' ] } + +let g:airline#themes#base16_snazzy#palette.normal.airline_error = ER +let g:airline#themes#base16_snazzy#palette.normal.airline_warning = WI +let g:airline#themes#base16_snazzy#palette.normal_modified.airline_error = ER +let g:airline#themes#base16_snazzy#palette.normal_modified.airline_warning = WI + +let g:airline#themes#base16_snazzy#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#base16_snazzy#palette.insert_modified = { + \ 'airline_a': [ s:I1[0] , s:I4[0] , s:I1[2] , s:I4[1] , '' ] , + \ 'airline_b': [ s:I4[0] , s:IM[0] , s:I4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:I4[0] , s:N3[1] , s:I4[1] , s:N3[3] , '' ] } + +let g:airline#themes#base16_snazzy#palette.insert.airline_error = ER +let g:airline#themes#base16_snazzy#palette.insert.airline_warning = WI +let g:airline#themes#base16_snazzy#palette.insert_modified.airline_error = ER +let g:airline#themes#base16_snazzy#palette.insert_modified.airline_warning = WI + +let g:airline#themes#base16_snazzy#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#base16_snazzy#palette.visual_modified = { + \ 'airline_a': [ s:V1[0] , s:V4[0] , s:V1[2] , s:V4[1] , '' ] , + \ 'airline_b': [ s:V4[0] , s:IM[0] , s:V4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:V4[0] , s:N3[1] , s:V4[1] , s:N3[3] , '' ] } + +let g:airline#themes#base16_snazzy#palette.visual.airline_error = ER +let g:airline#themes#base16_snazzy#palette.visual.airline_warning = WI +let g:airline#themes#base16_snazzy#palette.visual_modified.airline_error = ER +let g:airline#themes#base16_snazzy#palette.visual_modified.airline_warning = WI + +let g:airline#themes#base16_snazzy#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#base16_snazzy#palette.replace_modified = { + \ 'airline_a': [ s:R1[0] , s:R4[0] , s:R1[2] , s:R4[1] , '' ] , + \ 'airline_b': [ s:R4[0] , s:IM[0] , s:R4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:R4[0] , s:N3[1] , s:R4[1] , s:N3[3] , '' ] } + +let g:airline#themes#base16_snazzy#palette.replace.airline_error = ER +let g:airline#themes#base16_snazzy#palette.replace.airline_warning = WI +let g:airline#themes#base16_snazzy#palette.replace_modified.airline_error = ER +let g:airline#themes#base16_snazzy#palette.replace_modified.airline_warning = WI + +let g:airline#themes#base16_snazzy#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] , + \ 'airline_b': [ s:PA[0] , s:IM[0] , s:PA[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:PA[0] , s:N3[1] , s:PA[1] , s:N3[3] , '' ] } + +let g:airline#themes#base16_snazzy#palette.insert_paste.airline_error = ER +let g:airline#themes#base16_snazzy#palette.insert_paste.airline_warning = WI + +let g:airline#themes#base16_snazzy#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#base16_snazzy#palette.inactive_modified = { + \ 'airline_c': [ s:N4[0] , '' , s:N4[1] , '' , '' ] } diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_solarflare.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_solarflare.vim new file mode 100644 index 0000000..47e20ef --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_solarflare.vim @@ -0,0 +1,85 @@ +" Base16 Solar Flare vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Chuck Harmston (https://chuck.harmston.ch) + +let s:scheme_slug = substitute("solarflare", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#18262F' +let s:gui01 = '#222E38' +let s:gui02 = '#586875' +let s:gui03 = '#667581' +let s:gui04 = '#85939E' +let s:gui05 = '#A6AFB8' +let s:gui06 = '#E8E9ED' +let s:gui07 = '#F5F7FA' +let s:gui08 = '#EF5253' +let s:gui09 = '#E66B2B' +let s:gui0A = '#E4B51C' +let s:gui0B = '#7CC844' +let s:gui0C = '#52CBB0' +let s:gui0D = '#33B5E1' +let s:gui0E = '#A363D5' +let s:gui0F = '#D73C9A' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_solarized.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_solarized.vim new file mode 100644 index 0000000..81edd56 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_solarized.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Solarized Scheme by Ethan Schoonover (http://ethanschoonover.com/solarized) +let g:airline#themes#base16_solarized#palette = {} +let s:gui00 = "#002b36" +let s:gui01 = "#073642" +let s:gui02 = "#586e75" +let s:gui03 = "#657b83" +let s:gui04 = "#839496" +let s:gui05 = "#93a1a1" +let s:gui06 = "#eee8d5" +let s:gui07 = "#fdf6e3" +let s:gui08 = "#dc322f" +let s:gui09 = "#cb4b16" +let s:gui0A = "#b58900" +let s:gui0B = "#859900" +let s:gui0C = "#2aa198" +let s:gui0D = "#268bd2" +let s:gui0E = "#6c71c4" +let s:gui0F = "#d33682" + +let s:cterm00 = 17 +let s:cterm01 = 23 +let s:cterm02 = 60 +let s:cterm03 = 66 +let s:cterm04 = 102 +let s:cterm05 = 109 +let s:cterm06 = 224 +let s:cterm07 = 230 +let s:cterm08 = 166 +let s:cterm09 = 166 +let s:cterm0A = 136 +let s:cterm0B = 100 +let s:cterm0C = 36 +let s:cterm0D = 32 +let s:cterm0E = 12 +let s:cterm0F = 168 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_solarized#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_solarized#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_solarized#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_solarized#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_solarized#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_solarized#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_solarized_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_solarized_dark.vim new file mode 100644 index 0000000..bbf1560 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_solarized_dark.vim @@ -0,0 +1,85 @@ +" Base16 Solarized Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Ethan Schoonover (modified by aramisgithub) + +let s:scheme_slug = substitute("solarized-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#002b36' +let s:gui01 = '#073642' +let s:gui02 = '#586e75' +let s:gui03 = '#657b83' +let s:gui04 = '#839496' +let s:gui05 = '#93a1a1' +let s:gui06 = '#eee8d5' +let s:gui07 = '#fdf6e3' +let s:gui08 = '#dc322f' +let s:gui09 = '#cb4b16' +let s:gui0A = '#b58900' +let s:gui0B = '#859900' +let s:gui0C = '#2aa198' +let s:gui0D = '#268bd2' +let s:gui0E = '#6c71c4' +let s:gui0F = '#d33682' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_solarized_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_solarized_light.vim new file mode 100644 index 0000000..9d28664 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_solarized_light.vim @@ -0,0 +1,85 @@ +" Base16 Solarized Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Ethan Schoonover (modified by aramisgithub) + +let s:scheme_slug = substitute("solarized-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#fdf6e3' +let s:gui01 = '#eee8d5' +let s:gui02 = '#93a1a1' +let s:gui03 = '#839496' +let s:gui04 = '#657b83' +let s:gui05 = '#586e75' +let s:gui06 = '#073642' +let s:gui07 = '#002b36' +let s:gui08 = '#dc322f' +let s:gui09 = '#cb4b16' +let s:gui0A = '#b58900' +let s:gui0B = '#859900' +let s:gui0C = '#2aa198' +let s:gui0D = '#268bd2' +let s:gui0E = '#6c71c4' +let s:gui0F = '#d33682' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_spacemacs.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_spacemacs.vim new file mode 100644 index 0000000..4c04bd1 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_spacemacs.vim @@ -0,0 +1,191 @@ +" vim-airline base16-spacemacs theme by Peter Meehan (http://github.com/22a) +" Base16 Spacemacs by Chris Kempson (http://chriskempson.com) +" Spacemacs scheme by Nasser Alshammari (https://github.com/nashamri/spacemacs-theme) + +let s:gui00 = "#1f2022" +let s:gui01 = "#282828" +let s:gui02 = "#444155" +let s:gui03 = "#585858" +let s:gui04 = "#b8b8b8" +let s:gui05 = "#a3a3a3" +let s:gui06 = "#e8e8e8" +let s:gui07 = "#f8f8f8" +let s:gui08 = "#f2241f" +let s:gui09 = "#ffa500" +let s:gui0A = "#b1951d" +let s:gui0B = "#67b11d" +let s:gui0C = "#2d9574" +let s:gui0D = "#4f97d7" +let s:gui0E = "#a31db1" +let s:gui0F = "#b03060" + +let s:cterm00 = 0 +let s:cterm01 = 18 +let s:cterm02 = 19 +let s:cterm03 = 8 +let s:cterm04 = 20 +let s:cterm05 = 7 +let s:cterm06 = 21 +let s:cterm07 = 15 +let s:cterm08 = 1 +let s:cterm09 = 16 +let s:cterm0A = 3 +let s:cterm0B = 2 +let s:cterm0C = 6 +let s:cterm0D = 4 +let s:cterm0E = 5 +let s:cterm0F = 17 + +let g:airline#themes#base16_spacemacs#palette = {} + +" Background for branch and file format blocks +let s:cterm_termbg = s:cterm02 +let s:gui_termbg = s:gui02 +" Foreground for branch and file format blocks +let s:cterm_termfg = s:cterm06 +let s:gui_termfg = s:gui06 + + +" Background for middle block +let s:cterm_termbg2 = s:cterm00 +let s:gui_termbg2 = s:gui00 +" Foreground for middle block +let s:cterm_termfg2 = s:cterm06 +let s:gui_termfg2 = s:gui06 + + +" Background for normal mode and file position blocks +let s:cterm_normalbg = s:cterm0D +let s:gui_normalbg = s:gui0D +" Foreground for normal mode and file position blocks +let s:cterm_normalfg = s:cterm07 +let s:gui_normalfg = s:gui07 + + +" Background for insert mode and file position blocks +let s:cterm_insertbg = s:cterm0B +let s:gui_insertbg = s:gui0B +" Foreground for insert mode and file position blocks +let s:cterm_insertfg = s:cterm07 +let s:gui_insertfg = s:gui07 + + +" Background for visual mode and file position blocks +let s:cterm_visualbg = s:cterm09 +let s:gui_visualbg = s:gui09 +" Foreground for visual mode and file position blocks +let s:cterm_visualfg = s:cterm07 +let s:gui_visualfg = s:gui07 + + +" Background for replace mode and file position blocks +let s:cterm_replacebg = s:cterm08 +let s:gui_replacebg = s:gui08 +" Foreground for replace mode and file position blocks +let s:cterm_replacefg = s:cterm07 +let s:gui_replacefg = s:gui07 + + +" Background for inactive mode +let s:cterm_inactivebg = s:cterm02 +let s:gui_inactivebg = s:gui02 +" Foreground for inactive mode +let s:cterm_inactivefg = s:cterm04 +let s:gui_inactivefg = s:gui04 + + +" Branch and file format +let s:BB = [s:gui_termfg, s:gui_termbg, s:cterm_termfg, s:cterm_termbg] " Branch and file format blocks + +" Normal mode +let s:N1 = [s:gui_normalfg, s:gui_normalbg, s:cterm_normalfg, s:cterm_normalbg] " Outside blocks in normal mode +let s:N2 = [s:gui_termfg2, s:gui_termbg2, s:cterm_normalbg, s:cterm_termbg2] " Middle block +let g:airline#themes#base16_spacemacs#palette.normal = airline#themes#generate_color_map(s:N1, s:BB, s:N2) +let g:airline#themes#base16_spacemacs#palette.normal_modified = g:airline#themes#base16_spacemacs#palette.normal + +" Insert mode +let s:I1 = [s:gui_insertfg, s:gui_insertbg, s:cterm_insertfg, s:cterm_insertbg] " Outside blocks in insert mode +let s:I2 = [s:gui_insertbg, s:gui_termbg2, s:cterm_insertbg, s:cterm_termbg2] " Middle block +let g:airline#themes#base16_spacemacs#palette.insert = airline#themes#generate_color_map(s:I1, s:BB, s:I2) +let g:airline#themes#base16_spacemacs#palette.insert_modified = g:airline#themes#base16_spacemacs#palette.insert + +" Replace mode +let s:R1 = [s:gui_replacefg, s:gui_replacebg, s:cterm_replacefg, s:cterm_replacebg] " Outside blocks in replace mode +let s:R2 = [s:gui_termfg, s:gui_termbg2, s:cterm_termfg, s:cterm_termbg2] " Middle block +let g:airline#themes#base16_spacemacs#palette.replace = airline#themes#generate_color_map(s:R1, s:BB, s:R2) +let g:airline#themes#base16_spacemacs#palette.replace_modified = g:airline#themes#base16_spacemacs#palette.replace + +" Visual mode +let s:V1 = [s:gui_visualfg, s:gui_visualbg, s:cterm_visualfg, s:cterm_visualbg] " Outside blocks in visual mode +let s:V2 = [s:gui_visualbg, s:gui_termbg2, s:cterm_visualbg, s:cterm_termbg2] " Middle block +let g:airline#themes#base16_spacemacs#palette.visual = airline#themes#generate_color_map(s:V1, s:BB, s:V2) +let g:airline#themes#base16_spacemacs#palette.visual_modified = g:airline#themes#base16_spacemacs#palette.visual + +" Inactive mode +let s:IA1 = [s:gui_inactivefg, s:gui_inactivebg, s:cterm_inactivefg, s:cterm_inactivebg, ''] +let s:IA2 = [s:gui_inactivefg, s:gui_inactivebg, s:cterm_inactivefg, s:cterm_inactivebg, ''] +let s:IA3 = [s:gui_inactivefg, s:gui_inactivebg, s:cterm_inactivefg, s:cterm_inactivebg, ''] +let g:airline#themes#base16_spacemacs#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Warnings +let s:WI = [s:gui07, s:gui09, s:cterm07, s:cterm09] +let g:airline#themes#base16_spacemacs#palette.normal.airline_warning = [ + \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] + \ ] + +let g:airline#themes#base16_spacemacs#palette.normal_modified.airline_warning = + \ g:airline#themes#base16_spacemacs#palette.normal.airline_warning + +let g:airline#themes#base16_spacemacs#palette.insert.airline_warning = + \ g:airline#themes#base16_spacemacs#palette.normal.airline_warning + +let g:airline#themes#base16_spacemacs#palette.insert_modified.airline_warning = + \ g:airline#themes#base16_spacemacs#palette.normal.airline_warning + +let g:airline#themes#base16_spacemacs#palette.visual.airline_warning = + \ g:airline#themes#base16_spacemacs#palette.normal.airline_warning + +let g:airline#themes#base16_spacemacs#palette.visual_modified.airline_warning = + \ g:airline#themes#base16_spacemacs#palette.normal.airline_warning + +let g:airline#themes#base16_spacemacs#palette.replace.airline_warning = + \ g:airline#themes#base16_spacemacs#palette.normal.airline_warning + +let g:airline#themes#base16_spacemacs#palette.replace_modified.airline_warning = + \ g:airline#themes#base16_spacemacs#palette.normal.airline_warning + +" Errors +let s:ER = [s:gui07, s:gui08, s:cterm07, s:cterm08] +let g:airline#themes#base16_spacemacs#palette.normal.airline_error = [ + \ s:ER[0], s:ER[1], s:ER[2], s:ER[3] + \ ] + +let g:airline#themes#base16_spacemacs#palette.normal_modified.airline_error = + \ g:airline#themes#base16_spacemacs#palette.normal.airline_error + +let g:airline#themes#base16_spacemacs#palette.insert.airline_error = + \ g:airline#themes#base16_spacemacs#palette.normal.airline_error + +let g:airline#themes#base16_spacemacs#palette.insert_modified.airline_error = + \ g:airline#themes#base16_spacemacs#palette.normal.airline_error + +let g:airline#themes#base16_spacemacs#palette.visual.airline_error = + \ g:airline#themes#base16_spacemacs#palette.normal.airline_error + +let g:airline#themes#base16_spacemacs#palette.visual_modified.airline_error = + \ g:airline#themes#base16_spacemacs#palette.normal.airline_error + +let g:airline#themes#base16_spacemacs#palette.replace.airline_error = + \ g:airline#themes#base16_spacemacs#palette.normal.airline_error + +let g:airline#themes#base16_spacemacs#palette.replace_modified.airline_error = + \ g:airline#themes#base16_spacemacs#palette.normal.airline_error + +" CtrlP plugin colors +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_spacemacs#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [s:gui_normalfg, s:gui_normalbg, s:cterm_normalfg, s:cterm_normalbg, ''], + \ [s:gui_termfg, s:gui_termbg, s:cterm_termfg, s:cterm_termbg, ''], + \ [s:gui_termfg2, s:gui_termbg2, s:cterm_termfg2, s:cterm_termbg2, 'bold']) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_summerfruit.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_summerfruit.vim new file mode 100644 index 0000000..4bafd59 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_summerfruit.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Summerfruit Scheme by Christopher Corley (http://cscorley.github.io/) +let g:airline#themes#base16_summerfruit#palette = {} +let s:gui00 = "#151515" +let s:gui01 = "#202020" +let s:gui02 = "#303030" +let s:gui03 = "#505050" +let s:gui04 = "#B0B0B0" +let s:gui05 = "#D0D0D0" +let s:gui06 = "#E0E0E0" +let s:gui07 = "#FFFFFF" +let s:gui08 = "#FF0086" +let s:gui09 = "#FD8900" +let s:gui0A = "#ABA800" +let s:gui0B = "#00C918" +let s:gui0C = "#1faaaa" +let s:gui0D = "#3777E6" +let s:gui0E = "#AD00A1" +let s:gui0F = "#cc6633" + +let s:cterm00 = 233 +let s:cterm01 = 234 +let s:cterm02 = 236 +let s:cterm03 = 239 +let s:cterm04 = 249 +let s:cterm05 = 252 +let s:cterm06 = 253 +let s:cterm07 = 15 +let s:cterm08 = 198 +let s:cterm09 = 208 +let s:cterm0A = 142 +let s:cterm0B = 2 +let s:cterm0C = 37 +let s:cterm0D = 68 +let s:cterm0E = 127 +let s:cterm0F = 167 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_summerfruit#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_summerfruit#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_summerfruit#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_summerfruit#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_summerfruit#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_summerfruit#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_summerfruit_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_summerfruit_dark.vim new file mode 100644 index 0000000..9a4a8d3 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_summerfruit_dark.vim @@ -0,0 +1,85 @@ +" Base16 Summerfruit Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Christopher Corley (http://christop.club/) + +let s:scheme_slug = substitute("summerfruit-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#151515' +let s:gui01 = '#202020' +let s:gui02 = '#303030' +let s:gui03 = '#505050' +let s:gui04 = '#B0B0B0' +let s:gui05 = '#D0D0D0' +let s:gui06 = '#E0E0E0' +let s:gui07 = '#FFFFFF' +let s:gui08 = '#FF0086' +let s:gui09 = '#FD8900' +let s:gui0A = '#ABA800' +let s:gui0B = '#00C918' +let s:gui0C = '#1FAAAA' +let s:gui0D = '#3777E6' +let s:gui0E = '#AD00A1' +let s:gui0F = '#CC6633' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_summerfruit_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_summerfruit_light.vim new file mode 100644 index 0000000..c7b3ba0 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_summerfruit_light.vim @@ -0,0 +1,85 @@ +" Base16 Summerfruit Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Christopher Corley (http://christop.club/) + +let s:scheme_slug = substitute("summerfruit-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#FFFFFF' +let s:gui01 = '#E0E0E0' +let s:gui02 = '#D0D0D0' +let s:gui03 = '#B0B0B0' +let s:gui04 = '#000000' +let s:gui05 = '#101010' +let s:gui06 = '#151515' +let s:gui07 = '#202020' +let s:gui08 = '#FF0086' +let s:gui09 = '#FD8900' +let s:gui0A = '#ABA800' +let s:gui0B = '#00C918' +let s:gui0C = '#1FAAAA' +let s:gui0D = '#3777E6' +let s:gui0E = '#AD00A1' +let s:gui0F = '#CC6633' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_synth_midnight_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_synth_midnight_dark.vim new file mode 100644 index 0000000..5d6a269 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_synth_midnight_dark.vim @@ -0,0 +1,85 @@ +" Base16 Synth Midnight Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Michaël Ball (http://github.com/michael-ball/) + +let s:scheme_slug = substitute("synth-midnight-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#040404' +let s:gui01 = '#141414' +let s:gui02 = '#242424' +let s:gui03 = '#61507A' +let s:gui04 = '#BFBBBF' +let s:gui05 = '#DFDBDF' +let s:gui06 = '#EFEBEF' +let s:gui07 = '#FFFBFF' +let s:gui08 = '#B53B50' +let s:gui09 = '#E4600E' +let s:gui0A = '#DAE84D' +let s:gui0B = '#06EA61' +let s:gui0C = '#7CEDE9' +let s:gui0D = '#03AEFF' +let s:gui0E = '#EA5CE2' +let s:gui0F = '#9D4D0E' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_tomorrow.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_tomorrow.vim new file mode 100644 index 0000000..c35a450 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_tomorrow.vim @@ -0,0 +1,82 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Tomorrow Scheme by Chris Kempson (http://chriskempson.com) +let g:airline#themes#base16_tomorrow#palette = {} +let s:gui00 = "#1d1f21" +let s:gui01 = "#282a2e" +let s:gui02 = "#373b41" +let s:gui03 = "#969896" +let s:gui04 = "#b4b7b4" +let s:gui05 = "#c5c8c6" +let s:gui06 = "#e0e0e0" +let s:gui07 = "#ffffff" +let s:gui08 = "#cc6666" +let s:gui09 = "#de935f" +let s:gui0A = "#f0c674" +let s:gui0B = "#b5bd68" +let s:gui0C = "#8abeb7" +let s:gui0D = "#81a2be" +let s:gui0E = "#b294bb" +let s:gui0F = "#a3685a" + +let s:cterm00 = 0 +let s:cterm03 = 8 +let s:cterm05 = 7 +let s:cterm07 = 15 +let s:cterm08 = 1 +let s:cterm0A = 3 +let s:cterm0B = 2 +let s:cterm0C = 6 +let s:cterm0D = 4 +let s:cterm0E = 5 +if exists('base16colorspace') && base16colorspace == "256" + let s:cterm01 = 18 + let s:cterm02 = 19 + let s:cterm04 = 20 + let s:cterm06 = 21 + let s:cterm09 = 16 + let s:cterm0F = 17 +else + let s:cterm01 = 10 + let s:cterm02 = 11 + let s:cterm04 = 12 + let s:cterm06 = 13 + let s:cterm09 = 9 + let s:cterm0F = 14 +endif + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_tomorrow#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_tomorrow#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_tomorrow#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_tomorrow#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_tomorrow#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_tomorrow#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_tomorrow_night.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_tomorrow_night.vim new file mode 100644 index 0000000..9831db7 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_tomorrow_night.vim @@ -0,0 +1,85 @@ +" Base16 Tomorrow Night vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Chris Kempson (http://chriskempson.com) + +let s:scheme_slug = substitute("tomorrow-night", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#1d1f21' +let s:gui01 = '#282a2e' +let s:gui02 = '#373b41' +let s:gui03 = '#969896' +let s:gui04 = '#b4b7b4' +let s:gui05 = '#c5c8c6' +let s:gui06 = '#e0e0e0' +let s:gui07 = '#ffffff' +let s:gui08 = '#cc6666' +let s:gui09 = '#de935f' +let s:gui0A = '#f0c674' +let s:gui0B = '#b5bd68' +let s:gui0C = '#8abeb7' +let s:gui0D = '#81a2be' +let s:gui0E = '#b294bb' +let s:gui0F = '#a3685a' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_tomorrow_night_eighties.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_tomorrow_night_eighties.vim new file mode 100644 index 0000000..d93aaf7 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_tomorrow_night_eighties.vim @@ -0,0 +1,85 @@ +" Base16 Tomorrow Night vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Chris Kempson (http://chriskempson.com) + +let s:scheme_slug = substitute("tomorrow-night-eighties", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#2d2d2d' +let s:gui01 = '#393939' +let s:gui02 = '#515151' +let s:gui03 = '#999999' +let s:gui04 = '#b4b7b4' +let s:gui05 = '#cccccc' +let s:gui06 = '#e0e0e0' +let s:gui07 = '#ffffff' +let s:gui08 = '#f2777a' +let s:gui09 = '#f99157' +let s:gui0A = '#ffcc66' +let s:gui0B = '#99cc99' +let s:gui0C = '#66cccc' +let s:gui0D = '#6699cc' +let s:gui0E = '#cc99cc' +let s:gui0F = '#a3685a' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_tube.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_tube.vim new file mode 100644 index 0000000..44cc328 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_tube.vim @@ -0,0 +1,85 @@ +" Base16 London Tube vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Jan T. Sott + +let s:scheme_slug = substitute("tube", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#231f20' +let s:gui01 = '#1c3f95' +let s:gui02 = '#5a5758' +let s:gui03 = '#737171' +let s:gui04 = '#959ca1' +let s:gui05 = '#d9d8d8' +let s:gui06 = '#e7e7e8' +let s:gui07 = '#ffffff' +let s:gui08 = '#ee2e24' +let s:gui09 = '#f386a1' +let s:gui0A = '#ffd204' +let s:gui0B = '#00853e' +let s:gui0C = '#85cebc' +let s:gui0D = '#009ddc' +let s:gui0E = '#98005d' +let s:gui0F = '#b06110' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_twilight.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_twilight.vim new file mode 100644 index 0000000..fa82418 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_twilight.vim @@ -0,0 +1,73 @@ +" vim-airline template by chartoin (http://github.com/chartoin) +" Base 16 Twilight Scheme by David Hart (http://hart-dev.com) +let g:airline#themes#base16_twilight#palette = {} +let s:gui00 = "#1e1e1e" +let s:gui01 = "#323537" +let s:gui02 = "#464b50" +let s:gui03 = "#5f5a60" +let s:gui04 = "#838184" +let s:gui05 = "#a7a7a7" +let s:gui06 = "#c3c3c3" +let s:gui07 = "#ffffff" +let s:gui08 = "#cf6a4c" +let s:gui09 = "#cda869" +let s:gui0A = "#f9ee98" +let s:gui0B = "#8f9d6a" +let s:gui0C = "#afc4db" +let s:gui0D = "#7587a6" +let s:gui0E = "#9b859d" +let s:gui0F = "#9b703f" + +let s:cterm00 = 234 +let s:cterm01 = 59 +let s:cterm02 = 59 +let s:cterm03 = 59 +let s:cterm04 = 102 +let s:cterm05 = 248 +let s:cterm06 = 251 +let s:cterm07 = 15 +let s:cterm08 = 167 +let s:cterm09 = 179 +let s:cterm0A = 228 +let s:cterm0B = 107 +let s:cterm0C = 152 +let s:cterm0D = 103 +let s:cterm0E = 103 +let s:cterm0F = 95 + +let s:N1 = [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ] +let s:N2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_twilight#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui01, s:gui0D, s:cterm01, s:cterm0D ] +let s:I2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_twilight#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui01, s:gui08, s:cterm01, s:cterm08 ] +let s:R2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_twilight#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ] +let s:V2 = [ s:gui06, s:gui02, s:cterm06, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui01, s:cterm09, s:cterm01 ] +let g:airline#themes#base16_twilight#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA2 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let s:IA3 = [ s:gui05, s:gui01, s:cterm05, s:cterm01 ] +let g:airline#themes#base16_twilight#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#base16_twilight#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui07, s:gui02, s:cterm07, s:cterm02, '' ], + \ [ s:gui07, s:gui04, s:cterm07, s:cterm04, '' ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01, 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_unikitty_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_unikitty_dark.vim new file mode 100644 index 0000000..a0fd198 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_unikitty_dark.vim @@ -0,0 +1,85 @@ +" Base16 Unikitty Dark vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Josh W Lewis (@joshwlewis) + +let s:scheme_slug = substitute("unikitty-dark", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#2e2a31' +let s:gui01 = '#4a464d' +let s:gui02 = '#666369' +let s:gui03 = '#838085' +let s:gui04 = '#9f9da2' +let s:gui05 = '#bcbabe' +let s:gui06 = '#d8d7da' +let s:gui07 = '#f5f4f7' +let s:gui08 = '#d8137f' +let s:gui09 = '#d65407' +let s:gui0A = '#dc8a0e' +let s:gui0B = '#17ad98' +let s:gui0C = '#149bda' +let s:gui0D = '#796af5' +let s:gui0E = '#bb60ea' +let s:gui0F = '#c720ca' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_unikitty_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_unikitty_light.vim new file mode 100644 index 0000000..c65ea76 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_unikitty_light.vim @@ -0,0 +1,85 @@ +" Base16 Unikitty Light vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Josh W Lewis (@joshwlewis) + +let s:scheme_slug = substitute("unikitty-light", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#ffffff' +let s:gui01 = '#e1e1e2' +let s:gui02 = '#c4c3c5' +let s:gui03 = '#a7a5a8' +let s:gui04 = '#89878b' +let s:gui05 = '#6c696e' +let s:gui06 = '#4f4b51' +let s:gui07 = '#322d34' +let s:gui08 = '#d8137f' +let s:gui09 = '#d65407' +let s:gui0A = '#dc8a0e' +let s:gui0B = '#17ad98' +let s:gui0C = '#149bda' +let s:gui0D = '#775dff' +let s:gui0E = '#aa17e6' +let s:gui0F = '#e013d0' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_vim.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_vim.vim new file mode 100644 index 0000000..b92abcb --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_vim.vim @@ -0,0 +1,172 @@ +let g:airline#themes#base16_vim#palette = {} + +function! airline#themes#base16_vim#refresh() + let s:improved_contrast = get(g:, 'airline_base16_improved_contrast', 0) + let s:monotone = get(g:, 'airline_base16_monotone', 0) + \ || get(g:, 'airline_base16_solarized', 0) + + if exists('g:base16_gui00') + " base16-vim provides values that we can load dynamically + + " Base16 term color palette + let s:base00 = g:base16_cterm00 " black + let s:base01 = g:base16_cterm01 + let s:base02 = g:base16_cterm02 + let s:base03 = g:base16_cterm03 " brblack + let s:base04 = g:base16_cterm04 + let s:base05 = g:base16_cterm05 " white + let s:base06 = g:base16_cterm06 + let s:base07 = g:base16_cterm07 + let s:base08 = g:base16_cterm08 " red + let s:base09 = g:base16_cterm09 + let s:base0A = g:base16_cterm0A " yellow + let s:base0B = g:base16_cterm0B " green + let s:base0C = g:base16_cterm0C " cyan + let s:base0D = g:base16_cterm0D " blue + let s:base0E = g:base16_cterm0E " magenta + let s:base0F = g:base16_cterm0F + + " Gui color palette + let s:gui00 = "#" . g:base16_gui00 + let s:gui01 = "#" . g:base16_gui01 + let s:gui02 = "#" . g:base16_gui02 + let s:gui03 = "#" . g:base16_gui03 + let s:gui04 = "#" . g:base16_gui04 + let s:gui05 = "#" . g:base16_gui05 + let s:gui06 = "#" . g:base16_gui06 + let s:gui07 = "#" . g:base16_gui07 + let s:gui08 = "#" . g:base16_gui08 + let s:gui09 = "#" . g:base16_gui09 + let s:gui0A = "#" . g:base16_gui0A + let s:gui0B = "#" . g:base16_gui0B + let s:gui0C = "#" . g:base16_gui0C + let s:gui0D = "#" . g:base16_gui0D + let s:gui0E = "#" . g:base16_gui0E + let s:gui0F = "#" . g:base16_gui0F + else + " Fallback: term colors should still be correct, but gui colors must be + " hardcoded to a particular scheme. + + " Base16 term color palette + let s:base00 = "00" " black + let s:base03 = "08" " brblack + let s:base05 = "07" " white + let s:base07 = "15" + let s:base08 = "01" " red + let s:base0A = "03" " yellow + let s:base0B = "02" " green + let s:base0C = "06" " cyan + let s:base0D = "04" " blue + let s:base0E = "05" " magenta + if exists('g:base16colorspace') && g:base16colorspace == "256" + let s:base01 = "18" + let s:base02 = "19" + let s:base04 = "20" + let s:base06 = "21" + let s:base09 = "16" + let s:base0F = "17" + else + let s:base01 = "10" + let s:base02 = "11" + let s:base04 = "12" + let s:base06 = "13" + let s:base09 = "09" + let s:base0F = "14" + endif + + " Gui color palette (base16-default-dark) + let s:gui00 = "#181818" + let s:gui01 = "#282828" + let s:gui02 = "#383838" + let s:gui03 = "#585858" + let s:gui04 = "#b8b8b8" + let s:gui05 = "#d8d8d8" + let s:gui06 = "#e8e8e8" + let s:gui07 = "#f8f8f8" + let s:gui08 = "#ab4642" + let s:gui09 = "#dc9656" + let s:gui0A = "#f7ca88" + let s:gui0B = "#a1b56c" + let s:gui0C = "#86c1b9" + let s:gui0D = "#7cafc2" + let s:gui0E = "#ba8baf" + let s:gui0F = "#a16946" + endif + + " Normal mode + let s:N1 = [s:gui00, s:gui0B, s:base00, s:base0B] + let s:N2 = [s:gui04, s:gui02, s:base04, s:base02] + let s:N3 = [s:gui0B, s:gui01, s:base0B, s:base01] + + if s:improved_contrast + let s:N2 = [s:gui05, s:gui02, s:base05, s:base02] + endif + + if s:monotone + let s:N1 = [s:gui01, s:gui04, s:base01, s:base04] + let s:N2 = [s:gui00, s:gui02, s:base00, s:base02] + let s:N3 = [s:gui04, s:gui01, s:base04, s:base01] + endif + + let g:airline#themes#base16_vim#palette.normal + \ = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + let g:airline#themes#base16_vim#palette.normal_modified = { + \ 'airline_c': [s:gui09, s:gui01, s:base09, s:base01, ''], + \ } + + " Insert mode + let s:I1 = [s:gui01, s:gui0D, s:base01, s:base0D] + let s:I3 = [s:gui0D, s:gui01, s:base0D, s:base01] + let g:airline#themes#base16_vim#palette.insert + \ = airline#themes#generate_color_map(s:I1, s:N2, s:I3) + + if s:monotone + let s:I1 = [s:gui01, s:gui0A, s:base01, s:base0A] + let g:airline#themes#base16_vim#palette.insert + \ = airline#themes#generate_color_map(s:I1, s:N2, s:N3) + endif + + let g:airline#themes#base16_vim#palette.insert_modified + \ = copy(g:airline#themes#base16_vim#palette.normal_modified) + + " Replace mode + let s:R1 = [s:gui01, s:gui08, s:base01, s:base08] + let s:R3 = [s:gui08, s:gui01, s:base08, s:base01] + let g:airline#themes#base16_vim#palette.replace + \ = airline#themes#generate_color_map(s:R1, s:N2, s:R3) + + if s:monotone + let s:R1 = [s:gui01, s:gui09, s:base01, s:base09] + let g:airline#themes#base16_vim#palette.replace + \ = airline#themes#generate_color_map(s:R1, s:N2, s:N3) + endif + + let g:airline#themes#base16_vim#palette.replace_modified + \ = copy(g:airline#themes#base16_vim#palette.normal_modified) + + " Visual mode + let s:V1 = [s:gui01, s:gui0E, s:base01, s:base0E] + let s:V3 = [s:gui0E, s:gui01, s:base0E, s:base01] + let g:airline#themes#base16_vim#palette.visual + \ = airline#themes#generate_color_map(s:V1, s:N2, s:V3) + + if s:monotone + let s:V1 = [s:gui01, s:gui0F, s:base01, s:base0F] + let g:airline#themes#base16_vim#palette.visual + \ = airline#themes#generate_color_map(s:V1, s:N2, s:N3) + endif + + " Inactive window + if s:improved_contrast + let s:IA = [s:gui04, s:gui01, s:base04, s:base01, ''] + else + let s:IA = [s:gui03, s:gui01, s:base03, s:base01, ''] + endif + let g:airline#themes#base16_vim#palette.inactive + \ = airline#themes#generate_color_map(s:IA, s:IA, s:IA) + let g:airline#themes#base16_vim#palette.inactive_modified = { + \ 'airline_c': [s:gui09, '', s:base09, '', ''], + \ } +endfunction + +call airline#themes#base16_vim#refresh() diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_woodland.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_woodland.vim new file mode 100644 index 0000000..e493f78 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_woodland.vim @@ -0,0 +1,85 @@ +" Base16 Woodland vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Jay Cornwall (https://jcornwall.com) + +let s:scheme_slug = substitute("woodland", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#231e18' +let s:gui01 = '#302b25' +let s:gui02 = '#48413a' +let s:gui03 = '#9d8b70' +let s:gui04 = '#b4a490' +let s:gui05 = '#cabcb1' +let s:gui06 = '#d7c8bc' +let s:gui07 = '#e4d4c8' +let s:gui08 = '#d35c5c' +let s:gui09 = '#ca7f32' +let s:gui0A = '#e0ac16' +let s:gui0B = '#b7ba53' +let s:gui0C = '#6eb958' +let s:gui0D = '#88a4d3' +let s:gui0E = '#bb90e2' +let s:gui0F = '#b49368' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_xcode_dusk.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_xcode_dusk.vim new file mode 100644 index 0000000..666f25a --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_xcode_dusk.vim @@ -0,0 +1,85 @@ +" Base16 XCode Dusk vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By Elsa Gonsiorowski (https://github.com/gonsie) + +let s:scheme_slug = substitute("xcode-dusk", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#282B35' +let s:gui01 = '#3D4048' +let s:gui02 = '#53555D' +let s:gui03 = '#686A71' +let s:gui04 = '#7E8086' +let s:gui05 = '#939599' +let s:gui06 = '#A9AAAE' +let s:gui07 = '#BEBFC2' +let s:gui08 = '#B21889' +let s:gui09 = '#786DC5' +let s:gui0A = '#438288' +let s:gui0B = '#DF0002' +let s:gui0C = '#00A0BE' +let s:gui0D = '#790EAD' +let s:gui0E = '#B21889' +let s:gui0F = '#C77C48' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_zenburn.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_zenburn.vim new file mode 100644 index 0000000..2e716d8 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16_zenburn.vim @@ -0,0 +1,85 @@ +" Base16 Zenburn vim-airline-theme (https://github.com/dawikur/base16-vim-airline-themes) +" For vim-airline (https://github.com/vim-airline/vim-airline) +" By elnawe + +let s:scheme_slug = substitute("zenburn", "-", "_", "g") + +let g:airline#themes#base16_{s:scheme_slug}#palette = {} + +" GUI color definitions +let s:gui00 = '#383838' +let s:gui01 = '#404040' +let s:gui02 = '#606060' +let s:gui03 = '#6f6f6f' +let s:gui04 = '#808080' +let s:gui05 = '#dcdccc' +let s:gui06 = '#c0c0c0' +let s:gui07 = '#ffffff' +let s:gui08 = '#dca3a3' +let s:gui09 = '#dfaf8f' +let s:gui0A = '#e0cf9f' +let s:gui0B = '#5f7f5f' +let s:gui0C = '#93e0e3' +let s:gui0D = '#7cb8bb' +let s:gui0E = '#dc8cc3' +let s:gui0F = '#000000' + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +let g:airline#themes#base16_{s:scheme_slug}#palette.normal = airline#themes#generate_color_map( + \ [ s:gui01, s:gui04, s:cterm01, s:cterm04 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.normal_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.insert = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0B, s:cterm01, s:cterm0B ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.insert_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.replace = airline#themes#generate_color_map( + \ [ s:gui01, s:gui0E, s:cterm01, s:cterm0E ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.replace_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.visual = airline#themes#generate_color_map( + \ [ s:gui01, s:gui09, s:cterm01, s:cterm09 ], + \ [ s:gui04, s:gui02, s:cterm04, s:cterm02 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ]) +let g:airline#themes#base16_{s:scheme_slug}#palette.visual_modified = { + \ 'airline_c' : [ s:gui07, s:gui01, s:cterm07, s:cterm01 ]} + +let g:airline#themes#base16_{s:scheme_slug}#palette.inactive = airline#themes#generate_color_map( + \ [ s:gui01, s:gui01, s:cterm01, s:cterm01 ], + \ [ s:gui04, s:gui01, s:cterm04, s:cterm01 ], + \ [ s:gui05, s:gui01, s:cterm05, s:cterm01 ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16color.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16color.vim new file mode 100644 index 0000000..6c0a1d7 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/base16color.vim @@ -0,0 +1,77 @@ +" Normal mode +" [ guifg, guibg, ctermfg, ctermbg, opts ] +let s:N1 = [ '#141413' , '#CAE682' , 232 , 'green' ] " mode +let s:N2 = [ '#CAE682' , '#32322F' , 'green' , 235 ] " info +let s:N3 = [ '#CAE682' , '#242424' , 'green' , 234 ] " statusline +let s:N4 = [ '#86CD74' , 'DarkGreen' ] " mode modified + +" Insert mode +let s:I1 = [ '#141413' , '#FDE76E' , 232 , 'yellow' ] +let s:I2 = [ '#FDE76E' , '#32322F' , 'yellow' , 235 ] +let s:I3 = [ '#FDE76E' , '#242424' , 'yellow' , 234 ] +let s:I4 = [ '#FADE3E' , 'yellow' ] + +" Visual mode +let s:V1 = [ '#141413' , '#B5D3F3' , 232 , 'blue' ] +let s:V2 = [ '#B5D3F3' , '#32322F' , 'blue' , 235 ] +let s:V3 = [ '#B5D3F3' , '#242424' , 'blue' , 234 ] +let s:V4 = [ '#7CB0E6' , 'blue' ] + +" Replace mode +let s:R1 = [ '#141413' , '#E5786D' , 232 , 'red' ] +let s:R2 = [ '#E5786D' , '#32322F' , 'red' , 235 ] +let s:R3 = [ '#E5786D' , '#242424' , 'red' , 234 ] +let s:R4 = [ '#E55345' , 'red' ] + +" Paste mode +let s:PA = [ '#94E42C' , 005 ] + +" Info modified +let s:IM = [ '#40403C' , 236 ] + +" Inactive mode +let s:IA = [ '#767676' , s:N3[1] , 243 , s:N3[3] , '' ] + +let g:airline#themes#base16color#palette = {} + +let g:airline#themes#base16color#palette.accents = { + \ 'red': [ '#E5786D' , '' , 203 , '' , '' ], + \ } + +let g:airline#themes#base16color#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#base16color#palette.normal_modified = { + \ 'airline_a': [ s:N1[0] , s:N4[0] , s:N1[2] , s:N4[1] , '' ] , + \ 'airline_b': [ s:N4[0] , s:IM[0] , s:N4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:N4[0] , s:N3[1] , s:N4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#base16color#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#base16color#palette.insert_modified = { + \ 'airline_a': [ s:I1[0] , s:I4[0] , s:I1[2] , s:I4[1] , '' ] , + \ 'airline_b': [ s:I4[0] , s:IM[0] , s:I4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:I4[0] , s:N3[1] , s:I4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#base16color#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#base16color#palette.visual_modified = { + \ 'airline_a': [ s:V1[0] , s:V4[0] , s:V1[2] , s:V4[1] , '' ] , + \ 'airline_b': [ s:V4[0] , s:IM[0] , s:V4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:V4[0] , s:N3[1] , s:V4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#base16color#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#base16color#palette.replace_modified = { + \ 'airline_a': [ s:R1[0] , s:R4[0] , s:R1[2] , s:R4[1] , '' ] , + \ 'airline_b': [ s:R4[0] , s:IM[0] , s:R4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:R4[0] , s:N3[1] , s:R4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#base16color#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] , + \ 'airline_b': [ s:PA[0] , s:IM[0] , s:PA[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:PA[0] , s:N3[1] , s:PA[1] , s:N3[3] , '' ] } + + +let g:airline#themes#base16color#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#base16color#palette.inactive_modified = { + \ 'airline_c': [ s:N4[0] , '' , s:N4[1] , '' , '' ] } diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/behelit.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/behelit.vim new file mode 100644 index 0000000..77f551c --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/behelit.vim @@ -0,0 +1,58 @@ +let g:airline#themes#behelit#palette = {} + +" Normal mode +let s:N1 = [ '#121212', '#5f87ff', 233, 69 ] +let s:N2 = [ '#5f87ff', '#262626', 69 , 235 ] +let s:N3 = [ '#5f87ff', '#1c1c1c', 69 , 234, 'bold' ] +let g:airline#themes#behelit#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#behelit#palette.normal_modified = { + \ 'airline_c': [ '#d7005f', '#1c1c1c', 161, 234, 'bold' ], + \ } + +" Insert mode +let s:I1 = [ '#121212', '#00ff87', 233, 48 ] +let s:I2 = s:N2 +let s:I3 = s:N3 +let g:airline#themes#behelit#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#behelit#palette.insert_modified = g:airline#themes#behelit#palette.normal_modified +let g:airline#themes#behelit#palette.insert_paste = { + \ 'airline_a': [ "#121212", "#5f5faf", 233, 61, '' ], + \ } + +" Replace mode +let g:airline#themes#behelit#palette.replace = copy(g:airline#themes#behelit#palette.insert) +let g:airline#themes#behelit#palette.replace.airline_a = [ s:I1[0], '#d70057', s:I1[2], 161, '' ] +let g:airline#themes#behelit#palette.replace_modified = g:airline#themes#behelit#palette.insert_modified + +" Visual mode +let s:V1 = [ '#121212', '#5fff5f', 233, 83 ] +let s:V2 = s:N2 +let s:V3 = s:N3 +let g:airline#themes#behelit#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#behelit#palette.visual_modified = g:airline#themes#behelit#palette.normal_modified + +" Inactive window +let s:IA1 = [ '#4e4e4e', '#1c1c1c', 239, 234, '' ] +let s:IA2 = [ '#4e4e4e', '#262626', 239, 235, '' ] +let s:IA3 = [ '#4e4e4e', '#1c1c1c', 239, 234, 'bold' ] +let g:airline#themes#behelit#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) +let g:airline#themes#behelit#palette.inactive_modified = { + \ 'airline_c': [ '#5f5f87', '#1c1c1c', 60, 234, 'bold' ], + \ } + +" Accents +let g:airline#themes#behelit#palette.accents = { + \ 'red': [ '#d7005f', '', 161, '' ] + \ } + +" Warnings +let s:WI = [ '#121212', '#d7005f', 233, 161 ] +let g:airline#themes#behelit#palette.normal.airline_warning = s:WI +let g:airline#themes#behelit#palette.normal_modified.airline_warning = s:WI +let g:airline#themes#behelit#palette.insert.airline_warning = s:WI +let g:airline#themes#behelit#palette.insert_modified.airline_warning = s:WI +let g:airline#themes#behelit#palette.insert_paste.airline_warning = s:WI +let g:airline#themes#behelit#palette.visual.airline_warning = s:WI +let g:airline#themes#behelit#palette.visual_modified.airline_warning = s:WI +let g:airline#themes#behelit#palette.replace.airline_warning = s:WI +let g:airline#themes#behelit#palette.replace_modified.airline_warning = s:WI diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/biogoo.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/biogoo.vim new file mode 100644 index 0000000..6a310c9 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/biogoo.vim @@ -0,0 +1,58 @@ +" Name: biogoo (vim-airline version) +" Author: Benjamin Esham (https://esham.io) +" Last Change: 2017-10-20 +" +" You can find more information on the Biogoo theme at . + +let g:airline#themes#biogoo#palette = {} + +function! airline#themes#biogoo#refresh() + let g:airline#themes#biogoo#palette.accents = { + \ 'red': airline#themes#get_highlight('String'), + \ } + + let s:N1 = airline#themes#get_highlight2(['VertSplit', 'bg'], ['Include', 'fg'], 'bold') + let s:N2 = airline#themes#get_highlight2(['Include', 'fg'], ['Folded', 'bg'], 'bold') + let s:N3 = airline#themes#get_highlight2(['Include', 'fg'], ['VertSplit', 'bg'], 'bold') + let g:airline#themes#biogoo#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + let s:Term = airline#themes#get_highlight2(['StatusLineTerm', 'fg'], ['StatusLineTerm', 'bg'], 'NONE') + let g:airline#themes#biogoo#palette.normal.airline_term = s:Term + + let s:Nmod = airline#themes#get_highlight2(['MatchParen', 'bg'], ['VertSplit', 'bg']) + let g:airline#themes#biogoo#palette.normal_modified = {'airline_c': s:Nmod} + let g:airline#themes#biogoo#palette.normal_modified.airline_term = s:Term + + let s:I1 = airline#themes#get_highlight2(['VertSplit', 'bg'], ['MatchParen', 'bg'], 'bold') + let s:I2 = s:N2 + let s:I3 = s:N3 + let g:airline#themes#biogoo#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + let g:airline#themes#biogoo#palette.insert.airline_term = s:Term + let g:airline#themes#biogoo#palette.insert_modified = g:airline#themes#biogoo#palette.normal_modified + let g:airline#themes#biogoo#palette.insert_modified.airline_term = s:Term + + let s:R1 = airline#themes#get_highlight2(['VertSplit', 'bg'], ['String', 'fg'], 'bold') + let s:R2 = s:N2 + let s:R3 = s:N3 + let g:airline#themes#biogoo#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + let g:airline#themes#biogoo#palette.replace.airline_term = s:Term + let g:airline#themes#biogoo#palette.replace_modified = g:airline#themes#biogoo#palette.normal_modified + let g:airline#themes#biogoo#palette.replace_modified.airline_term = s:Term + + let s:V1 = airline#themes#get_highlight2(['VertSplit', 'bg'], ['Number', 'fg'], 'bold') + let s:V2 = s:N2 + let s:V3 = s:N3 + let g:airline#themes#biogoo#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + let g:airline#themes#biogoo#palette.visual.airline_term = s:Term + let g:airline#themes#biogoo#palette.visual_modified = g:airline#themes#biogoo#palette.normal_modified + let g:airline#themes#biogoo#palette.visual_modified.airline_term = s:Term + + let s:IA1 = airline#themes#get_highlight2(['VertSplit', 'fg'], ['VertSplit', 'bg']) + let s:IA2 = s:IA1 + let s:IA3 = airline#themes#get_highlight2(['VertSplit', 'fg'], ['VertSplit', 'bg'], 'NONE') + let g:airline#themes#biogoo#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + let g:airline#themes#biogoo#palette.inactive.airline_term = s:Term + let g:airline#themes#biogoo#palette.inactive_modified = g:airline#themes#biogoo#palette.normal_modified + let g:airline#themes#biogoo#palette.inactive_modified.airline_term = s:Term +endfunction + +call airline#themes#biogoo#refresh() diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/bubblegum.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/bubblegum.vim new file mode 100644 index 0000000..f2378ce --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/bubblegum.vim @@ -0,0 +1,70 @@ +" Color palette +let s:gui_dark_gray = '#303030' +let s:cterm_dark_gray = 236 +let s:gui_med_gray_hi = '#444444' +let s:cterm_med_gray_hi = 238 +let s:gui_med_gray_lo = '#3a3a3a' +let s:cterm_med_gray_lo = 237 +let s:gui_light_gray = '#b2b2b2' +let s:cterm_light_gray = 249 +let s:gui_green = '#afd787' +let s:cterm_green = 150 +let s:gui_blue = '#87afd7' +let s:cterm_blue = 110 +let s:gui_purple = '#afafd7' +let s:cterm_purple = 146 +let s:gui_orange = '#d7af5f' +let s:cterm_orange = 179 +let s:gui_red = '#d78787' +let s:cterm_red = 174 +let s:gui_pink = '#d7afd7' +let s:cterm_pink = 182 + +let g:airline#themes#bubblegum#palette = {} + +" Normal mode +let s:N1 = [s:gui_dark_gray, s:gui_green, s:cterm_dark_gray, s:cterm_green] +let s:N2 = [s:gui_light_gray, s:gui_med_gray_lo, s:cterm_light_gray, s:cterm_med_gray_lo] +let s:N3 = [s:gui_green, s:gui_med_gray_hi, s:cterm_green, s:cterm_med_gray_hi] +let g:airline#themes#bubblegum#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#bubblegum#palette.normal_modified = { + \ 'airline_c': [s:gui_orange, s:gui_med_gray_hi, s:cterm_orange, s:cterm_med_gray_hi, ''], + \ } + +" Insert mode +let s:I1 = [s:gui_med_gray_hi, s:gui_blue, s:cterm_med_gray_hi, s:cterm_blue] +let s:I3 = [s:gui_blue, s:gui_med_gray_hi, s:cterm_blue, s:cterm_med_gray_hi] +let g:airline#themes#bubblegum#palette.insert = airline#themes#generate_color_map(s:I1, s:N2, s:I3) +let g:airline#themes#bubblegum#palette.insert_modified = copy(g:airline#themes#bubblegum#palette.normal_modified) +let g:airline#themes#bubblegum#palette.insert_paste = { + \ 'airline_a': [s:gui_dark_gray, s:gui_orange, s:cterm_dark_gray, s:cterm_orange, ''], + \ } + +" Replace mode +let g:airline#themes#bubblegum#palette.replace = { + \ 'airline_a': [s:gui_dark_gray, s:gui_red, s:cterm_dark_gray, s:cterm_red, ''], + \ 'airline_c': [s:gui_red, s:gui_med_gray_hi, s:cterm_red, s:cterm_med_gray_hi, ''], + \ } +let g:airline#themes#bubblegum#palette.replace_modified = copy(g:airline#themes#bubblegum#palette.insert_modified) + +" Visual mode +let s:V1 = [s:gui_dark_gray, s:gui_pink, s:cterm_dark_gray, s:cterm_pink] +let s:V3 = [s:gui_pink, s:gui_med_gray_hi, s:cterm_pink, s:cterm_med_gray_hi] +let g:airline#themes#bubblegum#palette.visual = airline#themes#generate_color_map(s:V1, s:N2, s:V3) +let g:airline#themes#bubblegum#palette.visual_modified = copy(g:airline#themes#bubblegum#palette.insert_modified) + +" Inactive window +let s:IA = [s:gui_light_gray, s:gui_med_gray_hi, s:cterm_light_gray, s:cterm_med_gray_hi, ''] +let g:airline#themes#bubblegum#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#bubblegum#palette.inactive_modified = { + \ 'airline_c': [s:gui_orange, '', s:cterm_orange, '', ''], + \ } + +" CtrlP +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#bubblegum#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui_orange, s:gui_med_gray_hi, s:cterm_orange, s:cterm_med_gray_hi, '' ] , + \ [ s:gui_orange, s:gui_med_gray_lo, s:cterm_orange, s:cterm_med_gray_lo, '' ] , + \ [ s:gui_dark_gray, s:gui_green, s:cterm_dark_gray, s:cterm_green, 'bold' ] ) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/cobalt2.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/cobalt2.vim new file mode 100644 index 0000000..b156924 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/cobalt2.vim @@ -0,0 +1,100 @@ + + +" vim-airline cobalt2 replication +" (https://github.com/g-kanoufi/vim-airline-cobalt2) + +let g:airline#themes#cobalt2#palette = {} + +let g:airline#themes#cobalt2#palette.accents = { + \ 'red': [ '#b42839' , '' , 231 , '' , '' ], + \ } + + +let s:N1 = [ '#ffffff' , '#1f7ad8' , 231 , 36 ] +let s:N2 = [ '#ffffff' , '#8cc2fd' , 231 , 29 ] +let s:N3 = [ '#ffffff' , '#204458' , 231 , 23 ] +let g:airline#themes#cobalt2#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#cobalt2#palette.normal_modified = { + \ 'airline_c': [ '#ffffff' , '#1f7ad8' , 231 , 52 , '' ] , + \ } + + +let s:I1 = [ '#666d51' , '#fee533' , 231 , 106 ] +let s:I2 = [ '#ffffff' , '#8cc2fd' , 231 , 29 ] +let s:I3 = [ '#ffffff' , '#204458' , 231 , 23 ] +let g:airline#themes#cobalt2#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#cobalt2#palette.insert_modified = { + \ 'airline_c': [ '#666d51' , '#fee533' , 255 , 52 , '' ] , + \ } +let g:airline#themes#cobalt2#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , '#fee533' , s:I1[2] , 106 , '' ] , + \ } + + +let s:R1 = [ '#ffffff' , '#ea9299' , 231 , 106 ] +let s:R2 = [ '#ffffff' , '#8cc2fd' , 88 , 29 ] +let s:R3 = [ '#ffffff' , '#204458' , 231 , 23 ] +let g:airline#themes#cobalt2#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#cobalt2#palette.replace_modified = { + \ 'airline_c': [ '#ffffff' , '#ea9299' , 231 , 52 , '' ] , + \ } + +let s:V1 = [ '#ffff9a' , '#ff9d00' , 222 , 208 ] +let s:V2 = [ '#ffffff' , '#8cc2fd' , 231 , 29 ] +let s:V3 = [ '#ffffff' , '#204458' , 231 , 23 ] +let g:airline#themes#cobalt2#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#cobalt2#palette.visual_modified = { + \ 'airline_c': [ '#ffff9a' , '#ff9d00' , 231 , 52 , '' ] , + \ } + +let s:IA = [ '#4e4e4e' , '#204458' , 59 , 23 , '' ] +let g:airline#themes#cobalt2#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#cobalt2#palette.inactive_modified = { + \ 'airline_c': [ '#b42839' , '' , 166 , '' , '' ] , + \ } + +let g:airline#themes#cobalt2#palette.tabline = { + \ 'airline_tab': ['#1780e9', '#1a3548', 231, 29, ''], + \ 'airline_tabsel': ['#ffffff', '#46dd3c', 231, 36, ''], + \ 'airline_tabtype': ['#ffffff', '#1f7ad8', 231, 36, ''], + \ 'airline_tabfill': ['#ffffff', '#204458', 231, 23, ''], + \ 'airline_tabmod': ['#666d51', '#fee533', 231, 88, ''], + \ } + +let s:WI = [ '#204458', '#ffffff', 231, 88 ] +let g:airline#themes#cobalt2#palette.normal.airline_warning = [ + \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] + \ ] + +let g:airline#themes#cobalt2#palette.normal_modified.airline_warning = + \ g:airline#themes#cobalt2#palette.normal.airline_warning + +let g:airline#themes#cobalt2#palette.insert.airline_warning = + \ g:airline#themes#cobalt2#palette.normal.airline_warning + +let g:airline#themes#cobalt2#palette.insert_modified.airline_warning = + \ g:airline#themes#cobalt2#palette.normal.airline_warning + +let g:airline#themes#cobalt2#palette.visual.airline_warning = + \ g:airline#themes#cobalt2#palette.normal.airline_warning + +let g:airline#themes#cobalt2#palette.visual_modified.airline_warning = + \ g:airline#themes#cobalt2#palette.normal.airline_warning + +let g:airline#themes#cobalt2#palette.replace.airline_warning = + \ g:airline#themes#cobalt2#palette.normal.airline_warning + +let g:airline#themes#cobalt2#palette.replace_modified.airline_warning = + \ g:airline#themes#cobalt2#palette.normal.airline_warning + + +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#cobalt2#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#ffffff' , '#204458' , 231 , 23 , '' ] , + \ [ '#ffffff' , '#1f7ad8' , 231 , 36 , '' ] , + \ [ '#666d51' , '#fee533' , 231 , 95 , '' ] ) + + + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/cool.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/cool.vim new file mode 100644 index 0000000..148122b --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/cool.vim @@ -0,0 +1,70 @@ +let g:airline#themes#cool#palette = {} + +" NORMAL +let s:N1 = [ '#585858' , '#E4E4E4' , 59 , 188 ] +let s:N2 = [ '#E4E4E4' , '#0087AF' , 188 , 31 ] +let s:N3 = [ '#EEEEEE' , '#005F87' , 231 , 24] +let g:airline#themes#cool#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +"let g:airline#themes#cool#palette.normal_modified = { + "\ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] , + "\ } + +" INSERT +let s:I1 = [ '#585858' , '#E4E4E4' , 59 , 188 ] +let s:I2 = [ '#E4E4E4' , '#47AF00' , 188 , 70 ] +let s:I3 = [ '#EEEEEE' , '#2E8700' , 231 , 28 ] +let g:airline#themes#cool#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +"let g:airline#themes#cool#palette.insert_modified = { + "\ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] , + "\ } +"let g:airline#themes#cool#palette.insert_paste = { + "\ 'airline_a': [ s:I1[0] , '#d78700' , s:I1[2] , 172 , '' ] , + "\ } + +" REPLACE +let s:R1 = [ '#585858' , '#E4E4E4' , 59 , 188 ] +let s:R2 = [ '#E4E4E4' , '#AF5F00' , 188 , 130 ] +let s:R3 = [ '#EEEEEE' , '#875300' , 231 , 94 ] +let g:airline#themes#cool#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +"let g:airline#themes#cool#palette.replace.airline_a = [ s:I2[0] , '#af0000' , s:I2[2] , 124 , '' ] +"let g:airline#themes#cool#palette.replace_modified = g:airline#themes#cool#palette.insert_modified + +" VISUAL +let s:V1 = [ '#585858' , '#E4E4E4' , 59 , 188 ] +let s:V2 = [ '#E4E4E4' , '#AF2800' , 188 , 124 ] +let s:V3 = [ '#EEEEEE' , '#872800' , 231 , 88 ] +let g:airline#themes#cool#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +"let g:airline#themes#cool#palette.visual_modified = { + "\ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] , + "\ } + +" INACTIVE +let s:IA1 = [ '#585858' , '#E4E4E4' , 59 , 188 , '' ] +let s:IA2 = [ '#E4E4E4' , '#466D79' , 188 , 60 , '' ] +let s:IA3 = [ '#EEEEEE' , '#324E59' , 231 , 59 , '' ] +let g:airline#themes#cool#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) +"let g:airline#themes#cool#palette.inactive_modified = { + "\ 'airline_c': [ '#875faf' , '' , 97 , '' , '' ] , + "\ } + +" TERMINAL +let g:airline#themes#cool#palette.terminal = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#cool#palette.normal.airline_term = s:N3 +let g:airline#themes#cool#palette.terminal.airline_term = s:I3 +let g:airline#themes#cool#palette.visual.airline_term = s:V3 + +let g:airline#themes#cool#palette.accents = { + \ 'red': [ '#ff0000' , '' , 196 , '' ] + \ } + +" CTRLP +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#cool#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#E4E4E4' , '#00AFA2' , 188 , 37 , '' ], + \ [ '#EEEEEE' , '#008787' , 231 , 30 , '' ], + \ [ '#585858' , '#E4E4E4' , 59 , 188 , '' ]) + + + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/dark_minimal.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/dark_minimal.vim new file mode 100644 index 0000000..6c08628 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/dark_minimal.vim @@ -0,0 +1,63 @@ +scriptencoding utf-8 + +" This is a copy of the dark.vim theme, however it does not change colors in +" the different modes, so should bring some performance improvements because +" airline does not have to redefine highlighting groups after they have been +" setup once. + +" Each theme is contained in its own file and declares variables scoped to the +" file. These variables represent the possible "modes" that airline can +" detect. The mode is the return value of mode(), which gets converted to a +" readable string. The following is a list currently supported modes: normal, +" insert, replace, visual, and inactive. +" +" Each mode can also have overrides. These are small changes to the mode that +" don't require a completely different look. "modified" and "paste" are two +" such supported overrides. These are simply suffixed to the major mode, +" separated by an underscore. For example, "normal_modified" would be normal +" mode where the current buffer is modified. +" +" The theming algorithm is a 2-pass system where the mode will draw over all +" parts of the statusline, and then the override is applied after. This means +" it is possible to specify a subset of the theme in overrides, as it will +" simply overwrite the previous colors. If you want simultaneous overrides, +" then they will need to change different parts of the statusline so they do +" not conflict with each other. +" +" First, let's define an empty dictionary and assign it to the "palette" +" variable. The # is a separator that maps with the directory structure. If +" you get this wrong, Vim will complain loudly. +let g:airline#themes#dark_minimal#palette = {} + +" First let's define some arrays. The s: is just a VimL thing for scoping the +" variables to the current script. Without this, these variables would be +" declared globally. Now let's declare some colors for normal mode and add it +" to the dictionary. The array is in the format: +" [ guifg, guibg, ctermfg, ctermbg, opts ]. See "help attr-list" for valid +" values for the "opt" value. +let s:N1 = [ '#00005f' , '#dfff00' , 17 , 190 ] +let s:N2 = [ '#ffffff' , '#444444' , 255 , 238 ] +let s:N3 = [ '#9cffd3' , '#202020' , 85 , 234 ] +let g:airline#themes#dark_minimal#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +" Accents are used to give parts within a section a slightly different look or +" color. Here we are defining a "red" accent, which is used by the 'readonly' +" part by default. Only the foreground colors are specified, so the background +" colors are automatically extracted from the underlying section colors. What +" this means is that regardless of which section the part is defined in, it +" will be red instead of the section's foreground color. You can also have +" multiple parts with accents within a section. +let g:airline#themes#dark_minimal#palette.accents = { + \ 'red': [ '#ff0000' , '' , 160 , '' ] + \ } + +let pal = g:airline#themes#dark_minimal#palette +for item in ['insert', 'replace', 'visual', 'inactive', 'ctrlp'] + " why doesn't this work? + " get E713: cannot use empty key for dictionary + "let pal.{item} = pal.normal + exe "let pal.".item." = pal.normal" + for suffix in ['_modified', '_paste'] + exe "let pal.".item.suffix. " = pal.normal" + endfor +endfor diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/desertink.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/desertink.vim new file mode 100644 index 0000000..951cf3d --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/desertink.vim @@ -0,0 +1,68 @@ +" Based on powerlinish +" +" Theme to mimic the default colorscheme of powerline +" Not 100% the same so it's powerline... ish. +" +" Differences from default powerline: +" * Paste indicator isn't colored different +" * Far right hand section matches the color of the mode indicator +" +" Differences from other airline themes: +" * No color differences when you're in a modified buffer +" * Visual mode only changes the mode section. Otherwise +" it appears the same as normal mode + +" Normal mode +let s:N1 = [ '#005f00' , '#afd700' , 22 , 148, '' ] +let s:N2 = [ '#bbbbbb' , '#444444' , 250 , 238, '' ] +let s:N3 = [ '#ffffff' , '#303030' , 231 , 235, 'bold' ] + +" Insert mode +let s:I1 = [ '#ffffff' , '#004866' , 231 , 24 ] +let s:I2 = [ '#99DDFF' , '#0087af' , 74 , 31 ] +let s:I3 = [ '#B2E5FF' , '#005f87' , 117 , 24 ] + +" Visual mode +let s:V1 = [ '#080808' , '#ffaf00' , 232 , 214 ] + +" Replace mode +let s:RE = [ '#ffffff' , '#d74444' , 231 , 9 ] + +" Inactive mode +let s:IA1 = [ '#777777' , '#4a4a4a' , 240 , 237 , '' ] +let s:IA2 = [ '#777777' , '#3a3a3a' , 242 , 236 , '' ] +let s:IA3 = [ '#999999' , s:N3[1] , 244 , s:N3[3] , '' ] + +" Tabline +let s:TN = s:N2 " normal buffers +let s:TM = [ '#870000', '#ff8700', 88, 208, 'bold' ] " modified buffers +let s:TMU = [ '#ff8700', '#870000', 208, 88, 'bold' ] " modified unselected buffers +let s:TH = [ s:N1[1], s:N1[0], s:N1[3], s:N1[2] ] " hidden buffers + +let g:airline#themes#desertink#palette = {} + +let g:airline#themes#desertink#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#desertink#palette.normal_modified = { + \ 'airline_a': s:TM, + \ 'airline_z': s:TM } + +let g:airline#themes#desertink#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:N3) +let g:airline#themes#desertink#palette.insert_replace = { + \ 'airline_a': [ s:RE[0] , s:I1[1] , s:RE[1] , s:I1[3] , '' ], + \ 'airline_z': [ s:RE[0] , s:I1[1] , s:RE[1] , s:I1[3] , '' ] } + +let g:airline#themes#desertink#palette.visual = { + \ 'airline_a': [ s:V1[0] , s:V1[1] , s:V1[2] , s:V1[3] , '' ], + \ 'airline_z': [ s:V1[0] , s:V1[1] , s:V1[2] , s:V1[3] , '' ] } + +let g:airline#themes#desertink#palette.replace = copy(airline#themes#desertink#palette.normal) +let g:airline#themes#desertink#palette.replace.airline_a = [ s:RE[0] , s:RE[1] , s:RE[2] , s:RE[3] , '' ] +let g:airline#themes#desertink#palette.replace.airline_z = [ s:RE[0] , s:RE[1] , s:RE[2] , s:RE[3] , '' ] + +let g:airline#themes#desertink#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +let g:airline#themes#desertink#palette.tabline = { + \ 'airline_tab': s:TH, + \ 'airline_tabmod': s:TM, + \ 'airline_tabmod_unsel': s:TMU, + \ 'airline_tabhid': s:TN } diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/deus.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/deus.vim new file mode 100644 index 0000000..5e946ea --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/deus.vim @@ -0,0 +1,117 @@ +if get(g:, 'deus_termcolors', 256) == 16 + let s:term_red = 1 + let s:term_green = 2 + let s:term_yellow = 3 + let s:term_blue = 4 + let s:term_purple = 5 + let s:term_white = 7 + let s:term_black = 0 + let s:term_grey = 8 +else + let s:term_red = 204 + let s:term_green = 114 + let s:term_yellow = 180 + let s:term_blue = 39 + let s:term_purple = 170 + let s:term_white = 145 + let s:term_black = 235 + let s:term_grey = 236 +endif + +let g:airline#themes#deus#palette = {} + +let g:airline#themes#deus#palette.accents = { + \ 'red': [ '#E06C75', '', s:term_red, 0 ] + \ } + +let s:N1 = [ '#282C34', '#98C379', s:term_black, s:term_green ] +let s:N2 = [ '#ABB2BF', '#3E4452', s:term_white, s:term_grey ] +let s:N3 = [ '#98C379', '#282C34', s:term_green, '' ] +let g:airline#themes#deus#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let group = airline#themes#get_highlight('vimCommand') +let g:airline#themes#deus#palette.normal_modified = { + \ 'airline_c': [ group[0], '', group[2], '', '' ] + \ } + +let s:I1 = [ '#282C34', '#61AFEF', s:term_black, s:term_blue ] +let s:I2 = s:N2 +let s:I3 = [ '#61AFEF', '#282C34', s:term_blue, '' ] +let g:airline#themes#deus#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#deus#palette.insert_modified = g:airline#themes#deus#palette.normal_modified + +let s:R1 = [ '#282C34', '#E06C75', s:term_black, s:term_red ] +let s:R2 = s:N2 +let s:R3 = [ '#E06C75', '#282C34', s:term_red, '' ] +let g:airline#themes#deus#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#deus#palette.replace_modified = g:airline#themes#deus#palette.normal_modified + +let s:V1 = [ '#282C34', '#C678DD', s:term_black, s:term_purple ] +let s:V2 = s:N2 +let s:V3 = [ '#C678DD', '#282C34', s:term_purple, '' ] +let g:airline#themes#deus#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#deus#palette.visual_modified = g:airline#themes#deus#palette.normal_modified + +let s:IA1 = [ '#282C34', '#ABB2BF', s:term_black, s:term_white ] +let s:IA2 = [ '#ABB2BF', '#3E4452', s:term_white, s:term_grey ] +let s:IA3 = s:N2 +let g:airline#themes#deus#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) +let g:airline#themes#deus#palette.inactive_modified = { + \ 'airline_c': [ group[0], '', group[2], '', '' ] + \ } + +" Warning/Error styling code from vim-airline's ["base16" theme](https://github.com/vim-airline/vim-airline-themes/blob/master/autoload/airline/themes/base16.vim) + +" Warnings +let s:WI = [ '#282C34', '#E5C07B', s:term_black, s:term_yellow ] +let g:airline#themes#deus#palette.normal.airline_warning = [ + \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] + \ ] + +let g:airline#themes#deus#palette.normal_modified.airline_warning = + \ g:airline#themes#deus#palette.normal.airline_warning + +let g:airline#themes#deus#palette.insert.airline_warning = + \ g:airline#themes#deus#palette.normal.airline_warning + +let g:airline#themes#deus#palette.insert_modified.airline_warning = + \ g:airline#themes#deus#palette.normal.airline_warning + +let g:airline#themes#deus#palette.visual.airline_warning = + \ g:airline#themes#deus#palette.normal.airline_warning + +let g:airline#themes#deus#palette.visual_modified.airline_warning = + \ g:airline#themes#deus#palette.normal.airline_warning + +let g:airline#themes#deus#palette.replace.airline_warning = + \ g:airline#themes#deus#palette.normal.airline_warning + +let g:airline#themes#deus#palette.replace_modified.airline_warning = + \ g:airline#themes#deus#palette.normal.airline_warning + +" Errors +let s:ER = [ '#282C34', '#E06C75', s:term_black, s:term_red ] +let g:airline#themes#deus#palette.normal.airline_error = [ + \ s:ER[0], s:ER[1], s:ER[2], s:ER[3] + \ ] + +let g:airline#themes#deus#palette.normal_modified.airline_error = + \ g:airline#themes#deus#palette.normal.airline_error + +let g:airline#themes#deus#palette.insert.airline_error = + \ g:airline#themes#deus#palette.normal.airline_error + +let g:airline#themes#deus#palette.insert_modified.airline_error = + \ g:airline#themes#deus#palette.normal.airline_error + +let g:airline#themes#deus#palette.visual.airline_error = + \ g:airline#themes#deus#palette.normal.airline_error + +let g:airline#themes#deus#palette.visual_modified.airline_error = + \ g:airline#themes#deus#palette.normal.airline_error + +let g:airline#themes#deus#palette.replace.airline_error = + \ g:airline#themes#deus#palette.normal.airline_error + +let g:airline#themes#deus#palette.replace_modified.airline_error = + \ g:airline#themes#deus#palette.normal.airline_error diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/distinguished.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/distinguished.vim new file mode 100644 index 0000000..0d65f4c --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/distinguished.vim @@ -0,0 +1,59 @@ +" vim-airline companion theme of distinguished +" (https://github.com/Lokaltog/vim-distinguished) +" I have nothing to do with the original +" distinguished theme other than being a big fan. +" this theme was shamelessly created by modifying +" the Ubaryd airline theme. + +let s:gray = [245, '#8a8a8a'] +let s:golden = [143, '#afaf5f'] +let s:pink = [131, '#af5f5f'] +let s:blue = [ 67, '#5f87af'] +let s:orange = [166, '#d75f00'] +let s:outerfg = [ 16, '#000000'] +let s:innerbg = [234, '#1c1c1c'] +let s:middle = ['#bcbcbc', '#444444', 250, 238] + +" Normal mode +let s:N1 = [s:outerfg[1], s:gray[1], s:outerfg[0], s:gray[0]] +let s:N3 = [s:gray[1], s:innerbg[1], s:gray[0], s:innerbg[0]] + +" Insert mode +let s:I1 = [s:outerfg[1], s:golden[1], s:outerfg[0], s:golden[0]] +let s:I3 = [s:golden[1], s:innerbg[1], s:golden[0], s:innerbg[0]] + +" Visual mode +let s:V1 = [s:outerfg[1], s:pink[1], s:outerfg[0], s:pink[0]] +let s:V3 = [s:pink[1], s:innerbg[1], s:pink[0], s:innerbg[0]] + +" Replace mode +let s:R1 = [s:outerfg[1], s:blue[1], s:outerfg[0], s:blue[0]] +let s:R3 = [s:blue[1], s:innerbg[1], s:blue[0], s:innerbg[0]] + +" Inactive pane +let s:IA = [s:middle[1], s:innerbg[1], s:middle[3], s:innerbg[0]] + +let g:airline#themes#distinguished#palette = {} +let g:airline#themes#distinguished#palette.accents = { + \ 'red': ['#d70000', '', 160, '', '']} + +let g:airline#themes#distinguished#palette.inactive = { + \ 'airline_a': s:IA, + \ 'airline_b': s:IA, + \ 'airline_c': s:IA} + +let g:airline#themes#distinguished#palette.normal = airline#themes#generate_color_map(s:N1, s:middle, s:N3) +let g:airline#themes#distinguished#palette.normal_modified = { + \ 'airline_a': ['', s:orange[1], '', s:orange[0], ''], + \ 'airline_c': [s:orange[1], '', s:orange[0], '', ''], + \ 'airline_x': [s:orange[1], '', s:orange[0], '', ''], + \ 'airline_z': ['', s:orange[1], '', s:orange[0], '']} + +let g:airline#themes#distinguished#palette.insert = airline#themes#generate_color_map(s:I1, s:middle, s:I3) +let g:airline#themes#distinguished#palette.insert_modified = {} + +let g:airline#themes#distinguished#palette.replace = airline#themes#generate_color_map(s:R1, s:middle, s:R3) +let g:airline#themes#distinguished#palette.replace_modified = {} + +let g:airline#themes#distinguished#palette.visual = airline#themes#generate_color_map(s:V1, s:middle, s:V3) +let g:airline#themes#distinguished#palette.visual_modified = {} diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/durant.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/durant.vim new file mode 100644 index 0000000..cb844d4 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/durant.vim @@ -0,0 +1,62 @@ +let g:airline#themes#durant#palette = {} + + +let s:N1 = [ '#005f00' , '#afd700' , 22 , 148 ] +let s:N2 = [ '#93a1a1' , '#586e75' , 245 , 240 ] +let s:N3 = [ '#93a1a1' , '#073642' , 240 , 233 ] +let g:airline#themes#durant#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + + +let g:airline#themes#durant#normal_modified = { + \ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] , + \ } + + + +let s:I1 = [ '#ffffff' , '#00875f' , 255 , 29 ] +let s:I2 = [ '#9e9e9e' , '#303030' , 247 , 236 ] +let s:I3 = [ '#87d7ff' , '#005f87' , 117 , 24 ] +let g:airline#themes#durant#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#durant#palette.insert_modified = { + \ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] , + \ } +let g:airline#themes#durant#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , '#d78700' , s:I1[2] , 172 , '' ] , + \ } + + +let g:airline#themes#durant#palette.replace = copy(g:airline#themes#durant#palette.insert) +let g:airline#themes#durant#palette.replace.airline_a = [ s:I2[0] , '#af0000' , s:I2[2] , 124 , '' ] + +let g:airline#themes#durant#palette.replace_modified = g:airline#themes#durant#palette.insert_modified + +let s:V1 = [ '#1a1a18' , '#ffffff' , 232 , 255 ] +let s:V2 = [ '#ffffff' , '#44403a' , 255, 238 ] +let s:V3 = [ '#90a680' , '#2e2d2a' , 64, 235 ] +let g:airline#themes#durant#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#durant#palette.visual_modified = { + \ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] , + \ } + + +let s:IA1 = [ '#4e4e4e' , '#1c1c1c' , 239 , 234 , '' ] +let s:IA2 = [ '#4e4e4e' , '#262626' , 239 , 235 , '' ] +let s:IA3 = [ '#4e4e4e' , '#303030' , 239 , 236 , '' ] +let g:airline#themes#durant#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) +let g:airline#themes#durant#palette.inactive_modified = { + \ 'airline_c': [ '#875faf' , '' , 97 , '' , '' ] , + \ } + + +let g:airline#themes#durant#palette.accents = { + \ 'red': [ '#ff0000' , '' , 160 , '' ] + \ } + +if !get(g:, 'loaded_ctrlp', 0) + finish +endif + let g:airline#themes#durant#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#d7d7ff' , '#5f00af' , 189 , 55 , '' ], + \ [ '#ffffff' , '#875fd7' , 231 , 98 , '' ], + \ [ '#5f00af' , '#ffffff' , 55 , 231 , 'bold' ]) + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/executable_ouo.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/executable_ouo.vim new file mode 100644 index 0000000..2c05b7a --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/executable_ouo.vim @@ -0,0 +1,135 @@ +" Author: Huang Po-Hsuan +" Filename: ouo.vim +" Last Modified: 2018-10-21 19:59:41 +" Vim: enc=utf-8 + +" ouo palette +" inspired by murmur and fresh + +let g:airline#themes#ouo#palette = {} + +" Color palette +let s:cterm_termbg = 237 " Background for branch and file format blocks +let s:gui_termbg = '#3A3A3A' +let s:cterm_termfg = 144 " Foreground for branch and file format blocks +let s:gui_termfg = '#AFAF87' + +let s:cterm_termbg2 = 234 " Background for middle block +let s:gui_termbg2 = '#1C1C1C' +let s:cterm_termfg2 = 39 " Foreground for middle block +let s:gui_termfg2 = '#00AFFF' + +let s:cterm_normalbg = 27 " Background for normal mode and file position blocks +let s:gui_normalbg = '#005FFF' +let s:cterm_normalfg = 15 " Foreground for normal mode and file position blocks +let s:gui_normalfg = '#FFFFFF' + +let s:cterm_insertbg = 70 " Background for insert mode and file position blocks +let s:gui_insertbg = '#5FAF00' +let s:cterm_insertfg = 15 " Foreground for insert mode and file position blocks +let s:gui_insertfg = '#FFFFFF' + +let s:cterm_visualbg = 166 " Background for visual mode and file position blocks +let s:gui_visualbg = '#D75F00' +let s:cterm_visualfg = 15 " Foreground for visual mode and file position blocks +let s:gui_visualfg = '#FFFFFF' + +let s:cterm_replacebg = 160 " Background for replace mode and file position blocks +let s:gui_replacebg = '#D70000' +let s:cterm_replacefg = 15 " Foreground for replace mode and file position blocks +let s:gui_replacefg = '#FFFFFF' + +let s:cterm_alert = 124 " Modified file alert color +let s:gui_alert = '#AF0000' + +let s:cterm_warningbg = 166 " Background for warning blocks +let s:gui_warningbg = '#D75F00' +let s:cterm_warningfg = 15 " Foreground for warning blocks +let s:gui_warningfg = '#FFFFFF' + +let s:cterm_errorbg = 160 " Background for error blocks +let s:gui_errorbg = '#D70000' +let s:cterm_errorfg = 15 " Foreground for error blocks +let s:gui_errorfg = '#FFFFFF' + +let s:cterm_inactivebg = 234 " Background for inactive mode +let s:gui_inactivebg = '#1C1C1C' +let s:cterm_inactivefg = 239 " Foreground for inactive mode +let s:gui_inactivefg = '#4E4E4E' + +" Branch and file format +let s:BB = [s:gui_termfg, s:gui_termbg, s:cterm_termfg, s:cterm_termbg] + +" Warning and error format +let s:W = [s:gui_warningfg, s:gui_warningbg, s:cterm_warningfg, s:cterm_warningbg, 'bold'] +let s:E = [s:gui_errorfg, s:gui_errorbg, s:cterm_errorfg, s:cterm_errorbg, 'bold'] + +" NORMAL mode +" Outside blocks in normal mode +let s:N1 = [s:gui_normalfg, s:gui_normalbg, s:cterm_normalfg, s:cterm_normalbg] +let s:N2 = s:BB +" Middle block +let s:N3 = [s:gui_termfg2, s:gui_termbg2, s:cterm_normalbg, s:cterm_termbg2] +let g:airline#themes#ouo#palette.normal = + \ airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#ouo#palette.normal.airline_warning = s:W +let g:airline#themes#ouo#palette.normal.airline_error = s:E +let g:airline#themes#ouo#palette.normal_modified = { + \ 'airline_c': [s:gui_alert, s:gui_termbg2, s:cterm_alert, s:cterm_termbg2, 'bold'], + \ 'airline_warning': s:W, + \ 'airline_error': s:E + \ } + +" INSERT mode +" Outside blocks in insert mode +let s:I1 = [s:gui_insertfg, s:gui_insertbg, s:cterm_insertfg, s:cterm_insertbg] +let s:I2 = s:BB +" Middle block +let s:I3 = [s:gui_insertbg, s:gui_termbg2, s:cterm_insertbg, s:cterm_termbg2] +let g:airline#themes#ouo#palette.insert = + \ airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#ouo#palette.insert.airline_warning = s:W +let g:airline#themes#ouo#palette.insert.airline_error = s:E +let g:airline#themes#ouo#palette.insert_modified = + \ g:airline#themes#ouo#palette.normal_modified + +" REPLACE mode +" Outside blocks in replace mode +let s:R1 = [s:gui_replacefg, s:gui_replacebg, s:cterm_replacefg, s:cterm_replacebg] +let s:R2 = s:BB +" Middle block +let s:R3 = [s:gui_termfg, s:gui_termbg2, s:cterm_termfg, s:cterm_termbg2] +let g:airline#themes#ouo#palette.replace = + \ airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#ouo#palette.replace.airline_warning = s:W +let g:airline#themes#ouo#palette.replace.airline_error = s:E +let g:airline#themes#ouo#palette.replace_modified = + \ g:airline#themes#ouo#palette.normal_modified + +" VISAUL mode +" Outside blocks in visual mode +let s:V1 = [s:gui_visualfg, s:gui_visualbg, s:cterm_visualfg, s:cterm_visualbg] +let s:V2 = s:BB +" Middle block +let s:V3 = [s:gui_visualbg, s:gui_termbg2, s:cterm_visualbg, s:cterm_termbg2] +let g:airline#themes#ouo#palette.visual = + \ airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#ouo#palette.visual.airline_warning = s:W +let g:airline#themes#ouo#palette.visual.airline_error = s:E +let g:airline#themes#ouo#palette.visual_modified = + \ g:airline#themes#ouo#palette.normal_modified + +" INACTIVE mode +let s:IA1 = [s:gui_inactivefg, s:gui_inactivebg, s:cterm_inactivefg, s:cterm_inactivebg, ''] +let s:IA2 = [s:gui_inactivefg, s:gui_inactivebg, s:cterm_inactivefg, s:cterm_inactivebg, ''] +let s:IA3 = [s:gui_inactivefg, s:gui_inactivebg, s:cterm_inactivefg, s:cterm_inactivebg, ''] +let g:airline#themes#ouo#palette.inactive = + \ airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) +let g:airline#themes#ouo#palette.inactive.airline_warning = s:IA2 +let g:airline#themes#ouo#palette.inactive.airline_error = s:IA2 +let g:airline#themes#ouo#palette.inactive_modified = + \ g:airline#themes#ouo#palette.normal_modified + +let g:airline#themes#ouo#palette.accents = { + \ 'red': [ '#FF0000' , '' , 160 , '' ] + \ } diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/fairyfloss.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/fairyfloss.vim new file mode 100644 index 0000000..a822c41 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/fairyfloss.vim @@ -0,0 +1,88 @@ +" Color palette +let s:guiShadow = "#3b3a32" " shadow +let s:guiDarkGray = "#49483e" " dark gray +let s:guiBgPurple = "#8076aa" " background purple +let s:guiGray = "#49483e" " gray +let s:guiViolet = "#63588d" " violet +let s:guiDustyLilac = "#efe6ff" "dusty-lilac +let s:guiSeafoam = "#c2ffdf" "seafoam +let s:guiSilver = "#f8f8f0" "silver +let s:guiFuschia = "#f92672" "fuschia +let s:guiPeach = "#ff857f" "peach +let s:guiGold = "#e6c000" "gold +let s:guiDarkSeafoam = "#80ffbd" "dark-seafoam +let s:guiLilac = "#c5a3ff" "lilac +let s:guiLavender = "#ae81ff" "lavender +let s:guiRose = "#ffb8d1" "rose +let s:guiGoldenrod = "#fffea0" "goldenrod + +let s:ctermShadow = "233" +let s:ctermDarkGray = "235" +let s:ctermBgPurple = "59" +let s:cterm03 = "66" +let s:cterm04 = "145" +let s:cterm05 = "152" +let s:cterm06 = "188" +let s:ctermSilver = "189" +let s:ctermFuschia = "88" +let s:cterm09 = "209" +let s:cterm0A = "221" +let s:ctermDarkSeafoam = "22" +let s:cterm0C = "73" +let s:ctermLavender = "25" +let s:cterm0E = "176" +let s:cterm0F = "137" + +let s:guiWhite = "#f8f8f0" +let s:guiGray = "#8076aa" +let s:ctermWhite = "231" +let s:ctermGray = "243" + +let g:airline#themes#fairyfloss#palette = {} +let s:modified = { 'airline_c': [ s:guiRose, '', 215, '', '' ] } + +" Normal mode +let s:N1 = [ s:guiSilver , s:guiLavender , s:ctermSilver , s:ctermLavender ] +let s:N2 = [ s:guiWhite , s:guiDarkGray , s:ctermWhite , s:ctermDarkGray ] +let s:N3 = [ s:guiShadow , s:guiLavender , s:ctermBgPurple , s:ctermShadow ] +let g:airline#themes#fairyfloss#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#fairyfloss#palette.normal_modified = s:modified + +" Insert mode +let s:I1 = [ s:guiDarkGray , s:guiDarkSeafoam , s:ctermWhite , s:ctermDarkSeafoam ] +let s:I2 = s:N2 +let s:I3 = [ s:guiWhite , s:guiDarkGray , s:ctermWhite , s:ctermShadow ] +let g:airline#themes#fairyfloss#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#fairyfloss#palette.insert_modified = s:modified + +" Visual mode +let s:V1 = [ s:guiWhite , s:guiFuschia , s:ctermWhite , s:ctermFuschia ] +let s:V2 = s:N2 +let s:V3 = s:I3 +let g:airline#themes#fairyfloss#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#fairyfloss#palette.visual_modified = s:modified + +" Replace mode +let s:R1 = [ s:guiFuschia , s:guiDarkGray , s:ctermFuschia, s:ctermShadow ] +let s:R2 = s:N2 +let s:R3 = s:I3 +let g:airline#themes#fairyfloss#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#fairyfloss#palette.replace_modified = s:modified + +" Inactive mode +let s:IN1 = [ s:guiGray , s:guiDarkGray , s:ctermGray , s:ctermDarkGray ] +let s:IN2 = [ s:guiBgPurple , s:guiShadow , s:ctermBgPurple , s:ctermShadow ] +let s:IN3 = [ s:guiBgPurple , s:guiShadow , s:ctermBgPurple , s:ctermShadow ] +let g:airline#themes#fairyfloss#palette.inactive = airline#themes#generate_color_map(s:IN1, s:IN2, s:IN3) +let g:airline#themes#fairyfloss#palette.inactive_modified = s:modified + +" CtrlP +if !get(g:, 'loaded_ctrlp', 0) + finish +endif + +let s:CP1 = [ s:guiWhite , s:guiDarkGray , s:ctermWhite , s:ctermDarkGray ] +let s:CP2 = [ s:guiWhite , s:guiGray , s:ctermWhite , s:ctermDarkGray ] +let s:CP3 = [ s:guiWhite , s:guiLavender , s:ctermWhite , s:ctermLavender ] + +let g:airline#themes#fairyfloss#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(s:CP1, s:CP2, s:CP3) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/fruit_punch.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/fruit_punch.vim new file mode 100644 index 0000000..02ba8a9 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/fruit_punch.vim @@ -0,0 +1,80 @@ +" Fruitpunch - A fruity airline theme! +" vim: tw=80 et sw=2 ts=2 + +" Colors {{{ +let s:dark_gray = ['#303030', 236] +let s:med_gray_hi = ['#444444', 238] +let s:med_gray_lo = ['#3a3a3a', 237] +let s:light_gray = ['#b2b2b2', 249] +let s:pretty_pink = ['#f29db4', 217] +let s:banana_smoothie = ['#fce78d', 222] +let s:faded_red = ['#f97070', 203] +let s:icy_sky = ['#79e5e0', 116] +let s:orangarine = ['#e8a15a', 179] +"}}} + +" Init {{{ +" Translate color defs to airline format +fun! s:gen_def(fg, bg) + return [a:fg[0], a:bg[0], a:fg[1], a:bg[1]] +endfun +let s:bar_main = s:gen_def(s:light_gray, s:med_gray_lo) + [''] +let g:airline#themes#fruit_punch#palette = {} +"}}} + +" Normal mode {{{ +let s:airline_a_normal = s:gen_def(s:dark_gray, s:pretty_pink) +let s:airline_c_normal = s:gen_def(s:pretty_pink, s:med_gray_hi) +let g:airline#themes#fruit_punch#palette.normal = + \ airline#themes#generate_color_map(s:airline_a_normal + \ , s:bar_main, s:airline_c_normal) +"}}} + +" Insert mode {{{ +let s:airline_a_insert = s:gen_def(s:dark_gray, s:banana_smoothie) +let s:airline_c_insert = s:gen_def(s:banana_smoothie, s:med_gray_hi) +let g:airline#themes#fruit_punch#palette.insert = + \ airline#themes#generate_color_map(s:airline_a_insert + \ , s:bar_main, s:airline_c_insert) +"}}} + +" Visual mode {{{ +let s:airline_a_visual = s:gen_def(s:dark_gray, s:icy_sky) +let s:airline_c_visual = s:gen_def(s:icy_sky, s:med_gray_hi) +let g:airline#themes#fruit_punch#palette.visual = + \ airline#themes#generate_color_map(s:airline_a_visual + \ , s:bar_main, s:airline_c_visual) +"}}} + +" Replace mode {{{ +let s:airline_a_replace = s:gen_def(s:dark_gray, s:faded_red) +let s:airline_c_replace = s:gen_def(s:faded_red, s:med_gray_hi) +let g:airline#themes#fruit_punch#palette.replace = + \ airline#themes#generate_color_map(s:airline_a_replace + \ , s:bar_main, s:airline_c_replace) +"}}} + +" Inactive color {{{ +let s:airline_inactive = s:gen_def(s:light_gray, s:med_gray_hi) +let g:airline#themes#fruit_punch#palette.inactive = + \ airline#themes#generate_color_map(s:airline_inactive + \ , s:airline_inactive, s:airline_inactive) +"}}} + +" Global colors {{{ +let s:tmp = {'normal_modified': {}, 'insert_modified': {} + \, 'visual_modified': {}, 'replace_modified': {}} + +for mode in keys(s:tmp) + let s:tmp[mode]['airline_c'] = s:airline_c_insert +endfor +call extend(g:airline#themes#fruit_punch#palette, s:tmp) + +let s:warning = s:gen_def(s:dark_gray, s:orangarine) +for mode in keys(g:airline#themes#fruit_punch#palette) + if mode == 'accents' + continue + endif + let g:airline#themes#fruit_punch#palette[mode]['airline_warning'] = s:warning +endfor +"}}} diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/google_dark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/google_dark.vim new file mode 100644 index 0000000..08e7bcf --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/google_dark.vim @@ -0,0 +1,64 @@ +" vim-airline template by danrneal (http://github.com/danrneal) +" Google Scheme by Lisie Michel (https://github.com/google/vim-colorscheme-primary/) + +let g:airline#themes#google_dark#palette = {} + +let s:RED = '#EA4335' +let s:GREEN = '#34A853' +let s:YELLOW = '#FBBC04' +let s:BLUE = '#4285F4' +let s:BLACK = '#202124' +let s:DGREY = '#5F6368' +let s:LGREY = '#E8EAED' +let s:WHITE = '#FFFFFF' + +let s:TERM_RED = 167 +let s:TERM_GREEN = 71 +let s:TERM_YELLOW = 214 +let s:TERM_BLUE = 69 +let s:TERM_BLACK = 16 +let s:TERM_DGREY = 59 +let s:TERM_LGREY = 189 +let s:TERM_WHITE = 231 + +let s:GREY0 = s:WHITE +let s:GREY1 = s:LGREY +let s:GREY2 = s:DGREY +let s:BG = s:BLACK + +let s:TERM_GREY0 = s:TERM_WHITE +let s:TERM_GREY1 = s:TERM_LGREY +let s:TERM_GREY2 = s:TERM_DGREY +let s:TERM_BG = s:TERM_BLACK + +let s:N1 = [ s:BG, s:GREEN, s:TERM_BG, s:TERM_GREEN ] +let s:N2 = [ s:GREY1, s:GREY2, s:TERM_GREY1, s:TERM_GREY2 ] +let s:N3 = [ s:GREEN, s:BG, s:TERM_GREEN, s:TERM_BG ] +let g:airline#themes#google_dark#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#google_dark#palette.normal_modified = { + \ 'airline_c': [ s:GREY0, s:BG, s:TERM_GREY0, s:TERM_BG, '' ], + \ } + +let s:I1 = [ s:BG, s:BLUE, s:TERM_BG, s:TERM_BLUE ] +let s:I2 = s:N2 +let s:I3 = [ s:BLUE, s:BG, s:TERM_BLUE, s:TERM_BG ] +let g:airline#themes#google_dark#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#google_dark#palette.insert_modified = g:airline#themes#google_dark#palette.normal_modified + +let s:R1 = [ s:BG, s:RED, s:TERM_BG, s:TERM_RED ] +let s:R2 = s:N2 +let s:R3 = [ s:RED, s:BG, s:TERM_RED, s:TERM_BG ] +let g:airline#themes#google_dark#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#google_dark#palette.replace_modified = g:airline#themes#google_dark#palette.normal_modified + +let s:V1 = [ s:BG, s:YELLOW, s:TERM_BG, s:TERM_YELLOW ] +let s:V2 = s:N2 +let s:V3 = [ s:YELLOW, s:BG, s:TERM_YELLOW, s:TERM_BG ] +let g:airline#themes#google_dark#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#google_dark#palette.visual_modified = g:airline#themes#google_dark#palette.normal_modified + +let s:IA1 = [ s:BG, s:GREY2, s:TERM_BG, s:TERM_GREY2 ] +let s:IA2 = s:N2 +let s:IA3 = [ s:GREY2, s:BG, s:TERM_GREY2, s:TERM_BG ] +let g:airline#themes#google_dark#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) +let g:airline#themes#google_dark#palette.inactive_modified = g:airline#themes#google_dark#palette.normal_modified diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/google_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/google_light.vim new file mode 100644 index 0000000..a01f695 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/google_light.vim @@ -0,0 +1,64 @@ +" vim-airline template by danrneal (http://github.com/danrneal) +" Google Scheme by Lisie Michel (https://github.com/google/vim-colorscheme-primary/) + +let g:airline#themes#google_light#palette = {} + +let s:RED = '#EA4335' +let s:GREEN = '#34A853' +let s:YELLOW = '#FBBC04' +let s:BLUE = '#4285F4' +let s:BLACK = '#202124' +let s:DGREY = '#5F6368' +let s:LGREY = '#E8EAED' +let s:WHITE = '#FFFFFF' + +let s:TERM_RED = 167 +let s:TERM_GREEN = 71 +let s:TERM_YELLOW = 214 +let s:TERM_BLUE = 69 +let s:TERM_BLACK = 16 +let s:TERM_DGREY = 59 +let s:TERM_LGREY = 189 +let s:TERM_WHITE = 231 + +let s:GREY0 = s:BLACK +let s:GREY1 = s:DGREY +let s:GREY2 = s:LGREY +let s:BG = s:WHITE + +let s:TERM_GREY0 = s:TERM_BLACK +let s:TERM_GREY1 = s:TERM_DGREY +let s:TERM_GREY2 = s:TERM_LGREY +let s:TERM_BG = s:TERM_WHITE + +let s:N1 = [ s:BG, s:GREEN, s:TERM_BG, s:TERM_GREEN ] +let s:N2 = [ s:GREY1, s:GREY2, s:TERM_GREY1, s:TERM_GREY2 ] +let s:N3 = [ s:GREEN, s:BG, s:TERM_GREEN, s:TERM_BG ] +let g:airline#themes#google_light#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#google_light#palette.normal_modified = { + \ 'airline_c': [ s:GREY0, s:BG, s:TERM_GREY0, s:TERM_BG, '' ], + \ } + +let s:I1 = [ s:BG, s:BLUE, s:TERM_BG, s:TERM_BLUE ] +let s:I2 = s:N2 +let s:I3 = [ s:BLUE, s:BG, s:TERM_BLUE, s:TERM_BG ] +let g:airline#themes#google_light#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#google_light#palette.insert_modified = g:airline#themes#google_light#palette.normal_modified + +let s:R1 = [ s:BG, s:RED, s:TERM_BG, s:TERM_RED ] +let s:R2 = s:N2 +let s:R3 = [ s:RED, s:BG, s:TERM_RED, s:TERM_BG ] +let g:airline#themes#google_light#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#google_light#palette.replace_modified = g:airline#themes#google_light#palette.normal_modified + +let s:V1 = [ s:BG, s:YELLOW, s:TERM_BG, s:TERM_YELLOW ] +let s:V2 = s:N2 +let s:V3 = [ s:YELLOW, s:BG, s:TERM_YELLOW, s:TERM_BG ] +let g:airline#themes#google_light#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#google_light#palette.visual_modified = g:airline#themes#google_light#palette.normal_modified + +let s:IA1 = [ s:BG, s:GREY2, s:TERM_BG, s:TERM_GREY2 ] +let s:IA2 = s:N2 +let s:IA3 = [ s:GREY2, s:BG, s:TERM_GREY2, s:TERM_BG ] +let g:airline#themes#google_light#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) +let g:airline#themes#google_light#palette.inactive_modified = g:airline#themes#google_light#palette.normal_modified diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/hybrid.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/hybrid.vim new file mode 100644 index 0000000..b9bd20b --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/hybrid.vim @@ -0,0 +1,52 @@ +" vim-airline companion theme of Hybrid +" (https://github.com/w0ng/vim-hybrid) + +let g:airline#themes#hybrid#palette = {} + +function! airline#themes#hybrid#refresh() + let s:N1 = airline#themes#get_highlight('DiffAdd') + let s:N2 = airline#themes#get_highlight('CursorLine') + let s:N3 = airline#themes#get_highlight('PMenu') + let g:airline#themes#hybrid#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + let g:airline#themes#hybrid#palette.normal_modified = {} + + let warning_group = airline#themes#get_highlight('SpellRare') + let g:airline#themes#hybrid#palette.normal.airline_warning = warning_group + let g:airline#themes#hybrid#palette.normal_modified.airline_warning = warning_group + + let s:I1 = airline#themes#get_highlight2(['Text', 'fg'], ['DiffText', 'bg'], 'bold') + let s:I2 = s:N2 + let s:I3 = s:N3 + let g:airline#themes#hybrid#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + let g:airline#themes#hybrid#palette.insert_modified = g:airline#themes#hybrid#palette.normal_modified + let g:airline#themes#hybrid#palette.insert.airline_warning = g:airline#themes#hybrid#palette.normal.airline_warning + let g:airline#themes#hybrid#palette.insert_modified.airline_warning = g:airline#themes#hybrid#palette.normal_modified.airline_warning + + let s:R1 = airline#themes#get_highlight('DiffChange') + let s:R2 = s:N2 + let s:R3 = s:N3 + let g:airline#themes#hybrid#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + let replace_group = airline#themes#get_highlight('SpellRare') + let g:airline#themes#hybrid#palette.replace_modified = g:airline#themes#hybrid#palette.normal_modified + let g:airline#themes#hybrid#palette.replace.airline_warning = g:airline#themes#hybrid#palette.normal.airline_warning + let g:airline#themes#hybrid#palette.replace_modified.airline_warning = g:airline#themes#hybrid#palette.replace_modified.airline_warning + + let s:V1 = airline#themes#get_highlight2(['Text', 'fg'], ['DiffDelete', 'bg'], 'bold') + let s:V2 = s:N2 + let s:V3 = s:N3 + let g:airline#themes#hybrid#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + let g:airline#themes#hybrid#palette.visual_modified = g:airline#themes#hybrid#palette.normal_modified + let g:airline#themes#hybrid#palette.visual.airline_warning = g:airline#themes#hybrid#palette.normal.airline_warning + let g:airline#themes#hybrid#palette.visual_modified.airline_warning = g:airline#themes#hybrid#palette.normal_modified.airline_warning + + let s:IA = airline#themes#get_highlight('StatusLineNC') + let g:airline#themes#hybrid#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) + let g:airline#themes#hybrid#palette.inactive_modified = g:airline#themes#hybrid#palette.normal_modified + + let g:airline#themes#hybrid#palette.accents = { + \ 'red': airline#themes#get_highlight('Constant'), + \ } + +endfunction + +call airline#themes#hybrid#refresh() diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/hybridline.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/hybridline.vim new file mode 100644 index 0000000..84729c1 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/hybridline.vim @@ -0,0 +1,34 @@ +" vim-airline theme based on vim-hybrid and powerline +" (https://github.com/w0ng/vim-hybrid) +" (https://github.com/Lokaltog/powerline) + +let g:airline#themes#hybridline#palette = {} + +let s:N1 = [ '#282a2e' , '#c5c8c6' , 'black' , 15 ] +let s:N2 = [ '#c5c8c6' , '#373b41' , 15 , 8 ] +let s:N3 = [ '#ffffff' , '#282a2e' , 255 , 'black' ] +let g:airline#themes#hybridline#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#hybridline#palette.normal.airline_a = ['#005f00', '#b5bd68', 22, 10, ''] + +let s:I1 = [ '#005f5f' , '#8abeb7' , 23 , 14 ] +let s:I2 = [ '#c5c8c6' , '#0087af' , 15 , 31 ] +let s:I3 = [ '#ffffff' , '#005f87' , 255 , 24 ] +let g:airline#themes#hybridline#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#hybridline#palette.insert_paste = { + \ 'airline_a': ['#000000', '#ac4142', 16 , 1, ''] , + \ } + +let g:airline#themes#hybridline#palette.replace = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#hybridline#palette.replace.airline_a = ['#000000', '#CC6666', 16, 9] + +let g:airline#themes#hybridline#palette.visual = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#hybridline#palette.visual.airline_a = ['#000000', '#de935f', 16, 3] + +let s:IA1 = [ '#4e4e4e' , '#1c1c1c' , 239 , 234 , '' ] +let s:IA2 = [ '#4e4e4e' , '#262626' , 239 , 235 , '' ] +let s:IA3 = [ '#4e4e4e' , '#303030' , 239 , 236 , '' ] +let g:airline#themes#hybridline#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +let g:airline#themes#hybridline#palette.accents = { + \ 'red': [ '#ff0000' , '' , 160 , '' ] + \ } diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/jellybeans.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/jellybeans.vim new file mode 100644 index 0000000..3b72a1f --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/jellybeans.vim @@ -0,0 +1,88 @@ +" Color palette +let s:gui00 = "#151515" +let s:gui01 = "#262626" +let s:gui02 = "#4f5b66" +let s:gui03 = "#65737e" +let s:gui04 = "#a7adba" +let s:gui05 = "#c0c5ce" +let s:gui06 = "#cdd3de" +let s:gui07 = "#d8dee9" +let s:gui08 = "#870000" +let s:gui09 = "#f99157" +let s:gui0A = "#fac863" +let s:gui0B = "#437019" +let s:gui0C = "#5fb3b3" +let s:gui0D = "#0d61ac" +let s:gui0E = "#c594c5" +let s:gui0F = "#ab7967" + +let s:cterm00 = "233" +let s:cterm01 = "235" +let s:cterm02 = "59" +let s:cterm03 = "66" +let s:cterm04 = "145" +let s:cterm05 = "152" +let s:cterm06 = "188" +let s:cterm07 = "189" +let s:cterm08 = "88" +let s:cterm09 = "209" +let s:cterm0A = "221" +let s:cterm0B = "22" +let s:cterm0C = "73" +let s:cterm0D = "25" +let s:cterm0E = "176" +let s:cterm0F = "137" + +let s:guiWhite = "#ffffff" +let s:guiGray = "#666666" +let s:ctermWhite = "231" +let s:ctermGray = "243" + +let g:airline#themes#jellybeans#palette = {} +let s:modified = { 'airline_c': [ '#ffb964', '', 215, '', '' ] } + +" Normal mode +let s:N1 = [ s:gui07 , s:gui0D , s:cterm07 , s:cterm0D ] +let s:N2 = [ s:guiWhite , s:gui01 , s:ctermWhite , s:cterm01 ] +let s:N3 = [ s:gui02 , s:gui00 , s:cterm02 , s:cterm00 ] +let g:airline#themes#jellybeans#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#jellybeans#palette.normal_modified = s:modified + +" Insert mode +let s:I1 = [ s:guiWhite , s:gui0B , s:ctermWhite , s:cterm0B ] +let s:I2 = s:N2 +let s:I3 = [ s:guiWhite , s:gui01 , s:ctermWhite , s:cterm00 ] +let g:airline#themes#jellybeans#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#jellybeans#palette.insert_modified = s:modified + +" Visual mode +let s:V1 = [ s:guiWhite , s:gui08 , s:ctermWhite , s:cterm08 ] +let s:V2 = s:N2 +let s:V3 = s:I3 +let g:airline#themes#jellybeans#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#jellybeans#palette.visual_modified = s:modified + +" Replace mode +let s:R1 = [ s:gui08 , s:gui01 , s:cterm08, s:cterm00 ] +let s:R2 = s:N2 +let s:R3 = s:I3 +let g:airline#themes#jellybeans#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#jellybeans#palette.replace_modified = s:modified + +" Inactive mode +let s:IN1 = [ s:guiGray , s:gui01 , s:ctermGray , s:cterm01 ] +let s:IN2 = [ s:gui02 , s:gui00 , s:cterm02 , s:cterm00 ] +let s:IN3 = [ s:gui02 , s:gui00 , s:cterm02 , s:cterm00 ] +let g:airline#themes#jellybeans#palette.inactive = airline#themes#generate_color_map(s:IN1, s:IN2, s:IN3) +let g:airline#themes#jellybeans#palette.inactive_modified = s:modified + +" CtrlP +if !get(g:, 'loaded_ctrlp', 0) + finish +endif + +let s:CP1 = [ s:guiWhite , s:gui01 , s:ctermWhite , s:cterm01 ] +let s:CP2 = [ s:guiWhite , s:gui03 , s:ctermWhite , s:cterm01 ] +let s:CP3 = [ s:guiWhite , s:gui0D , s:ctermWhite , s:cterm0D ] + +let g:airline#themes#jellybeans#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(s:CP1, s:CP2, s:CP3) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/jet.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/jet.vim new file mode 100644 index 0000000..87d98e2 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/jet.vim @@ -0,0 +1,98 @@ +"Originally based on Jellybeans theme. +" Modified to resemble the orclord colorscheme. + +" Color palette +let s:gui00 = "#151515" +let s:gui01 = "#262626" +let s:gui02 = "#4f5b66" +let s:gui03 = "#65737e" +let s:gui04 = "#a7adba" +let s:gui05 = "#c0c5ce" +let s:gui06 = "#cdd3de" +let s:gui07 = "#d8dee9" +let s:gui08 = "#870000" +let s:gui09 = "#f99157" +let s:gui0A = "#fac863" +let s:gui0B = "#437019" +let s:gui0C = "#5fb3b3" +let s:gui0D = "#0d61ac" +let s:gui0E = "#c594c5" +let s:gui0F = "#ab7967" + +let s:cterm00 = "234" +let s:cterm01 = "235" +let s:cterm02 = "239" +let s:cterm03 = "59" +let s:cterm04 = "145" +let s:cterm05 = "152" +let s:cterm06 = "188" +let s:cterm07 = "15" +let s:cterm08 = "88" +let s:cterm09 = "209" +let s:cterm0A = "221" +let s:cterm0B = "28" +let s:cterm0C = "73" +let s:cterm0D = "04" +let s:cterm0E = "176" +let s:cterm0F = "137" + +let s:guiWhite = "#ffffff" +let s:ctermBlack = "00" +let s:ctermRed = "01" +let s:ctermGreen = "02" +let s:ctermPurple = "05" +let s:ctermGrey = "08" +let s:ctermIron = "242" +let s:ctermBrightRed = "09" +let s:ctermWhite = "15" +let s:ctermBlood = "88" +let s:ctermCongealing = "52" +let s:ctermOrange = "166" +let s:ctermBrown = "94" +let s:ctermAsh = "234" +let s:ctermPoison = "58" +let s:ctermBruise = "53" +let s:ctermWinter = "30" + +let g:airline#themes#jet#palette = {} + +" Normal mode +let s:N1 = [ s:gui07 , s:gui0D , s:ctermAsh , s:ctermBlood ] +let s:N2 = [ s:guiWhite , s:gui01 , s:ctermIron , s:ctermCongealing ] +let s:N3 = [ s:gui02 , s:gui00 , s:ctermRed , s:ctermBlack ] +let g:airline#themes#jet#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +" Insert mode +let s:I1 = [ s:guiWhite , s:gui0B , s:ctermOrange , s:ctermAsh ] +let s:I2 = [ s:gui02 , s:gui01 , s:ctermAsh , s:ctermOrange ] +let s:I3 = [ s:guiWhite , s:gui01 , s:ctermOrange , s:ctermBlack ] +let g:airline#themes#jet#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +" Visual mode +let s:V1 = [ s:guiWhite , s:gui08 , s:ctermAsh , s:ctermWinter ] +let s:V2 = [ s:gui02 , s:gui01 , s:ctermWinter , s:ctermAsh ] +let s:V3 = [ s:guiWhite , s:gui01 , s:ctermWinter , s:ctermBlack ] +let g:airline#themes#jet#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +" Replace mode +let s:R1 = [ s:gui08 , s:gui01 , s:ctermBlood, s:ctermBlack ] +let s:R2 = [ s:gui02 , s:gui01 , s:ctermRed , s:ctermBlack ] +let s:R3 = [ s:guiWhite , s:gui01 , s:ctermIron , s:ctermBlack ] +let g:airline#themes#jet#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +" Inactive mode +let s:IN1 = [ s:gui00 , s:gui01 , s:cterm00 , s:cterm01 ] +let s:IN2 = [ s:gui02 , s:gui00 , s:cterm02 , s:cterm00 ] +let s:IN3 = [ s:gui02 , s:gui00 , s:cterm02 , s:cterm00 ] +let g:airline#themes#jet#palette.inactive = airline#themes#generate_color_map(s:IN1, s:IN2, s:IN3) + +" CtrlP +if !get(g:, 'loaded_ctrlp', 0) + finish +endif + +let s:CP1 = [ s:guiWhite , s:gui01 , s:ctermWhite , s:cterm01 ] +let s:CP2 = [ s:guiWhite , s:gui03 , s:ctermWhite , s:cterm01 ] +let s:CP3 = [ s:guiWhite , s:gui0D , s:ctermWhite , s:cterm0D ] + +let g:airline#themes#jet#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(s:CP1, s:CP2, s:CP3) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/kalisi.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/kalisi.vim new file mode 100644 index 0000000..78504fa --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/kalisi.vim @@ -0,0 +1,70 @@ +" +" Colorscheme: Kalisi for airline. Inspired by powerline. +" Arthur Jaron +" hifreeo@gmail.com +" 24.10.2014 + +" Visual mode +let s:V1 = [ '#0087ff' , '#ffffff','33','231'] +let s:V2 = [ '#005faf' , '#5fafff','25','75'] +let s:V3 = [ '#87d7ff' , '#005faf','117','25'] + +" Replace mode +let s:R1 = [ '#d75fff' , '#ffffff','171','231'] +let s:R2 = [ '#5f005f' , '#d75fff','53','171'] +let s:R3 = [ '#ff87ff' , '#8700af','213','91'] + +let g:airline#themes#kalisi#palette = {} + + +function! airline#themes#kalisi#refresh() + + let s:StatusLine = airline#themes#get_highlight('StatusLine') + let s:StatusLineNC = airline#themes#get_highlight('StatusLineNC') + + " Insert mode + let s:I1 = [ '#ffffff' , '#e80000','231','160'] + let s:I2 = [ '#ff0000' , '#5f0000','196','52'] + let s:I3 = s:StatusLine + + " Normal mode + let s:N1 = [ '#005f00' , '#afd700','22','148'] + let s:N2 = [ '#afd700' , '#005f00','148','22'] + let s:N3 = s:StatusLine + + " Tabline Plugin + let g:airline#themes#kalisi#palette.tabline = { + \ 'airline_tab': ['#bcbcbc', '#005f00','250','22'], + \ 'airline_tabsel': ['#404042', '#A6DB29','238','148'], + \ 'airline_tabtype':['#afd700', '#204d20','148','22'], + \ 'airline_tabfill': s:StatusLine, + \ 'airline_tabhid': ['#c5c5c5', '#404042','251','238'], + \ 'airline_tabmod': ['#d7ff00', '#afd700','190','148'], + \ 'airline_tabmod_unsel': ['#d7ff00', '#005f00','190','22'] + \ } + + let g:airline#themes#kalisi#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + let g:airline#themes#kalisi#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + let g:airline#themes#kalisi#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + let g:airline#themes#kalisi#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + + " Inactive Mode + let s:IA = airline#themes#get_highlight('StatusLineNC') + let g:airline#themes#kalisi#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) + let g:airline#themes#kalisi#palette.inactive_modified = { + \ 'airline_c': ['#d7ff00', s:IA[1],'190',s:IA[3]], + \ } + +endfunction + +call airline#themes#kalisi#refresh() + +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#kalisi#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ s:StatusLine, + \ ['#afd700', '#005f00','148','22'], + \ [ '#005f00' , '#afd700' , '22','148'] + \) + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/kolor.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/kolor.vim new file mode 100644 index 0000000..e61f56f --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/kolor.vim @@ -0,0 +1,59 @@ +let g:airline#themes#kolor#palette = {} + +let s:N1 = [ '#e2e2e2' , '#4f3598' , 254 , 56 ] +let s:N2 = [ '#ff5fd7' , '#242322' , 206 , 234 ] +let s:N3 = [ '#e2e2e2' , '#4a4a4a' , 254 , 238 ] + +let g:airline#themes#kolor#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let g:airline#themes#kolor#palette.normal_modified = { + \ 'airline_c': [ '#e2e2e2' , '#4f3598' , 254 , 56 , '' ] , + \ } + + +let s:I1 = [ '#242322' , '#7eaefd' , 234 , 111 ] +let s:I2 = [ '#75d7d8' , '#242322' , 80 , 234 ] +let s:I3 = [ '#e2e2e2' , '#4a4a4a' , 254 , 238 ] +let g:airline#themes#kolor#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#kolor#palette.insert_modified = { + \ 'airline_c': [ '#242322' , '#7eaefd' , 234 , 111 , '' ] , + \ } + + +let g:airline#themes#kolor#palette.replace = copy(g:airline#themes#kolor#palette.insert) +let g:airline#themes#kolor#palette.replace.airline_a = [ s:I2[0] , '#005154' , s:I2[2] , 23 , '' ] +let g:airline#themes#kolor#palette.replace_modified = { + \ 'airline_c': [ '#e2e2e2' , '#005154' , 254 , 23 , '' ] , + \ } + + +let s:V1 = [ '#242322' , '#e6987a' , 234 , 180 ] +let s:V2 = [ '#dbc570' , '#242322' , 186 , 234 ] +let s:V3 = [ '#e2e2e2' , '#4a4a4a' , 254 , 238 ] +let g:airline#themes#kolor#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#kolor#palette.visual_modified = { + \ 'airline_c': [ '#242322' , '#e6987a' , 234 , 180 , '' ] , + \ } + + +let s:IA1 = [ '#b2b2b2' , '#4a4a4a' , 247 , 238 , '' ] +let s:IA2 = [ '#b2b2b2' , '#4a4a4a' , 247 , 238 ] +let s:IA3 = [ '#b2b2b2' , '#4a4a4a' , 247 , 238 , '' ] +let g:airline#themes#kolor#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) +let g:airline#themes#kolor#palette.inactive_modified = { + \ 'airline_c': [ '#875faf' , '' , 97 , '' , '' ] , + \ } + + +let g:airline#themes#kolor#palette.accents = { + \ 'red': [ '#d96e8a' , '' , 168 , '' ] + \ } + + +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#kolor#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#e2e2e2' , '#4a4a4a' , 254 , 238 , '' ], + \ [ '#e2e2e2' , '#242322' , 254 , 234 , '' ], + \ [ '#e2e2e2' , '#4f3598' , 254 , 56 , 'bold' ]) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/laederon.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/laederon.vim new file mode 100644 index 0000000..0c714d9 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/laederon.vim @@ -0,0 +1,87 @@ +" vim-airline companion theme of Laederon +" (https://github.com/Donearm/Laederon) +" +" Author: Gianluca fiore +" Version: 1.12 +" License: MIT + +" Normal mode +" +let s:N1 = [ '#081c8c' , '#f8f6f2','18','15'] +let s:N2 = [ '#1693a5' , '#f8f6f2','62','15'] +let s:N3 = [ '#90a680' , '#2e2d2a' , 64, 235 ] +let s:N4 = [ '#081c8c' , 18 ] + +" Insert mode +let s:I1 = [ '#f8f6f2', '#ab3e5b','15','161'] +let s:I2 = [ '#242321', '#ab3e5b','235','161'] +let s:I3 = [ '#1693a5', '#f8f6f2', '62', '15'] +let s:I4 = [ '#1693a5' , 62 ] + +" Visual mode +let s:V1 = [ '#005f00', '#f8f6f2','22','15'] +let s:V2 = [ '#f8f6f2', '#005f00','15','22'] +let s:V3 = [ '#594512', '#f8f6f2','64','15'] +let s:V4 = [ '#594512' , 64 ] + +" Replace mode +let s:R1 = [ '#90a680' , '#f8f6f2','66','15'] +let s:R2 = [ '#90a680' , '#242321','66','235'] +let s:R3 = [ '#f8f6f2' , '#90a680','15','66'] +let s:R4 = [ '#90a680' , 66 ] + +" Paste mode +let s:PA = [ '#ab3e5d' , 161 ] + +" Info modified +let s:IM = [ '#242321' , 235 ] + +" Inactive mode +let s:IA = [ s:N2[1], s:N3[1], s:N2[3], s:N3[3], '' ] + +let g:airline#themes#laederon#palette = {} + +let g:airline#themes#laederon#palette.accents = { + \ 'red': [ '#ef393d' , '' , 196 , '' , '' ], + \ } + +let g:airline#themes#laederon#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#laederon#palette.normal_modified = { + \ 'airline_a': [ s:N1[0] , s:N4[0] , s:N1[2] , s:N4[1] , '' ] , + \ 'airline_b': [ s:N4[0] , s:IM[0] , s:N4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:N4[0] , s:N3[1] , s:N4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#laederon#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#laederon#palette.insert_modified = { + \ 'airline_a': [ s:I1[0] , s:I4[0] , s:I1[2] , s:I4[1] , '' ] , + \ 'airline_b': [ s:I4[0] , s:IM[0] , s:I4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:I4[0] , s:N3[1] , s:I4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#laederon#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#laederon#palette.visual_modified = { + \ 'airline_a': [ s:V1[0] , s:V4[0] , s:V1[2] , s:V4[1] , '' ] , + \ 'airline_b': [ s:V4[0] , s:IM[0] , s:V4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:V4[0] , s:N3[1] , s:V4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#laederon#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#laederon#palette.replace_modified = { + \ 'airline_a': [ s:R1[0] , s:R4[0] , s:R1[2] , s:R4[1] , '' ] , + \ 'airline_b': [ s:R4[0] , s:IM[0] , s:R4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:R4[0] , s:N3[1] , s:R4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#laederon#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] , + \ 'airline_b': [ s:PA[0] , s:IM[0] , s:PA[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:PA[0] , s:N3[1] , s:PA[1] , s:N3[3] , '' ] } + + +let g:airline#themes#laederon#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#laederon#palette.inactive_modified = { + \ 'airline_c': [ s:N4[0] , '' , s:N4[1] , '' , '' ] } + + + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/lessnoise.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/lessnoise.vim new file mode 100644 index 0000000..1a3913f --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/lessnoise.vim @@ -0,0 +1,182 @@ +" vim: et:ts=2:sts:sw=2 +" Author: @bekcpear +" https://gist.github.com/bekcpear/41fb86e0817dfb6620b757daf1e2aab0 + +scriptencoding utf-8 + +let g:airline#themes#lessnoise#palette = {} +"" +" Statusline sections: |a|b|c -- x|y|z|others +" COLOR DEFINE +let s:rac = ['#D75F5F', 167] " red accent fg +let s:nfg = ['#121212', 233] " normal fg; for a section +let s:ifg = s:nfg " insert fg; for a section +let s:rfg = s:nfg " replace fg; for a section +let s:vfg = s:nfg " visual fg; for a&z sections +let s:cfg = s:nfg " commandline fg; for all sections +let s:nbg = ['#AFFFFF', 159] " normal bg; for a section +let s:ibg = ['#FFAFD7', 218] " insert bg; for a section +let s:rbg = ['#FF5F5F', 203] " replace bg; for a section +let s:vbg = ['#FFFFAF', 229] " visual bg; for a&z sections +let s:cbg = ['#AFFFFF', 159] " commandline bg; for all sections + +let s:fg = ['#6C6C6C', 242] " other fg +let s:bg = ['#303030', 236] " other bg + +" tabline colors defined below + +let s:palt = { + \ 'airline_a': [ s:nfg[0], s:nbg[0], s:nfg[1], s:nbg[1], 'bold' ], + \ 'airline_b': [ '#EEEEEE', s:bg[0], 255, s:bg[1], 'NONE' ], + \ 'airline_c': [ '#9E9E9E', s:bg[0], 247, s:bg[1], 'italic' ], + \ 'airline_x': [ s:fg[0], s:bg[0], s:fg[1], s:bg[1], 'NONE' ], + \ 'airline_y': [ s:fg[0], s:bg[0], s:fg[1], s:bg[1], 'NONE' ], + \ 'airline_z': [ s:fg[0], s:bg[0], s:fg[1], s:bg[1], 'NONE' ] + \ } +let s:palt_m = { + \ 'airline_c': [ '#B2B2B2', s:bg[0], 249, s:bg[1], 'italic' ], + \ } +" get around vim-airline issue#2298 +" https://github.com/vim-airline/vim-airline/issues/2298 + if has('gui_running') + let s:palt.airline_y[2] = s:bg[1] + else + let s:palt.airline_y[0] = s:bg[0] + endif + +"" +" NORMAL +let g:airline#themes#lessnoise#palette.normal = s:palt +let g:airline#themes#lessnoise#palette.normal_modified = s:palt_m + +"" +" INSERT +let s:palt_i = deepcopy(s:palt) +let s:palt_i_m = deepcopy(s:palt_m) + +let s:palt_i.airline_a[0] = s:ifg[0] +let s:palt_i.airline_a[2] = s:ifg[1] +let s:palt_i.airline_a[1] = s:ibg[0] +let s:palt_i.airline_a[3] = s:ibg[1] + +let g:airline#themes#lessnoise#palette.insert = s:palt_i +let g:airline#themes#lessnoise#palette.insert_modified = s:palt_i_m + "let g:airline#themes#lessnoise#palette.insert_paste = {} + +"" +" TERMINAL +let g:airline#themes#lessnoise#palette.terminal = s:palt + +"" +" REPLACE +let s:palt_r = deepcopy(s:palt) +let s:palt_r_m = deepcopy(s:palt_m) + +let s:palt_r.airline_a[0] = s:rfg[0] +let s:palt_r.airline_a[2] = s:rfg[1] +let s:palt_r.airline_a[1] = s:rbg[0] +let s:palt_r.airline_a[3] = s:rbg[1] + +let g:airline#themes#lessnoise#palette.replace = s:palt_r +let g:airline#themes#lessnoise#palette.replace_modified = s:palt_r_m + +" +" VISUAL +let s:palt_v = deepcopy(s:palt) +let s:palt_v_m = deepcopy(s:palt_m) + +let s:palt_v.airline_a[0] = s:vfg[0] +let s:palt_v.airline_a[2] = s:vfg[1] +let s:palt_v.airline_a[1] = s:vbg[0] +let s:palt_v.airline_a[3] = s:vbg[1] +let s:palt_v.airline_z[0] = s:vfg[0] +let s:palt_v.airline_z[2] = s:vfg[1] +let s:palt_v.airline_z[1] = s:vbg[0] +let s:palt_v.airline_z[3] = s:vbg[1] + +let g:airline#themes#lessnoise#palette.visual = s:palt_v +let g:airline#themes#lessnoise#palette.visual_modified = s:palt_v_m + +" +" INACTIVE +let s:palt_d = deepcopy(s:palt) +let s:palt_d_m = deepcopy(s:palt_m) + +let s:palt_d.airline_a[0] = s:fg[0] +let s:palt_d.airline_a[1] = s:bg[0] +let s:palt_d.airline_a[2] = s:fg[1] +let s:palt_d.airline_a[3] = s:bg[1] +let s:palt_d.airline_b[0] = s:fg[0] +let s:palt_d.airline_b[2] = s:fg[1] +let s:palt_d.airline_c[0] = s:fg[0] +let s:palt_d.airline_c[2] = s:fg[1] +let s:palt_d.airline_c[4] = 'NONE' + +let g:airline#themes#lessnoise#palette.inactive = s:palt_d +let g:airline#themes#lessnoise#palette.inactive_modified = s:palt_d_m + +" +" COMMANDLINE +let s:palt_c = deepcopy(s:palt) + +for pk in keys(s:palt_c) + let s:palt_c[pk][0] = s:cfg[0] + let s:palt_c[pk][2] = s:cfg[1] + let s:palt_c[pk][1] = s:cbg[0] + let s:palt_c[pk][3] = s:cbg[1] +endfor +" get around vim-airline issue#2298 +" https://github.com/vim-airline/vim-airline/issues/2298 + if has('gui_running') + let s:palt_c.airline_b[2] = s:cbg[1] + let s:palt_c.airline_y[2] = s:cbg[1] + else + let s:palt_c.airline_b[0] = s:cbg[0] + let s:palt_c.airline_y[0] = s:cbg[0] + endif + +let g:airline#themes#lessnoise#palette.commandline = s:palt_c + +" +" READONLY Accent, red +let g:airline#themes#lessnoise#palette.accents = { + \ 'red': [s:rac[0], '', s:rac[1], ''] + \ } + +" +" TABLINE +let s:atbg = ['#080808', 232] +let s:atl = ['#444444', s:atbg[0], 238, s:atbg[1], 'NONE'] +let s:ats = ['#D0D0D0', '#1C1C1C', 252, 234, 'NONE'] +let s:atf = s:atl +let s:at = deepcopy(s:atl) +let s:at[0] = '#6C6C6C' +let s:at[2] = 242 +let s:atm = deepcopy(s:ats) +let s:atu = deepcopy(s:at) +let s:atm[4] = 'italic,bold' +let s:atu[4] = 'italic,bold' " according to issue#2298, this attribute may be invalid +let g:airline#themes#lessnoise#palette.tabline = { + \ 'airline_tablabel' : s:atl, + \ 'airline_tab' : s:at, + \ 'airline_tabsel' : s:ats, + \ 'airline_tabfill' : s:atf, + \ 'airline_tabmod' : s:atm, + \ 'airline_tabhid' : s:at, + \ 'airline_tabmod_unsel' : s:atu, + \ 'airline_tab_right' : s:at, + \ 'airline_tabsel_right' : s:ats, + \ 'airline_tabfill_right' : s:atf, + \ 'airline_tabmod_right' : s:atm, + \ 'airline_tabhid_right' : s:at, + \ 'airline_tabmod_unsel_right': s:atu + \ } + +" +" CtrlP +if get(g:, 'loaded_ctrlp', 0) + let g:airline#themes#lessnoise#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#AFD7FF', '#5F87FF', 153, 69, 'NONE'], + \ [ '#FFFFFF', '#87AFFF', 231, 111, 'NONE'], + \ [ '#5F87FF', '#FFFFFF', 69, 231, 'bold']) +endif diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/light.vim new file mode 100644 index 0000000..d9fe844 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/light.vim @@ -0,0 +1,45 @@ +let g:airline#themes#light#palette = {} + +let s:N1 = [ '#ffffff' , '#005fff' , 255 , 27 ] +let s:N2 = [ '#000087' , '#00dfff' , 18 , 45 ] +let s:N3 = [ '#005fff' , '#afffff' , 27 , 159 ] +let g:airline#themes#light#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#light#palette.normal_modified = { + \ 'airline_c': [ '#df0000' , '#ffdfdf' , 160 , 224 , '' ] , + \ } + + +let s:I1 = [ '#ffffff' , '#00875f' , 255 , 29 ] +let s:I2 = [ '#005f00' , '#00df87' , 22 , 42 ] +let s:I3 = [ '#005f5f' , '#afff87' , 23 , 156 ] +let g:airline#themes#light#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#light#palette.insert_modified = { + \ 'airline_c': [ '#df0000' , '#ffdfdf' , 160 , 224 , '' ] , + \ } +let g:airline#themes#light#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , '#d78700' , s:I1[2] , 172 , '' ] , + \ } + + +let g:airline#themes#light#palette.replace = copy(g:airline#themes#light#palette.insert) +let g:airline#themes#light#palette.replace.airline_a = [ s:I2[0] , '#ff0000' , s:I1[2] , 196 , '' ] +let g:airline#themes#light#palette.replace_modified = g:airline#themes#light#palette.insert_modified + + +let s:V1 = [ '#ffffff' , '#ff5f00' , 255 , 202 ] +let s:V2 = [ '#5f0000' , '#ffaf00' , 52 , 214 ] +let s:V3 = [ '#df5f00' , '#ffff87' , 166 , 228 ] +let g:airline#themes#light#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#light#palette.visual_modified = { + \ 'airline_c': [ '#df0000' , '#ffdfdf' , 160 , 224 , '' ] , + \ } + + +let s:IA1 = [ '#666666' , '#b2b2b2' , 242 , 249 , '' ] +let s:IA2 = [ '#8a8a8a' , '#d0d0d0' , 245 , 252 , '' ] +let s:IA3 = [ '#a8a8a8' , '#ffffff' , 248 , 255 , '' ] +let g:airline#themes#light#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) +let g:airline#themes#light#palette.inactive_modified = { + \ 'airline_c': [ '#df0000' , '' , 160 , '' , '' ] , + \ } + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/lighthaus.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/lighthaus.vim new file mode 100644 index 0000000..f3cbf79 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/lighthaus.vim @@ -0,0 +1,132 @@ +" Lighthaus Color theme for Vim Airline +" GIT: https://github.com/lighthaus-theme/vim +" Author: Adhiraj Sirohi (https://github.com/brutuski) +" Vasundhara Sharma (https://github.com/vasundhasauras) + +" Copyright © 2020-Present Lighthaus Theme +" Copyright © 2020-Present Adhiraj Sirohi +" Copyright © 2020-Present Vasundhara Sharma + + +let s:lighthaus_vim_v='1.0.2' + + +" COLOR PALETTE + +let s:lh_gui1='#21252D' +let s:lh_gui2='#00BFA4' +let s:lh_gui3='#FFFADE' +let s:lh_gui4='#090B26' +let s:lh_gui5='#50C16E' +let s:lh_gui6='#ED722E' +let s:lh_gui7='#FF5050' +let s:lh_gui8='#CCCCCC' +let s:lh_gui9='#FC2929' +let s:lh_gui10='#D68EB2' +let s:lh_gui11='#E25600' +let s:lh_gui12='#FF4D00' +let s:lh_gui13='#FFFF00' + + +let s:lh_cterm1='234' +let s:lh_cterm2='43' +let s:lh_cterm3='230' +let s:lh_cterm4='233' +let s:lh_cterm5='71' +let s:lh_cterm6='208' +let s:lh_cterm7='203' +let s:lh_cterm8='188' +let s:lh_cterm9='196' +let s:lh_cterm10='175' +let s:lh_cterm11='166' +let s:lh_cterm12='202' +let s:lh_cterm13='226' + +let g:airline#themes#lighthaus#palette = {} + + +" NORMAL MODE +let s:N1 = [ s:lh_gui1 , s:lh_gui2 , s:lh_cterm1, s:lh_cterm2 ] +let s:N2 = [ s:lh_gui3 , s:lh_gui4 , s:lh_cterm3, s:lh_cterm4 ] +let s:N3 = [ s:lh_gui2 , s:lh_gui1 , s:lh_cterm2, s:lh_cterm1 ] +let g:airline#themes#lighthaus#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + + +" INSERT MODE +let s:I1 = [ s:lh_gui1 , s:lh_gui5 , s:lh_cterm1, s:lh_cterm5 ] +let s:I2 = [ s:lh_gui3 , s:lh_gui4 , s:lh_cterm3, s:lh_cterm4 ] +let s:I3 = [ s:lh_gui5 , s:lh_gui1 , s:lh_cterm5, s:lh_cterm1 ] +let g:airline#themes#lighthaus#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + + +" VISUAL MODE +let s:V1 = [ s:lh_gui1 , s:lh_gui6 , s:lh_cterm1, s:lh_cterm6 ] +let s:V2 = [ s:lh_gui3 , s:lh_gui4 , s:lh_cterm3, s:lh_cterm4 ] +let s:V3 = [ s:lh_gui6 , s:lh_gui1 , s:lh_cterm6, s:lh_cterm1 ] +let g:airline#themes#lighthaus#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + + +" REPLACE MODE +let s:R1 = [ s:lh_gui1 , s:lh_gui7 , s:lh_cterm1, s:lh_cterm7 ] +let s:R2 = [ s:lh_gui3 , s:lh_gui4 , s:lh_cterm3, s:lh_cterm4 ] +let s:R3 = [ s:lh_gui7 , s:lh_gui1 , s:lh_cterm7, s:lh_cterm1 ] +let g:airline#themes#lighthaus#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + + +" INACTIVE MODE +let s:IN1 = [ s:lh_gui8 , s:lh_gui1 , s:lh_cterm8, s:lh_cterm1 ] +let s:IN2 = [ s:lh_gui8 , s:lh_gui1 , s:lh_cterm8, s:lh_cterm1 ] +let s:IN3 = [ s:lh_gui8 , s:lh_gui1 , s:lh_cterm8, s:lh_cterm1 ] +let g:airline#themes#lighthaus#palette.inactive = airline#themes#generate_color_map(s:IN1, s:IN2, s:IN3) + + +" ACCENTS +let g:airline#themes#lighthaus#palette.accents = { + \ 'red': [ s:lh_gui9 , '' , s:lh_cterm9 , '' ] + \ } + + +" WARNING +let g:airline#themes#lighthaus#palette.normal_modified = { + \ 'airline_c': [ s:lh_gui10 , s:lh_gui1 , s:lh_cterm10 , s:lh_cterm1 , '' ] , + \ } + +let g:airline#themes#lighthaus#palette.insert_modified = { + \ 'airline_c': [ s:lh_gui11 , s:lh_gui1 , s:lh_cterm11 , s:lh_cterm1 , '' ] , + \ } + +let g:airline#themes#lighthaus#palette.visual_modified = { + \ 'airline_c': [ s:lh_gui12 , s:lh_gui1 , s:lh_cterm12 , s:lh_cterm1 , '' ] , + \ } + +let g:airline#themes#lighthaus#palette.replace_modified = { + \ 'airline_c': [ s:lh_gui13 , s:lh_gui1 , s:lh_cterm13 , s:lh_cterm1 , '' ] , + \ } + + +" ERROR +let g:airline#themes#lighthaus#palette.normal_error = { + \ 'airline_c': [ s:lh_gui9 , s:lh_gui1 , s:lh_cterm9 , s:lh_cterm1 , '' ] , + \ } + +let g:airline#themes#lighthaus#palette.insert_error = { + \ 'airline_c': [ s:lh_gui9 , s:lh_gui1 , s:lh_cterm9 , s:lh_cterm1 , '' ] , + \ } + + +" SETTINGS +let g:airline_symbols.paste = 'P' +let g:airline_symbols.spell = 'S' +let g:airline_section_z = airline#section#create(['%1p%% — ', + \ '%l%#__restore__#', ':%c']) + + +" CtrlP +if !get(g:, 'loaded_ctrlp', 0) + finish +endif + +let s:CP1 = [ s:lh_gui1 , s:lh_gui7 , s:lh_cterm1, s:lh_cterm7 ] +let s:CP2 = [ s:lh_gui1 , s:lh_gui2 , s:lh_cterm1, s:lh_cterm2 ] +let s:CP3 = [ s:lh_gui1 , s:lh_gui5 , s:lh_cterm1, s:lh_cterm5 ] +let g:airline#themes#lighthaus#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(s:CP1, s:CP2, s:CP3) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/lucius.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/lucius.vim new file mode 100644 index 0000000..9cb4d07 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/lucius.vim @@ -0,0 +1,71 @@ +let g:airline#themes#lucius#palette = {} + +function! airline#themes#lucius#refresh() + + let s:N1 = airline#themes#get_highlight('StatusLine') + let s:N2 = airline#themes#get_highlight('Folded') + let s:N3 = airline#themes#get_highlight('CursorLine') + let g:airline#themes#lucius#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + + let modified_group = airline#themes#get_highlight('Statement') + let g:airline#themes#lucius#palette.normal_modified = { + \ 'airline_c': [modified_group[0], '', modified_group[2], '', ''] + \ } + + let warning_group = airline#themes#get_highlight('DiffChange') + let g:airline#themes#lucius#palette.normal.airline_warning = warning_group + let g:airline#themes#lucius#palette.normal_modified.airline_warning = warning_group + + let error_group = airline#themes#get_highlight('DiffDelete') + let g:airline#themes#lucius#palette.normal.airline_error = error_group + let g:airline#themes#lucius#palette.normal_modified.airline_error = error_group + + let s:I1 = airline#themes#get_highlight('DiffAdd') + let s:I2 = s:N2 + let s:I3 = s:N3 + let g:airline#themes#lucius#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + let g:airline#themes#lucius#palette.insert_modified = g:airline#themes#lucius#palette.normal_modified + let g:airline#themes#lucius#palette.insert.airline_warning = g:airline#themes#lucius#palette.normal.airline_warning + let g:airline#themes#lucius#palette.insert_modified.airline_warning = g:airline#themes#lucius#palette.normal_modified.airline_warning + let g:airline#themes#lucius#palette.insert.airline_error = g:airline#themes#lucius#palette.normal.airline_error + let g:airline#themes#lucius#palette.insert_modified.airline_error = g:airline#themes#lucius#palette.normal_modified.airline_error + + let s:R1 = airline#themes#get_highlight('DiffChange') + let s:R2 = s:N2 + let s:R3 = s:N3 + let g:airline#themes#lucius#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + let g:airline#themes#lucius#palette.replace_modified = g:airline#themes#lucius#palette.normal_modified + let g:airline#themes#lucius#palette.replace.airline_warning = g:airline#themes#lucius#palette.normal.airline_warning + let g:airline#themes#lucius#palette.replace_modified.airline_warning = g:airline#themes#lucius#palette.normal_modified.airline_warning + let g:airline#themes#lucius#palette.replace.airline_error = g:airline#themes#lucius#palette.normal.airline_error + let g:airline#themes#lucius#palette.replace_modified.airline_error = g:airline#themes#lucius#palette.normal_modified.airline_error + + let s:V1 = airline#themes#get_highlight('Cursor') + let s:V2 = s:N2 + let s:V3 = s:N3 + let g:airline#themes#lucius#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + let g:airline#themes#lucius#palette.visual_modified = g:airline#themes#lucius#palette.normal_modified + let g:airline#themes#lucius#palette.visual.airline_warning = g:airline#themes#lucius#palette.normal.airline_warning + let g:airline#themes#lucius#palette.visual_modified.airline_warning = g:airline#themes#lucius#palette.normal_modified.airline_warning + let g:airline#themes#lucius#palette.visual.airline_error = g:airline#themes#lucius#palette.normal.airline_error + let g:airline#themes#lucius#palette.visual_modified.airline_error = g:airline#themes#lucius#palette.normal_modified.airline_error + + let s:IA = airline#themes#get_highlight('StatusLineNC') + let g:airline#themes#lucius#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) + let g:airline#themes#lucius#palette.inactive_modified = { + \ 'airline_c': [ modified_group[0], '', modified_group[2], '', '' ] + \ } + + let g:airline#themes#lucius#palette.accents = { + \ 'red': airline#themes#get_highlight('Constant'), + \ } + + " Extra tabline colors + let s:TS = airline#themes#get_highlight('TabLineSel') + let g:airline#themes#lucius#palette.tabline = {} + let g:airline#themes#lucius#palette.tabline.airline_tabsel = s:TS + let g:airline#themes#lucius#palette.tabline.airline_tabsel_right = s:TS + +endfunction + +call airline#themes#lucius#refresh() diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/luna.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/luna.vim new file mode 100644 index 0000000..879d862 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/luna.vim @@ -0,0 +1,92 @@ +" vim-airline companion theme of Luna +" (https://github.com/Pychimp/vim-luna) + +let g:airline#themes#luna#palette = {} + +let g:airline#themes#luna#palette.accents = { + \ 'red': [ '#ffffff' , '' , 231 , '' , '' ], + \ } + + +let s:N1 = [ '#ffffff' , '#005252' , 231 , 36 ] +let s:N2 = [ '#ffffff' , '#003f3f' , 231 , 29 ] +let s:N3 = [ '#ffffff' , '#002b2b' , 231 , 23 ] +let g:airline#themes#luna#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#luna#palette.normal_modified = { + \ 'airline_c': [ '#ffffff' , '#450000' , 231 , 52 , '' ] , + \ } + + +let s:I1 = [ '#ffffff' , '#789f00' , 231 , 106 ] +let s:I2 = [ '#ffffff' , '#003f3f' , 231 , 29 ] +let s:I3 = [ '#ffffff' , '#002b2b' , 231 , 23 ] +let g:airline#themes#luna#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#luna#palette.insert_modified = { + \ 'airline_c': [ '#ffffff' , '#005e5e' , 255 , 52 , '' ] , + \ } +let g:airline#themes#luna#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , '#789f00' , s:I1[2] , 106 , '' ] , + \ } + + +let g:airline#themes#luna#palette.replace = copy(g:airline#themes#luna#palette.insert) +let g:airline#themes#luna#palette.replace.airline_a = [ s:I2[0] , '#920000' , s:I2[2] , 88 , '' ] +let g:airline#themes#luna#palette.replace_modified = g:airline#themes#luna#palette.insert_modified + +let s:V1 = [ '#ffff9a' , '#ff8036' , 222 , 208 ] +let s:V2 = [ '#ffffff' , '#003f3f' , 231 , 29 ] +let s:V3 = [ '#ffffff' , '#002b2b' , 231 , 23 ] +let g:airline#themes#luna#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#luna#palette.visual_modified = { + \ 'airline_c': [ '#ffffff' , '#450000' , 231 , 52 , '' ] , + \ } + +let s:IA = [ '#4e4e4e' , '#002b2b' , 59 , 23 , '' ] +let g:airline#themes#luna#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#luna#palette.inactive_modified = { + \ 'airline_c': [ '#e20000' , '' , 166 , '' , '' ] , + \ } + +let g:airline#themes#luna#palette.tabline = { + \ 'airline_tab': ['#2aa198', '#003f3f', 231, 29, ''], + \ 'airline_tabsel': ['#ffffff', '#2e8b57', 231, 36, ''], + \ 'airline_tabtype': ['#ffffff', '#005252', 231, 36, ''], + \ 'airline_tabfill': ['#ffffff', '#002b2b', 231, 23, ''], + \ 'airline_tabmod': ['#ffffff', '#780000', 231, 88, ''], + \ } + +let s:WI = [ '#ffffff', '#5f0000', 231, 88 ] +let g:airline#themes#luna#palette.normal.airline_warning = [ + \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] + \ ] + +let g:airline#themes#luna#palette.normal_modified.airline_warning = + \ g:airline#themes#luna#palette.normal.airline_warning + +let g:airline#themes#luna#palette.insert.airline_warning = + \ g:airline#themes#luna#palette.normal.airline_warning + +let g:airline#themes#luna#palette.insert_modified.airline_warning = + \ g:airline#themes#luna#palette.normal.airline_warning + +let g:airline#themes#luna#palette.visual.airline_warning = + \ g:airline#themes#luna#palette.normal.airline_warning + +let g:airline#themes#luna#palette.visual_modified.airline_warning = + \ g:airline#themes#luna#palette.normal.airline_warning + +let g:airline#themes#luna#palette.replace.airline_warning = + \ g:airline#themes#luna#palette.normal.airline_warning + +let g:airline#themes#luna#palette.replace_modified.airline_warning = + \ g:airline#themes#luna#palette.normal.airline_warning + + +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#luna#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#ffffff' , '#002b2b' , 231 , 23 , '' ] , + \ [ '#ffffff' , '#005252' , 231 , 36 , '' ] , + \ [ '#ffffff' , '#973d45' , 231 , 95 , '' ] ) + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/minimalist.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/minimalist.vim new file mode 100644 index 0000000..74abe3c --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/minimalist.vim @@ -0,0 +1,81 @@ +" Minimalist Airline - A Material Color Scheme +" +" Author: Diki Ananta +" Repository: https://github.com/dikiaap/minimalist +" Version: 2.0 +" License: MIT + +let s:theme = 'minimalist' + +" To highlight when the buffer is modified: +" let g:airline_minimalist_showmod = 1 +let s:want_showmod = get(g:, 'airline_minimalist_showmod', 0) + +function! airline#themes#{s:theme}#refresh() + if &background == "dark" + " Normal + let N1 = [ '#E4E4E4', '#3A3A3A', 254, 237 ] + let N2 = [ '#E4E4E4', '#4E4E4E', 254, 239 ] + let N3 = [ '#EEEEEE', '#262626', 255, 235 ] + + " Inactive + let IA = [ '#666666', N3[1], 242, N3[3] ] + + " Error + let ER = [ '#1C1C1C', '#D75F5F', 234, 167 ] + + " Warning + let WI = [ ER[0], '#FFAF5F', ER[2], 215 ] + else + " Normal + let N1 = [ 'gray30', 'gray70', 235, 249 ] + let N2 = [ 'gray20', 'gray60', 233, 246 ] + let N3 = [ 'gray20', 'gray80', 233, 251 ] + + " Inactive + let IA = [ 'gray15', N3[1], 244, N3[3] ] + + " Error + let ER = [ '#1C1C1C', '#D75F5F', 234, 167 ] + + " Warning + let WI = [ ER[0], '#FFAF5F', ER[2], 215 ] + endif + + " Terminal + let TE = [ ER[0], N1[1], N1[2], N1[3] ] + + " Reverse + let NR = [ N2[1], N2[0], N2[3], N2[2], 'bold' ] + + + let palette = {} + + let palette.normal = airline#themes#generate_color_map(N1, N2, N3) + let palette.normal.airline_error = ER + let palette.normal.airline_warning = WI + let palette.normal.airline_term = TE + + let palette.insert = palette.normal + let palette.replace = palette.normal + let palette.visual = palette.normal + let palette.inactive = airline#themes#generate_color_map(IA, IA, IA) + + if s:want_showmod + let palette.normal_modified = { 'airline_a': NR, 'airline_z': NR } + endif + + " Accents + let palette.accents = { + \ 'red': [ ER[1], '', ER[3], '' ] + \ } + + " CtrlP + if get(g:, 'loaded_ctrlp', 0) + let palette.ctrlp = airline#extensions#ctrlp#generate_color_map(N3, N2, NR) + endif + + let g:airline#themes#{s:theme}#palette = palette +endfunction + +call airline#themes#{s:theme}#refresh() diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/molokai.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/molokai.vim new file mode 100644 index 0000000..5c3b820 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/molokai.vim @@ -0,0 +1,76 @@ +let g:airline#themes#molokai#palette = {} +let g:airline#themes#molokai#palette.accents = { + \ 'red': [ '#66d9ef' , '' , 81 , '' , '' ], + \ } + +" Normal mode +let s:N1 = [ '#080808' , '#e6db74' , 232 , 144 ] " mode +if get(g:, 'airline_molokai_bright', 0) + let s:N2 = [ '#f8f8f0' , '#232526' , 253 , 208 ] " info +else + let s:N2 = [ '#f8f8f0' , '#232526' , 253 , 16 ] " info +endif +let s:N3 = [ '#f8f8f0' , '#465457' , 253 , 67 ] " statusline + +let g:airline#themes#molokai#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#molokai#palette.normal_modified = { + \ 'airline_c': [ '#080808' , '#e6db74' , 232 , 144 , '' ] , + \ } + +" Insert mode +let s:I1 = [ '#080808' , '#66d9ef' , 232 , 81 ] +if get(g:, 'airline_molokai_bright', 0) + let s:I2 = [ '#f8f8f0' , '#232526' , 253 , 208 ] +else + let s:I2 = [ '#f8f8f0' , '#232526' , 253 , 16 ] +endif +let s:I3 = [ '#f8f8f0' , '#465457' , 253 , 67 ] + +let g:airline#themes#molokai#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#molokai#palette.insert_modified = { + \ 'airline_c': [ '#080808' , '#66d9ef' , 232 , 81 , '' ] , + \ } + +" Replace mode +let s:R1 = [ '#080808' , '#f92672' , 232 , 161 ] +if get(g:, 'airline_molokai_bright', 0) + let s:R2 = [ '#f8f8f0' , '#232526' , 253 , 208 ] +else + let s:R2 = [ '#f8f8f0' , '#232526' , 253 , 16 ] +endif +let s:R3 = [ '#f8f8f0' , '#465457' , 253 , 67 ] + +let g:airline#themes#molokai#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#molokai#palette.replace_modified = { + \ 'airline_c': [ '#080808' , '#f92672' , 232 , 161 , '' ] , + \ } + +" Visual mode +let s:V1 = [ '#080808' , '#a6e22e' , 232 , 118 ] +if get(g:, 'airline_molokai_bright', 0) + let s:V2 = [ '#f8f8f0' , '#232526' , 253 , 208 ] +else + let s:V2 = [ '#f8f8f0' , '#232526' , 253 , 16 ] +endif +let s:V3 = [ '#f8f8f0' , '#465457' , 253 , 67 ] + +let g:airline#themes#molokai#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#molokai#palette.visual_modified = { + \ 'airline_c': [ '#080808' , '#a6e22e' , 232 , 118 , '' ] , + \ } + +" Inactive +let s:IA = [ '#1b1d1e' , '#465457' , 233 , 67 , '' ] +let g:airline#themes#molokai#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#molokai#palette.inactive_modified = { + \ 'airline_c': [ '#f8f8f0' , '' , 253 , '' , '' ] , + \ } + +" CtrlP +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#molokai#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#f8f8f0' , '#465457' , 253 , 67 , '' ] , + \ [ '#f8f8f0' , '#232526' , 253 , 16 , '' ] , + \ [ '#080808' , '#e6db74' , 232 , 144 , 'bold' ] ) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/monochrome.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/monochrome.vim new file mode 100644 index 0000000..3d8c2e9 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/monochrome.vim @@ -0,0 +1,18 @@ +let g:airline#themes#monochrome#palette = {} + +function! airline#themes#monochrome#refresh() + let s:SL = airline#themes#get_highlight('StatusLine') + let s:SLNC = airline#themes#get_highlight('StatusLineNC') + + let g:airline#themes#monochrome#palette.normal = airline#themes#generate_color_map(s:SL, s:SL, s:SL) + let g:airline#themes#monochrome#palette.insert = g:airline#themes#monochrome#palette.normal + let g:airline#themes#monochrome#palette.replace = g:airline#themes#monochrome#palette.normal + let g:airline#themes#monochrome#palette.visual = g:airline#themes#monochrome#palette.normal + let g:airline#themes#monochrome#palette.normal.airline_error = s:SLNC + let g:airline#themes#monochrome#palette.normal.airline_warning = s:SLNC + let g:airline#themes#monochrome#palette.normal.airline_term = s:SL + + let g:airline#themes#monochrome#palette.inactive = airline#themes#generate_color_map(s:SLNC, s:SLNC, s:SLNC) +endfunction + +call airline#themes#monochrome#refresh() diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/murmur.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/murmur.vim new file mode 100644 index 0000000..08e4757 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/murmur.vim @@ -0,0 +1,82 @@ +let g:airline#themes#murmur#palette = {} + +" Color palette +let s:cterm_termbg = 237 " Background for branch and file format blocks +let s:gui_termbg = '#5F5F5F' +let s:cterm_termfg = 144 " Foreground for branch and file format blocks +let s:gui_termfg = '#AFAF87' + +let s:cterm_termbg2 = 234 " Background for middle block +let s:gui_termbg2 = '#1C1C1C' +let s:cterm_termfg2 = 39 " Foreground for middle block +let s:gui_termfg2 = '#F5F5F5' + +let s:cterm_normalbg = 27 " Background for normal mode and file position blocks +let s:gui_normalbg = '#5F87FF' +let s:cterm_normalfg = 15 " Foreground for normal mode and file position blocks +let s:gui_normalfg = '#FFFFFF' + +let s:cterm_insertbg = 70 " Background for insert mode and file position blocks +let s:gui_insertbg = '#87AF5F' +let s:cterm_insertfg = 15 " Foreground for insert mode and file position blocks +let s:gui_insertfg = '#FFFFFF' + +let s:cterm_visualbg = 166 " Background for visual mode and file position blocks +let s:gui_visualbg = '#ff8c00' +let s:cterm_visualfg = 15 " Foreground for visual mode and file position blocks +let s:gui_visualfg = '#FFFFFF' + +let s:cterm_replacebg = 88 " Background for replace mode and file position blocks +let s:gui_replacebg = '#870000' +let s:cterm_replacefg = 15 " Foreground for replace mode and file position blocks +let s:gui_replacefg = '#FFFFFF' + +let s:cterm_alert = 88 " Modified file alert color +let s:gui_alert = '#870000' + +let s:cterm_inactivebg = 234 " Background for inactive mode +let s:gui_inactivebg = '#1C1C1C' +let s:cterm_inactivefg = 239 " Foreground for inactive mode +let s:gui_inactivefg = '#4E4E4E' + +" Branch and file format +let s:BB = [s:gui_termfg, s:gui_termbg, s:cterm_termfg, s:cterm_termbg] " Branch and file format blocks + +" Normal mode +let s:N1 = [s:gui_normalfg, s:gui_normalbg, s:cterm_normalfg, s:cterm_normalbg] " Outside blocks in normal mode +let s:N2 = [s:gui_termfg2, s:gui_termbg2, s:cterm_normalbg, s:cterm_termbg2] " Middle block +let g:airline#themes#murmur#palette.normal = airline#themes#generate_color_map(s:N1, s:BB, s:N2) +let g:airline#themes#murmur#palette.normal_modified = {'airline_c': [s:gui_alert, s:gui_termbg2, s:cterm_alert, s:cterm_termbg2, 'bold'] ,} + +" Insert mode +let s:I1 = [s:gui_insertfg, s:gui_insertbg, s:cterm_insertfg, s:cterm_insertbg] " Outside blocks in insert mode +let s:I2 = [s:gui_insertbg, s:gui_termbg2, s:cterm_insertbg, s:cterm_termbg2] " Middle block +let g:airline#themes#murmur#palette.insert = airline#themes#generate_color_map(s:I1, s:BB, s:I2) +let g:airline#themes#murmur#palette.insert_modified = {'airline_c': [s:gui_alert, s:gui_termbg2, s:cterm_alert, s:cterm_termbg2, 'bold'] ,} + +" Replace mode +let s:R1 = [s:gui_replacefg, s:gui_replacebg, s:cterm_replacefg, s:cterm_replacebg] " Outside blocks in replace mode +let s:R2 = [s:gui_termfg, s:gui_termbg2, s:cterm_termfg, s:cterm_termbg2] " Middle block +let g:airline#themes#murmur#palette.replace = airline#themes#generate_color_map(s:R1, s:BB, s:R2) +let g:airline#themes#murmur#palette.replace_modified = {'airline_c': [s:gui_alert, s:gui_termbg2, s:cterm_alert, s:cterm_termbg2, 'bold'] ,} + +" Visual mode +let s:V1 = [s:gui_visualfg, s:gui_visualbg, s:cterm_visualfg, s:cterm_visualbg] " Outside blocks in visual mode +let s:V2 = [s:gui_visualbg, s:gui_termbg2, s:cterm_visualbg, s:cterm_termbg2] " Middle block +let g:airline#themes#murmur#palette.visual = airline#themes#generate_color_map(s:V1, s:BB, s:V2) +let g:airline#themes#murmur#palette.visual_modified = {'airline_c': [s:gui_alert, s:gui_termbg2, s:cterm_alert, s:cterm_termbg2, 'bold'] ,} + +" Inactive mode +let s:IA1 = [s:gui_inactivefg, s:gui_inactivebg, s:cterm_inactivefg, s:cterm_inactivebg, ''] +let s:IA2 = [s:gui_inactivefg, s:gui_inactivebg, s:cterm_inactivefg, s:cterm_inactivebg, ''] +let s:IA3 = [s:gui_inactivefg, s:gui_inactivebg, s:cterm_inactivefg, s:cterm_inactivebg, ''] +let g:airline#themes#murmur#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + +" CtrlP plugin colors +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#murmur#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [s:gui_normalfg, s:gui_normalbg, s:cterm_normalfg, s:cterm_normalbg, ''], + \ [s:gui_termfg, s:gui_termbg, s:cterm_termfg, s:cterm_termbg, ''], + \ [s:gui_termfg2, s:gui_termbg2, s:cterm_termfg2, s:cterm_termbg2, 'bold']) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/night_owl.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/night_owl.vim new file mode 100644 index 0000000..7350f43 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/night_owl.vim @@ -0,0 +1,60 @@ +" Port/inspired from https://github.com/sdras/night-owl-vscode-theme +" Jared Ramirez + +let s:gui_black = "#282C34" +let s:cterm_black = 16 + +let s:gui_purple = "#C792EA" +let s:cterm_purple = 176 +let s:gui_purple_offset = "#9f74bb" +let s:cterm_purple_offset = 139 + +let s:gui_yellow = "#FFD787" +let s:cterm_yellow = 222 +let s:gui_yellow_offset = "#ccac6c" +let s:cterm_yellow_offset = 179 + +let s:gui_blue = "#81AAFF" +let s:cterm_blue = 111 +let s:gui_blue_offset = "#6788cc" +let s:cterm_blue_offset = 68 + +let s:gui_cyan = "#83DCC8" +let s:cterm_cyan = 116 +let s:gui_cyan_offset = "#68b0a0" +let s:cterm_cyan_offset = 73 + +let s:gui_green = "#AFD75F" +let s:cterm_green = 149 +let s:gui_green_offset = "#8cac4c" +let s:cterm_green_offset = 107 + +let s:gui_white = "#FFFFFF" +let s:cterm_white = 255 + +let g:airline#themes#night_owl#palette = {} + +let s:N1 = [ s:gui_black, s:gui_cyan, s:cterm_black, s:cterm_cyan ] +let s:N2 = [ s:gui_black, s:gui_cyan_offset, s:cterm_black, s:cterm_cyan_offset ] +let s:N3 = [ s:gui_cyan, s:gui_black, s:cterm_cyan, s:cterm_black ] +let g:airline#themes#night_owl#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui_black, s:gui_green, s:cterm_black, s:cterm_green ] +let s:I2 = [ s:gui_black, s:gui_green_offset, s:cterm_black, s:cterm_green_offset ] +let s:I3 = [ s:gui_green, s:gui_black, s:cterm_green, s:cterm_black ] +let g:airline#themes#night_owl#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:V1 = [ s:gui_black, s:gui_blue, s:cterm_black, s:cterm_blue ] +let s:V2 = [ s:gui_black, s:gui_blue_offset, s:cterm_black, s:cterm_blue_offset ] +let s:V3 = [ s:gui_blue, s:gui_black, s:cterm_blue, s:cterm_black ] +let g:airline#themes#night_owl#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:R1 = [ s:gui_black, s:gui_yellow, s:cterm_black, s:cterm_yellow ] +let s:R2 = [ s:gui_black, s:gui_yellow_offset, s:cterm_black, s:cterm_yellow_offset ] +let s:R3 = [ s:gui_yellow, s:gui_black, s:cterm_yellow, s:cterm_black ] +let g:airline#themes#night_owl#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:IA1 = [ s:gui_black, s:gui_purple, s:cterm_black, s:cterm_purple ] +let s:IA2 = [ s:gui_purple, s:gui_black, s:cterm_purple, s:cterm_black ] +let s:IA3 = [ s:gui_purple, s:gui_black, s:cterm_purple, s:cterm_black ] +let g:airline#themes#night_owl#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/nord_minimal.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/nord_minimal.vim new file mode 100644 index 0000000..4b60b92 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/nord_minimal.vim @@ -0,0 +1,60 @@ +let g:airline#themes#nord_minimal#palette = {} +let s:gui00 = '#2e3440' +let s:gui01 = '#3b4252' +let s:gui02 = '#434c5e' +let s:gui03 = '#4c566a' +let s:gui04 = '#d8dee9' +let s:gui05 = '#e5e9f0' +let s:gui06 = '#eceff4' +let s:gui07 = '#8fbcbb' +let s:gui08 = '#88c0d0' +let s:gui09 = '#81a1c1' +let s:gui0A = '#5e81ac' +let s:gui0B = '#bf616a' +let s:gui0C = '#d08770' +let s:gui0D = '#ebcb8b' +let s:gui0E = '#a3be8c' +let s:gui0F = '#b48ead' + +let s:cterm00 = 0 +let s:cterm01 = 0 +let s:cterm02 = 59 +let s:cterm03 = 102 +let s:cterm04 = 145 +let s:cterm05 = 188 +let s:cterm06 = 253 +let s:cterm07 = 15 +let s:cterm08 = 166 +let s:cterm09 = 203 +let s:cterm0A = 214 +let s:cterm0B = 29 +let s:cterm0C = 12 +let s:cterm0D = 12 +let s:cterm0E = 134 +let s:cterm0F = 12 + +let s:N1 = [ s:gui09, s:gui02, s:cterm09, s:cterm02 ] +let s:N2 = [ s:gui09, s:gui02, s:cterm09, s:cterm02 ] +let s:N3 = [ s:gui09, s:gui02, s:cterm09, s:cterm02 ] +let g:airline#themes#nord_minimal#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let s:I1 = [ s:gui09, s:gui02, s:cterm09, s:cterm02 ] +let s:I2 = [ s:gui09, s:gui02, s:cterm09, s:cterm02 ] +let s:I3 = [ s:gui09, s:gui02, s:cterm09, s:cterm02 ] +let g:airline#themes#nord_minimal#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + +let s:R1 = [ s:gui09, s:gui02, s:cterm09, s:cterm02 ] +let s:R2 = [ s:gui09, s:gui02, s:cterm09, s:cterm02 ] +let s:R3 = [ s:gui09, s:gui02, s:cterm09, s:cterm02 ] +let g:airline#themes#nord_minimal#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + +let s:V1 = [ s:gui09, s:gui02, s:cterm09, s:cterm02 ] +let s:V2 = [ s:gui09, s:gui02, s:cterm09, s:cterm02 ] +let s:V3 = [ s:gui09, s:gui02, s:cterm09, s:cterm02 ] +let g:airline#themes#nord_minimal#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + +let s:IA1 = [ s:gui09, s:gui02, s:cterm09, s:cterm02 ] +let s:IA2 = [ s:gui09, s:gui02, s:cterm09, s:cterm02 ] +let s:IA3 = [ s:gui09, s:gui02, s:cterm09, s:cterm02 ] +let g:airline#themes#nord_minimal#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/onedark.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/onedark.vim new file mode 100644 index 0000000..a552cdd --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/onedark.vim @@ -0,0 +1,129 @@ +" [onedark.vim](https://github.com/joshdick/onedark.vim/) + +" This is a [vim-airline](https://github.com/vim-airline/vim-airline) theme for use with +" the [onedark.vim](https://github.com/joshdick/onedark.vim) colorscheme. + +" It is based on vim-airline's ["tomorrow" theme](https://github.com/vim-airline/vim-airline-themes/blob/master/autoload/airline/themes/tomorrow.vim). +function! airline#themes#onedark#refresh() + + if get(g:, 'onedark_termcolors', 256) == 16 + let s:term_red = 1 + let s:term_green = 2 + let s:term_yellow = 3 + let s:term_blue = 4 + let s:term_purple = 5 + let s:term_white = 7 + let s:term_black = 0 + let s:term_grey = 8 + else + let s:term_red = 204 + let s:term_green = 114 + let s:term_yellow = 180 + let s:term_blue = 39 + let s:term_purple = 170 + let s:term_white = 145 + let s:term_black = 235 + let s:term_grey = 236 + endif + + let g:airline#themes#onedark#palette = {} + + let g:airline#themes#onedark#palette.accents = { + \ 'red': [ '#E06C75', '', s:term_red, 0 ] + \ } + + let s:N1 = [ '#282C34', '#98C379', s:term_black, s:term_green ] + let s:N2 = [ '#ABB2BF', '#3E4452', s:term_white, s:term_grey ] + let s:N3 = [ '#98C379', '#282C34', s:term_green, s:term_grey ] + let g:airline#themes#onedark#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + + let group = airline#themes#get_highlight('vimCommand') + let g:airline#themes#onedark#palette.normal_modified = { + \ 'airline_c': [ group[0], '', group[2], '', '' ] + \ } + + let s:I1 = [ '#282C34', '#61AFEF', s:term_black, s:term_blue ] + let s:I2 = s:N2 + let s:I3 = [ '#61AFEF', '#282C34', s:term_blue, s:term_grey ] + let g:airline#themes#onedark#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + let g:airline#themes#onedark#palette.insert_modified = g:airline#themes#onedark#palette.normal_modified + + let s:R1 = [ '#282C34', '#E06C75', s:term_black, s:term_red ] + let s:R2 = s:N2 + let s:R3 = [ '#E06C75', '#282C34', s:term_red, s:term_grey ] + let g:airline#themes#onedark#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + let g:airline#themes#onedark#palette.replace_modified = g:airline#themes#onedark#palette.normal_modified + + let s:V1 = [ '#282C34', '#C678DD', s:term_black, s:term_purple ] + let s:V2 = s:N2 + let s:V3 = [ '#C678DD', '#282C34', s:term_purple, '' ] + let g:airline#themes#onedark#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + let g:airline#themes#onedark#palette.visual_modified = g:airline#themes#onedark#palette.normal_modified + + let s:IA1 = [ '#282C34', '#ABB2BF', s:term_black, s:term_white ] + let s:IA2 = [ '#ABB2BF', '#3E4452', s:term_white, s:term_grey ] + let s:IA3 = s:N2 + let g:airline#themes#onedark#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) + let g:airline#themes#onedark#palette.inactive_modified = { + \ 'airline_c': [ group[0], '', group[2], '', '' ] + \ } + + " Warning/Error styling code from vim-airline's ["base16" theme](https://github.com/vim-airline/vim-airline-themes/blob/master/autoload/airline/themes/base16.vim) + + " Warnings + let s:WI = [ '#282C34', '#E5C07B', s:term_black, s:term_yellow ] + let g:airline#themes#onedark#palette.normal.airline_warning = [ + \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] + \ ] + + let g:airline#themes#onedark#palette.normal_modified.airline_warning = + \ g:airline#themes#onedark#palette.normal.airline_warning + + let g:airline#themes#onedark#palette.insert.airline_warning = + \ g:airline#themes#onedark#palette.normal.airline_warning + + let g:airline#themes#onedark#palette.insert_modified.airline_warning = + \ g:airline#themes#onedark#palette.normal.airline_warning + + let g:airline#themes#onedark#palette.visual.airline_warning = + \ g:airline#themes#onedark#palette.normal.airline_warning + + let g:airline#themes#onedark#palette.visual_modified.airline_warning = + \ g:airline#themes#onedark#palette.normal.airline_warning + + let g:airline#themes#onedark#palette.replace.airline_warning = + \ g:airline#themes#onedark#palette.normal.airline_warning + + let g:airline#themes#onedark#palette.replace_modified.airline_warning = + \ g:airline#themes#onedark#palette.normal.airline_warning + + " Errors + let s:ER = [ '#282C34', '#E06C75', s:term_black, s:term_red ] + let g:airline#themes#onedark#palette.normal.airline_error = [ + \ s:ER[0], s:ER[1], s:ER[2], s:ER[3] + \ ] + + let g:airline#themes#onedark#palette.normal_modified.airline_error = + \ g:airline#themes#onedark#palette.normal.airline_error + + let g:airline#themes#onedark#palette.insert.airline_error = + \ g:airline#themes#onedark#palette.normal.airline_error + + let g:airline#themes#onedark#palette.insert_modified.airline_error = + \ g:airline#themes#onedark#palette.normal.airline_error + + let g:airline#themes#onedark#palette.visual.airline_error = + \ g:airline#themes#onedark#palette.normal.airline_error + + let g:airline#themes#onedark#palette.visual_modified.airline_error = + \ g:airline#themes#onedark#palette.normal.airline_error + + let g:airline#themes#onedark#palette.replace.airline_error = + \ g:airline#themes#onedark#palette.normal.airline_error + + let g:airline#themes#onedark#palette.replace_modified.airline_error = + \ g:airline#themes#onedark#palette.normal.airline_error + +endfunction + +call airline#themes#onedark#refresh() diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/owo.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/owo.vim new file mode 100644 index 0000000..792a4c0 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/owo.vim @@ -0,0 +1,85 @@ +let s:gui_dark_gray = '#303030' +let s:cterm_dark_gray = 236 + +let s:gui_med_gray_hi = '#444444' +let s:cterm_med_gray_hi = 238 + +let s:gui_med_gray_lo = '#3a3a3a' +let s:cterm_med_gray_lo = 237 + +let s:gui_light_gray = '#b2b2b2' +let s:cterm_light_gray = 249 + +let s:gui_deep_green = '#5faf00' +let s:cterm_deep_green = 70 + +let s:gui_green = '#afd787' +let s:cterm_green = 150 + +let s:gui_light_blue = '#00afff' +let s:cterm_light_blue = 39 + +let s:gui_blue = '#87afd7' +let s:cterm_blue = 110 + +let s:gui_sky_blue = '#87afff' +let s:cterm_sky_blue = 111 + +let s:gui_purple = '#afafd7' +let s:cterm_purple = 146 + +let s:gui_orange = '#d7af5f' +let s:cterm_orange = 179 + +let s:gui_red = '#d78787' +let s:cterm_red = 174 + +let s:gui_pink = '#d7afd7' +let s:cterm_pink = 182 + +let g:airline#themes#owo#palette = {} + +" Normal mode +let s:N1 = [s:gui_dark_gray, '#87d7ff', s:cterm_dark_gray, 117] +let s:N2 = [s:gui_light_gray, s:gui_med_gray_lo, s:cterm_light_gray, s:cterm_med_gray_lo] +let s:N3 = ['#87d7ff', s:gui_med_gray_hi, 117, s:cterm_med_gray_hi] +let g:airline#themes#owo#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#owo#palette.normal_modified = { + \ 'airline_c': [s:gui_blue, s:gui_med_gray_hi, s:cterm_blue, s:cterm_med_gray_hi, ''], + \ } + +" Insert mode +let s:I1 = [s:gui_med_gray_hi, s:gui_blue, s:cterm_med_gray_hi, s:cterm_blue] +let s:I3 = [s:gui_blue, s:gui_med_gray_hi, s:cterm_blue, s:cterm_med_gray_hi] +let g:airline#themes#owo#palette.insert = airline#themes#generate_color_map(s:I1, s:N2, s:I3) +let g:airline#themes#owo#palette.insert_modified = copy(g:airline#themes#owo#palette.normal_modified) +let g:airline#themes#owo#palette.insert_paste = { + \ 'airline_a': [s:gui_dark_gray, s:gui_orange, s:cterm_dark_gray, s:cterm_orange, ''], + \ } + +" Replace mode +let g:airline#themes#owo#palette.replace = { + \ 'airline_a': [s:gui_dark_gray, '#8787ff', s:cterm_dark_gray, 105, ''], + \ 'airline_c': ['#8787ff', s:gui_med_gray_hi, 105, s:cterm_med_gray_hi, ''], + \ } +let g:airline#themes#owo#palette.replace_modified = copy(g:airline#themes#owo#palette.insert_modified) + +" Visual mode +let s:V1 = [s:gui_dark_gray, '#87d787', s:cterm_dark_gray, 114] +let s:V3 = ['#87d787', s:gui_med_gray_hi, 114, s:cterm_med_gray_hi] +let g:airline#themes#owo#palette.visual = airline#themes#generate_color_map(s:V1, s:N2, s:V3) +let g:airline#themes#owo#palette.visual_modified = copy(g:airline#themes#owo#palette.insert_modified) + +" Inactive window +let s:IA = [s:gui_light_gray, s:gui_med_gray_hi, s:cterm_light_gray, s:cterm_med_gray_hi, ''] +let g:airline#themes#owo#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#owo#palette.inactive_modified = copy(g:airline#themes#owo#palette.normal_modified) + +" CtrlP +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#owo#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ s:gui_orange, s:gui_med_gray_hi, s:cterm_orange, s:cterm_med_gray_hi, '' ] , + \ [ s:gui_orange, s:gui_med_gray_lo, s:cterm_orange, s:cterm_med_gray_lo, '' ] , + \ [ s:gui_dark_gray, s:gui_green, s:cterm_dark_gray, s:cterm_green, 'bold' ] ) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/papercolor.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/papercolor.vim new file mode 100644 index 0000000..a5d73ac --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/papercolor.vim @@ -0,0 +1,66 @@ +let g:airline#themes#papercolor#palette = {} + +let g:airline#themes#papercolor#palette.accents = { + \ 'red': [ '#66d9ef' , '' , 81 , '' , '' ], + \ } + +" Normal Mode: +let s:N1 = [ '#585858' , '#e4e4e4' , 240 , 254 ] " Mode +let s:N2 = [ '#e4e4e4' , '#0087af' , 254 , 31 ] " Info +let s:N3 = [ '#eeeeee' , '#005f87' , 255 , 24 ] " StatusLine + + +let g:airline#themes#papercolor#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#papercolor#palette.normal_modified = { + \ 'airline_c': [ '#eeeeee' , '#005f87' , 255 , 24 , '' ] , + \ } + + +" Insert Mode: +let s:I1 = [ '#585858' , '#e4e4e4' , 240 , 254 ] " Mode +let s:I2 = [ '#e4e4e4' , '#0087af' , 254 , 31 ] " Info +let s:I3 = [ '#eeeeee' , '#005f87' , 255 , 24 ] " StatusLine + + +let g:airline#themes#papercolor#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#papercolor#palette.insert_modified = { + \ 'airline_c': [ '#eeeeee' , '#005f87' , 255 , 24 , '' ] , + \ } + + +" Replace Mode: +let g:airline#themes#papercolor#palette.replace = copy(g:airline#themes#papercolor#palette.insert) +let g:airline#themes#papercolor#palette.replace.airline_a = [ '#d7005f' , '#e4e4e4' , 161 , 254, '' ] +let g:airline#themes#papercolor#palette.replace_modified = { + \ 'airline_c': [ '#eeeeee' , '#005f87' , 255 , 24 , '' ] , + \ } + + +" Visual Mode: +let s:V1 = [ '#005f87', '#e4e4e4', 24, 254 ] +let s:V2 = [ '', '#0087af', '', 31 ] +let s:V3 = [ '#e4e4e4', '#005f87', 254, 24 ] + +let g:airline#themes#papercolor#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#papercolor#palette.visual_modified = { + \ 'airline_c': [ '#e4e4e4', '#005f87', 254, 24 ] , + \ } + +" Inactive: +let s:IA = [ '#585858' , '#e4e4e4' , 240 , 254 , '' ] +let g:airline#themes#papercolor#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#papercolor#palette.inactive.airline_c = s:N2 +let g:airline#themes#papercolor#palette.inactive_modified = { + \ 'airline_c': [ '#585858' , '#e4e4e4' , 240 , 254 , '' ] , + \ } + + +" CtrlP: +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#papercolor#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#e4e4e4' , '#005f87' , 254 , 24 , '' ] , + \ [ '#e4e4e4' , '#0087af' , 254 , 31 , '' ] , + \ [ '#585858' , '#e4e4e4' , 240 , 254 , 'bold' ] ) + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/peaksea.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/peaksea.vim new file mode 100644 index 0000000..3ba5ff4 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/peaksea.vim @@ -0,0 +1,75 @@ +" peaksea Airline theme +" +" Author: Jonathan Dion +" Version: 1.0 +" License: MIT + +" Normal Mode +let s:N1 = [ '#3A3A3A' , '#C0D8F8' , 254 , 237 ] +let s:N2 = [ '#E4E4E4' , '#4E4E4E' , 254 , 239 ] +let s:N3 = [ '#EEEEEE' , '#262626' , 255 , 235 ] + +" Insert Mode +let s:I1 = [ '#3A3A3A' , '#60F080' , 254 , 237 ] +let s:I2 = [ '#E4E4E4' , '#4E4E4E' , 254 , 239 ] +let s:I3 = [ '#EEEEEE' , '#262626' , 255 , 235 ] + +" Visual Mode +let s:V1 = [ '#3A3A3A' , '#F0C0F0' , 254 , 237 ] +let s:V2 = [ '#E4E4E4' , '#4E4E4E' , 254 , 239 ] +let s:V3 = [ '#EEEEEE' , '#262626' , 255 , 235 ] + +" Replace Mode +let s:R1 = [ '#3A3A3A' , '#D0D090' , 254 , 237 ] +let s:R2 = [ '#E4E4E4' , '#4E4E4E' , 254 , 239 ] +let s:R3 = [ '#EEEEEE' , '#262626' , 255 , 235 ] + +" Inactive Mode +let s:IA = [ '#666666' , '#262626' , 242 , 235 , '' ] + +let g:airline#themes#peaksea#palette = {} +let g:airline#themes#peaksea#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#peaksea#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#peaksea#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#peaksea#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#peaksea#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) + +" Warning Mode +let s:WI = [ '#1C1C1C' , '#E0C060' , 234 , 215 , '' ] +let g:airline#themes#peaksea#palette.normal.airline_warning = [ + \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] + \ ] +let g:airline#themes#peaksea#palette.insert.airline_warning = g:airline#themes#peaksea#palette.normal.airline_warning +let g:airline#themes#peaksea#palette.visual.airline_warning = g:airline#themes#peaksea#palette.normal.airline_warning +let g:airline#themes#peaksea#palette.replace.airline_warning = g:airline#themes#peaksea#palette.normal.airline_warning + +" Error Mode +let s:ER = [ '#1C1C1C' , '' , 234 , 167 , '' ] +let g:airline#themes#peaksea#palette.normal.airline_error = [ + \ s:ER[0], s:ER[1], s:ER[2], s:ER[3] + \ ] +let g:airline#themes#peaksea#palette.insert.airline_error = g:airline#themes#peaksea#palette.normal.airline_error +let g:airline#themes#peaksea#palette.visual.airline_error = g:airline#themes#peaksea#palette.normal.airline_error +let g:airline#themes#peaksea#palette.replace.airline_error = g:airline#themes#peaksea#palette.normal.airline_error + +" Terminal +let s:TE = [ '#1C1C1C' , '#3A3A3A' , 254 , 237 , '' ] +let g:airline#themes#peaksea#palette.normal.airline_term = [ + \ s:TE[0], s:TE[1], s:TE[2], s:TE[3] + \ ] +let g:airline#themes#peaksea#palette.insert.airline_term = g:airline#themes#peaksea#palette.normal.airline_term +let g:airline#themes#peaksea#palette.visual.airline_term = g:airline#themes#peaksea#palette.normal.airline_term +let g:airline#themes#peaksea#palette.replace.airline_term = g:airline#themes#peaksea#palette.normal.airline_term + +" Accents +let g:airline#themes#peaksea#palette.accents = { + \ 'red': [ '#D75F5F' , '' , 167 , '' ] + \ } + +" CtrlP +if get(g:, 'loaded_ctrlp', 0) + let g:airline#themes#peaksea#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#E4E4E4' , '#262626' , 254 , 235 , '' ], + \ [ '#E4E4E4' , '#4E4E4E' , 254 , 239 , '' ], + \ [ '#585858' , '#E4E4E4' , 240 , 254 , 'bold' ]) +endif diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/powerlineish.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/powerlineish.vim new file mode 100644 index 0000000..3d3f6a0 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/powerlineish.vim @@ -0,0 +1,49 @@ +" Theme to mimic the default colorscheme of powerline +" Not 100% the same so it's powerline... ish. +" +" Differences from default powerline: +" * Paste indicator isn't colored different +" * Far right hand section matches the color of the mode indicator +" +" Differences from other airline themes: +" * No color differences when you're in a modified buffer +" * Visual mode only changes the mode section. Otherwise +" it appears the same as normal mode + +" Normal mode " fg & bg +let s:N1 = [ '#005f00' , '#afd700' , 22 , 148 ] " darkestgreen & brightgreen +let s:N2 = [ '#9e9e9e' , '#303030' , 247 , 236 ] " gray8 & gray2 +let s:N3 = [ '#ffffff' , '#121212' , 231 , 233 ] " white & gray4 + +" Insert mode " fg & bg +let s:I1 = [ '#005f5f' , '#ffffff' , 23 , 231 ] " darkestcyan & white +let s:I2 = [ '#5fafd7' , '#0087af' , 74 , 31 ] " darkcyan & darkblue +let s:I3 = [ '#87d7ff' , '#005f87' , 117 , 24 ] " mediumcyan & darkestblue + +" Visual mode " fg & bg +let s:V1 = [ '#080808' , '#ffaf00' , 232 , 214 ] " gray3 & brightestorange + +" Replace mode " fg & bg +let s:RE = [ '#ffffff' , '#d70000' , 231 , 160 ] " white & brightred + +let g:airline#themes#powerlineish#palette = {} + +let g:airline#themes#powerlineish#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let g:airline#themes#powerlineish#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#powerlineish#palette.insert_replace = { + \ 'airline_a': [ s:RE[0] , s:I1[1] , s:RE[1] , s:I1[3] , '' ], + \ 'airline_z': [ s:RE[0] , s:I1[1] , s:RE[1] , s:I1[3] , '' ] } + +let g:airline#themes#powerlineish#palette.visual = { + \ 'airline_a': [ s:V1[0] , s:V1[1] , s:V1[2] , s:V1[3] , '' ], + \ 'airline_z': [ s:V1[0] , s:V1[1] , s:V1[2] , s:V1[3] , '' ] } + +let g:airline#themes#powerlineish#palette.replace = copy(airline#themes#powerlineish#palette.normal) +let g:airline#themes#powerlineish#palette.replace.airline_a = [ s:RE[0] , s:RE[1] , s:RE[2] , s:RE[3] , '' ] +let g:airline#themes#powerlineish#palette.replace.airline_z = g:airline#themes#powerlineish#palette.replace.airline_a + + +let s:IA = [ s:N2[0] , s:N3[1] , s:N2[2] , s:N3[3] , '' ] +let g:airline#themes#powerlineish#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/qwq.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/qwq.vim new file mode 100644 index 0000000..c028aca --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/qwq.vim @@ -0,0 +1,61 @@ +" github: https://github.com/LuciusChen +scriptencoding utf-8 + +let g:airline#themes#qwq#palette = {} + +" normalmode +let s:N1 = [ '#0E3B4F' , '#FFEEE5' , 17 , 190 ] +let s:N2 = [ '#0E3B4F' , '#FFD3CB' , 255 , 238 ] +let s:N3 = [ '#ffffff' , '#F7846E' , 85 , 234 ] +let s:N4 = [ '#ffffff' , '#FF5D4F' , 255 , 53 ] +let g:airline#themes#qwq#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#qwq#palette.normal_modified = { 'airline_c': [ s:N4[0], s:N4[1], s:N4[2], s:N4[3], '' ], } + +" insertmode +let s:I1 = [ '#0E3B4F' , '#FFF5D9' , 17 , 45 ] +let s:I2 = [ '#0E3B4F' , '#DDE58E' , 255 , 27 ] +let s:I3 = [ '#ffffff' , '#9ED47B' , 15 , 17 ] +let s:I4 = [ '#ffffff' , '#6BAD3F' , 255 , 53 ] +let s:I5 = [ '#ffffff' , '#6BAD3F' , 17 , 172 ] +let g:airline#themes#qwq#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#qwq#palette.insert_modified = { 'airline_c': [ s:I4[0], s:I4[1], s:I4[2], s:I4[3], '' ], } +let g:airline#themes#qwq#palette.insert_paste = { 'airline_a': [ s:I5[0], s:I5[2], s:I5[2], s:I5[3], '' ], } + +" replacemode +let s:R1 = [ '#0E3B4F' , '#C1F9CD' , 17 , 45 ] +let s:R2 = [ '#0E3B4F' , '#8BEFC7' , 255 , 27 ] +let s:R3 = [ '#ffffff' , '#04BEC3' , 15 , 17 ] +let s:R4 = [ '#ffffff' , '#008492' , 255 , 53 ] +let g:airline#themes#qwq#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#qwq#palette.replace.airline_a = [ s:R1[0], s:R1[1], s:R2[2], 124, ''] +let g:airline#themes#qwq#palette.replace_modified = { 'airline_c': [ s:R4[0], s:R4[1], s:R4[2], s:R4[3], '' ], } + + +" visualmode +let s:V1 = [ '#0E3B4F' , '#FFEEE5' , 232 , 214 ] +let s:V2 = [ '#0E3B4F' , '#FF9DA5' , 232 , 202 ] +let s:V3 = [ '#ffffff' , '#FF5B6F' , 15 , 52 ] +let s:V4 = [ '#ffffff' , '#FF003F' , 255 , 53 ] +let g:airline#themes#qwq#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#qwq#palette.visual_modified = { 'airline_c': [ s:V4[0], s:V4[1], s:V4[2], s:V4[3], '' ], } + +" inactive +let s:IA1 = [ '#0E3B4F' , '#FEFCF9' , 239 , 234 , '' ] +let s:IA2 = [ '#0E3B4F' , '#DDC6AF' , 239 , 235 , '' ] +let s:IA3 = [ '#ffffff' , '#A28E79' , 239 , 236 , '' ] +let g:airline#themes#qwq#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) +let g:airline#themes#qwq#palette.inactive_modified = { 'airline_c': [ '#ffffff', '', 97, '', '' ], } + +let g:airline#themes#qwq#palette.accents = { 'red': [ '#ffffff', '', 160, '' ] } + +" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp +" variable so that related functionality is loaded iff the user is using +" ctrlp. Note that this is optional, and if you do not define ctrlp colors +" they will be chosen automatically from the existing palette. +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let s:C1 = [ '#0E3B4F' , '#FEFCF9' , 189 , 55 , '' ] +let s:C2 = [ '#0E3B4F' , '#DDC6AF' , 231 , 98 , '' ] +let s:C3 = [ '#ffffff' , '#B9A695' , 55 , 231 , '' ] +let g:airline#themes#qwq#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(s:C1, s:C2, s:C3) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/raven.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/raven.vim new file mode 100644 index 0000000..02bfd73 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/raven.vim @@ -0,0 +1,85 @@ +let g:airline#themes#raven#palette = {} + +let g:airline#themes#raven#palette.accents = { + \ 'red': [ '#ff2121' , '' , 196 , '' , '' ], + \ } + +let s:N1 = [ '#c8c8c8' , '#2e2e2e' , 188 , 235 ] +let s:N2 = [ '#c8c8c8' , '#2e2e2e' , 188 , 235 ] +let s:N3 = [ '#c8c8c8' , '#2e2e2e' , 188 , 235 ] +let g:airline#themes#raven#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#raven#palette.normal_modified = { + \ 'airline_c': [ '#e25000' , '#2e2e2e' , 166 , 235 , '' ] , + \ } + +let s:I1 = [ '#11c279' , '#2e2e2e' , 36 , 235 ] +let s:I2 = [ '#11c279' , '#2e2e2e' , 36 , 235 ] +let s:I3 = [ '#11c279' , '#2e2e2e' , 36 , 235 ] +let g:airline#themes#raven#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#raven#palette.insert_modified = { + \ 'airline_c': [ '#e25000' , '#2e2e2e' , 166 , 235 , '' ] , + \ } +let g:airline#themes#raven#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , '#2e2e2e' , s:I1[2] , 235 , '' ] , + \ } + +let g:airline#themes#raven#palette.replace = copy(g:airline#themes#raven#palette.insert) +let g:airline#themes#raven#palette.replace.airline_a = [ '#e60000' , s:I1[1] , 160 , s:I1[3] , '' ] +let g:airline#themes#raven#palette.replace.airline_z = [ '#e60000' , s:I1[1] , 160 , s:I1[3] , '' ] +let g:airline#themes#raven#palette.replace_modified = g:airline#themes#raven#palette.insert_modified + +let s:V1 = [ '#6565ff' , '#2e2e2e' , 63 , 235 ] +let s:V2 = [ '#6565ff' , '#2e2e2e' , 63 , 235 ] +let s:V3 = [ '#6565ff' , '#2e2e2e' , 63 , 235 ] +let g:airline#themes#raven#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#raven#palette.visual_modified = { + \ 'airline_c': [ '#e25000' , '#2e2e2e' , 166 , 235 , '' ] , + \ } + +let s:IA = [ '#5e5e5e' , '#222222' , 59 , 235 , '' ] +let g:airline#themes#raven#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#raven#palette.inactive_modified = { + \ 'airline_c': [ '#e25000' , '' , 166 , '' , '' ] , + \ } + +let g:airline#themes#raven#palette.tabline = { + \ 'airline_tab': ['#c8c8c8' , '#2e2e2e' , 188 , 235 , '' ], + \ 'airline_tabsel': ['#2e2e2e' , '#a4c639' , 235 , 149 , '' ], + \ 'airline_tabtype': ['#c8c8c8' , '#2e2e2e' , 188 , 235 , '' ], + \ 'airline_tabfill': ['#c8c8c8' , '#2e2e2e' , 188 , 235 , '' ], + \ 'airline_tabmod': ['#2e2e2e' , '#a4c639' , 235 , 149 , '' ], + \ } + +let s:WI = [ '#ff0000', '#2e2e2e', 196, 235 ] +let g:airline#themes#raven#palette.normal.airline_warning = [ + \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] + \ ] + +let g:airline#themes#raven#palette.normal_modified.airline_warning = + \ g:airline#themes#raven#palette.normal.airline_warning + +let g:airline#themes#raven#palette.insert.airline_warning = + \ g:airline#themes#raven#palette.normal.airline_warning + +let g:airline#themes#raven#palette.insert_modified.airline_warning = + \ g:airline#themes#raven#palette.normal.airline_warning + +let g:airline#themes#raven#palette.visual.airline_warning = + \ g:airline#themes#raven#palette.normal.airline_warning + +let g:airline#themes#raven#palette.visual_modified.airline_warning = + \ g:airline#themes#raven#palette.normal.airline_warning + +let g:airline#themes#raven#palette.replace.airline_warning = + \ g:airline#themes#raven#palette.normal.airline_warning + +let g:airline#themes#raven#palette.replace_modified.airline_warning = + \ g:airline#themes#raven#palette.normal.airline_warning + +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#raven#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#c8c8c8' , '#2e2e2e' , 188 , 235 , '' ] , + \ [ '#c8c8c8' , '#2e2e2e' , 188 , 235 , '' ] , + \ [ '#2e2e2e' , '#a4c639' , 235 , 149 , '' ] ) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/ravenpower.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/ravenpower.vim new file mode 100644 index 0000000..0f244ca --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/ravenpower.vim @@ -0,0 +1,36 @@ +" Pretty much powerlineish clone, and some +" of the hex colours was borrowed from raven + +" Normal mode " fg & bg +let s:N1 = [ '#005f00' , '#1d1f21' , 7 , 8 ] " darkestgreen & brightgreen +let s:N2 = [ '#9e9e9e' , '#303030' , 247 , 236 ] " gray8 & gray2 +let s:N3 = [ '#c8c8c8' , '#2e2e2e' , 188 , 235 ] " white & gray4 + +" Insert mode " fg & bg +"let s:I1 = [ '#005f5f' , '#ffffff' , 23 , 231 ] " darkestcyan & white +"let s:I2 = [ '#5fafd7' , '#0087af' , 74 , 31 ] " darkcyan & darkblue +let s:I1 = [ '#87d7ff' , '#1d1f21' , 7 , 24 ] " mediumcyan & darkestblue + +" Visual mode " fg & bg +let s:V1 = [ '#080808' , '#ffaf00' , 232 , 214 ] " gray3 & brightestorange + +" Replace mode " fg & bg +let s:RE = [ '#ffffff' , '#d70000' , 231 , 160 ] " white & brightred + +let g:airline#themes#ravenpower#palette = {} + +let g:airline#themes#ravenpower#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let g:airline#themes#ravenpower#palette.insert = airline#themes#generate_color_map(s:I1, s:N2, s:N3) +let g:airline#themes#ravenpower#palette.insert_replace = { + \ 'airline_a': [ s:RE[0] , s:I1[1] , s:RE[1] , s:I1[3] , '' ] } + +let g:airline#themes#ravenpower#palette.visual = { + \ 'airline_a': [ s:V1[0] , s:V1[1] , s:V1[2] , s:V1[3] , '' ] } + +let g:airline#themes#ravenpower#palette.replace = copy(airline#themes#ravenpower#palette.normal) +let g:airline#themes#ravenpower#palette.replace.airline_a = [ s:RE[0] , s:RE[1] , s:RE[2] , s:RE[3] , '' ] + + +let s:IA = [ s:N2[1] , s:N3[1] , s:N2[3] , s:N3[3] , '' ] +let g:airline#themes#ravenpower#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/seagull.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/seagull.vim new file mode 100644 index 0000000..7fa0a0a --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/seagull.vim @@ -0,0 +1,189 @@ +" Airline theme for Seabird/Seagull: +" https://github.com/nightsense/seabird/blob/master/colors/seagull.vim +" +" Based on Solarized theme code: +" https://github.com/vim-airline/vim-airline-themes/blob/master/autoload/airline/themes/solarized.vim +let g:airline#themes#seagull#palette = {} + +function! airline#themes#seagull#refresh() + """""""""""""""""""""""""""""""""""""""""""""""" + " Options + """""""""""""""""""""""""""""""""""""""""""""""" + let s:background = get(g:, 'airline_seagull_bg', &background) + let s:ansi_colors = get(g:, 'seagull_termcolors', 16) != 256 && &t_Co >= 16 ? 1 : 0 + let s:use_green = get(g:, 'airline_seagull_normal_green', 0) + let s:dark_inactive_border = get(g:, 'airline_seagull_dark_inactive_border', 0) + let s:tty = &t_Co == 8 + + """""""""""""""""""""""""""""""""""""""""""""""" + " Colors + """""""""""""""""""""""""""""""""""""""""""""""" + " Base colors + let s:base03 = {'t': 234, 'g': '#0b141a'} + let s:base02 = {'t': 235, 'g': '#1d252b'} + let s:base01 = {'t': 240, 'g': '#61707a'} + let s:base00 = {'t': 241, 'g': '#6d767d'} + let s:base0 = {'t': 244, 'g': '#787e82'} + let s:base1 = {'t': 245, 'g': '#808487'} + let s:base2 = {'t': 254, 'g': '#e6eaed'} + let s:base3 = {'t': 230, 'g': '#ffffff'} + let s:yellow = {'t': 136, 'g': '#bf8c00'} + let s:orange = {'t': 166, 'g': '#ff6200'} + let s:red = {'t': 160, 'g': '#ff4053'} + let s:magenta = {'t': 125, 'g': '#ff549b'} + let s:violet = {'t': 61, 'g': '#9854ff'} + let s:blue = {'t': 33, 'g': '#0099ff'} + let s:cyan = {'t': 37, 'g': '#00a5ab'} + let s:green = {'t': 64, 'g': '#11ab00'} + + """""""""""""""""""""""""""""""""""""""""""""""" + " Simple mappings + " NOTE: These are easily tweakable mappings. The actual mappings get + " the specific gui and terminal colors from the base color dicts. + """""""""""""""""""""""""""""""""""""""""""""""" + " Normal mode + if s:background == 'dark' + let s:N1 = [s:base3, (s:use_green ? s:green : s:base1), 'bold'] + let s:N2 = [s:base2, (s:tty ? s:base01 : s:base00), ''] + let s:N3 = [s:base01, s:base02, ''] + else + let s:N1 = [s:base2, (s:use_green ? s:green : s:base00), 'bold'] + let s:N2 = [(s:tty ? s:base01 : s:base2), s:base1, ''] + let s:N3 = [s:base1, s:base2, ''] + endif + let s:NF = [s:orange, s:N3[1], ''] + let s:NW = [s:base3, s:orange, ''] + if s:background == 'dark' + let s:NM = [s:base1, s:N3[1], ''] + let s:NMi = [s:base2, s:N3[1], ''] + else + let s:NM = [s:base01, s:N3[1], ''] + let s:NMi = [s:base02, s:N3[1], ''] + endif + + " Insert mode + let s:I1 = [s:N1[0], s:cyan, 'bold'] + let s:I2 = s:N2 + let s:I3 = s:N3 + let s:IF = s:NF + let s:IM = s:NM + + " Visual mode + let s:V1 = [s:N1[0], s:green, 'bold'] + let s:V2 = s:N2 + let s:V3 = s:N3 + let s:VF = s:NF + let s:VM = s:NM + + " Replace mode + let s:R1 = [s:N1[0], s:red, ''] + let s:R2 = s:N2 + let s:R3 = s:N3 + let s:RM = s:NM + let s:RF = s:NF + + " Inactive, according to VertSplit in seagull + " (bg dark: base00; bg light: base0) + if s:background == 'dark' + if s:dark_inactive_border + let s:IA = [s:base01, s:base02, ''] + else + let s:IA = [s:base02, s:base00, ''] + endif + else + let s:IA = [s:base2, s:base0, ''] + endif + + """""""""""""""""""""""""""""""""""""""""""""""" + " Actual mappings + " WARNING: Don't modify this section unless necessary. + """""""""""""""""""""""""""""""""""""""""""""""" + let s:NFa = [s:NF[0].g, s:NF[1].g, s:NF[0].t, s:NF[1].t, s:NF[2]] + let s:IFa = [s:IF[0].g, s:IF[1].g, s:IF[0].t, s:IF[1].t, s:IF[2]] + let s:VFa = [s:VF[0].g, s:VF[1].g, s:VF[0].t, s:VF[1].t, s:VF[2]] + let s:RFa = [s:RF[0].g, s:RF[1].g, s:RF[0].t, s:RF[1].t, s:RF[2]] + + let g:airline#themes#seagull#palette.accents = { + \ 'red': s:NFa, + \ } + + let g:airline#themes#seagull#palette.inactive = airline#themes#generate_color_map( + \ [s:IA[0].g, s:IA[1].g, s:IA[0].t, s:IA[1].t, s:IA[2]], + \ [s:IA[0].g, s:IA[1].g, s:IA[0].t, s:IA[1].t, s:IA[2]], + \ [s:IA[0].g, s:IA[1].g, s:IA[0].t, s:IA[1].t, s:IA[2]]) + let g:airline#themes#seagull#palette.inactive_modified = { + \ 'airline_c': [s:NMi[0].g, '', s:NMi[0].t, '', s:NMi[2]]} + + let g:airline#themes#seagull#palette.normal = airline#themes#generate_color_map( + \ [s:N1[0].g, s:N1[1].g, s:N1[0].t, s:N1[1].t, s:N1[2]], + \ [s:N2[0].g, s:N2[1].g, s:N2[0].t, s:N2[1].t, s:N2[2]], + \ [s:N3[0].g, s:N3[1].g, s:N3[0].t, s:N3[1].t, s:N3[2]]) + + let g:airline#themes#seagull#palette.normal.airline_warning = [ + \ s:NW[0].g, s:NW[1].g, s:NW[0].t, s:NW[1].t, s:NW[2]] + + let g:airline#themes#seagull#palette.normal.airline_error = [ + \ s:NW[0].g, s:NW[1].g, s:NW[0].t, s:NW[1].t, s:NW[2]] + + let g:airline#themes#seagull#palette.normal_modified = { + \ 'airline_c': [s:NM[0].g, s:NM[1].g, + \ s:NM[0].t, s:NM[1].t, s:NM[2]]} + + let g:airline#themes#seagull#palette.normal_modified.airline_warning = + \ g:airline#themes#seagull#palette.normal.airline_warning + + let g:airline#themes#seagull#palette.insert = airline#themes#generate_color_map( + \ [s:I1[0].g, s:I1[1].g, s:I1[0].t, s:I1[1].t, s:I1[2]], + \ [s:I2[0].g, s:I2[1].g, s:I2[0].t, s:I2[1].t, s:I2[2]], + \ [s:I3[0].g, s:I3[1].g, s:I3[0].t, s:I3[1].t, s:I3[2]]) + + let g:airline#themes#seagull#palette.insert.airline_warning = + \ g:airline#themes#seagull#palette.normal.airline_warning + + let g:airline#themes#seagull#palette.insert_modified = { + \ 'airline_c': [s:IM[0].g, s:IM[1].g, + \ s:IM[0].t, s:IM[1].t, s:IM[2]]} + + let g:airline#themes#seagull#palette.insert_modified.airline_warning = + \ g:airline#themes#seagull#palette.normal.airline_warning + + let g:airline#themes#seagull#palette.visual = airline#themes#generate_color_map( + \ [s:V1[0].g, s:V1[1].g, s:V1[0].t, s:V1[1].t, s:V1[2]], + \ [s:V2[0].g, s:V2[1].g, s:V2[0].t, s:V2[1].t, s:V2[2]], + \ [s:V3[0].g, s:V3[1].g, s:V3[0].t, s:V3[1].t, s:V3[2]]) + + let g:airline#themes#seagull#palette.visual.airline_warning = + \ g:airline#themes#seagull#palette.normal.airline_warning + + let g:airline#themes#seagull#palette.visual_modified = { + \ 'airline_c': [s:VM[0].g, s:VM[1].g, + \ s:VM[0].t, s:VM[1].t, s:VM[2]]} + + let g:airline#themes#seagull#palette.visual_modified.airline_warning = + \ g:airline#themes#seagull#palette.normal.airline_warning + + let g:airline#themes#seagull#palette.replace = airline#themes#generate_color_map( + \ [s:R1[0].g, s:R1[1].g, s:R1[0].t, s:R1[1].t, s:R1[2]], + \ [s:R2[0].g, s:R2[1].g, s:R2[0].t, s:R2[1].t, s:R2[2]], + \ [s:R3[0].g, s:R3[1].g, s:R3[0].t, s:R3[1].t, s:R3[2]]) + + let g:airline#themes#seagull#palette.replace.airline_warning = + \ g:airline#themes#seagull#palette.normal.airline_warning + + let g:airline#themes#seagull#palette.replace_modified = { + \ 'airline_c': [s:RM[0].g, s:RM[1].g, + \ s:RM[0].t, s:RM[1].t, s:RM[2]]} + + let g:airline#themes#seagull#palette.replace_modified.airline_warning = + \ g:airline#themes#seagull#palette.normal.airline_warning + + let g:airline#themes#seagull#palette.tabline = {} + + let g:airline#themes#seagull#palette.tabline.airline_tab = [ + \ s:I2[0].g, s:I2[1].g, s:I2[0].t, s:I2[1].t, s:I2[2]] + + let g:airline#themes#seagull#palette.tabline.airline_tabtype = [ + \ s:N2[0].g, s:N2[1].g, s:N2[0].t, s:N2[1].t, s:N2[2]] +endfunction + +call airline#themes#seagull#refresh() diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/selenized.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/selenized.vim new file mode 100644 index 0000000..6a60ad4 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/selenized.vim @@ -0,0 +1,136 @@ +" MIT License. Copyright (c) 2021 novenary +" vim: et ts=2 sts=2 sw=2 tw=80 + +scriptencoding utf-8 + +let s:term_bg_0 = 'NONE' +let s:term_bg_1 = 0 +let s:term_bg_2 = 8 +let s:term_dim_0 = 7 +let s:term_fg_0 = 'NONE' +let s:term_fg_1 = 15 + +let s:term_red = 1 +let s:term_green = 2 +let s:term_yellow = 3 +let s:term_blue = 4 +let s:term_magenta = 5 +let s:term_cyan = 6 +let s:term_orange = s:term_yellow +let s:term_violet = s:term_magenta + +let s:term_br_red = 9 +let s:term_br_green = 10 +let s:term_br_yellow = 11 +let s:term_br_blue = 12 +let s:term_br_magenta = 13 +let s:term_br_cyan = 14 +let s:term_br_orange = s:term_br_yellow +let s:term_br_violet = s:term_br_magenta + +if &background ==# 'dark' + let s:bg_0 = '#112e38' + let s:bg_1 = '#163945' + let s:bg_2 = '#254a57' + let s:dim_0 = '#61777c' + let s:fg_0 = '#9faeae' + let s:fg_1 = '#bfd0d0' + + let s:red = '#f13c3e' + let s:green = '#69ad21' + let s:yellow = '#d1a416' + let s:blue = '#3a82f8' + let s:magenta = '#e75bb3' + let s:cyan = '#42bdaa' + let s:orange = '#e26f35' + let s:violet = '#9b72e9' + + let s:br_red = '#ff4b49' + let s:br_green = '#78be2e' + let s:br_yellow = '#e4b424' + let s:br_blue = '#4a91ff' + let s:br_magenta = '#fb69c4' + let s:br_cyan = '#50cfba' + let s:br_orange = '#f67e41' + let s:br_violet = '#ab80fc' +else + let s:bg_0 = '#faf0d2' + let s:bg_1 = '#e7ddc0' + let s:bg_2 = '#cbc2a6' + let s:dim_0 = '#7e8783' + let s:fg_0 = '#43545a' + let s:fg_1 = '#2d3c42' + + let s:red = '#c00221' + let s:green = '#3f8100' + let s:yellow = '#9b7600' + let s:blue = '#005dcc' + let s:magenta = '#b73088' + let s:cyan = '#038d7c' + let s:orange = '#b04713' + let s:violet = '#714cbc' + + let s:br_red = '#b9001e' + let s:br_green = '#3a7b00' + let s:br_yellow = '#957000' + let s:br_blue = '#0059c6' + let s:br_magenta = '#b12b82' + let s:br_cyan = '#008777' + let s:br_orange = '#a9430f' + let s:br_violet = '#6b47b6' +endif + +let g:airline#themes#selenized#palette = {} + +let s:NA = [ s:bg_1, s:green, s:term_bg_1, s:term_green ] +let s:NB = [ s:fg_0, s:bg_2, s:term_fg_0, s:term_bg_2 ] +let s:NC = [ s:dim_0, s:bg_1, s:term_dim_0, s:term_bg_1 ] +let s:NC_modified = [ s:yellow, s:NC[1], s:term_yellow, s:NC[3] ] +let g:airline#themes#selenized#palette.normal = airline#themes#generate_color_map(s:NA, s:NB, s:NC) +let g:airline#themes#selenized#palette.normal_modified = { + \ 'airline_c': s:NC_modified, + \ } + +let s:IA = [ s:bg_1, s:blue, s:term_bg_1, s:term_blue ] +let g:airline#themes#selenized#palette.insert = airline#themes#generate_color_map(s:IA, s:NB, s:NC) +let g:airline#themes#selenized#palette.terminal = airline#themes#generate_color_map(s:IA, s:NB, s:NC) +let g:airline#themes#selenized#palette.insert_modified = copy(g:airline#themes#selenized#palette.normal_modified) + +let s:RA = [ s:bg_1, s:red, s:term_bg_1, s:term_red ] +let g:airline#themes#selenized#palette.replace = airline#themes#generate_color_map(s:RA, s:NB, s:NC) +let g:airline#themes#selenized#palette.replace_modified = copy(g:airline#themes#selenized#palette.normal_modified) + +let s:VA = [ s:bg_1, s:violet, s:term_bg_1, s:term_violet ] +let g:airline#themes#selenized#palette.visual = airline#themes#generate_color_map(s:VA, s:NB, s:NC) +let g:airline#themes#selenized#palette.visual_modified = copy(g:airline#themes#selenized#palette.normal_modified) + +let s:INACTIVE = [ s:dim_0, s:bg_2, s:term_dim_0, s:term_bg_2 ] +let s:INACTIVE_modified = [ s:yellow, s:INACTIVE[1], s:term_yellow, s:INACTIVE[3] ] +let g:airline#themes#selenized#palette.inactive = airline#themes#generate_color_map(s:INACTIVE, s:INACTIVE, s:INACTIVE) +let g:airline#themes#selenized#palette.inactive_modified = { + \ 'airline_c': s:INACTIVE_modified, + \ } + +let s:WARNING = [ s:bg_1, s:br_yellow, s:term_bg_1, s:term_br_yellow ] +let g:airline#themes#selenized#palette.normal.airline_warning = s:WARNING +let g:airline#themes#selenized#palette.normal_modified.airline_warning = s:WARNING +let g:airline#themes#selenized#palette.insert.airline_warning = s:WARNING +let g:airline#themes#selenized#palette.insert_modified.airline_warning = s:WARNING +let g:airline#themes#selenized#palette.replace.airline_warning = s:WARNING +let g:airline#themes#selenized#palette.replace_modified.airline_warning = s:WARNING +let g:airline#themes#selenized#palette.visual.airline_warning = s:WARNING +let g:airline#themes#selenized#palette.visual_modified.airline_warning = s:WARNING + +let s:ERROR = [ s:bg_1, s:br_red, s:term_bg_1, s:term_br_red ] +let g:airline#themes#selenized#palette.normal.airline_error = s:ERROR +let g:airline#themes#selenized#palette.normal_modified.airline_error = s:ERROR +let g:airline#themes#selenized#palette.insert.airline_error = s:ERROR +let g:airline#themes#selenized#palette.insert_modified.airline_error = s:ERROR +let g:airline#themes#selenized#palette.replace.airline_error = s:ERROR +let g:airline#themes#selenized#palette.replace_modified.airline_error = s:ERROR +let g:airline#themes#selenized#palette.visual.airline_error = s:ERROR +let g:airline#themes#selenized#palette.visual_modified.airline_error = s:ERROR + +let g:airline#themes#selenized#palette.accents = { + \ 'red': [ s:red, '', s:term_red, '' ] + \ } diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/selenized_bw.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/selenized_bw.vim new file mode 100644 index 0000000..b34f3af --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/selenized_bw.vim @@ -0,0 +1,136 @@ +" MIT License. Copyright (c) 2021 novenary +" vim: et ts=2 sts=2 sw=2 tw=80 + +scriptencoding utf-8 + +let s:term_bg_0 = 'NONE' +let s:term_bg_1 = 0 +let s:term_bg_2 = 8 +let s:term_dim_0 = 7 +let s:term_fg_0 = 'NONE' +let s:term_fg_1 = 15 + +let s:term_red = 1 +let s:term_green = 2 +let s:term_yellow = 3 +let s:term_blue = 4 +let s:term_magenta = 5 +let s:term_cyan = 6 +let s:term_orange = s:term_yellow +let s:term_violet = s:term_magenta + +let s:term_br_red = 9 +let s:term_br_green = 10 +let s:term_br_yellow = 11 +let s:term_br_blue = 12 +let s:term_br_magenta = 13 +let s:term_br_cyan = 14 +let s:term_br_orange = s:term_br_yellow +let s:term_br_violet = s:term_br_magenta + +if &background ==# 'dark' + let s:bg_0 = '#181818' + let s:bg_1 = '#252525' + let s:bg_2 = '#3b3b3b' + let s:dim_0 = '#777777' + let s:fg_0 = '#b9b9b9' + let s:fg_1 = '#dedede' + + let s:red = '#ed4a46' + let s:green = '#70b433' + let s:yellow = '#dbb32d' + let s:blue = '#368aeb' + let s:magenta = '#eb6eb7' + let s:cyan = '#3fc5b7' + let s:orange = '#e67f43' + let s:violet = '#a580e2' + + let s:br_red = '#ff5e56' + let s:br_green = '#83c746' + let s:br_yellow = '#efc541' + let s:br_blue = '#4f9cfe' + let s:br_magenta = '#ff81ca' + let s:br_cyan = '#56d8c9' + let s:br_orange = '#fa9153' + let s:br_violet = '#b891f5' +else + let s:bg_0 = '#ffffff' + let s:bg_1 = '#ebebeb' + let s:bg_2 = '#cdcdcd' + let s:dim_0 = '#878787' + let s:fg_0 = '#474747' + let s:fg_1 = '#282828' + + let s:red = '#d6000c' + let s:green = '#1d9700' + let s:yellow = '#c49700' + let s:blue = '#0064e4' + let s:magenta = '#dd0f9d' + let s:cyan = '#00ad9c' + let s:orange = '#d04a00' + let s:violet = '#7f51d6' + + let s:br_red = '#bf0000' + let s:br_green = '#008400' + let s:br_yellow = '#af8500' + let s:br_blue = '#0054cf' + let s:br_magenta = '#c7008b' + let s:br_cyan = '#009a8a' + let s:br_orange = '#ba3700' + let s:br_violet = '#6b40c3' +endif + +let g:airline#themes#selenized_bw#palette = {} + +let s:NA = [ s:bg_1, s:green, s:term_bg_1, s:term_green ] +let s:NB = [ s:fg_0, s:bg_2, s:term_fg_0, s:term_bg_2 ] +let s:NC = [ s:dim_0, s:bg_1, s:term_dim_0, s:term_bg_1 ] +let s:NC_modified = [ s:yellow, s:NC[1], s:term_yellow, s:NC[3] ] +let g:airline#themes#selenized_bw#palette.normal = airline#themes#generate_color_map(s:NA, s:NB, s:NC) +let g:airline#themes#selenized_bw#palette.normal_modified = { + \ 'airline_c': s:NC_modified, + \ } + +let s:IA = [ s:bg_1, s:blue, s:term_bg_1, s:term_blue ] +let g:airline#themes#selenized_bw#palette.insert = airline#themes#generate_color_map(s:IA, s:NB, s:NC) +let g:airline#themes#selenized_bw#palette.terminal = airline#themes#generate_color_map(s:IA, s:NB, s:NC) +let g:airline#themes#selenized_bw#palette.insert_modified = copy(g:airline#themes#selenized_bw#palette.normal_modified) + +let s:RA = [ s:bg_1, s:red, s:term_bg_1, s:term_red ] +let g:airline#themes#selenized_bw#palette.replace = airline#themes#generate_color_map(s:RA, s:NB, s:NC) +let g:airline#themes#selenized_bw#palette.replace_modified = copy(g:airline#themes#selenized_bw#palette.normal_modified) + +let s:VA = [ s:bg_1, s:violet, s:term_bg_1, s:term_violet ] +let g:airline#themes#selenized_bw#palette.visual = airline#themes#generate_color_map(s:VA, s:NB, s:NC) +let g:airline#themes#selenized_bw#palette.visual_modified = copy(g:airline#themes#selenized_bw#palette.normal_modified) + +let s:INACTIVE = [ s:dim_0, s:bg_2, s:term_dim_0, s:term_bg_2 ] +let s:INACTIVE_modified = [ s:yellow, s:INACTIVE[1], s:term_yellow, s:INACTIVE[3] ] +let g:airline#themes#selenized_bw#palette.inactive = airline#themes#generate_color_map(s:INACTIVE, s:INACTIVE, s:INACTIVE) +let g:airline#themes#selenized_bw#palette.inactive_modified = { + \ 'airline_c': s:INACTIVE_modified, + \ } + +let s:WARNING = [ s:bg_1, s:br_yellow, s:term_bg_1, s:term_br_yellow ] +let g:airline#themes#selenized_bw#palette.normal.airline_warning = s:WARNING +let g:airline#themes#selenized_bw#palette.normal_modified.airline_warning = s:WARNING +let g:airline#themes#selenized_bw#palette.insert.airline_warning = s:WARNING +let g:airline#themes#selenized_bw#palette.insert_modified.airline_warning = s:WARNING +let g:airline#themes#selenized_bw#palette.replace.airline_warning = s:WARNING +let g:airline#themes#selenized_bw#palette.replace_modified.airline_warning = s:WARNING +let g:airline#themes#selenized_bw#palette.visual.airline_warning = s:WARNING +let g:airline#themes#selenized_bw#palette.visual_modified.airline_warning = s:WARNING + +let s:ERROR = [ s:bg_1, s:br_red, s:term_bg_1, s:term_br_red ] +let g:airline#themes#selenized_bw#palette.normal.airline_error = s:ERROR +let g:airline#themes#selenized_bw#palette.normal_modified.airline_error = s:ERROR +let g:airline#themes#selenized_bw#palette.insert.airline_error = s:ERROR +let g:airline#themes#selenized_bw#palette.insert_modified.airline_error = s:ERROR +let g:airline#themes#selenized_bw#palette.replace.airline_error = s:ERROR +let g:airline#themes#selenized_bw#palette.replace_modified.airline_error = s:ERROR +let g:airline#themes#selenized_bw#palette.visual.airline_error = s:ERROR +let g:airline#themes#selenized_bw#palette.visual_modified.airline_error = s:ERROR + +let g:airline#themes#selenized_bw#palette.accents = { + \ 'red': [ s:red, '', s:term_red, '' ] + \ } diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/seoul256.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/seoul256.vim new file mode 100644 index 0000000..fe5888d --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/seoul256.vim @@ -0,0 +1,63 @@ +" Created by JB Kopecky (https://github.com/jbkopecky), based on seoul256 themed +" by Junegunn Choi (https://github.com/junegunn/seoul256.vim) + +let g:airline#themes#seoul256#palette = {} + +function! airline#themes#seoul256#refresh() abort + let M0 = airline#themes#get_highlight('Special') + let accents_group = airline#themes#get_highlight('Special') + let modified_group = [M0[0], '', M0[2], '', ''] + let warning_group = airline#themes#get_highlight2(['airline_warning', 'bg'], ['airline_warning', 'fg']) + + let s:N1 = airline#themes#get_highlight2(['Normal', 'bg'], ['StatusLine', 'fg']) + let s:N2 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['StatusLineNC', 'fg']) + let s:N3 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['CursorLine', 'bg']) + let g:airline#themes#seoul256#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + let g:airline#themes#seoul256#palette.normal_modified = { 'airline_c': modified_group } + let g:airline#themes#seoul256#palette.normal.airline_warning = warning_group + let g:airline#themes#seoul256#palette.normal_modified.airline_warning = warning_group + + let s:I1 = airline#themes#get_highlight2(['Normal', 'bg'], ['TabLineSel', 'bg']) + let s:I2 = s:N2 + let s:I3 = airline#themes#get_highlight2(['Normal', 'fg'], ['StatusLineNC', 'fg']) + let g:airline#themes#seoul256#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + let g:airline#themes#seoul256#palette.insert_modified = g:airline#themes#seoul256#palette.normal_modified + let g:airline#themes#seoul256#palette.insert.airline_warning = g:airline#themes#seoul256#palette.normal.airline_warning + let g:airline#themes#seoul256#palette.insert_modified.airline_warning = g:airline#themes#seoul256#palette.normal_modified.airline_warning + + let s:R1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Structure', 'fg']) + let s:R2 = s:I2 + let s:R3 = s:I3 + let g:airline#themes#seoul256#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + let g:airline#themes#seoul256#palette.replace_modified = g:airline#themes#seoul256#palette.normal_modified + let g:airline#themes#seoul256#palette.replace.airline_warning = g:airline#themes#seoul256#palette.normal.airline_warning + let g:airline#themes#seoul256#palette.replace_modified.airline_warning = g:airline#themes#seoul256#palette.normal_modified.airline_warning + + let s:V1 = airline#themes#get_highlight2(['Normal', 'bg'], ['ErrorMsg', 'bg']) + let s:V2 = s:N2 + let s:V3 = airline#themes#get_highlight2(['Normal', 'bg'], ['TabLine', 'fg']) + let g:airline#themes#seoul256#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + let g:airline#themes#seoul256#palette.visual_modified = { 'airline_c': [ s:V3[0], '', s:V3[2], '', '' ] } + let g:airline#themes#seoul256#palette.visual.airline_warning = g:airline#themes#seoul256#palette.normal.airline_warning + let g:airline#themes#seoul256#palette.visual_modified.airline_warning = g:airline#themes#seoul256#palette.normal_modified.airline_warning + + let s:IA = airline#themes#get_highlight2(['TabLine', 'fg'], ['CursorLine', 'bg']) + let g:airline#themes#seoul256#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) + let g:airline#themes#seoul256#palette.inactive_modified = { 'airline_c': modified_group } + + let g:airline#themes#seoul256#palette.accents = { 'red': accents_group } + + let s:TF = airline#themes#get_highlight2(['Normal', 'bg'], ['Normal', 'bg']) + let g:airline#themes#seoul256#palette.tabline = { + \ 'airline_tab': s:N2, + \ 'airline_tabsel': s:N1, + \ 'airline_tabtype': s:V1, + \ 'airline_tabfill': s:TF, + \ 'airline_tabhid': s:IA, + \ 'airline_tabmod': s:I1 + \ } +endfunction + +call airline#themes#seoul256#refresh() + + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/serene.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/serene.vim new file mode 100644 index 0000000..9191c07 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/serene.vim @@ -0,0 +1,41 @@ +let g:airline#themes#serene#palette = {} + +let s:guibg = '#080808' +let s:termbg = 232 +let s:termsep = 236 +let s:guisep = '#303030' + +let s:N1 = [ '#00dfff' , s:guibg , 45 , s:termbg ] +let s:N2 = [ '#ff5f00' , s:guibg , 202 , s:termbg ] +let s:N3 = [ '#767676' , s:guibg , 7 , s:termbg ] + +let g:airline#themes#serene#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#serene#palette.normal_modified = { + \ 'airline_c': [ '#df0000' , s:guibg, 160 , s:termbg , '' ] , + \ } + +let s:I1 = [ '#5fff00' , s:guibg , 82 , s:termbg ] +let s:I2 = [ '#ff5f00' , s:guibg , 202 , s:termbg ] +let s:I3 = [ '#767676' , s:guibg , 7 , s:termbg ] +let g:airline#themes#serene#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#serene#palette.insert_modified = copy(g:airline#themes#serene#palette.normal_modified) +let g:airline#themes#serene#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , '#d78700' , s:I1[2] , 172 , '' ] , + \ } + +let g:airline#themes#serene#palette.replace = { + \ 'airline_a': [ s:I1[0] , '#af0000' , s:I1[2] , 124 , '' ] , + \ } +let g:airline#themes#serene#palette.replace_modified = copy(g:airline#themes#serene#palette.normal_modified) + +let s:V1 = [ '#dfdf00' , s:guibg , 184 , s:termbg ] +let s:V2 = [ '#ff5f00' , s:guibg , 202 , s:termbg ] +let s:V3 = [ '#767676' , s:guibg , 7 , s:termbg ] +let g:airline#themes#serene#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#serene#palette.visual_modified = copy(g:airline#themes#serene#palette.normal_modified) + +let s:IA = [ '#4e4e4e' , s:guibg , 239 , s:termbg , '' ] +let s:IA2 = [ '#4e4e4e' , s:guisep , 239 , s:termsep , '' ] +let g:airline#themes#serene#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA2, s:IA2) +let g:airline#themes#serene#palette.inactive_modified = copy(g:airline#themes#serene#palette.normal_modified) + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/sierra.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/sierra.vim new file mode 100644 index 0000000..d736459 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/sierra.vim @@ -0,0 +1,94 @@ +" File: sierra.vim +" Author: Danilo Augusto +" Date: 2017-02-26 +" License: MIT + +let s:gui00 = "#303030" " ANSI Black +let s:gui01 = "#af5f5f" " ANSI Red +let s:gui02 = "#d75f5f" " ANSI Green +let s:gui03 = "#afd7d7" " ANSI Yellow +let s:gui04 = "#af8787" " ANSI Blue +let s:gui05 = "#dfaf87" " ANSI Magenta +let s:gui06 = "#ffafaf" " ANSI Cyan +let s:gui07 = "#f7e4c0" " ANSI White +let s:gui08 = "#686868" +let s:gui09 = "#af5f5f" +let s:gui0A = "#d75f5f" +let s:gui0B = "#afd7d7" +let s:gui0C = "#af8787" +let s:gui0D = "#dfaf87" +let s:gui0E = "#ffb2af" +let s:gui0F = "#ffffff" + +let s:cterm00 = "236" +let s:cterm01 = "131" +let s:cterm02 = "167" +let s:cterm03 = "152" +let s:cterm04 = "138" +let s:cterm05 = "180" +let s:cterm06 = "217" +let s:cterm07 = "222" +let s:cterm08 = "242" +let s:cterm09 = "131" +let s:cterm0A = "167" +let s:cterm0B = "152" +let s:cterm0C = "138" +let s:cterm0D = "180" +let s:cterm0E = "217" +let s:cterm0F = "231" + +let s:guiWhite = "#ffffff" +let s:guiGray = "#666666" +let s:guiDarkGray = "#545454" +let s:guiAlmostBlack = "#2a2a2a" +let s:ctermWhite = "231" +let s:ctermGray = "243" +let s:ctermDarkGray = "240" +let s:ctermAlmostBlack = "235" + +let g:airline#themes#sierra#palette = {} +let s:modified = { 'airline_c': [s:gui07, '', s:cterm07, '', ''] } + +" Normal mode +let s:N1 = [s:guiWhite, s:gui0D, s:ctermWhite, s:cterm0D] +let s:N2 = [s:guiWhite, s:gui01, s:ctermWhite, s:cterm01] +let s:N3 = [s:gui02, s:guiDarkGray, s:cterm02, s:ctermDarkGray] +let g:airline#themes#sierra#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#sierra#palette.normal_modified = s:modified + +" Insert mode +let s:I1 = [s:guiWhite, s:gui0B, s:ctermWhite, s:cterm0B] +let s:I2 = s:N2 +let s:I3 = [s:guiWhite, s:gui01, s:ctermWhite, s:cterm01] +let g:airline#themes#sierra#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#sierra#palette.insert_modified = s:modified + +" Visual mode +let s:V1 = [s:guiWhite, s:gui08, s:ctermWhite, s:cterm08] +let s:V2 = s:N2 +let s:V3 = s:I3 +let g:airline#themes#sierra#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#sierra#palette.visual_modified = s:modified + +" Replace mode +let s:R1 = [s:gui08, s:gui00, s:cterm08, s:cterm00] +let s:R2 = s:N2 +let s:R3 = s:I3 +let g:airline#themes#sierra#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#sierra#palette.replace_modified = s:modified + +" Inactive mode +let s:IN1 = [s:guiGray, s:gui01, s:ctermGray, s:cterm01] +let s:IN2 = [s:gui02, s:guiAlmostBlack, s:cterm02, s:ctermAlmostBlack] +let s:IN3 = [s:gui02, s:guiAlmostBlack, s:cterm02, s:ctermAlmostBlack] +let g:airline#themes#sierra#palette.inactive = airline#themes#generate_color_map(s:IN1, s:IN2, s:IN3) +let g:airline#themes#sierra#palette.inactive_modified = s:modified + +" CtrlP +if !get(g:, 'loaded_ctrlp', 0) + finish +endif + +let s:CP1 = [s:guiWhite, s:gui01, s:ctermWhite, s:cterm01] +let s:CP2 = [s:guiWhite, s:gui03, s:ctermWhite, s:cterm01] +let s:CP3 = [s:guiWhite, s:gui0D, s:ctermWhite, s:cterm0D] diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/silver.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/silver.vim new file mode 100644 index 0000000..fd85edb --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/silver.vim @@ -0,0 +1,85 @@ +let g:airline#themes#silver#palette = {} + +let g:airline#themes#silver#palette.accents = { + \ 'red': [ '#ff2121' , '' , 196 , '' , '' ], + \ } + +let s:N1 = [ '#414141' , '#e1e1e1' , 59 , 188 ] +let s:N2 = [ '#414141' , '#e1e1e1' , 59 , 188 ] +let s:N3 = [ '#414141' , '#e1e1e1' , 59 , 188 ] +let g:airline#themes#silver#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#silver#palette.normal_modified = { + \ 'airline_c': [ '#e25000' , '#e1e1e1' , 166 , 188 , '' ] , + \ } + +let s:I1 = [ '#0d935c' , '#e1e1e1' , 29 , 188 ] +let s:I2 = [ '#0d935c' , '#e1e1e1' , 29 , 188 ] +let s:I3 = [ '#0d935c' , '#e1e1e1' , 29 , 188 ] +let g:airline#themes#silver#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#silver#palette.insert_modified = { + \ 'airline_c': [ '#e25000' , '#e1e1e1' , 166 , 188 , '' ] , + \ } +let g:airline#themes#silver#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , '#e1e1e1' , s:I1[2] , 188 , '' ] , + \ } + +let g:airline#themes#silver#palette.replace = copy(g:airline#themes#silver#palette.insert) +let g:airline#themes#silver#palette.replace.airline_a = [ '#b30000' , s:I1[1] , 124 , s:I1[3] , '' ] +let g:airline#themes#silver#palette.replace.airline_z = [ '#b30000' , s:I1[1] , 124 , s:I1[3] , '' ] +let g:airline#themes#silver#palette.replace_modified = g:airline#themes#silver#palette.insert_modified + +let s:V1 = [ '#0000b3' , '#e1e1e1' , 19 , 188 ] +let s:V2 = [ '#0000b3' , '#e1e1e1' , 19 , 188 ] +let s:V3 = [ '#0000b3' , '#e1e1e1' , 19 , 188 ] +let g:airline#themes#silver#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#silver#palette.visual_modified = { + \ 'airline_c': [ '#e25000' , '#e1e1e1' , 166 , 188 , '' ] , + \ } + +let s:IA = [ '#a1a1a1' , '#dddddd' , 145 , 188 , '' ] +let g:airline#themes#silver#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#silver#palette.inactive_modified = { + \ 'airline_c': [ '#e25000' , '' , 166 , '' , '' ] , + \ } + +let g:airline#themes#silver#palette.tabline = { + \ 'airline_tab': ['#414141' , '#e1e1e1' , 59 , 188 , '' ], + \ 'airline_tabsel': ['#e1e1e1' , '#007599' , 188 , 30 , '' ], + \ 'airline_tabtype': ['#414141' , '#e1e1e1' , 59 , 188 , '' ], + \ 'airline_tabfill': ['#414141' , '#e1e1e1' , 59 , 188 , '' ], + \ 'airline_tabmod': ['#e1e1e1' , '#007599' , 188 , 30 , '' ], + \ } + +let s:WI = [ '#ff0000', '#e1e1e1', 196, 188 ] +let g:airline#themes#silver#palette.normal.airline_warning = [ + \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] + \ ] + +let g:airline#themes#silver#palette.normal_modified.airline_warning = + \ g:airline#themes#silver#palette.normal.airline_warning + +let g:airline#themes#silver#palette.insert.airline_warning = + \ g:airline#themes#silver#palette.normal.airline_warning + +let g:airline#themes#silver#palette.insert_modified.airline_warning = + \ g:airline#themes#silver#palette.normal.airline_warning + +let g:airline#themes#silver#palette.visual.airline_warning = + \ g:airline#themes#silver#palette.normal.airline_warning + +let g:airline#themes#silver#palette.visual_modified.airline_warning = + \ g:airline#themes#silver#palette.normal.airline_warning + +let g:airline#themes#silver#palette.replace.airline_warning = + \ g:airline#themes#silver#palette.normal.airline_warning + +let g:airline#themes#silver#palette.replace_modified.airline_warning = + \ g:airline#themes#silver#palette.normal.airline_warning + +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#silver#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#414141' , '#e1e1e1' , 59 , 188 , '' ] , + \ [ '#414141' , '#e1e1e1' , 59 , 188 , '' ] , + \ [ '#e1e1e1' , '#007599' , 188 , 30 , '' ] ) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/simple.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/simple.vim new file mode 100644 index 0000000..a111a1c --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/simple.vim @@ -0,0 +1,46 @@ +let g:airline#themes#simple#palette = {} + +let s:guibg = '#080808' +let s:guibg2 = '#1c1c1c' +let s:termbg = 232 +let s:termbg2= 234 + +let s:N1 = [ s:guibg , '#00dfff' , s:termbg , 45 ] +let s:N2 = [ '#ff5f00' , s:guibg2, 202 , s:termbg2 ] +let s:N3 = [ '#767676' , s:guibg, 243 , s:termbg] +let g:airline#themes#simple#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#simple#palette.normal_modified = { + \ 'airline_c': [ '#df0000' , s:guibg, 160 , s:termbg , '' ] , + \ } + + +let s:I1 = [ s:guibg, '#5fff00' , s:termbg , 82 ] +let s:I2 = [ '#ff5f00' , s:guibg2, 202 , s:termbg2 ] +let s:I3 = [ '#767676' , s:guibg, 243 , s:termbg ] +let g:airline#themes#simple#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#simple#palette.insert_modified = copy(g:airline#themes#simple#palette.normal_modified) +let g:airline#themes#simple#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , '#d78700' , s:I1[2] , 172 , '' ] , + \ } + + +let g:airline#themes#simple#palette.replace = { + \ 'airline_a': [ s:I1[0] , '#af0000' , s:I1[2] , 124 , '' ] , + \ } +let g:airline#themes#simple#palette.replace_modified = copy(g:airline#themes#simple#palette.normal_modified) + + +let s:V1 = [ s:guibg, '#dfdf00' , s:termbg , 184 ] +let s:V2 = [ '#ff5f00' , s:guibg2, 202 , s:termbg2 ] +let s:V3 = [ '#767676' , s:guibg, 243 , s:termbg ] +let g:airline#themes#simple#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#simple#palette.visual_modified = copy(g:airline#themes#simple#palette.normal_modified) + + +let s:IA = [ '#4e4e4e' , s:guibg , 239 , s:termbg , '' ] +let s:IA2 = [ '#4e4e4e' , s:guibg2 , 239 , s:termbg2 , '' ] +let g:airline#themes#simple#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA2, s:IA2) +let g:airline#themes#simple#palette.inactive_modified = { + \ 'airline_c': [ '#df0000', '', 160, '', '' ] , + \ } + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/soda.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/soda.vim new file mode 100644 index 0000000..582adc5 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/soda.vim @@ -0,0 +1,33 @@ +let g:airline#themes#soda#palette = {} + +let g:airline#themes#soda#palette.normal = airline#themes#generate_color_map( + \['#ffffff', '#875faf', 255, 97], + \['#ffffff', '#875f87', 255, 91], + \['#ffffff', '#5f0087', 255, 54]) + +let g:airline#themes#soda#palette.insert = airline#themes#generate_color_map( + \['#ffffff', '#005f00', 255, 22], + \['#ffffff', '#008700', 255, 28], + \['#ffffff', '#00af00', 255, 34]) + +let g:airline#themes#soda#palette.replace = {'airline_a': ['#767676', '#ffff5f', 243, 227]} + +let g:airline#themes#soda#palette.visual = airline#themes#generate_color_map( + \['#767676', '#ffff5f', 243, 227], + \['#767676', '#ffd75f', 243, 221], + \['#767676', '#ffaf5f', 243, 215]) + +let g:airline#themes#soda#palette.inactive = airline#themes#generate_color_map( + \['#767676', '#ffffff', 243, 255], + \['#767676', '#ffffff', 243, 255], + \['#767676', '#ffffff', 243, 255]) + +let g:airline#themes#soda#palette.inactive_modified = {'airline_c': ['#ffffff', '#df0000', 255, 160]} + +let g:airline#themes#soda#palette.tabline = { + \'airline_tab': ['#ffffff', '#5f0087', 255, 54], + \'airline_tabsel': ['#ffffff', '#875faf', 255, 97], + \'airline_tabtype': ['#ffffff', '#00af00', 255, 34], + \'airline_tabfill': ['#767676', '#ffffff', 243, 255], + \'airline_tabmod': ['#ffffff', '#767676', 255, 243]} + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/sol.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/sol.vim new file mode 100644 index 0000000..89ea505 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/sol.vim @@ -0,0 +1,90 @@ +" vim-airline companion theme of Sol +" (https://github.com/Pychimp/vim-sol) + +let g:airline#themes#sol#palette = {} + +let g:airline#themes#sol#palette.accents = { + \ 'red': [ '#ffffff' , '' , 231 , '' , '' ], + \ } + +let s:N1 = [ '#343434' , '#a0a0a0' , 237 , 248 ] +let s:N2 = [ '#343434' , '#b3b3b3' , 237 , 250 ] +let s:N3 = [ '#343434' , '#c7c7c7' , 237 , 252 ] +let g:airline#themes#sol#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#sol#palette.normal_modified = { + \ 'airline_c': [ '#ffffff' , '#ff6868' , 237 , 209 , '' ] , + \ } + + +let s:I1 = [ '#eeeeee' , '#09643f' , 255 , 30 ] +let s:I2 = [ '#343434' , '#a3a3a3' , 237 , 249 ] +let s:I3 = [ '#343434' , '#b0b0b0' , 237 , 250 ] +let g:airline#themes#sol#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#sol#palette.insert_modified = { + \ 'airline_c': [ '#343434' , '#ffdbc7' , 237 , 216 , '' ] , + \ } +let g:airline#themes#sol#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , '#09643f' , s:I1[2] , 30 , '' ] , + \ } + + +let g:airline#themes#sol#palette.replace = copy(g:airline#themes#sol#palette.insert) +let g:airline#themes#sol#palette.replace.airline_a = [ s:I1[0] , '#ff2121' , s:I1[2] , 196 , '' ] +let g:airline#themes#sol#palette.replace.airline_z = [ s:I1[0] , '#ff2121' , s:I1[2] , 196 , '' ] +let g:airline#themes#sol#palette.replace_modified = g:airline#themes#sol#palette.insert_modified + +let s:V1 = [ '#ffff9a' , '#ff6003' , 222 , 202 ] +let s:V2 = [ '#343434' , '#a3a3a3' , 237 , 249 ] +let s:V3 = [ '#343434' , '#b0b0b0' , 237 , 250 ] +let g:airline#themes#sol#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#sol#palette.visual_modified = { + \ 'airline_c': [ '#343434' , '#ffdbc7' , 237 , 216 , '' ] , + \ } + +let s:IA = [ '#777777' , '#c7c7c7' , 244 , 251 , '' ] +let g:airline#themes#sol#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#sol#palette.inactive_modified = { + \ 'airline_c': [ '#ff3535' , '' , 203 , '' , '' ] , + \ } + +let g:airline#themes#sol#palette.tabline = { + \ 'airline_tab': ['#343434', '#b3b3b3', 237, 250, ''], + \ 'airline_tabsel': ['#ffffff', '#004b9a', 231, 31 , ''], + \ 'airline_tabtype': ['#343434', '#a0a0a0', 237, 248, ''], + \ 'airline_tabfill': ['#343434', '#c7c7c7', 237, 251, ''], + \ 'airline_tabmod': ['#343434', '#ffdbc7', 237, 216, ''], + \ } + +let s:WI = [ '#eeeeee', '#e33900', 255, 166 ] +let g:airline#themes#sol#palette.normal.airline_warning = [ + \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] + \ ] + +let g:airline#themes#sol#palette.normal_modified.airline_warning = + \ g:airline#themes#sol#palette.normal.airline_warning + +let g:airline#themes#sol#palette.insert.airline_warning = + \ g:airline#themes#sol#palette.normal.airline_warning + +let g:airline#themes#sol#palette.insert_modified.airline_warning = + \ g:airline#themes#sol#palette.normal.airline_warning + +let g:airline#themes#sol#palette.visual.airline_warning = + \ g:airline#themes#sol#palette.normal.airline_warning + +let g:airline#themes#sol#palette.visual_modified.airline_warning = + \ g:airline#themes#sol#palette.normal.airline_warning + +let g:airline#themes#sol#palette.replace.airline_warning = + \ g:airline#themes#sol#palette.normal.airline_warning + +let g:airline#themes#sol#palette.replace_modified.airline_warning = + \ g:airline#themes#sol#palette.normal.airline_warning + +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#sol#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#343434' , '#c7c7c7' , 237 , 251 , '' ] , + \ [ '#343434' , '#b3b3b3' , 237 , 250 , '' ] , + \ [ '#eeeeee' , '#007fff' , 255 , 27 , '' ] ) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/solarized.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/solarized.vim new file mode 100644 index 0000000..4f47265 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/solarized.vim @@ -0,0 +1,234 @@ +let g:airline#themes#solarized#palette = {} + +function! airline#themes#solarized#refresh() + """""""""""""""""""""""""""""""""""""""""""""""" + " Options + """""""""""""""""""""""""""""""""""""""""""""""" + let s:background = get(g:, 'airline_solarized_bg', &background) + let s:ansi_colors = get(g:, 'solarized_termcolors', 16) != 256 && &t_Co >= 16 ? 1 : 0 + let s:use_green = get(g:, 'airline_solarized_normal_green', 0) + let s:dark_inactive_tab = get(g:, 'airline_solarized_dark_inactive_background', 0) + let s:dark_text = get(g:, 'airline_solarized_dark_text', 0) + let s:dark_inactive_border = get(g:, 'airline_solarized_dark_inactive_border', 0) + let s:enable_command_color = get(g:, 'airline_solarized_enable_command_color', 0) + let s:tty = &t_Co == 8 + + """""""""""""""""""""""""""""""""""""""""""""""" + " Colors + """""""""""""""""""""""""""""""""""""""""""""""" + " Base colors + " Extended base16 support by @cuviper. + " Via https://github.com/blueyed/vim-colors-solarized/commit/92f2f994 / + " https://github.com/cuviper/vim-colors-solarized. + if s:ansi_colors && get(g:, 'solarized_base16', 0) + let s:base03 = {'t': 0, 'g': "#002b36"} " Base 00 + let s:base02 = {'t': 18, 'g': "#073642"} " Base 01 + let s:base01 = {'t': 19, 'g': "#586e75"} " Base 02 + let s:base00 = {'t': 8, 'g': "#657b83"} " Base 03 + let s:base0 = {'t': 20, 'g': "#839496"} " Base 04 + let s:base1 = {'t': 7, 'g': "#93a1a1"} " Base 05 + let s:base2 = {'t': 21, 'g': "#eee8d5"} " Base 06 + let s:base3 = {'t': 15, 'g': "#fdf6e3"} " Base 07 + let s:yellow = {'t': 3, 'g': "#dc322f"} " Base 0A + let s:orange = {'t': 16, 'g': "#cb4b16"} " Base 09 + let s:red = {'t': 1, 'g': "#b58900"} " Base 08 + let s:magenta = {'t': 17, 'g': "#859900"} " Base 0F + let s:violet = {'t': 5, 'g': "#2aa198"} " Base 0E + let s:blue = {'t': 4, 'g': "#268bd2"} " Base 0D + let s:cyan = {'t': 6, 'g': "#6c71c4"} " Base 0C + let s:green = {'t': 2, 'g': "#d33682"} " Base 0B + else + let s:base03 = {'t': s:ansi_colors ? 8 : (s:tty ? '0' : 234), 'g': '#002b36'} + let s:base02 = {'t': s:ansi_colors ? '0' : (s:tty ? '0' : 235), 'g': '#073642'} + let s:base01 = {'t': s:ansi_colors ? 10 : (s:tty ? '0' : 240), 'g': '#586e75'} + let s:base00 = {'t': s:ansi_colors ? 11 : (s:tty ? '7' : 241), 'g': '#657b83'} + let s:base0 = {'t': s:ansi_colors ? 12 : (s:tty ? '7' : 244), 'g': '#839496'} + let s:base1 = {'t': s:ansi_colors ? 14 : (s:tty ? '7' : 245), 'g': '#93a1a1'} + let s:base2 = {'t': s:ansi_colors ? 7 : (s:tty ? '7' : 254), 'g': '#eee8d5'} + let s:base3 = {'t': s:ansi_colors ? 15 : (s:tty ? '7' : 230), 'g': '#fdf6e3'} + let s:yellow = {'t': s:ansi_colors ? 3 : (s:tty ? '3' : 136), 'g': '#b58900'} + let s:orange = {'t': s:ansi_colors ? 9 : (s:tty ? '1' : 166), 'g': '#cb4b16'} + let s:red = {'t': s:ansi_colors ? 1 : (s:tty ? '1' : 160), 'g': '#dc322f'} + let s:magenta = {'t': s:ansi_colors ? 5 : (s:tty ? '5' : 125), 'g': '#d33682'} + let s:violet = {'t': s:ansi_colors ? 13 : (s:tty ? '5' : 61 ), 'g': '#6c71c4'} + let s:blue = {'t': s:ansi_colors ? 4 : (s:tty ? '4' : 33 ), 'g': '#268bd2'} + let s:cyan = {'t': s:ansi_colors ? 6 : (s:tty ? '6' : 37 ), 'g': '#2aa198'} + let s:green = {'t': s:ansi_colors ? 2 : (s:tty ? '2' : 64 ), 'g': '#859900'} + endif + + """""""""""""""""""""""""""""""""""""""""""""""" + " Simple mappings + " NOTE: These are easily tweakable mappings. The actual mappings get + " the specific gui and terminal colors from the base color dicts. + """""""""""""""""""""""""""""""""""""""""""""""" + " Normal mode + if s:background == 'dark' + let s:N1 = [(s:dark_text ? s:base03 : s:base3), (s:use_green ? s:green : s:base1), 'bold'] + let s:N2 = [s:base2, (s:tty ? s:base01 : s:base00), ''] + let s:N3 = [s:base01, s:base02, ''] + else + let s:N1 = [(s:dark_text ? s:base03 : s:base2), (s:use_green ? s:green : s:base00), 'bold'] + let s:N2 = [(s:tty ? s:base01 : s:base2), s:base1, ''] + let s:N3 = [s:base1, s:base2, ''] + endif + let s:NF = [s:orange, s:N3[1], ''] + let s:NW = [s:base3, s:orange, ''] + if s:background == 'dark' + let s:NM = [s:base1, s:N3[1], ''] + let s:NMi = [s:base2, s:N3[1], ''] + else + let s:NM = [s:base01, s:N3[1], ''] + let s:NMi = [s:base02, s:N3[1], ''] + endif + + " Insert mode + let s:I1 = [s:N1[0], s:yellow, 'bold'] + let s:I2 = s:N2 + let s:I3 = s:N3 + let s:IF = s:NF + let s:IM = s:NM + + " Visual mode + let s:V1 = [s:N1[0], s:magenta, 'bold'] + let s:V2 = s:N2 + let s:V3 = s:N3 + let s:VF = s:NF + let s:VM = s:NM + + " Replace mode + let s:R1 = [s:N1[0], s:red, ''] + let s:R2 = s:N2 + let s:R3 = s:N3 + let s:RM = s:NM + let s:RF = s:NF + + " Command mode + let s:C1 = [s:N1[0], s:violet, ''] + let s:C2 = s:N2 + let s:C3 = s:N3 + let s:CF = s:NF + let s:CM = s:NM + + " Inactive, according to VertSplit in solarized + " (bg dark: base00; bg light: base0) + if s:background == 'dark' + if s:dark_inactive_border + let s:IA = [s:base01, s:base02, ''] + else + let s:IA = [s:base02, s:base00, ''] + endif + else + let s:IA = [s:base2, s:base0, ''] + endif + + """""""""""""""""""""""""""""""""""""""""""""""" + " Actual mappings + " WARNING: Don't modify this section unless necessary. + """""""""""""""""""""""""""""""""""""""""""""""" + let s:NFa = [s:NF[0].g, s:NF[1].g, s:NF[0].t, s:NF[1].t, s:NF[2]] + let s:IFa = [s:IF[0].g, s:IF[1].g, s:IF[0].t, s:IF[1].t, s:IF[2]] + let s:VFa = [s:VF[0].g, s:VF[1].g, s:VF[0].t, s:VF[1].t, s:VF[2]] + let s:RFa = [s:RF[0].g, s:RF[1].g, s:RF[0].t, s:RF[1].t, s:RF[2]] + + let g:airline#themes#solarized#palette.accents = { + \ 'red': s:NFa, + \ } + + let g:airline#themes#solarized#palette.inactive = airline#themes#generate_color_map( + \ [s:IA[0].g, s:IA[1].g, s:IA[0].t, s:IA[1].t, s:IA[2]], + \ [s:IA[0].g, s:IA[1].g, s:IA[0].t, s:IA[1].t, s:IA[2]], + \ [s:IA[0].g, s:IA[1].g, s:IA[0].t, s:IA[1].t, s:IA[2]]) + let g:airline#themes#solarized#palette.inactive_modified = { + \ 'airline_c': [s:NMi[0].g, '', s:NMi[0].t, '', s:NMi[2]]} + + let g:airline#themes#solarized#palette.normal = airline#themes#generate_color_map( + \ [s:N1[0].g, s:N1[1].g, s:N1[0].t, s:N1[1].t, s:N1[2]], + \ [s:N2[0].g, s:N2[1].g, s:N2[0].t, s:N2[1].t, s:N2[2]], + \ [s:N3[0].g, s:N3[1].g, s:N3[0].t, s:N3[1].t, s:N3[2]]) + + let g:airline#themes#solarized#palette.normal.airline_warning = [ + \ s:NW[0].g, s:NW[1].g, s:NW[0].t, s:NW[1].t, s:NW[2]] + + let g:airline#themes#solarized#palette.normal.airline_error = [ + \ s:NW[0].g, s:NW[1].g, s:NW[0].t, s:NW[1].t, s:NW[2]] + + let g:airline#themes#solarized#palette.normal_modified = { + \ 'airline_c': [s:NM[0].g, s:NM[1].g, + \ s:NM[0].t, s:NM[1].t, s:NM[2]]} + + let g:airline#themes#solarized#palette.normal_modified.airline_warning = + \ g:airline#themes#solarized#palette.normal.airline_warning + + let g:airline#themes#solarized#palette.insert = airline#themes#generate_color_map( + \ [s:I1[0].g, s:I1[1].g, s:I1[0].t, s:I1[1].t, s:I1[2]], + \ [s:I2[0].g, s:I2[1].g, s:I2[0].t, s:I2[1].t, s:I2[2]], + \ [s:I3[0].g, s:I3[1].g, s:I3[0].t, s:I3[1].t, s:I3[2]]) + + let g:airline#themes#solarized#palette.insert.airline_warning = + \ g:airline#themes#solarized#palette.normal.airline_warning + + let g:airline#themes#solarized#palette.insert_modified = { + \ 'airline_c': [s:IM[0].g, s:IM[1].g, + \ s:IM[0].t, s:IM[1].t, s:IM[2]]} + + let g:airline#themes#solarized#palette.insert_modified.airline_warning = + \ g:airline#themes#solarized#palette.normal.airline_warning + + let g:airline#themes#solarized#palette.visual = airline#themes#generate_color_map( + \ [s:V1[0].g, s:V1[1].g, s:V1[0].t, s:V1[1].t, s:V1[2]], + \ [s:V2[0].g, s:V2[1].g, s:V2[0].t, s:V2[1].t, s:V2[2]], + \ [s:V3[0].g, s:V3[1].g, s:V3[0].t, s:V3[1].t, s:V3[2]]) + + let g:airline#themes#solarized#palette.visual.airline_warning = + \ g:airline#themes#solarized#palette.normal.airline_warning + + let g:airline#themes#solarized#palette.visual_modified = { + \ 'airline_c': [s:VM[0].g, s:VM[1].g, + \ s:VM[0].t, s:VM[1].t, s:VM[2]]} + + let g:airline#themes#solarized#palette.visual_modified.airline_warning = + \ g:airline#themes#solarized#palette.normal.airline_warning + + let g:airline#themes#solarized#palette.replace = airline#themes#generate_color_map( + \ [s:R1[0].g, s:R1[1].g, s:R1[0].t, s:R1[1].t, s:R1[2]], + \ [s:R2[0].g, s:R2[1].g, s:R2[0].t, s:R2[1].t, s:R2[2]], + \ [s:R3[0].g, s:R3[1].g, s:R3[0].t, s:R3[1].t, s:R3[2]]) + + let g:airline#themes#solarized#palette.replace.airline_warning = + \ g:airline#themes#solarized#palette.normal.airline_warning + + let g:airline#themes#solarized#palette.replace_modified = { + \ 'airline_c': [s:RM[0].g, s:RM[1].g, + \ s:RM[0].t, s:RM[1].t, s:RM[2]]} + + let g:airline#themes#solarized#palette.replace_modified.airline_warning = + \ g:airline#themes#solarized#palette.normal.airline_warning + + let g:airline#themes#solarized#palette.replace_modified.airline_warning = + \ g:airline#themes#solarized#palette.normal.airline_warning + + if s:enable_command_color + let g:airline#themes#solarized#palette.commandline = airline#themes#generate_color_map( + \ [s:C1[0].g, s:C1[1].g, s:C1[0].t, s:C1[1].t, s:C1[2]], + \ [s:C2[0].g, s:C2[1].g, s:C2[0].t, s:C2[1].t, s:C2[2]], + \ [s:C3[0].g, s:C3[1].g, s:C3[0].t, s:C3[1].t, s:C3[2]]) + + let g:airline#themes#solarized#palette.commandline.airline_warning = + \ g:airline#themes#solarized#palette.normal.airline_warning + + let g:airline#themes#solarized#palette.commandline_modified = { + \ 'airline_c': [s:RM[0].g, s:RM[1].g, + \ s:RM[0].t, s:RM[1].t, s:RM[2]]} + endif + + let g:airline#themes#solarized#palette.tabline = {} + + let g:airline#themes#solarized#palette.tabline.airline_tab = [ + \ s:I2[0].g, s:I2[1].g, s:I2[0].t, (s:dark_inactive_tab ? s:I3[0].t : s:I2[1].t), s:I2[2]] + + let g:airline#themes#solarized#palette.tabline.airline_tabtype = [ + \ s:N2[0].g, s:N2[1].g, s:N2[0].t, s:N2[1].t, s:N2[2]] +endfunction + +call airline#themes#solarized#refresh() + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/solarized_flood.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/solarized_flood.vim new file mode 100644 index 0000000..cefe469 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/solarized_flood.vim @@ -0,0 +1,174 @@ +" Name: Solarized Flood +" Changed: June 3 2018 +" Maintainer: https://github.com/Neur1n +" Description: +" A vim-airline theme made based on and tested with the Solarized colorscheme +" (https://github.com/frankier/neovim-colors-solarized-truecolor-only) in +" Windows 10 OS and GVim 8.1. +" +" This script is based on the 'dark' theme. The 'inactive' and 'ctrlp' parts +" were not changed. +" +" It is call 'flood' since the statusline and the tabline will be highlighted +" with the 'base03' color in Solarized (dark). If you use the dark Solarized +" colorscheme for Vim and, in Windows, set 'Personalization-Colors-Choose +" your color - Custom color' to be '#002B36' (*), then most parts of the GVim +" window will be 'flooded' with the color. +" NOTE: This will make some components of the airline less distinguishable +" from the others. If anyone has better ideas, I will be happy to take +" a conversation with you. :) + +" (*): Your PC may not support the exact color but it will pick the nearest +" color for you and it should work fine. + + +scriptencoding utf-8 + +" The following color definitions: +" 'hex': originated from official solarized (dark) colors +" 'term': calculated by 'x256' package of Python +" '*': 'term' value that is different with solarized official definition +" '#': picked manually +let s:base03 = {'hex': '#002B36', 'term': 234} " 0, 43, 54 +let s:base02 = {'hex': '#073642', 'term': 235} " 7, 54, 66 +let s:base01 = {'hex': '#586E75', 'term': 242} " 88, 110, 117 * +let s:base00 = {'hex': '#657B83', 'term': 66} " 101, 123, 131 * + +let s:base0 = {'hex': '#839496', 'term': 246} " 131, 148, 150 * +let s:base1 = {'hex': '#93A1A1', 'term': 247} " 147, 161, 161 * +let s:base2 = {'hex': '#EEE8D5', 'term': 254} " 238, 232, 213 +let s:base3 = {'hex': '#FDF6E3', 'term': 230} " 253, 246, 227 + +let s:yellow = {'hex': '#B58900', 'term': 136} " 181, 137, 0 +let s:orange = {'hex': '#CB4B16', 'term': 166} " 203, 75, 22 +let s:red = {'hex': '#DC322F', 'term': 160} " 220, 50, 47 * +let s:magenta = {'hex': '#D33682', 'term': 168} " 211, 54, 130 * +let s:violet = {'hex': '#6C71C4', 'term': 62} " 108, 113, 196 * +let s:blue = {'hex': '#268BD2', 'term': 32} " 38, 139, 210 * +let s:cyan = {'hex': '#2AA198', 'term': 36} " 42, 161, 152 * +let s:green = {'hex': '#859900', 'term': 106} " 133, 153, 0 # + +let g:airline#themes#solarized_flood#palette = {} + + +" ***************************************************************************** +" Normal Mode +" ***************************************************************************** +let s:airline_a_normal = [s:base03['hex'], s:green['hex'], + \ s:base03['term'], s:green['term'], 'italic'] + +let s:airline_b_normal = [s:base1['hex'], s:base03['hex'], + \ s:base1['term'], s:base03['term'], 'italic'] + +let s:airline_c_normal = [s:cyan['hex'], s:base03['hex'], + \ s:cyan['term'], s:base03['term'], 'italic'] + +let g:airline#themes#solarized_flood#palette.normal = + \ airline#themes#generate_color_map(s:airline_a_normal, + \ s:airline_b_normal, + \ s:airline_c_normal) + +let g:airline#themes#solarized_flood#palette.normal['airline_z'] = + \ [s:green['hex'], s:base03['hex'], s:green['term'], s:base03['term'], + \ 'italic'] + +let g:airline#themes#solarized_flood#palette.normal_modified = { + \ 'airline_c': [s:magenta['hex'], s:base03['hex'], + \ s:magenta['term'], s:base03['term'], 'italic'], + \ } + +" ***************************************************************************** +" Insert Mode +" ***************************************************************************** +let s:airline_a_insert = [s:base03['hex'] , s:cyan['hex'], + \ s:base03['term'], s:cyan['term'], 'bold'] + +let s:airline_b_insert = [s:base1['hex'], s:base03['hex'], + \ s:base1['term'], s:base03['term'], 'bold'] + +let s:airline_c_insert = [s:blue['hex'], s:base03['hex'], + \ s:blue['term'], s:base03['term'], 'bold'] + +let g:airline#themes#solarized_flood#palette.insert = + \ airline#themes#generate_color_map(s:airline_a_insert, + \ s:airline_b_insert, + \ s:airline_c_insert) + +let g:airline#themes#solarized_flood#palette.insert['airline_z'] = + \ [s:cyan['hex'], s:base03['hex'], s:cyan['term'], s:base03['term'], + \ 'bold'] + +let g:airline#themes#solarized_flood#palette.insert_modified = { + \ 'airline_c': [s:magenta['hex'], s:base03['hex'], + \ s:magenta['term'], s:base03['term'], 'bold'], + \ } + +let g:airline#themes#solarized_flood#palette.insert_paste = { + \ 'airline_a': [s:base03['hex'], s:orange['hex'], + \ s:base03['term'], s:orange['term'], 'bold'], + \ } + +" ***************************************************************************** +" Replace Mode +" ***************************************************************************** +let g:airline#themes#solarized_flood#palette.replace = + \ copy(g:airline#themes#solarized_flood#palette.insert) + +let g:airline#themes#solarized_flood#palette.replace.airline_a = + \ [s:base03['hex'], s:red['hex'], s:base03['term'], s:red['term'], 'bold'] + +let g:airline#themes#solarized_flood#palette.replace_modified = + \ g:airline#themes#solarized_flood#palette.insert_modified + +" ***************************************************************************** +" Visual Mode +" ***************************************************************************** +let s:airline_a_visual = [s:base03['hex'], s:yellow['hex'], + \ s:base03['term'], s:yellow['term'], 'italic'] + +let s:airline_b_visual = [s:base1['hex'], s:base03['hex'], + \ s:base1['term'], s:base03['term'], 'italic'] + +let s:airline_c_visual = [s:red['hex'], s:base03['hex'], + \ s:red['term'], s:base03['term'], 'italic'] + +let g:airline#themes#solarized_flood#palette.visual = + \ airline#themes#generate_color_map(s:airline_a_visual, + \ s:airline_b_visual, + \ s:airline_c_visual) + +let g:airline#themes#solarized_flood#palette.visual['airline_z'] = + \ [s:yellow['hex'], s:base03['hex'], s:yellow['term'], s:base03['term'], + \ 'italic'] + +let g:airline#themes#solarized_flood#palette.visual_modified = { + \ 'airline_c': [s:magenta['hex'], s:base03['hex'], + \ s:magenta['term'], s:base03['term'], 'italic'], + \ } + +" ***************************************************************************** +" Inactive Mode +" ***************************************************************************** +let s:airline_a_inactive = ['#4e4e4e', '#1c1c1c', 239, 234, ''] +let s:airline_b_inactive = ['#4e4e4e', '#262626', 239, 235, ''] +let s:airline_c_inactive = ['#4e4e4e', '#303030', 239, 236, ''] +let g:airline#themes#solarized_flood#palette.inactive = + \ airline#themes#generate_color_map(s:airline_a_inactive, + \ s:airline_b_inactive, + \ s:airline_c_inactive) +let g:airline#themes#solarized_flood#palette.inactive_modified = { + \ 'airline_c': ['#875faf', '', 97, '', ''] , + \ } + + +let g:airline#themes#solarized_flood#palette.accents = { + \ 'red': [s:red['hex'], '', s:red['term'], ''] + \ } + + +if get(g:, 'loaded_ctrlp', 0) + let g:airline#themes#solarized_flood#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#d7d7ff', '#5f00af', 189, 55 , '' ], + \ [ '#ffffff', '#875fd7', 231, 98 , '' ], + \ [ '#5f00af', '#ffffff', 55 , 231, 'bold']) +endif diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/supernova.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/supernova.vim new file mode 100644 index 0000000..9376d73 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/supernova.vim @@ -0,0 +1,62 @@ +let g:airline#themes#supernova#palette = {} +let g:airline#themes#supernova#palette.accents = { + \ 'red': [ '#d40059' , '' , 81 , '' , '' ], + \ } + +" Normal Mode: +let s:N1 = [ '#585858' , '#e4e4e4' , 235 , 73 ] " Mode +let s:N2 = [ '#e4e4e4' , '#242e33' , 252 , 240 ] " Info +let s:N3 = [ '#eeeeee' , '#1D2529' , 248 , 235 ] " StatusLine + +let g:airline#themes#supernova#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#supernova#palette.normal_modified = { + \ 'airline_c': [ '#eeeeee' , '#1D2529' , 255 , 235 , '' ] , + \ } + +" Insert Mode: +let s:I1 = [ '#585858' , '#e4e4e4' , 254 , 54 ] " Mode +let s:I2 = [ '#e4e4e4' , '#242e33' , 252 , 240 ] " Info +let s:I3 = [ '#eeeeee' , '#1D2529' , 248 , 235 ] " StatusLine + +let g:airline#themes#supernova#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#supernova#palette.insert_modified = { + \ 'airline_c': [ '#eeeeee' , '#1D2529' , 255 , 235 , '' ] , + \ } + +" Replace Mode: +let s:R1 = [ '#585858' , '#e4e4e4' , 254 , 89 ] " Mode +let s:R2 = [ '#e4e4e4' , '#242e33' , 252 , 240 ] " Info +let s:R3 = [ '#eeeeee' , '#1D2529' , 248 , 235 ] " StatusLine + +let g:airline#themes#supernova#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#supernova#palette.replace.airline_a = [ '#d7005f' , '#e4e4e4' , 254 , 89, '' ] +let g:airline#themes#supernova#palette.replace_modified = { + \ 'airline_c': [ '#eeeeee' , '#1D2529' , 255 , 235 , '' ] , + \ } + +" Visual Mode: +let s:V1 = [ '#1D2529', '#e4e4e4', 235, 32 ] +let s:V2 = [ '', '#242e33', '', 240 ] +let s:V3 = [ '#e4e4e4', '#1D2529', 248, 235 ] + +let g:airline#themes#supernova#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#supernova#palette.visual_modified = { + \ 'airline_c': [ '#e4e4e4', '#1D2529', 255, 235 ] , + \ } + +" Inactive: +let s:IA = [ '#585858' , '#e4e4e4' , 252 , 238 , '' ] +let g:airline#themes#supernova#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#supernova#palette.inactive.airline_c = s:N2 +let g:airline#themes#supernova#palette.inactive_modified = { + \ 'airline_c': [ '#585864' , '#e4e4e4' , 255 , 238 , '' ] , + \ } + +" CtrlP: +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#supernova#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#e4e4e4' , '#1D2529' , 235 , 60 , '' ] , + \ [ '#e4e4e4' , '#242e33' , 254 , 240 , '' ] , + \ [ '#585858' , '#e4e4e4' , 248 , 235 , 'bold' ] ) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/term.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/term.vim new file mode 100644 index 0000000..9845a44 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/term.vim @@ -0,0 +1,92 @@ + +" vim-airline 'term' theme +" it is using current terminal colorscheme +" and in gvim i left colors from 'wombat' theme but i am not using it anyway + +" Normal mode +" [ guifg, guibg, ctermfg, ctermbg, opts ] +let s:N1 = [ '#141413' , '#CAE682' , 232 , 2 ] " mode +let s:N2 = [ '#CAE682' , '#32322F' , 2 , 'black' ] " info +let s:N3 = [ '#CAE682' , '#242424' , 2 , 233 ] " statusline +let s:N4 = [ '#86CD74' , 10 ] " mode modified + +" Insert mode +let s:I1 = [ '#141413' , '#FDE76E' , 232 , 3 ] +let s:I2 = [ '#FDE76E' , '#32322F' , 3 , 'black' ] +let s:I3 = [ '#FDE76E' , '#242424' , 3 , 233 ] +let s:I4 = [ '#FADE3E' , 11 ] + +" Visual mode +let s:V1 = [ '#141413' , '#B5D3F3' , 232 , 4 ] +let s:V2 = [ '#B5D3F3' , '#32322F' , 4 , 'black' ] +let s:V3 = [ '#B5D3F3' , '#242424' , 4 , 233 ] +let s:V4 = [ '#7CB0E6' , 12 ] + +" Replace mode +let s:R1 = [ '#141413' , '#E5786D' , 232 , 1 ] +let s:R2 = [ '#E5786D' , '#32322F' , 1 , 'black' ] +let s:R3 = [ '#E5786D' , '#242424' , 1 , 233 ] +let s:R4 = [ '#E55345' , 9 ] + +" Paste mode +let s:PA = [ '#94E42C' , 6 ] + +" Info modified +let s:IM = [ '#40403C' , 7 ] + +" Inactive mode +let s:IA = [ '#767676' , s:N3[1] , 243 , s:N3[3] , '' ] + +let g:airline#themes#term#palette = {} + +let g:airline#themes#term#palette.accents = { + \ 'red': [ '#E5786D' , '' , 203 , '' , '' ], + \ } + +let g:airline#themes#term#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#term#palette.normal_modified = { + \ 'airline_a': [ s:N1[0] , s:N4[0] , s:N1[2] , s:N4[1] , '' ] , + \ 'airline_b': [ s:N4[0] , s:IM[0] , s:N4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:N4[0] , s:N3[1] , s:N4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#term#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#term#palette.insert_modified = { + \ 'airline_a': [ s:I1[0] , s:I4[0] , s:I1[2] , s:I4[1] , '' ] , + \ 'airline_b': [ s:I4[0] , s:IM[0] , s:I4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:I4[0] , s:N3[1] , s:I4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#term#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#term#palette.visual_modified = { + \ 'airline_a': [ s:V1[0] , s:V4[0] , s:V1[2] , s:V4[1] , '' ] , + \ 'airline_b': [ s:V4[0] , s:IM[0] , s:V4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:V4[0] , s:N3[1] , s:V4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#term#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#term#palette.replace_modified = { + \ 'airline_a': [ s:R1[0] , s:R4[0] , s:R1[2] , s:R4[1] , '' ] , + \ 'airline_b': [ s:R4[0] , s:IM[0] , s:R4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:R4[0] , s:N3[1] , s:R4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#term#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] , + \ 'airline_b': [ s:PA[0] , s:IM[0] , s:PA[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:PA[0] , s:N3[1] , s:PA[1] , s:N3[3] , '' ] } + + +let g:airline#themes#term#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#term#palette.inactive_modified = { + \ 'airline_c': [ s:N4[0] , '' , s:N4[1] , '' , '' ] } + + +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#term#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#DADADA' , '#242424' , 253 , 234 , '' ] , + \ [ '#DADADA' , '#40403C' , 253 , 238 , '' ] , + \ [ '#141413' , '#DADADA' , 232 , 253 , 'bold' ] ) + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/term_light.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/term_light.vim new file mode 100644 index 0000000..c4c3100 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/term_light.vim @@ -0,0 +1,92 @@ + +" vim-airline 'term_light' theme +" it is using current terminal colorscheme +" and in gvim i left colors from 'wombat' theme but i am not using it anyway + +" Normal mode +" [ guifg, guibg, ctermfg, ctermbg, opts ] +let s:N1 = [ '#f0f0f0' , '#86CD74' , 15, 2 ] " mode +let s:N2 = [ '#86CD74' , '#deded9' , 2, 8 ] " info +let s:N3 = [ '#86CD74' , '#888a85' , 2, 15 ] " statusline +let s:N4 = [ '#CAE682' , '#141413' , 10, 0 ] " mode modified + +" Insert mode +let s:I1 = [ '#f0f0f0' , '#FADE3E' , 15, 3 ] +let s:I2 = [ '#FADE3E' , '#deded9' , 3, 8 ] +let s:I3 = [ '#FADE3E' , '#888a85' , 3, 15 ] +let s:I4 = [ '#FDE76E' , '#141413' , 11, 0 ] + +" Visual mode +let s:V1 = [ '#f0f0f0' , '#7CB0E6' , 15, 4 ] +let s:V2 = [ '#7CB0E6' , '#deded9' , 4, 8 ] +let s:V3 = [ '#7CB0E6' , '#888a85' , 4, 15 ] +let s:V4 = [ '#B5D3F3' , '#141413' , 12, 0 ] + +" Replace mode +let s:R1 = [ '#f0f0f0' , '#E55345' , 15, 1 ] +let s:R2 = [ '#E55345' , '#deded9' , 1, 8 ] +let s:R3 = [ '#E55345' , '#888a85' , 1, 15 ] +let s:R4 = [ '#E5786D' , '#141413' , 9, 0 ] + +" Paste mode +let s:PA = [ '#94E42C' , 6 ] + +" Info modified +let s:IM = [ '#40403C' , 7 ] + +" Inactive mode +let s:IA = [ '#767676' , s:N3[1] , 243 , s:N3[3] , '' ] + +let g:airline#themes#term_light#palette = {} + +let g:airline#themes#term_light#palette.accents = { + \ 'red': [ '#E5786D' , '' , 203 , '' , '' ], + \ } + +let g:airline#themes#term_light#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#term_light#palette.normal_modified = { + \ 'airline_a': [ s:N4[1] , s:N4[0] , s:N4[3] , s:N4[2] , '' ] , + \ 'airline_b': [ s:N4[0] , s:IM[0] , s:N4[2] , s:IM[1] , '' ] , + \ 'airline_c': [ s:N4[0] , s:N3[1] , s:N4[2] , s:N3[3] , '' ] } + + +let g:airline#themes#term_light#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#term_light#palette.insert_modified = { + \ 'airline_a': [ s:I4[1] , s:I4[0] , s:I4[3] , s:I4[2] , '' ] , + \ 'airline_b': [ s:I4[0] , s:IM[0] , s:I4[2] , s:IM[1] , '' ] , + \ 'airline_c': [ s:I4[0] , s:N3[1] , s:I4[2] , s:N3[3] , '' ] } + + +let g:airline#themes#term_light#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#term_light#palette.visual_modified = { + \ 'airline_a': [ s:V4[1] , s:V4[0] , s:V4[3] , s:V4[2] , '' ] , + \ 'airline_b': [ s:V4[0] , s:IM[0] , s:V4[2] , s:IM[1] , '' ] , + \ 'airline_c': [ s:V4[0] , s:N3[1] , s:V4[2] , s:N3[3] , '' ] } + + +let g:airline#themes#term_light#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#term_light#palette.replace_modified = { + \ 'airline_a': [ s:R4[1] , s:R4[0] , s:R4[3] , s:R4[2] , '' ] , + \ 'airline_b': [ s:R4[0] , s:IM[0] , s:R4[2] , s:IM[1] , '' ] , + \ 'airline_c': [ s:R4[0] , s:N3[1] , s:R4[2] , s:N3[3] , '' ] } + + +let g:airline#themes#term_light#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] , + \ 'airline_b': [ s:PA[0] , s:IM[0] , s:PA[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:PA[0] , s:N3[1] , s:PA[1] , s:N3[3] , '' ] } + + +let g:airline#themes#term_light#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#term_light#palette.inactive_modified = { + \ 'airline_c': [ s:N4[0] , '' , s:N4[2] , '' , '' ] } + + +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#term_light#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#DADADA' , '#242424' , 253 , 234 , '' ] , + \ [ '#DADADA' , '#40403C' , 253 , 238 , '' ] , + \ [ '#141413' , '#DADADA' , 232 , 253 , 'bold' ] ) + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/tomorrow.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/tomorrow.vim new file mode 100644 index 0000000..f382fc1 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/tomorrow.vim @@ -0,0 +1,44 @@ +let g:airline#themes#tomorrow#palette = {} + +function! airline#themes#tomorrow#refresh() + let g:airline#themes#tomorrow#palette.accents = { + \ 'red': airline#themes#get_highlight('Constant'), + \ } + + let s:N1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Directory', 'fg'], 'bold') + let s:N2 = airline#themes#get_highlight('Pmenu') + let s:N3 = airline#themes#get_highlight('CursorLine') + let g:airline#themes#tomorrow#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + + let group = airline#themes#get_highlight('vimCommand') + let g:airline#themes#tomorrow#palette.normal_modified = { + \ 'airline_c': [ group[0], '', group[2], '', '' ] + \ } + + let s:I1 = airline#themes#get_highlight2(['Normal', 'bg'], ['MoreMsg', 'fg'], 'bold') + let s:I2 = airline#themes#get_highlight2(['MoreMsg', 'fg'], ['Normal', 'bg']) + let s:I3 = s:N3 + let g:airline#themes#tomorrow#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + let g:airline#themes#tomorrow#palette.insert_modified = g:airline#themes#tomorrow#palette.normal_modified + + let s:R1 = airline#themes#get_highlight('Error', 'bold') + let s:R2 = s:N2 + let s:R3 = s:N3 + let g:airline#themes#tomorrow#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + let g:airline#themes#tomorrow#palette.replace_modified = g:airline#themes#tomorrow#palette.normal_modified + + let s:V1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Constant', 'fg'], 'bold') + let s:V2 = airline#themes#get_highlight2(['Constant', 'fg'], ['Normal', 'bg']) + let s:V3 = s:N3 + let g:airline#themes#tomorrow#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + let g:airline#themes#tomorrow#palette.visual_modified = g:airline#themes#tomorrow#palette.normal_modified + + let s:IA = airline#themes#get_highlight2(['NonText', 'fg'], ['CursorLine', 'bg']) + let g:airline#themes#tomorrow#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) + let g:airline#themes#tomorrow#palette.inactive_modified = { + \ 'airline_c': [ group[0], '', group[2], '', '' ] + \ } +endfunction + +call airline#themes#tomorrow#refresh() + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/transparent.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/transparent.vim new file mode 100644 index 0000000..f48f21a --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/transparent.vim @@ -0,0 +1,155 @@ +"FROM https://github.com/khatiba + +" Colors +let s:gray = [245, '#3f4b59'] +let s:darkgray = [245, '#1d1f21'] +let s:golden = [143, '#BBE67E'] +let s:pink = [131, '#F07178'] +let s:blue = [ 67, '#D4BFFF'] +let s:orange = [166, '#ffae57'] +let s:outerfg = [ 16, '#8d96a1'] +let s:outerfgi = [ 16, '#2f3d4d'] + +" Backgrounds +let s:outerbg = [ 16, 'NONE'] +let s:innerbg = [234, 'NONE'] + +" Normal mode +let s:N1 = [s:outerfg[1], s:outerbg[1], s:outerfg[0], s:gray[0]] +let s:N3 = [s:gray[1] , s:innerbg[1], s:gray[0] , s:innerbg[0]] + +" Normal mode - modified +let s:NM1 = [s:darkgray[1], s:orange[1], s:darkgray[0], s:orange[0]] +let s:NM3 = [s:orange[1] , s:outerbg[1], s:orange[0], s:darkgray[0]] + +" Insert mode +let s:I1 = [s:darkgray[1], s:golden[1], s:outerfg[0], s:golden[0]] +let s:I3 = [s:golden[1] , s:innerbg[1], s:golden[0], s:innerbg[0]] + +" Visual mode +let s:V1 = [s:darkgray[1], s:pink[1], s:outerfg[0], s:pink[0]] +let s:V3 = [s:pink[1] , s:innerbg[1], s:pink[0], s:innerbg[0]] + +" Replace mode +let s:R1 = [s:darkgray[1], s:blue[1], s:outerfg[0], s:blue[0]] +let s:R3 = [s:blue[1], s:innerbg[1], s:blue[0], s:innerbg[0]] + +" Inactive pane +let s:IA = [s:darkgray[1], s:outerbg[1], s:innerbg[0], s:innerbg[0]] +let s:IAc = [s:gray[1], s:outerbg[1], s:outerbg[0], s:outerbg[0]] + +let g:airline#themes#transparent#palette = {} +let g:airline#themes#transparent#palette.accents = { + \ 'red': ['#d70000', '', 160, '', '']} + +let g:airline#themes#transparent#palette.inactive = { + \ 'airline_a': s:IA, + \ 'airline_b': s:IA, + \ 'airline_c': s:IAc, + \ 'airline_x': s:IA, + \ 'airline_y': s:IA, + \ 'airline_z': s:IA} + +let g:airline#themes#transparent#palette.inactive_modified = { + \ 'airline_a': s:IA, + \ 'airline_b': s:IA, + \ 'airline_c': s:NM3, + \ 'airline_x': s:IA, + \ 'airline_y': s:IA, + \ 'airline_z': s:IA} + +let g:airline#themes#transparent#palette.normal = { + \ 'airline_a': s:N1, + \ 'airline_b': s:N3, + \ 'airline_c': s:N3, + \ 'airline_x': s:N3, + \ 'airline_y': s:N3, + \ 'airline_z': s:N3} + +let g:airline#themes#transparent#palette.normal_modified = { + \ 'airline_a': s:NM1, + \ 'airline_b': s:N3, + \ 'airline_c': s:N3, + \ 'airline_x': s:N3, + \ 'airline_y': s:N3, + \ 'airline_z': s:NM3} + +let g:airline#themes#transparent#palette.insert = { + \ 'airline_a': s:I1, + \ 'airline_b': s:N3, + \ 'airline_c': s:N3, + \ 'airline_x': s:N3, + \ 'airline_y': s:N3, + \ 'airline_z': s:I3} +let g:airline#themes#transparent#palette.insert_modified = {} + +let g:airline#themes#transparent#palette.replace = { + \ 'airline_a': s:R1, + \ 'airline_b': s:N3, + \ 'airline_c': s:N3, + \ 'airline_x': s:N3, + \ 'airline_y': s:N3, + \ 'airline_z': s:R3} +let g:airline#themes#transparent#palette.replace_modified = {} + +let g:airline#themes#transparent#palette.visual = { + \ 'airline_a': s:V1, + \ 'airline_b': s:N3, + \ 'airline_c': s:N3, + \ 'airline_x': s:N3, + \ 'airline_y': s:N3, + \ 'airline_z': s:V3} +let g:airline#themes#transparent#palette.visual_modified = {} + + +" Warnings +let g:airline#themes#transparent#palette.normal.airline_warning = s:NM1 + +let g:airline#themes#transparent#palette.normal_modified.airline_warning = + \ g:airline#themes#transparent#palette.normal.airline_warning + +let g:airline#themes#transparent#palette.insert.airline_warning = + \ g:airline#themes#transparent#palette.normal.airline_warning + +let g:airline#themes#transparent#palette.insert_modified.airline_warning = + \ g:airline#themes#transparent#palette.normal.airline_warning + +let g:airline#themes#transparent#palette.visual.airline_warning = + \ g:airline#themes#transparent#palette.normal.airline_warning + +let g:airline#themes#transparent#palette.visual_modified.airline_warning = + \ g:airline#themes#transparent#palette.normal.airline_warning + +let g:airline#themes#transparent#palette.replace.airline_warning = + \ g:airline#themes#transparent#palette.normal.airline_warning + +let g:airline#themes#transparent#palette.replace_modified.airline_warning = + \ g:airline#themes#transparent#palette.normal.airline_warning + + +" Errors +let g:airline#themes#transparent#palette.normal.airline_error = s:V1 + +let g:airline#themes#transparent#palette.normal_modified.airline_error = + \ g:airline#themes#transparent#palette.normal.airline_error + +let g:airline#themes#transparent#palette.insert.airline_error = + \ g:airline#themes#transparent#palette.normal.airline_error + +let g:airline#themes#transparent#palette.insert_modified.airline_error = + \ g:airline#themes#transparent#palette.normal.airline_error + +let g:airline#themes#transparent#palette.insert_modified.airline_error = + \ g:airline#themes#transparent#palette.normal.airline_error + +let g:airline#themes#transparent#palette.visual.airline_error = + \ g:airline#themes#transparent#palette.normal.airline_error + +let g:airline#themes#transparent#palette.visual_modified.airline_error = + \ g:airline#themes#transparent#palette.normal.airline_error + +let g:airline#themes#transparent#palette.replace.airline_error = + \ g:airline#themes#transparent#palette.normal.airline_error + +let g:airline#themes#transparent#palette.replace_modified.airline_error = + \ g:airline#themes#transparent#palette.normal.airline_error diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/ubaryd.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/ubaryd.vim new file mode 100644 index 0000000..9ee9ed0 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/ubaryd.vim @@ -0,0 +1,87 @@ +" vim-airline companion theme of Ubaryd +" (https://github.com/Donearm/Ubaryd) +" +" Author: Gianluca fiore +" Version: 1.12 +" License: MIT + +" Normal mode +" +let s:N1 = [ '#005f00' , '#f8f6f2','22','15'] +let s:N2 = [ '#f8f6f2' , '#005f00','15','22'] +let s:N3 = [ '#b88853' , '#242321' , 137, 235 ] +let s:N4 = [ '#005f00' , 22 ] + +" Insert mode +let s:I1 = [ '#f8f6f2', '#e25a74','15','161'] +let s:I2 = [ '#242321', '#c14c3d','235','160'] +let s:I3 = [ '#f4cf86' , '#242321' , 222 , 235 ] +let s:I4 = [ '#f4cf86' , 222 ] + +" Visual mode +let s:V1 = [ '#416389', '#f8f6f2','18','15'] +let s:V2 = [ '#416389', '#f4cf86','18','222'] +let s:V3 = [ '#9a4820' , '#f8f6f2','88','15'] +let s:V4 = [ '#9a4820' , 88 ] + +" Replace mode +let s:R1 = [ '#242321' , '#f8f6f2','235','15'] +let s:R2 = [ '#ffa724' , '#666462','214','241'] +let s:R3 = [ '#f8f6f2' , '#ff7400','15','215'] +let s:R4 = [ '#ffa724' , 214 ] + +" Paste mode +let s:PA = [ '#f9ef6d' , 154 ] + +" Info modified +let s:IM = [ '#242321' , 235 ] + +" Inactive mode +let s:IA = [ s:N2[1], s:N3[1], s:N2[3], s:N3[3], '' ] + +let g:airline#themes#ubaryd#palette = {} + +let g:airline#themes#ubaryd#palette.accents = { + \ 'red': [ '#ff7400' , '' , 202 , '' , '' ], + \ } + +let g:airline#themes#ubaryd#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#ubaryd#palette.normal_modified = { + \ 'airline_a': [ s:N1[0] , s:N4[0] , s:N1[2] , s:N4[1] , '' ] , + \ 'airline_b': [ s:N4[0] , s:IM[0] , s:N4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:N4[0] , s:N3[1] , s:N4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#ubaryd#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#ubaryd#palette.insert_modified = { + \ 'airline_a': [ s:I1[0] , s:I4[0] , s:I1[2] , s:I4[1] , '' ] , + \ 'airline_b': [ s:I4[0] , s:IM[0] , s:I4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:I4[0] , s:N3[1] , s:I4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#ubaryd#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#ubaryd#palette.visual_modified = { + \ 'airline_a': [ s:V1[0] , s:V4[0] , s:V1[2] , s:V4[1] , '' ] , + \ 'airline_b': [ s:V4[0] , s:IM[0] , s:V4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:V4[0] , s:N3[1] , s:V4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#ubaryd#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#ubaryd#palette.replace_modified = { + \ 'airline_a': [ s:R1[0] , s:R4[0] , s:R1[2] , s:R4[1] , '' ] , + \ 'airline_b': [ s:R4[0] , s:IM[0] , s:R4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:R4[0] , s:N3[1] , s:R4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#ubaryd#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] , + \ 'airline_b': [ s:PA[0] , s:IM[0] , s:PA[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:PA[0] , s:N3[1] , s:PA[1] , s:N3[3] , '' ] } + + +let g:airline#themes#ubaryd#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#ubaryd#palette.inactive_modified = { + \ 'airline_c': [ s:N4[0] , '' , s:N4[1] , '' , '' ] } + + + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/understated.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/understated.vim new file mode 100644 index 0000000..b3e7917 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/understated.vim @@ -0,0 +1,43 @@ +let g:airline#themes#understated#palette = {} + +let s:N1 = ['#FFFFFF', '#5F87FF', 15, 69] " Outside blocks in normal mode (mode and file position) +let s:N2 = ['#AFAF87', '#5F5F5F', 144, 59] " Next blocks inside (branch and file format) +let s:N3 = ['#AFAF87', '#5F5F5F', 144, 59] " The middle block + +let g:airline#themes#understated#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#understated#palette.normal_modified = {'airline_c': ['#ffffff', '#5f005f', 144, 59, 'bold'] ,} + +let s:I1 = ['#FFFFFF', '#87AF5F', 15, 107] " Outside blocks in normal mode (mode and file position) +let s:I2 = ['#AFAF87', '#5F5F5F', 144, 59] " Next blocks inside (branch and file format) +let s:I3 = ['#AFAF87', '#5F5F5F', 144, 59] " The middle block +let g:airline#themes#understated#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#understated#palette.insert_modified = {'airline_c': ['#AFAF87', '#5F5F5F', 144, 59, 'bold'] ,} +let g:airline#themes#understated#palette.insert_paste = {'airline_c': ['#AFAF87', '#5F5F5F', 144, 59, ''] ,} + +let g:airline#themes#understated#palette.replace = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#understated#palette.replace.airline_a = ['#FFFFFF', '#870000', 15, 88, ''] +let g:airline#themes#understated#palette.replace_modified = {'airline_c': ['#AFAF87', '#5F5F5F', 144, 59, 'bold'] ,} + +let s:V1 = ['#FFFFFF', '#AF5F00', 15, 130] +let s:V2 = ['#AFAF87', '#5F5F5F', 144, 59] +let s:V3 = ['#AFAF87', '#5F5F5F', 144, 59] +let g:airline#themes#understated#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#understated#palette.visual_modified = {'airline_c': [ '#AFAF87', '#5f005f', 144, 59, 'bold'] ,} + +let s:V1 = ['#080808', '#FFAF00', 232, 214] +let s:IA1 = ['#4E4E4E', '#1C1C1C', 239, 234, ''] +let s:IA2 = ['#4E4E4E', '#1C1C1C', 239, 234, ''] +let s:IA3 = ['#4E4E4E', '#1C1C1C', 239, 234, ''] +let g:airline#themes#understated#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) +let g:airline#themes#understated#palette.inactive_modified = {'airline_c': ['#4E4E4E', '', 239, '', 'bold'] ,} + +let g:airline#themes#understated#palette.accents = {'red': ['#FF0000', '', 88, '']} + +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#understated#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ ['#FFFFFF', '#1C1C1C', 15, 234, '' ], + \ ['#FFFFFF', '#262626', 15, 235, '' ], + \ ['#FFFFFF', '#303030', 15, 236, 'bold']) + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/violet.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/violet.vim new file mode 100644 index 0000000..94199a0 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/violet.vim @@ -0,0 +1,32 @@ +" Normal mode " guifg guibg ctermfg ctermbg +let s:N1 = [ '#bcbcbc' , '#875faf' , 250 , 97 ] +let s:N2 = [ '#d75fd7' , '#4e4e4e' , 170 , 239 ] +let s:N3 = [ '#c6c6c6' , '#3a3a3a' , 251 , 237 ] + +" Insert mode +let s:I1 = [ '#CACFD2' , '#009966' , 253 , 35 ] +let s:I2 = [ '#d75fd7' , '#4e4e4e' , 170 , 239 ] +let s:I3 = [ '#c6c6c6' , '#3a3a3a' , 251 , 237 ] + +" Visual mode +let s:V1 = [ '#5f0000' , '#ff5faf' , 52 , 205 ] + +" Replace mode +let s:RE = [ '#c6c6c6' , '#ce537a' , 251, 168 ] + +let g:airline#themes#violet#palette = {} + +let g:airline#themes#violet#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + +let g:airline#themes#violet#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#violet#palette.insert_replace = { + \ 'airline_a': [ s:RE[0] , s:I1[1] , s:RE[1] , s:I1[3] , '' ] } + +let g:airline#themes#violet#palette.visual = { + \ 'airline_a': [ s:V1[0] , s:V1[1] , s:V1[2] , s:V1[3] , '' ] } + +let g:airline#themes#violet#palette.replace = copy(g:airline#themes#violet#palette.normal) +let g:airline#themes#violet#palette.replace.airline_a = [ s:RE[0] , s:RE[1] , s:RE[2] , s:RE[3] , '' ] + +let s:IA = [ s:N1[1] , s:N3[1] , s:N1[3] , s:N3[3] , '' ] +let g:airline#themes#violet#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/wombat.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/wombat.vim new file mode 100644 index 0000000..622683f --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/wombat.vim @@ -0,0 +1,90 @@ +" vim-airline companion theme of Wombat +" looks great with wombat256 vim colorscheme + +" Normal mode +" [ guifg, guibg, ctermfg, ctermbg, opts ] +let s:N1 = [ '#141413' , '#CAE682' , 232 , 192 ] " mode +let s:N2 = [ '#CAE682' , '#32322F' , 192 , 238 ] " info +let s:N3 = [ '#CAE682' , '#242424' , 192 , 235 ] " statusline +let s:N4 = [ '#86CD74' , 113 ] " mode modified + +" Insert mode +let s:I1 = [ '#141413' , '#FDE76E' , 232 , 227 ] +let s:I2 = [ '#FDE76E' , '#32322F' , 227 , 238 ] +let s:I3 = [ '#FDE76E' , '#242424' , 227 , 235 ] +let s:I4 = [ '#FADE3E' , 221 ] + +" Visual mode +let s:V1 = [ '#141413' , '#B5D3F3' , 232 , 153 ] +let s:V2 = [ '#B5D3F3' , '#32322F' , 153 , 238 ] +let s:V3 = [ '#B5D3F3' , '#242424' , 153 , 235 ] +let s:V4 = [ '#7CB0E6' , 111 ] + +" Replace mode +let s:R1 = [ '#141413' , '#E5786D' , 232 , 173 ] +let s:R2 = [ '#E5786D' , '#32322F' , 173 , 238 ] +let s:R3 = [ '#E5786D' , '#242424' , 173 , 235 ] +let s:R4 = [ '#E55345' , 203 ] + +" Paste mode +let s:PA = [ '#94E42C' , 47 ] + +" Info modified +let s:IM = [ '#40403C' , 238 ] + +" Inactive mode +let s:IA = [ '#767676' , s:N3[1] , 243 , s:N3[3] , '' ] + +let g:airline#themes#wombat#palette = {} + +let g:airline#themes#wombat#palette.accents = { + \ 'red': [ '#E5786D' , '' , 203 , '' , '' ], + \ } + +let g:airline#themes#wombat#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#wombat#palette.normal_modified = { + \ 'airline_a': [ s:N1[0] , s:N4[0] , s:N1[2] , s:N4[1] , '' ] , + \ 'airline_b': [ s:N4[0] , s:IM[0] , s:N4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:N4[0] , s:N3[1] , s:N4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#wombat#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#wombat#palette.insert_modified = { + \ 'airline_a': [ s:I1[0] , s:I4[0] , s:I1[2] , s:I4[1] , '' ] , + \ 'airline_b': [ s:I4[0] , s:IM[0] , s:I4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:I4[0] , s:N3[1] , s:I4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#wombat#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#wombat#palette.visual_modified = { + \ 'airline_a': [ s:V1[0] , s:V4[0] , s:V1[2] , s:V4[1] , '' ] , + \ 'airline_b': [ s:V4[0] , s:IM[0] , s:V4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:V4[0] , s:N3[1] , s:V4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#wombat#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#wombat#palette.replace_modified = { + \ 'airline_a': [ s:R1[0] , s:R4[0] , s:R1[2] , s:R4[1] , '' ] , + \ 'airline_b': [ s:R4[0] , s:IM[0] , s:R4[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:R4[0] , s:N3[1] , s:R4[1] , s:N3[3] , '' ] } + + +let g:airline#themes#wombat#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] , + \ 'airline_b': [ s:PA[0] , s:IM[0] , s:PA[1] , s:IM[1] , '' ] , + \ 'airline_c': [ s:PA[0] , s:N3[1] , s:PA[1] , s:N3[3] , '' ] } + + +let g:airline#themes#wombat#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) +let g:airline#themes#wombat#palette.inactive_modified = { + \ 'airline_c': [ s:N4[0] , '' , s:N4[1] , '' , '' ] } + + +if !get(g:, 'loaded_ctrlp', 0) + finish +endif +let g:airline#themes#wombat#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ [ '#DADADA' , '#242424' , 253 , 234 , '' ] , + \ [ '#DADADA' , '#40403C' , 253 , 238 , '' ] , + \ [ '#141413' , '#DADADA' , 232 , 253 , 'bold' ] ) + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/xtermlight.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/xtermlight.vim new file mode 100644 index 0000000..21d349e --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/xtermlight.vim @@ -0,0 +1,45 @@ +let g:airline#themes#xtermlight#palette = {} + +let s:N1 = [ '#eeeeee' , '#005fff' , 255 , 27 ] +let s:N2 = [ '#000087' , '#00d7ff' , 18 , 45 ] +let s:N3 = [ '#005fff' , '#afffff' , 27 , 159 ] +let g:airline#themes#xtermlight#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#xtermlight#palette.normal_modified = { + \ 'airline_c': [ '#d70000' , '#ffdfdf' , 160 , 224 , '' ] , + \ } + + +let s:I1 = [ '#eeeeee' , '#00875f' , 255 , 29 ] +let s:I2 = [ '#005f00' , '#00d787' , 22 , 42 ] +let s:I3 = [ '#005f5f' , '#afff87' , 23 , 156 ] +let g:airline#themes#xtermlight#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#xtermlight#palette.insert_modified = { + \ 'airline_c': [ '#d70000' , '#ffdfdf' , 160 , 224 , '' ] , + \ } +let g:airline#themes#xtermlight#palette.insert_paste = { + \ 'airline_a': [ s:I1[0] , '#d78700' , s:I1[2] , 172 , '' ] , + \ } + + +let g:airline#themes#xtermlight#palette.replace = copy(g:airline#themes#xtermlight#palette.insert) +let g:airline#themes#xtermlight#palette.replace.airline_a = [ s:I2[0] , '#ff0000' , s:I1[2] , 196 , '' ] +let g:airline#themes#xtermlight#palette.replace_modified = g:airline#themes#xtermlight#palette.insert_modified + + +let s:V1 = [ '#eeeeee' , '#ff5f00' , 255 , 202 ] +let s:V2 = [ '#5f0000' , '#ffaf00' , 52 , 214 ] +let s:V3 = [ '#d75f00' , '#ffff87' , 166 , 228 ] +let g:airline#themes#xtermlight#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#xtermlight#palette.visual_modified = { + \ 'airline_c': [ '#d70000' , '#ffdfdf' , 160 , 224 , '' ] , + \ } + + +let s:IA1 = [ '#6c6c6c' , '#b2b2b2' , 242 , 249 , '' ] +let s:IA2 = [ '#8a8a8a' , '#d0d0d0' , 245 , 252 , '' ] +let s:IA3 = [ '#a8a8a8' , '#eeeeee' , 248 , 255 , '' ] +let g:airline#themes#xtermlight#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) +let g:airline#themes#xtermlight#palette.inactive_modified = { + \ 'airline_c': [ '#d70000' , '' , 160 , '' , '' ] , + \ } + diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/zenburn.vim b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/zenburn.vim new file mode 100644 index 0000000..58fae81 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/autoload/airline/themes/zenburn.vim @@ -0,0 +1,45 @@ +let g:airline#themes#zenburn#palette = {} + +function! airline#themes#zenburn#refresh() + let g:airline#themes#zenburn#palette.accents = { + \ 'red': airline#themes#get_highlight('Constant'), + \ } + + let s:N1 = airline#themes#get_highlight2(['DbgCurrent', 'bg'], ['Folded', 'fg'], 'bold') + let s:N2 = airline#themes#get_highlight('Folded') + let s:N3 = airline#themes#get_highlight('NonText') + let s:Nmod = airline#themes#get_highlight('Comment') + + let g:airline#themes#zenburn#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + let g:airline#themes#zenburn#palette.normal.airline_c = s:Nmod + let g:airline#themes#zenburn#palette.normal_modified = { + \ 'airline_c': s:Nmod + \ } + + let s:I1 = airline#themes#get_highlight2(['DbgCurrent', 'bg'], ['String', 'fg'], 'bold') + let s:I2 = airline#themes#get_highlight2(['String', 'fg'], ['Folded', 'bg']) + let s:I3 = s:N3 + let g:airline#themes#zenburn#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + let g:airline#themes#zenburn#palette.insert.airline_c = s:Nmod + let g:airline#themes#zenburn#palette.insert_modified = g:airline#themes#zenburn#palette.normal_modified + + let s:R1 = airline#themes#get_highlight2(['DbgCurrent', 'bg'], ['Comment', 'fg'], 'bold') + let s:R2 = airline#themes#get_highlight2(['Comment', 'fg'], ['Folded', 'bg']) + let s:R3 = s:N3 + let g:airline#themes#zenburn#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + let g:airline#themes#zenburn#palette.replace_modified = g:airline#themes#zenburn#palette.normal_modified + + let s:V1 = airline#themes#get_highlight2(['DbgCurrent', 'bg'], ['Identifier', 'fg'], 'bold') + let s:V2 = airline#themes#get_highlight2(['Identifier', 'fg'], ['Folded', 'bg']) + let s:V3 = s:N3 + let g:airline#themes#zenburn#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + let g:airline#themes#zenburn#palette.visual_modified = g:airline#themes#zenburn#palette.normal_modified + + let s:IA = airline#themes#get_highlight('NonText') + let g:airline#themes#zenburn#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) + let g:airline#themes#zenburn#palette.inactive_modified = { + \ 'airline_c': s:Nmod + \ } +endfunction + +call airline#themes#zenburn#refresh() diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/doc/airline-themes.txt b/private_dot_config/nvim/plugged/vim-airline-themes/doc/airline-themes.txt new file mode 100644 index 0000000..4eaf04a --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/doc/airline-themes.txt @@ -0,0 +1,440 @@ +*airline-themes.txt* Themes for vim-airline + _ _ _ _ ~ + __ _(_)_ __ ___ __ _(_)_ __| (_)_ __ ___ ~ + \ \ / / | '_ ` _ \ _____ / _` | | '__| | | '_ \ / _ \ ~ + \ V /| | | | | | |_____| (_| | | | | | | | | | __/ ~ + \_/ |_|_| |_| |_| \__,_|_|_| |_|_|_| |_|\___| ~ + ~ +============================================================================== +CONTENTS *airline-theme-contents* + + 01. Intro ........................................ |airline-themes-intro| + 02. Features ........................................... |airline-themes| + 03. Configuration ........................ |airline-themes-configuration| + 04. Contributions ........................ |airline-themes-contributions| + 05. License .................................... |airline-themes-license| + +============================================================================== +INTRODUCTION *airline-themes-intro* + +This is a plugin for vim-airline and provides several themes to be used in +conjunction with |vim-airline| + +============================================================================== +FEATURES *airline-themes-list* + +Currently this repository contains the following themes: + + + * alduin + * angr + * apprentice + * atomic + * ayu_light + * ayu_mirage + * ayu_dark + * badwolf + * base16 (|airline-theme-base16|) + * base16_vim (|airline-theme-base16_vim|) + * base16_shell (|airline-theme-base16_shell|) + * base16_3024 + * base16_adwaita + * base16_apathy + * base16_ashes + * base16_atelier_cave + * base16_atelier_cave_light + * base16_atelier_dune + * base16_atelier_dune_light + * base16_atelier_estuary + * base16_atelier_estuary_light + * base16_atelier_forest + * base16_atelier_forest_light + * base16_atelier_heath + * base16_atelier_heath_light + * base16_atelier_lakeside + * base16_atelier_lakeside_light + * base16_atelier_plateau + * base16_atelier_plateau_light + * base16_atelier_savanna + * base16_atelier_savanna_light + * base16_atelier_seaside + * base16_atelier_seaside_light + * base16_atelier_sulphurpool + * base16_atelier_sulphurpool_light + * base16_atelierdune + * base16_atelierforest + * base16_atelierheath + * base16_atelierlakeside + * base16_atelierseaside + * base16_atlas + * base16_bespin + * base16_black_metal + * base16_black_metal_bathory + * base16_black_metal_burzum + * base16_black_metal_dark_funeral + * base16_black_metal_gorgoroth + * base16_black_metal_immortal + * base16_black_metal_khold + * base16_black_metal_marduk + * base16_black_metal_mayhem + * base16_black_metal_nile + * base16_black_metal_venom + * base16_brewer + * base16_bright + * base16_brogrammer + * base16_brushtrees + * base16_brushtrees_dark + * base16_chalk + * base16_circus + * base16_classic + * base16_classic_dark + * base16_classic_light + * base16_codeschool + * base16_colors + * base16_cupcake + * base16_cupertino + * base16_darktooth + * base16_decaf + * base16_default + * base16_default_dark + * base16_default_light + * base16_dracula + * base16_edge_dark + * base16_edge_light + * base16_eighties + * base16_embers + * base16_espresso + * base16_flat + * base16_framer + * base16_fruit_soda + * base16_gigavolt + * base16_github + * base16_google + * base16_google_dark + * base16_google_light + * base16_grayscale + * base16_grayscale_dark + * base16_grayscale_light + * base16_greenscreen + * base16_gruvbox_dark_hard + * base16_gruvbox_dark_medium + * base16_gruvbox_dark_pale + * base16_gruvbox_dark_soft + * base16_gruvbox_light_hard + * base16_gruvbox_light_medium + * base16_gruvbox_light_soft + * base16_harmonic16 + * base16_harmonic_dark + * base16_harmonic_light + * base16_heetch + * base16_heetch_light + * base16_helios + * base16_hopscotch + * base16_horizon_dark + * base16_horizon_light + * base16_horizon_terminal_dark + * base16_horizon_terminal_light + * base16_ia_dark + * base16_ia_light + * base16_icy + * base16_irblack + * base16_isotope + * base16_londontube + * base16_macintosh + * base16_marrakesh + * base16_materia + * base16_material + * base16_material_darker + * base16_material_lighter + * base16_material_palenight + * base16_material_vivid + * base16_mellow_purple + * base16_mexico_light + * base16_mocha + * base16_monokai + * base16_nord + * base16_nova + * base16_ocean + * base16_oceanicnext + * base16_one_light + * base16_onedark + * base16_outrun_dark + * base16_papercolor_dark + * base16_papercolor_light + * base16_paraiso + * base16_phd + * base16_pico + * base16_pop + * base16_porple + * base16_railscasts + * base16_rebecca + * base16_sandcastle + * base16_seti + * base16_shapeshifter + * base16_snazzy + * base16_solarflare + * base16_solarized + * base16_solarized_dark + * base16_solarized_light + * base16_spacemacs + * base16_summerfruit + * base16_summerfruit_dark + * base16_summerfruit_light + * base16_synth_midnight_dark + * base16_tomorrow + * base16_tomorrow_night + * base16_tomorrow_night_eighties + * base16_tube + * base16_twilight + * base16_vim + * base16_unikitty_dark + * base16_unikitty_light + * base16_woodland + * base16_xcode_dusk + * base16_zenburn + * base16color + * behelit + * biogoo + * bubblegum + * cobalt2 + * cool + * dark + * dark_minimal + * desertink + * deus + * distinguished + * durant + * faryfloss + * fruit_punch + * google_dark + * google_light + * hybrid + * hybridline + * jay + * jellybeans + * jet + * kalisi + * kolor + * laederon + * lessnoise + * light + * lighthaus + * lucius + * luna + * minimalist (|airline-theme-minimalist|) + * molokai + * monochrome + * murmur + * night_owl + * nord-minimal + * onedark (|airline-theme-onedark|) + * ouo + * owo + * papercolor + * peaksea + * powerlineish + * qwq + * raven + * ravenpower + * seagull + * selenized + * selenized_bw + * seoul256 + * serene + * sierra + * silver + * simple + * soda + * sol + * solarized (|airline-theme-solarized|) + * solarized_flood + * supernova + * term + * term_light + * tomorrow + * ubaryd + * understated + * violet + * wombat + * xtermlight + * zenburn + * transparent + +============================================================================== +NAME *airline-themes-configuration* + + *g:airline_theme* + +To define a theme to be used by vim-airline you can set the variable +g:airline_theme in your |.vimrc| like this: > + :let g:airline_theme='dark' +< +*airline-theme-base16_vim* +*airline-theme-base16_shell* +------------------------------------------------------------------------------ +Base16 is an extensive collection of colorschemes built on a common +architecture by Chris Kempson (http://chriskempson.com/projects/base16/). The +base16_vim airline theme integrates with the base16-vim plugin +(https://github.com/chriskempson/base16-vim) to match the currently selected +colorscheme. This works with all modes of using base16-vim: running vim in +a terminal configured with base16-shell +(https://github.com/chriskempson/base16-shell), running vim with +'termguicolors' set, or running gvim. + +The alias base16_shell is provided for backward compatibility. + +This theme provides two options: + + *g:airline_base16_improved_contrast* + +Improve the contrast for the inactive statusline. > + let g:airline_base16_improved_contrast = 1 +Default: 0 + *g:airline_base16_monotone* + *g:airline_base16_solarized* + +Adjust the theme for a more monotonic look. This option is designed with the +base16-solarized-(light|dark) colorschemes in mind, but work well with the +other base16 colorshemes as well. > + let g:airline_base16_monotone = 1 +or, > + let g:airline_base16_solarized = 1 " retained for backward compatibility +Default: 0 + +*airline-theme-base16* +------------------------------------------------------------------------------ +This theme matches base16 colorschemes by extracting colors from highlight +groups, and also provides a static option. + + *airline#themes#base16#constant* + +Use a predefined palette instead of guessing values from highlight groups. To +enable: > + let g:airline#themes#base16#constant = 1 +Default: 0 + +A number of static themes that match particular base16 colorschemes are also +available, see |airline-themes-list|. + +*airline-theme-dark_minimal* +------------------------------------------------------------------------------ +This is a copy of the dark.vim theme, however it does not change colors in +the different modes, so should bring some performance improvements because +airline does not have to redefine highlighting groups after they have been +setup once. However, it won't change colors if e.g. the mode changes. + +*airline-theme-deus* +------------------------------------------------------------------------------ + *g:deus_termcolors* + +Set to 256 for 256-color mode (the default), or 16 for 16-color mode. +Has no effect if using true/24-bit color. To enable 16-color mode: > + let g:deus_termcolors = 16 + +*airline-theme-minimalist* +------------------------------------------------------------------------------ + *g:airline_minimalist_showmod* + +Highlight when the buffer is modified. > + let g:airline_minimalist_showmod = 1 +< +*airline-theme-onedark* +------------------------------------------------------------------------------ + *g:onedark_termcolors* + +Set to 256 for 256-color mode (the default), or 16 for 16-color mode. +Has no effect if using true/24-bit color. To enable 16-color mode: > + let g:onedark_termcolors = 16 +< +16-color mode is intended to be used with specific terminal colors as +described in the installation notes for the joshdick/onedark.vim colorscheme: +(https://github.com/joshdick/onedark.vim#installation) + +*airline-theme-molokai* +------------------------------------------------------------------------------ +Enable brighter molokai theme. Mainly, the branch and filetype sections will +be shown in a nice orange. > + let g:airline_molokai_bright = 1 +< +*airline-theme-solarized* +------------------------------------------------------------------------------ + *g:airline_solarized_normal_green* + +Turns the outer-most section of the statusline Solarized green, making it +look more like classic powerline in normal mode. To enable it: > + let g:airline_solarized_normal_green = 1 +< + *airline_solarized_dark_inactive_background* + +For buffer(s) in the tabline that are displayed in an inactive window pane, +use a darker background for the buffer display in the tabline. To enable it: > + let g:airline_solarized_dark_inactive_background = 1 +< + *g:airline_solarized_dark_text* + +Turns the text color of the outer-most sections of the statusline to be dark. +To enable it: > + let g:airline_solarized_dark_text = 1 +< + *g:airline_solarized_dark_inactive_border* + +Changes inactive window panes to have a dark bottom border instead +of light by default. To enable it: > + let g:airline_solarized_dark_inactive_border = 1 +< + *g:airline_solarized_enable_command_color* + +In command mode, set the status line to its own color (violet). To enable it: > + let airline_solarized_enable_command_color = 1 +< + *g:solarized_base16* + +Base16 has a Solarized theme with the usual colors, but mapped in the +terminal differently. The main difference is that the bright colors, +Ansi 9-15, are left the same as their Ansi 1-7 counterparts. The +remaining solarized colors are mapped into higher indexes by using +Base16 Shell. To enable it: > + let g:solarized_base16 = 1 +< +See also https://github.com/blueyed/vim-colors-solarized/commit/92f2f994. + +*airline-theme-zenburn* +------------------------------------------------------------------------------ + *g:zenburn_high_Contrast* + +Enable higher contrast colors for the zenburn colorscheme and the +corresponding airline theme. Must be set before switching to the zenburn +colorscheme > + let g:zenburn_high_Contrast = 1 + +The zenburn colorscheme also supports a couple of other configuration +variables, that possibly also influence the colors in the zenburn airline +theme. Please check the zenburn color scheme on how to configure it. +============================================================================== +Base16 Themes Generation *airline-themes-base16-generation* + +Base16 is a curated list of themes you can find here: +https://github.com/chriskempson/base16. + +Each theme defines 16 colors, and each editor creates a template .mustache +file to create the themes for their application. + +You can find the .mustache files for vim-airline themes here: +https://github.com/dawikur/base16-vim-airline-themes. +If the .mustache file is given to a Base16 builder, +it will generate every included base16 theme. + +These themes were generated using the Python builder which is available here: +https://github.com/InspectorMustache/base16-builder-python + +============================================================================== +CONTRIBUTIONS *airline-themes-contributions* + +Contributions and pull requests are welcome. + +============================================================================== +LICENSE *airline-themes-license* + +MIT License. Copyright © 2013-2020 Bailey Ling, et al + + vim:tw=78:ts=8:ft=help:norl: diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/doc/tags b/private_dot_config/nvim/plugged/vim-airline-themes/doc/tags new file mode 100644 index 0000000..bf25aad --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/doc/tags @@ -0,0 +1,33 @@ +airline#themes#base16#constant airline-themes.txt /*airline#themes#base16#constant* +airline-theme-base16 airline-themes.txt /*airline-theme-base16* +airline-theme-base16_shell airline-themes.txt /*airline-theme-base16_shell* +airline-theme-base16_vim airline-themes.txt /*airline-theme-base16_vim* +airline-theme-contents airline-themes.txt /*airline-theme-contents* +airline-theme-dark_minimal airline-themes.txt /*airline-theme-dark_minimal* +airline-theme-deus airline-themes.txt /*airline-theme-deus* +airline-theme-minimalist airline-themes.txt /*airline-theme-minimalist* +airline-theme-molokai airline-themes.txt /*airline-theme-molokai* +airline-theme-onedark airline-themes.txt /*airline-theme-onedark* +airline-theme-solarized airline-themes.txt /*airline-theme-solarized* +airline-theme-zenburn airline-themes.txt /*airline-theme-zenburn* +airline-themes-base16-generation airline-themes.txt /*airline-themes-base16-generation* +airline-themes-configuration airline-themes.txt /*airline-themes-configuration* +airline-themes-contributions airline-themes.txt /*airline-themes-contributions* +airline-themes-intro airline-themes.txt /*airline-themes-intro* +airline-themes-license airline-themes.txt /*airline-themes-license* +airline-themes-list airline-themes.txt /*airline-themes-list* +airline-themes.txt airline-themes.txt /*airline-themes.txt* +airline_solarized_dark_inactive_background airline-themes.txt /*airline_solarized_dark_inactive_background* +g:airline_base16_improved_contrast airline-themes.txt /*g:airline_base16_improved_contrast* +g:airline_base16_monotone airline-themes.txt /*g:airline_base16_monotone* +g:airline_base16_solarized airline-themes.txt /*g:airline_base16_solarized* +g:airline_minimalist_showmod airline-themes.txt /*g:airline_minimalist_showmod* +g:airline_solarized_dark_inactive_border airline-themes.txt /*g:airline_solarized_dark_inactive_border* +g:airline_solarized_dark_text airline-themes.txt /*g:airline_solarized_dark_text* +g:airline_solarized_enable_command_color airline-themes.txt /*g:airline_solarized_enable_command_color* +g:airline_solarized_normal_green airline-themes.txt /*g:airline_solarized_normal_green* +g:airline_theme airline-themes.txt /*g:airline_theme* +g:deus_termcolors airline-themes.txt /*g:deus_termcolors* +g:onedark_termcolors airline-themes.txt /*g:onedark_termcolors* +g:solarized_base16 airline-themes.txt /*g:solarized_base16* +g:zenburn_high_Contrast airline-themes.txt /*g:zenburn_high_Contrast* diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/FETCH_HEAD b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/FETCH_HEAD new file mode 100644 index 0000000..1fabad9 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/FETCH_HEAD @@ -0,0 +1,2 @@ +97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 branch 'master' of https://github.com/vim-airline/vim-airline-themes +91721e3c0d86f44c7831a54f2609959b8edf57cc not-for-merge branch 'jellybeans-refactor' of https://github.com/vim-airline/vim-airline-themes diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/HEAD b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/ORIG_HEAD b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/ORIG_HEAD new file mode 100644 index 0000000..63f5c24 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/ORIG_HEAD @@ -0,0 +1 @@ +97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/branches/.keep b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/branches/.keep new file mode 100644 index 0000000..e69de29 diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/config b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/config new file mode 100644 index 0000000..2e56037 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/config @@ -0,0 +1,11 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true +[remote "origin"] + url = https://github.com/vim-airline/vim-airline-themes.git + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "master"] + remote = origin + merge = refs/heads/master diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/description b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_applypatch-msg.sample b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_applypatch-msg.sample new file mode 100644 index 0000000..a5d7b84 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_commit-msg.sample b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_commit-msg.sample new file mode 100644 index 0000000..b58d118 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_fsmonitor-watchman.sample b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_fsmonitor-watchman.sample new file mode 100644 index 0000000..14ed0aa --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_fsmonitor-watchman.sample @@ -0,0 +1,173 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + } + my $query = <<" END"; + ["query", "$git_work_tree", { + "since": $last_update_token, + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_post-update.sample b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_post-update.sample new file mode 100644 index 0000000..ec17ec1 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-applypatch.sample b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-applypatch.sample new file mode 100644 index 0000000..4142082 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-commit.sample b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-commit.sample new file mode 100644 index 0000000..e144712 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-merge-commit.sample b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-merge-commit.sample new file mode 100644 index 0000000..399eab1 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-push.sample b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-push.sample new file mode 100644 index 0000000..4ce688d --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-rebase.sample b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-rebase.sample new file mode 100644 index 0000000..6cbef5c --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-receive.sample b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-receive.sample new file mode 100644 index 0000000..a1fd29e --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_prepare-commit-msg.sample b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_prepare-commit-msg.sample new file mode 100644 index 0000000..10fa14c --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_push-to-checkout.sample b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_push-to-checkout.sample new file mode 100644 index 0000000..af5a0c0 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/hooks/executable_push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/index b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/index new file mode 100644 index 0000000..7e1ea44 Binary files /dev/null and b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/index differ diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/info/exclude b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/logs/HEAD b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/logs/HEAD new file mode 100644 index 0000000..7cb218f --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/logs/HEAD @@ -0,0 +1,7 @@ +0000000000000000000000000000000000000000 97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 linux 1632201837 -0400 clone: from https://github.com/vim-airline/vim-airline-themes.git +97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 linux 1632201839 -0400 checkout: moving from master to master +97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 array-in-a-matrix 1634528025 -0400 checkout: moving from master to master +97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 array-in-a-matrix 1634528044 -0400 checkout: moving from master to master +97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 linux 1636403107 -0500 checkout: moving from master to master +97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 linux 1636786427 -0500 checkout: moving from master to master +97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 linux 1636786624 -0500 checkout: moving from master to master diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/logs/refs/heads/master b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/logs/refs/heads/master new file mode 100644 index 0000000..615dc73 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 linux 1632201837 -0400 clone: from https://github.com/vim-airline/vim-airline-themes.git diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/logs/refs/remotes/origin/HEAD b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/logs/refs/remotes/origin/HEAD new file mode 100644 index 0000000..615dc73 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 linux 1632201837 -0400 clone: from https://github.com/vim-airline/vim-airline-themes.git diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/objects/info/.keep b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/objects/info/.keep new file mode 100644 index 0000000..e69de29 diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/objects/pack/readonly_pack-e63a79c4ed53cb4fd63dd2c963a0a83517c0a432.idx b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/objects/pack/readonly_pack-e63a79c4ed53cb4fd63dd2c963a0a83517c0a432.idx new file mode 100644 index 0000000..6eefc49 Binary files /dev/null and b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/objects/pack/readonly_pack-e63a79c4ed53cb4fd63dd2c963a0a83517c0a432.idx differ diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/objects/pack/readonly_pack-e63a79c4ed53cb4fd63dd2c963a0a83517c0a432.pack b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/objects/pack/readonly_pack-e63a79c4ed53cb4fd63dd2c963a0a83517c0a432.pack new file mode 100644 index 0000000..da62d99 Binary files /dev/null and b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/objects/pack/readonly_pack-e63a79c4ed53cb4fd63dd2c963a0a83517c0a432.pack differ diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/packed-refs b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/packed-refs new file mode 100644 index 0000000..8fdaa48 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/packed-refs @@ -0,0 +1,3 @@ +# pack-refs with: peeled fully-peeled sorted +91721e3c0d86f44c7831a54f2609959b8edf57cc refs/remotes/origin/jellybeans-refactor +97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 refs/remotes/origin/master diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/refs/heads/master b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/refs/heads/master new file mode 100644 index 0000000..63f5c24 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/refs/heads/master @@ -0,0 +1 @@ +97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/refs/remotes/origin/HEAD b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/refs/remotes/origin/HEAD new file mode 100644 index 0000000..6efe28f --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/master diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/refs/tags/.keep b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/refs/tags/.keep new file mode 100644 index 0000000..e69de29 diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/shallow b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/shallow new file mode 100644 index 0000000..8f927b3 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_git/shallow @@ -0,0 +1,2 @@ +91721e3c0d86f44c7831a54f2609959b8edf57cc +97cf3e6e638f936187d5f6e9b5eb1bdf0a4df256 diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_github/ISSUE_TEMPLATE.md b/private_dot_config/nvim/plugged/vim-airline-themes/dot_github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..fb8d575 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_github/ISSUE_TEMPLATE.md @@ -0,0 +1,24 @@ +#### environment + +- vim: ???? +- vim-airline: ???? +- colorscheme: ???? +- OS: ???? +- Have you reproduced with a minimal vimrc: ??? +- What is your airline configuration: ??? +if you are using terminal: +- terminal: ???? +- $TERM variable: ??? +- color configuration (:set t_Co?): +if you are using Neovim: +- does it happen in Vim: ??? + +#### actual behavior + +???? + +#### expected behavior + +???? + +#### screen shot (if possible) diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_github/workflows/ci.yml b/private_dot_config/nvim/plugged/vim-airline-themes/dot_github/workflows/ci.yml new file mode 100644 index 0000000..ea54c54 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_github/workflows/ci.yml @@ -0,0 +1,44 @@ +on: + push: + branches: + - master + pull_request: + +jobs: + test: + name: Test + runs-on: ubuntu-latest + strategy: + matrix: + vim: + - v8.2.2000 + - v8.2.1000 + - v8.2.0000 + - v8.1.0000 + - v8.0.0000 + + steps: + - name: Checkout code + uses: actions/checkout@main + + - name: Setup Vim + uses: rhysd/action-setup-vim@v1 + with: + version: ${{ matrix.vim }} + + - name: Install Dependencies + run: | + git clone https://github.com/junegunn/vader.vim.git + git clone https://github.com/vim-airline/vim-airline + find $PWD/autoload/airline/themes -name "*.vim" > themes.txt + - name: Run Test + run: | + vim --not-a-term -Nu <(cat << VIMRC + filetype off + set rtp+=vader.vim + set rtp+=vim-airline + set rtp+=. + set rtp+=after + filetype plugin indent on + syntax enable + VIMRC) -c 'Vader! test/*' > /dev/null diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_github/workflows/reviewdog.yml b/private_dot_config/nvim/plugged/vim-airline-themes/dot_github/workflows/reviewdog.yml new file mode 100644 index 0000000..1e0d8df --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_github/workflows/reviewdog.yml @@ -0,0 +1,22 @@ +name: reviewdog + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + vint: + name: runner / vint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: vint + uses: reviewdog/action-vint@v1 + with: + github_token: ${{ secrets.github_token }} + level: error + reporter: github-pr-check diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/dot_gitignore b/private_dot_config/nvim/plugged/vim-airline-themes/dot_gitignore new file mode 100644 index 0000000..17402e5 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/dot_gitignore @@ -0,0 +1,2 @@ +.DS_Store +doc/tags diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/plugin/airline-themes.vim b/private_dot_config/nvim/plugged/vim-airline-themes/plugin/airline-themes.vim new file mode 100644 index 0000000..1e4a4f2 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/plugin/airline-themes.vim @@ -0,0 +1,15 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling & Contributors. +" vim: et ts=2 sts=2 sw=2 + +let s:save_cpo = &cpo +set cpo&vim + +scriptencoding utf-8 + +if &cp || v:version < 702 || (exists('g:loaded_airline_themes') && g:loaded_airline_themes) + finish +endif +let g:loaded_airline_themes = 1 + +let &cpo = s:save_cpo +unlet s:save_cpo diff --git a/private_dot_config/nvim/plugged/vim-airline-themes/test/airline-themes.vader b/private_dot_config/nvim/plugged/vim-airline-themes/test/airline-themes.vader new file mode 100644 index 0000000..253ef36 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline-themes/test/airline-themes.vader @@ -0,0 +1,38 @@ +# Make sure that theme and 5 basic modes don't throw an error +# Get list of all included themes +Execute (validate themes): + let themes = readfile('themes.txt') + call sort(themes) + + let err_proc = v:false + try + + for themePath in themes + + " Check all the basic modes and their modified counterparts + " This test only fails on exceptional cases + let theme = fnamemodify(themePath, ':t:r') + Log theme + execute('AirlineTheme ' . theme) + execute('source ' . themePath) + normal! i + normal! : + normal! R + normal! v + setlocal mod + normal! i + normal! : + normal! R + normal! v + setlocal nomod + + endfor + + catch + let err_proc = v:true + Log "Failed validation testing with exception:" + Log string(v:exception) + endtry + AirlineRefresh + + Assert !err_proc diff --git a/private_dot_config/nvim/plugged/vim-airline/CHANGELOG.md b/private_dot_config/nvim/plugged/vim-airline/CHANGELOG.md new file mode 100644 index 0000000..bdf50b9 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/CHANGELOG.md @@ -0,0 +1,251 @@ +# Change Log + +This is the Changelog for the vim-airline project. + +## [0.12] - Unreleased +- New features + - Extensions: + - [poetv](https://github.com/petobens/poet-v) support + - [vim-lsp](https://github.com/prabirshrestha/vim-lsp) support + - [zoomwintab](https://github.com/troydm/zoomwintab.vim) support + - [Vaffle](https://github.com/cocopon/vaffle.vim) support + - [vim-dirvish](https://github.com/justinmk/vim-dirvish) support + - [fzf.vim](https://github.com/junegunn/fzf.vim) support + - [OmniSharp](https://github.com/OmniSharp/omnisharp-vim) support + - [searchcount](https://vim-jp.org/vimdoc-en/eval.html#searchcount()) support + - [fern.vim](https://github.com/lambdalisue/fern.vim) support + - [Vim-CMake](https://github.com/cdelledonne/vim-cmake) support + - [battery.vim](https://github.com/lambdalisue/battery.vim) support + - [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) support + - [gen_tags.vim](https://github.com/jsfaint/gen_tags.vim) support + - Ascii Scrollbar support +- Improvements + - git branch can also be displayed using [gina.vim](https://github.com/lambdalisue/gina.vim) + - coc extensions can also show additional status messages as well as the current function + - [coc-git](https://github.com/neoclide/coc-git) extension integrated into hunks extension + - rewrote parts using Vim9 Script for performance improvements +- Other + - Changed CI from travis-ci.org to GitHub Actions + - Introduce Vim script static analysis using [reviewdog](https://github.com/reviewdog/action-vint) + - Added multiple Vim versions to unit tests using Travis CI + - Added option to show short paths in the status line + +## [0.11] - 2019-11-10 +- New features + - Extensions: + - [Coc](https://github.com/neoclide/coc.nvim) support + - [Defx](https://github.com/Shougo/defx.nvim) support + - [gina](https://github.com/lambdalisue/gina.vim) support + - [vim-bookmark](https://github.com/MattesGroeger/vim-bookmarks) support + - [vista.vim](https://github.com/liuchengxu/vista.vim) support + - [tabws](https://github.com/s1341/vim-tabws) support for the tabline +- Improvements + - The statusline can be configured to be shown on top (in the tabline) + Set the `g:airline_statusline_ontop` to enable this experimental feature. + - If `buffer_idx_mode=2`, up to 89 mappings will be exposed to access more + buffers directly (issue [#1823](https://github.com/vim-airline/vim-airline/issues/1823)) + - Allow to use `random` as special theme name, which will switch to a random + airline theme (at least if a random number can be generated :() + - The branch extensions now also displays whether the repository is in a clean state + (will append a ! or ⚡if the repository is considered dirty). + - The whitespace extensions will also check for conflict markers + - `:AirlineRefresh` command now takes an additional `!` attribute, that **skips** + recreating the highlighting groups (which might have a serious performance + impact if done very often, as might be the case when the configuration variable + `airline_skip_empty_sections` is active). + - airline can now also detect multiple cursor mode (issue [#1933](https://github.com/vim-airline/vim-airline/issues/1933)) + - expose hunks output using the function `airline#extensions#hunks#get_raw_hunks()` to the outside [#1877](https://github.com/vim-airline/vim-airline/pull/1877) + - expose wordcount affected filetype list to the public using the `airline#extensions#wordcount#filetypes` variable [#1887](https://github.com/vim-airline/vim-airline/pull/1887) + - for the `:AirlineExtension` command, indicate whether the extension has been loaded from an external source [#1890](https://github.com/vim-airline/vim-airline/issues/1890) + - correctly load custom wordcount formatters [#1896](https://github.com/vim-airline/vim-airline/issues/1896) + - add a new short_path formatter for the tabline [#1898](https://github.com/vim-airline/vim-airline/pull/1898) + - several improvements to the branch, denite and tabline extension, as well as the async code for Vim and Neovim + - the term extension supports [neoterm](https://github.com/kassio/neoterm) vim plugin + +## [0.10] - 2018-12-15 +- New features + - Extensions: + - [LanguageClient](https://github.com/autozimu/LanguageClient-neovim) + - [vim-gutentags](https://github.com/ludovicchabant/vim-gutentags) + - [vim-localsearch](https://github.com/mox-mox/vim-localsearch) + - [xtabline](https://github.com/mg979/vim-xtabline) + - [vim-grepper](https://github.com/mhinz/vim-grepper) + - Add custom AirlineModeChanged autocommand, allowing to call user defined commands + whenever airline displays a different mode + - New :AirlineExtensions command, to show which extensions have been loaded + - Detect several new modes (e.g. completion, virtual replace, etc) +- Improvements + - Various performance improvements, should Vim keep responsive, even when + many highlighting groups need to be re-created + - Rework tabline extension + - Refactor [vim-ctrlspace](https://github.com/szw/vim-ctrlspace) extension + - Refactor the wordcount extension + - Reworked the po extension + - Allow to disable line numbers for the [Ale Extension](https://github.com/w0rp/ale) + - [fugitive](https://github.com/tpope/vim-fugitive) plugin has been refactored + causing adjustments for vim-airline, also uses Fugitives new API calls + - some improvements to Vims terminal mode + - Allow to use alternative seperators for inactive windows ([#1236](https://github.com/vim-airline/vim-airline/issues/1236)) + - Statusline can be set to inactive, whenever Vim loses focus (using FocusLost autocommand) + +## [0.9] - 2018-01-15 +- Changes + - Look of default Airline Symbols has been improved [#1397](https://github.com/vim-airline/vim-airline/issues/1397) + - Airline does now set `laststatus=2` if needed + - Syntastic extension now displays warnings and errors separately + - Updates on Resize and SessionLoad events + - Add `maxlinenr` symbol to `airline_section_z` + - Add quickfix title to inactive windows +- Improvements + - Many performance improvements (using caching and async feature when possible) + - Cache changes to highlighting groups if `g:airline_highlighting_cache = 1` is set + - Allow to skip empty sections by setting `g:airline_skip_empty_sections` variable + - Make use of improved Vim Script API, if available (e.g. getwininfo()) + - Support for Vims terminal feature (very experimental since it hasn't been stabilized yet) + - More configuration for the tabline extension (with clickable buffers for Neovim) + - Works better on smaller window sizes + - Make airline aware of git worktrees + - Improvements to the fugitive extension [#1603](https://github.com/vim-airline/vim-airline/issues/1603) + - Allows for configurable fileformat output if `g:airline#parts#ffenc#skip_expected_string` is set + - Improvements to the documentation +- New features + - Full async support for Vim 8 and Neovim + - Extensions: + - [vim-bufmru](https://github.com/mildred/vim-bufmru) + - [xkb-switch](https://github.com/ierton/xkb-switch) + - [input-source-switcher](https://github.com/vovkasm/input-source-switcher) + - [vimagit](https://github.com/jreybert/vimagit) + - [denite](https://github.com/Shougo/denite.nvim) + - [dein](https://github.com/Shougo/dein.vim) + - [vimtex](https://github.com/lervag/vimtex) + - [minpac](https://github.com/k-takata/minpac/) + - [vim-cursormode](https://github.com/vheon/vim-cursormode) + - [Neomake](https://github.com/neomake/neomake) + - [Ale](https://github.com/w0rp/ale) + - [vim-obsession](https://github.com/tpope/vim-obsession) + - spell (can also display Spell language) + - keymap + - Formatters: + - Formatters for JavaScript [#1617](https://github.com/vim-airline/vim-airline/issues/1617) + - Tabline: Allow for custom formatter for `tab_nr_type` [#1418](https://github.com/vim-airline/vim-airline/issues/1418) + - Customizable wordcount formatter [#1584](https://github.com/vim-airline/vim-airline/issues/1584) + - Add User autocommand for Theme changing [#1226](https://github.com/vim-airline/vim-airline/issues/1226) + - Shows mercurial mq status if hg mq extension is enabled + +## [0.8] - 2016-03-09 +- Changes + - Airline converted to an organization and moved to new [repository](https://github.com/vim-airline/vim-airline) + - Themes have been split into an separate repository [vim-airline-themes](https://github.com/vim-airline/vim-airline-themes) +- Improvements + - Extensions + - branch: support Git and Mercurial simultaneously, untracked files + - whitespace: new mixed-indent rule + - Windows support + - Many bug fixes + - Support for Neovim +- New features + - Many new themes + - Extensions/integration + - [taboo](https://github.com/gcmt/taboo.vim) + - [vim-ctrlspace](https://github.com/szw/vim-ctrlspace) + - [quickfixsigns](https://github.com/tomtom/quickfixsigns_vim) + - [YouCompleteMe](https://github.com/ycm-core/YouCompleteMe) + - [po.vim](http://www.vim.org/scripts/script.php?script_id=695) + - [unicode.vim](https://github.com/chrisbra/unicode.vim) + - wordcount + - crypt indicator + - byte order mark indicator + - Tabline's tab mode can display splits simultaneously + +## [0.7] - 2014-12-10 +- New features + - accents support; allowing multiple colors/styles in the same section + - extensions: eclim + - themes: understated, monochrome, murmur, sol, lucius +- Improvements + - solarized theme; support for 8 color terminals + - tabline resizes dynamically based on number of open buffers + - miscellaneous bug fixes + +## [0.6] - 2013-10-08 + +- New features + - accents support; allowing multiple colors/styles in the same section + - extensions: eclim + - themes: understated, monochrome, murmur, sol, lucius +- Improvements + - solarized theme; support for 8 color terminals + - tabline resizes dynamically based on number of open buffers + - miscellaneous bug fixes + +## [0.5] - 2013-09-13 + +- New features + - smart tabline extension which displays all buffers when only one tab is visible + - automatic section truncation when the window resizes + - support for a declarative style of configuration, allowing parts to contain metadata such as minimum window width or conditional visibility + - themes: zenburn, serene +- Other + - a sizable chunk of vim-airline is now running through a unit testing suite, automated via Travis CI + +## [0.4] - 2013-08-26 + + - New features + - integration with csv.vim and vim-virtualenv + - hunks extension for vim-gitgutter and vim-signify + - automatic theme switching with matching colorschemes + - commands: AirlineToggle + - themes: base16 (all variants) + - Improvements + - integration with undotree, tagbar, and unite + - Other + - refactored core and exposed statusline builder and pipeline + - all extension related g:airline_variables have been deprecated in favor of g:airline#extensions# variables + - extensions found in the runtimepath outside of the default distribution will be automatically loaded + +## [0.3] - 2013-08-12 + +- New features + - first-class integration with tagbar + - white space detection for trailing spaces and mixed indentation + - introduced warning section for syntastic and white space detection + - improved ctrlp integration: colors are automatically selected based on the current airline theme + - new themes: molokai, bubblegum, jellybeans, tomorrow +- Bug fixes + - improved handling of eventignore used by other plugins +- Other + - code cleaned up for clearer separation between core functionality and extensions + - introduced color extraction from highlight groups, allowing themes to be generated off of the active colorscheme (e.g. jellybeans and tomorrow) + - License changed to MIT + +## [0.2] - 2013-07-28 + +- New features + - iminsert detection + - integration with vimshell, vimfiler, commandt, lawrencium + - enhanced bufferline theming + - support for ctrlp theming + - support for custom window excludes +- New themes + - luna and wombat +- Bug fixes + - refresh branch name after switching with a shell command + +## [0.1] - 2013-07-17 + +- Initial release + - integration with other plugins: netrw, unite, nerdtree, undotree, gundo, tagbar, minibufexplr, ctrlp + - support for themes: 8 included + +[0.12]: https://github.com/vim-airline/vim-airline/compare/v0.11...HEAD +[0.11]: https://github.com/vim-airline/vim-airline/compare/v0.10...v0.11 +[0.10]: https://github.com/vim-airline/vim-airline/compare/v0.9...v0.10 +[0.9]: https://github.com/vim-airline/vim-airline/compare/v0.8...v0.9 +[0.8]: https://github.com/vim-airline/vim-airline/compare/v0.7...v0.8 +[0.7]: https://github.com/vim-airline/vim-airline/compare/v0.6...v0.7 +[0.6]: https://github.com/vim-airline/vim-airline/compare/v0.5...v0.6 +[0.5]: https://github.com/vim-airline/vim-airline/compare/v0.4...v0.5 +[0.4]: https://github.com/vim-airline/vim-airline/compare/v0.3...v0.4 +[0.3]: https://github.com/vim-airline/vim-airline/compare/v0.2...v0.3 +[0.2]: https://github.com/vim-airline/vim-airline/compare/v0.1...v0.2 +[0.1]: https://github.com/vim-airline/vim-airline/releases/tag/v0.1 diff --git a/private_dot_config/nvim/plugged/vim-airline/CONTRIBUTING.md b/private_dot_config/nvim/plugged/vim-airline/CONTRIBUTING.md new file mode 100644 index 0000000..96d083c --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/CONTRIBUTING.md @@ -0,0 +1,28 @@ +# Contributions + +Contributions and pull requests are welcome. Please take note of the following guidelines: + +* Adhere to the existing style as much as possible; notably, 2 space indents and long-form keywords. +* Keep the history clean! Squash your branches before you submit a pull request. `pull --rebase` is your friend. +* Any changes to the core should be tested against Vim 7.4. + +# Bugs + +Tracking down bugs can take a very long time due to different configurations, versions, and operating systems. To ensure a timely response, please help me out by doing the following: + +* the `:version` of vim +* the commit of vim-airline you're using +* the OS that you're using, including terminal emulator, GUI vs non-GUI + +# Themes + +* If you submit a theme, please create a screenshot so it can be added to the [Wiki][14]. +* In the majority of cases, modifications to colors of existing themes will likely be rejected. Themes are a subjective thing, so while you may prefer that a particular color be darker, another user will prefer it to be lighter, or something entirely different. The more popular the theme, the more unlikely the change will be accepted. However, it's pretty simple to create your own theme; copy the theme to `~/.vim/autoload/airline/themes` under a new name with your modifications, and it can be used. + +# Maintenance + +If you would like to take a more active role in improving vim-airline, please consider [becoming a maintainer][43]. + + +[14]: https://github.com/vim-airline/vim-airline/wiki/Screenshots +[43]: https://github.com/vim-airline/vim-airline/wiki/Becoming-a-Maintainer diff --git a/private_dot_config/nvim/plugged/vim-airline/Gemfile b/private_dot_config/nvim/plugged/vim-airline/Gemfile new file mode 100644 index 0000000..723a32d --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'vim-flavor', '~> 2.2.2' diff --git a/private_dot_config/nvim/plugged/vim-airline/LICENSE b/private_dot_config/nvim/plugged/vim-airline/LICENSE new file mode 100644 index 0000000..25c5db7 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (C) 2013-2021 Bailey Ling, Christian Brabandt, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/private_dot_config/nvim/plugged/vim-airline/README.md b/private_dot_config/nvim/plugged/vim-airline/README.md new file mode 100644 index 0000000..cba41eb --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/README.md @@ -0,0 +1,367 @@ +# vim-airline + +[![Say Thanks!](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/cb%40256bit.org) +[![reviewdog](https://github.com/vim-airline/vim-airline/workflows/reviewdog/badge.svg?branch=master&event=push)](https://github.com/vim-airline/vim-airline/actions?query=workflow%3Areviewdog+event%3Apush+branch%3Amaster) +[![CI](https://github.com/vim-airline/vim-airline/workflows/CI/badge.svg)](https://github.com/vim-airline/vim-airline/actions?query=workflow%3ACI) + +Lean & mean status/tabline for vim that's light as air. + +![img](https://github.com/vim-airline/vim-airline/wiki/screenshots/demo.gif) + +When the plugin is correctly loaded, there will be a nice statusline at the +bottom of each vim window. + +That line consists of several sections, each one displaying some piece of +information. By default (without configuration) this line will look like this: + +``` ++-----------------------------------------------------------------------------+ +|~ | +|~ | +|~ VIM - Vi IMproved | +|~ | +|~ version 8.2 | +|~ by Bram Moolenaar et al. | +|~ Vim is open source and freely distributable | +|~ | +|~ type :h :q to exit | +|~ type :help or for on-line help | +|~ type :help version8 for version info | +|~ | +|~ | ++-----------------------------------------------------------------------------+ +| A | B | C X | Y | Z | [...] | ++-----------------------------------------------------------------------------+ +``` + +The statusline is the colored line at the bottom, which contains the sections +(possibly in different colors): + +section|meaning (example) +-------|------------------ + A | displays the mode + additional flags like crypt/spell/paste (INSERT) + B | Environment status (VCS information - branch, hunk summary (master), [battery][61] level) + C | filename + read-only flag (~/.vim/vimrc RO) + X | filetype (vim) + Y | file encoding[fileformat] (utf-8[unix]) + Z | current position in the file + [...] | additional sections (warning/errors/statistics) from external plugins (e.g. YCM, syntastic, ...) + +The information in Section Z looks like this: + +`10% ☰ 10/100 ln : 20` + +This means: +``` +10% - 10 percent down the top of the file +☰ 10 - current line 10 +/100 ln - of 100 lines +: 20 - current column 20 +``` + +For a better look, those sections can be colored differently, depending on various conditions +(e.g. the mode or whether the current file is 'modified') + +# Features + +* Tiny core written with extensibility in mind ([open/closed principle][8]). +* Integrates with a variety of plugins, including: [vim-bufferline][6], + [fugitive][4], [unite][9], [ctrlp][10], [minibufexpl][15], [gundo][16], + [undotree][17], [nerdtree][18], [tagbar][19], [vim-gitgutter][29], + [vim-signify][30], [quickfixsigns][39], [syntastic][5], [eclim][34], + [lawrencium][21], [virtualenv][31], [tmuxline][35], [taboo.vim][37], + [ctrlspace][38], [vim-bufmru][47], [vimagit][50], [denite][51], + [vim.battery][61] and more. +* Looks good with regular fonts and provides configuration points so you can use unicode or powerline symbols. +* Optimized for speed - loads in under a millisecond. +* Extensive suite of themes for popular color schemes including [solarized][23] (dark and light), [tomorrow][24] (all variants), [base16][32] (all variants), [molokai][25], [jellybeans][26] and others. + Note these are now external to this plugin. More details can be found in the [themes repository][46]. +* Supports 7.2 as the minimum Vim version. +* The master branch tries to be as stable as possible, and new features are merged in only after they have gone through a [full regression test][33]. +* Unit testing suite. + +## Straightforward customization + +If you don't like the defaults, you can replace all sections with standard `statusline` syntax. Give your statusline that you've built over the years a face lift. + +![image](https://f.cloud.github.com/assets/306502/1009429/d69306da-0b38-11e3-94bf-7c6e3eef41e9.png) + +## Themes + +Themes have moved to +another repository as of [this commit][45]. + +Install the themes as you would this plugin (Vundle example): + +```vim +Plugin 'vim-airline/vim-airline' +Plugin 'vim-airline/vim-airline-themes' +``` + +See [vim-airline-themes][46] for more. + +## Automatic truncation + +Sections and parts within sections can be configured to automatically hide when the window size shrinks. + +![image](https://f.cloud.github.com/assets/306502/1060831/05c08aac-11bc-11e3-8470-a506a3037f45.png) + +## Smarter tab line + +Automatically displays all buffers when there's only one tab open. + +![tabline](https://f.cloud.github.com/assets/306502/1072623/44c292a0-1495-11e3-9ce6-dcada3f1c536.gif) + +This is disabled by default; add the following to your vimrc to enable the extension: + + let g:airline#extensions#tabline#enabled = 1 + +Separators can be configured independently for the tabline, so here is how you can define "straight" tabs: + + let g:airline#extensions#tabline#left_sep = ' ' + let g:airline#extensions#tabline#left_alt_sep = '|' + +In addition, you can also choose which path formatter airline uses. This affects how file paths are +displayed in each individual tab as well as the current buffer indicator in the upper right. +To do so, set the `formatter` field with: + + let g:airline#extensions#tabline#formatter = 'default' + +Here is a complete list of formatters with screenshots: + +#### `default` +![image](https://user-images.githubusercontent.com/2652762/34422844-1d005efa-ebe6-11e7-8053-c784c0da7ba7.png) + +#### `jsformatter` +![image](https://user-images.githubusercontent.com/2652762/34422843-1cf6a4d2-ebe6-11e7-810a-07e6eb08de24.png) + +#### `unique_tail` +![image](https://user-images.githubusercontent.com/2652762/34422841-1ce5b4ec-ebe6-11e7-86e9-3d45c876068b.png) + +#### `unique_tail_improved` +![image](https://user-images.githubusercontent.com/2652762/34422842-1cee23f2-ebe6-11e7-962d-97e068873077.png) + +## Seamless integration + +vim-airline integrates with a variety of plugins out of the box. These extensions will be lazily loaded if and only if you have the other plugins installed (and of course you can turn them off). + +#### [ctrlp.vim][10] +![image](https://f.cloud.github.com/assets/306502/962258/7345a224-04ec-11e3-8b5a-f11724a47437.png) + +#### [unite.vim][9] +![image](https://f.cloud.github.com/assets/306502/962319/4d7d3a7e-04ed-11e3-9d59-ab29cb310ff8.png) + +#### [denite.nvim][51] +![image](https://cloud.githubusercontent.com/assets/246230/23939717/f65bce6e-099c-11e7-85c3-918dbc839392.png) + +#### [tagbar][19] +![image](https://f.cloud.github.com/assets/306502/962150/7e7bfae6-04ea-11e3-9e28-32af206aed80.png) + +#### [csv.vim][28] +![image](https://f.cloud.github.com/assets/306502/962204/cfc1210a-04eb-11e3-8a93-42e6bcd21efa.png) + +#### [syntastic][5] +![image](https://f.cloud.github.com/assets/306502/962864/9824c484-04f7-11e3-9928-da94f8c7da5a.png) + +#### hunks ([vim-gitgutter][29] & [vim-signify][30] & [coc-git][59]) +![image](https://f.cloud.github.com/assets/306502/995185/73fc7054-09b9-11e3-9d45-618406c6ed98.png) + +#### [vimagit][50] +![vim-airline-vimagit-demo](https://cloud.githubusercontent.com/assets/533068/22107273/2ea85ba0-de4d-11e6-9fa8-331103b88df4.gif) + +#### [virtualenv][31] +![image](https://f.cloud.github.com/assets/390964/1022566/cf81f830-0d98-11e3-904f-cf4fe3ce201e.png) + +#### [tmuxline][35] +![image](https://f.cloud.github.com/assets/1532071/1559276/4c28fbac-4fc7-11e3-90ef-7e833d980f98.gif) + +#### [promptline][36] +![airline-promptline-sc](https://f.cloud.github.com/assets/1532071/1871900/7d4b28a0-789d-11e3-90e4-16f37269981b.gif) + +#### [ctrlspace][38] +![papercolor_with_ctrlspace](https://cloud.githubusercontent.com/assets/493242/12912041/7fc3c6ec-cf16-11e5-8775-8492b9c64ebf.png) + +#### [xkb-switch][48]/[xkb-layout][49] +![image](https://cloud.githubusercontent.com/assets/5715281/22061422/347e7842-ddb8-11e6-8bdb-7abbd418653c.gif) + +#### [vimtex][53] +![image](https://cloud.githubusercontent.com/assets/1798172/25799740/e77d5c2e-33ee-11e7-8660-d34ce4c5f13f.png) + +#### [localsearch][54] +![image](https://raw.githubusercontent.com/mox-mox/vim-localsearch/master/vim-airline-localsearch-indicator.png) + +#### [LanguageClient][57] +![image](https://user-images.githubusercontent.com/9622/45275524-52f45c00-b48b-11e8-8b83-a66240b10747.gif) + +#### [Vim-CMake][60] +![image](https://user-images.githubusercontent.com/24732205/87788512-c876a380-c83d-11ea-9ee3-5f639f986a8f.png) + +#### [vim.battery][61] +![image](https://user-images.githubusercontent.com/1969470/94561399-368b0e00-0264-11eb-94a0-f6b67c73d422.png) + +## Extras + +vim-airline also supplies some supplementary stand-alone extensions. In addition to the tabline extension mentioned earlier, there is also: + +#### whitespace +![image](https://f.cloud.github.com/assets/306502/962401/2a75385e-04ef-11e3-935c-e3b9f0e954cc.png) + +### statusline on top +The statusline can alternatively be drawn on top, making room for other plugins to use the statusline: +The example shows a custom statusline setting, that imitates Vims default statusline, while allowing +to call custom functions. Use `:let g:airline_statusline_ontop=1` to enable it. + +![image](https://i.imgur.com/tW1lMRU.png) + +## Configurable and extensible + +#### Fine-tuned configuration + +Every section is composed of parts, and you can reorder and reconfigure them at will. + +![image](https://f.cloud.github.com/assets/306502/1073278/f291dd4c-14a3-11e3-8a83-268e2753f97d.png) + +Sections can contain accents, which allows for very granular control of visuals (see configuration [here](https://github.com/vim-airline/vim-airline/issues/299#issuecomment-25772886)). + +![image](https://f.cloud.github.com/assets/306502/1195815/4bfa38d0-249d-11e3-823e-773cfc2ca894.png) + +#### Extensible pipeline + +Completely transform the statusline to your liking. Build out the statusline as you see fit by extracting colors from the current colorscheme's highlight groups. + +![allyourbase](https://f.cloud.github.com/assets/306502/1022714/e150034a-0da7-11e3-94a5-ca9d58a297e8.png) + +# Rationale + +There's already [powerline][2], why yet another statusline? + +* 100% vimscript; no python needed. + +What about [vim-powerline][1]? + +* vim-powerline has been deprecated in favor of the newer, unifying powerline, which is under active development; the new version is written in python at the core and exposes various bindings such that it can style statuslines not only in vim, but also tmux, bash, zsh, and others. + +# Where did the name come from? + +I wrote the initial version on an airplane, and since it's light as air it turned out to be a good name. Thanks for flying vim! + +# Installation + +This plugin follows the standard runtime path structure, and as such it can be installed with a variety of plugin managers: + +| Plugin Manager | Install with... | +| ------------- | ------------- | +| [Pathogen][11] | `git clone https://github.com/vim-airline/vim-airline ~/.vim/bundle/vim-airline`
    Remember to run `:Helptags` to generate help tags | +| [NeoBundle][12] | `NeoBundle 'vim-airline/vim-airline'` | +| [Vundle][13] | `Plugin 'vim-airline/vim-airline'` | +| [Plug][40] | `Plug 'vim-airline/vim-airline'` | +| [VAM][22] | `call vam#ActivateAddons([ 'vim-airline' ])` | +| [Dein][52] | `call dein#add('vim-airline/vim-airline')` | +| [minpac][55] | `call minpac#add('vim-airline/vim-airline')` | +| pack feature (native Vim 8 package feature)| `git clone https://github.com/vim-airline/vim-airline ~/.vim/pack/dist/start/vim-airline`
    Remember to run `:helptags ~/.vim/pack/dist/start/vim-airline/doc` to generate help tags | +| manual | copy all of the files into your `~/.vim` directory | + +# Documentation + +`:help airline` + +# Integrating with powerline fonts + +For the nice looking powerline symbols to appear, you will need to install a patched font. Instructions can be found in the official powerline [documentation][20]. Prepatched fonts can be found in the [powerline-fonts][3] repository. + +Finally, you can add the convenience variable `let g:airline_powerline_fonts = 1` to your vimrc which will automatically populate the `g:airline_symbols` dictionary with the powerline symbols. + +# FAQ + +Solutions to common problems can be found in the [Wiki][27]. + +# Performance + +Whoa! Everything got slow all of a sudden... + +vim-airline strives to make it easy to use out of the box, which means that by default it will look for all compatible plugins that you have installed and enable the relevant extension. + +Many optimizations have been made such that the majority of users will not see any performance degradation, but it can still happen. For example, users who routinely open very large files may want to disable the `tagbar` extension, as it can be very expensive to scan for the name of the current function. + +The [minivimrc][7] project has some helper mappings to troubleshoot performance related issues. + +If you don't want all the bells and whistles enabled by default, you can define a value for `g:airline_extensions`. When this variable is defined, only the extensions listed will be loaded; an empty array would effectively disable all extensions (e.g. `:let g:airline_extensions = []`). + +Also, you can enable caching of the various syntax highlighting groups. This will try to prevent some of the more expensive `:hi` calls in Vim, which seem to be expensive in the Vim core at the expense of possibly not being one hundred percent correct all the time (especially if you often change highlighting groups yourself using `:hi` commands). To set this up do `:let g:airline_highlighting_cache = 1`. A `:AirlineRefresh` will however clear the cache. + +In addition you might want to check out the [dark_minimal theme][56], which does not change highlighting groups once they are defined. Also please check the [FAQ][27] for more information on how to diagnose and fix the problem. + +# Screenshots + +A full list of screenshots for various themes can be found in the [Wiki][14]. + +# Maintainers + +The project is currently being maintained by [Christian Brabandt][42] and [Bailey Ling][41]. + +If you are interested in becoming a maintainer (we always welcome more maintainers), please [go here][43]. + +# License + +[MIT License][58]. Copyright (c) 2013-2021 Bailey Ling & Contributors. + +[1]: https://github.com/Lokaltog/vim-powerline +[2]: https://github.com/Lokaltog/powerline +[3]: https://github.com/Lokaltog/powerline-fonts +[4]: https://github.com/tpope/vim-fugitive +[5]: https://github.com/scrooloose/syntastic +[6]: https://github.com/bling/vim-bufferline +[7]: https://github.com/bling/minivimrc +[8]: http://en.wikipedia.org/wiki/Open/closed_principle +[9]: https://github.com/Shougo/unite.vim +[10]: https://github.com/ctrlpvim/ctrlp.vim +[11]: https://github.com/tpope/vim-pathogen +[12]: https://github.com/Shougo/neobundle.vim +[13]: https://github.com/VundleVim/Vundle.vim +[14]: https://github.com/vim-airline/vim-airline/wiki/Screenshots +[15]: https://github.com/techlivezheng/vim-plugin-minibufexpl +[16]: https://github.com/sjl/gundo.vim +[17]: https://github.com/mbbill/undotree +[18]: https://github.com/preservim/nerdtree +[19]: https://github.com/majutsushi/tagbar +[20]: https://powerline.readthedocs.org/en/master/installation.html#patched-fonts +[21]: https://github.com/ludovicchabant/vim-lawrencium +[22]: https://github.com/MarcWeber/vim-addon-manager +[23]: https://github.com/altercation/solarized +[24]: https://github.com/chriskempson/tomorrow-theme +[25]: https://github.com/tomasr/molokai +[26]: https://github.com/nanotech/jellybeans.vim +[27]: https://github.com/vim-airline/vim-airline/wiki/FAQ +[28]: https://github.com/chrisbra/csv.vim +[29]: https://github.com/airblade/vim-gitgutter +[30]: https://github.com/mhinz/vim-signify +[31]: https://github.com/jmcantrell/vim-virtualenv +[32]: https://github.com/chriskempson/base16-vim +[33]: https://github.com/vim-airline/vim-airline/wiki/Test-Plan +[34]: http://eclim.org +[35]: https://github.com/edkolev/tmuxline.vim +[36]: https://github.com/edkolev/promptline.vim +[37]: https://github.com/gcmt/taboo.vim +[38]: https://github.com/vim-ctrlspace/vim-ctrlspace +[39]: https://github.com/tomtom/quickfixsigns_vim +[40]: https://github.com/junegunn/vim-plug +[41]: https://github.com/bling +[42]: https://github.com/chrisbra +[43]: https://github.com/vim-airline/vim-airline/wiki/Becoming-a-Maintainer +[45]: https://github.com/vim-airline/vim-airline/commit/d7fd8ca649e441b3865551a325b10504cdf0711b +[46]: https://github.com/vim-airline/vim-airline-themes#vim-airline-themes-- +[47]: https://github.com/mildred/vim-bufmru +[48]: https://github.com/ierton/xkb-switch +[49]: https://github.com/vovkasm/input-source-switcher +[50]: https://github.com/jreybert/vimagit +[51]: https://github.com/Shougo/denite.nvim +[52]: https://github.com/Shougo/dein.vim +[53]: https://github.com/lervag/vimtex +[54]: https://github.com/mox-mox/vim-localsearch +[55]: https://github.com/k-takata/minpac/ +[56]: https://github.com/vim-airline/vim-airline-themes/blob/master/autoload/airline/themes/dark_minimal.vim +[57]: https://github.com/autozimu/LanguageClient-neovim +[58]: https://github.com/vim-airline/vim-airline/blob/master/LICENSE +[59]: https://github.com/neoclide/coc-git +[60]: https://github.com/cdelledonne/vim-cmake +[61]: http://github.com/lambdalisue/battery.vim/ diff --git a/private_dot_config/nvim/plugged/vim-airline/Rakefile b/private_dot_config/nvim/plugged/vim-airline/Rakefile new file mode 100644 index 0000000..741cfc2 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/Rakefile @@ -0,0 +1,14 @@ +#!/usr/bin/env rake + +task :default => [:test] + +task :ci => [:dump, :test] + +task :dump do + sh 'vim --version' +end + +task :test do + sh 'bundle exec vim-flavor test' +end + diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline.vim new file mode 100644 index 0000000..6f43ee1 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline.vim @@ -0,0 +1,302 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let g:airline_statusline_funcrefs = get(g:, 'airline_statusline_funcrefs', []) +let g:airline_inactive_funcrefs = get(g:, 'airline_inactive_statusline_funcrefs', []) + +let s:sections = ['a','b','c','gutter','x','y','z', 'error', 'warning'] +let s:contexts = {} +let s:core_funcrefs = [ + \ function('airline#extensions#apply'), + \ function('airline#extensions#default#apply') ] + + +function! airline#add_statusline_func(name, ...) + let warn = get(a:, 1, 1) + call airline#add_statusline_funcref(function(a:name), warn) +endfunction + +function! airline#add_inactive_statusline_func(name, ...) + let warn = get(a:, 1, 1) + call airline#add_inactive_statusline_funcref(function(a:name), warn) +endfunction + + +function! airline#add_statusline_funcref(function, ...) + if index(g:airline_statusline_funcrefs, a:function) >= 0 + let warn = get(a:, 1, 1) + if warn > 0 + call airline#util#warning(printf('The airline statusline funcref "%s" has already been added.', string(a:function))) + endif + return + endif + call add(g:airline_statusline_funcrefs, a:function) +endfunction + +function! airline#remove_statusline_func(name) + let i = index(g:airline_statusline_funcrefs, function(a:name)) + if i > -1 + call remove(g:airline_statusline_funcrefs, i) + endif +endfunction + +function! airline#add_inactive_statusline_funcref(function, ...) + if index(g:airline_inactive_funcrefs, a:function) >= 0 + let warn = get(a:, 1, 1) + if warn > 0 + call airline#util#warning(printf('The airline inactive statusline funcref "%s" has already been added.', string(a:function))) + endif + return + endif + call add(g:airline_inactive_funcrefs, a:function) +endfunction + +function! airline#load_theme() + let g:airline_theme = get(g:, 'airline_theme', 'dark') + if exists('*airline#themes#{g:airline_theme}#refresh') + call airline#themes#{g:airline_theme}#refresh() + endif + + let palette = g:airline#themes#{g:airline_theme}#palette + call airline#themes#patch(palette) + + if exists('g:airline_theme_patch_func') + let Fn = function(g:airline_theme_patch_func) + call Fn(palette) + endif + + call airline#highlighter#load_theme() + call airline#extensions#load_theme() + call airline#update_statusline() + + call airline#util#doautocmd('AirlineAfterTheme') +endfunction + +" Load an airline theme +function! airline#switch_theme(name, ...) + let silent = get(a:000, '0', 0) + " get all available themes + let themes = airline#util#themes('') + let err = 0 + try + if index(themes, a:name) == -1 + " Theme not available + if !silent + call airline#util#warning(printf('The specified theme "%s" cannot be found.', a:name)) + endif + throw "not-found" + let err = 1 + else + exe "ru autoload/airline/themes/". a:name. ".vim" + let g:airline_theme = a:name + endif + catch /^Vim/ + " catch only Vim errors, not "not-found" + call airline#util#warning(printf('There is an error in theme "%s".', a:name)) + if &vbs + call airline#util#warning(v:exception) + endif + let err = 1 + endtry + + if err + if exists('g:airline_theme') + return + else + let g:airline_theme = 'dark' + endif + endif + + unlet! w:airline_lastmode + call airline#load_theme() + + " this is required to prevent clobbering the startup info message, i don't know why... + call airline#check_mode(winnr()) +endfunction + +" Try to load the right theme for the current colorscheme +function! airline#switch_matching_theme() + if exists('g:colors_name') + let existing = g:airline_theme + let theme = tr(tolower(g:colors_name), '-', '_') + try + call airline#switch_theme(theme, 1) + return 1 + catch + for map in items(g:airline_theme_map) + if match(g:colors_name, map[0]) > -1 + try + call airline#switch_theme(map[1], 1) + catch + call airline#switch_theme(existing) + endtry + return 1 + endif + endfor + endtry + endif + return 0 +endfunction + +" Update the statusline +function! airline#update_statusline() + if airline#util#stl_disabled(winnr()) + return + endif + let range = filter(range(1, winnr('$')), 'v:val != winnr()') + " create inactive statusline + call airline#update_statusline_inactive(range) + + unlet! w:airline_render_left w:airline_render_right + exe 'unlet! ' 'w:airline_section_'. join(s:sections, ' w:airline_section_') + + " Now create the active statusline + let w:airline_active = 1 + let context = { 'winnr': winnr(), 'active': 1, 'bufnr': winbufnr(winnr()) } + call s:invoke_funcrefs(context, g:airline_statusline_funcrefs) +endfunction + +" Function to be called to make all statuslines inactive +" Triggered on FocusLost autocommand +function! airline#update_statusline_focuslost() + if get(g:, 'airline_focuslost_inactive', 0) + let bufnr=bufnr('%') + call airline#highlighter#highlight_modified_inactive(bufnr) + call airline#highlighter#highlight(['inactive'], bufnr) + call airline#update_statusline_inactive(range(1, winnr('$'))) + endif +endfunction + +" Function to draw inactive statuslines for inactive windows +function! airline#update_statusline_inactive(range) + if airline#util#stl_disabled(winnr()) + return + endif + for nr in a:range + if airline#util#stl_disabled(nr) + continue + endif + call setwinvar(nr, 'airline_active', 0) + let context = { 'winnr': nr, 'active': 0, 'bufnr': winbufnr(nr) } + if get(g:, 'airline_inactive_alt_sep', 0) + call extend(context, { + \ 'left_sep': g:airline_left_alt_sep, + \ 'right_sep': g:airline_right_alt_sep }, 'keep') + endif + call s:invoke_funcrefs(context, g:airline_inactive_funcrefs) + endfor +endfunction + +" Gather output from all funcrefs which will later be returned by the +" airline#statusline() function +function! s:invoke_funcrefs(context, funcrefs) + let builder = airline#builder#new(a:context) + let err = airline#util#exec_funcrefs(a:funcrefs + s:core_funcrefs, builder, a:context) + if err == 1 + let a:context.line = builder.build() + let s:contexts[a:context.winnr] = a:context + let option = get(g:, 'airline_statusline_ontop', 0) ? '&tabline' : '&statusline' + call setwinvar(a:context.winnr, option, '%!airline#statusline('.a:context.winnr.')') + endif +endfunction + +" Main statusline function per window +" will be set to the statusline option +function! airline#statusline(winnr) + if has_key(s:contexts, a:winnr) + return '%{airline#check_mode('.a:winnr.')}'.s:contexts[a:winnr].line + endif + " in rare circumstances this happens...see #276 + return '' +endfunction + +" Check if mode has changed +function! airline#check_mode(winnr) + if !has_key(s:contexts, a:winnr) + return '' + endif + let context = s:contexts[a:winnr] + + if get(w:, 'airline_active', 1) + let m = mode(1) + if m ==# "i" + let mode = ['insert'] + elseif m[0] ==# "i" + let mode = ['insert'] + elseif m ==# "Rv" + let mode =['replace'] + elseif m[0] ==# "R" + let mode = ['replace'] + elseif m[0] =~# '\v(v|V||s|S|)' + let mode = ['visual'] + elseif m ==# "t" + let mode = ['terminal'] + elseif m[0] ==# "c" + let mode = ['commandline'] + elseif m ==# "no" " does not work, most likely, Vim does not refresh the statusline in OP mode + let mode = ['normal'] + elseif m[0:1] ==# 'ni' + let mode = ['insert'] + let m = 'ni' + else + let mode = ['normal'] + endif + if exists("*VMInfos") && !empty(VMInfos()) + " Vim plugin Multiple Cursors https://github.com/mg979/vim-visual-multi + let m = 'multi' + endif + if index(['Rv', 'no', 'ni', 'ix', 'ic', 'multi'], m) == -1 + let m = m[0] + endif + let w:airline_current_mode = get(g:airline_mode_map, m, m) + else + let mode = ['inactive'] + let w:airline_current_mode = get(g:airline_mode_map, '__') + endif + + if g:airline_detect_modified && &modified + call add(mode, 'modified') + endif + + if g:airline_detect_paste && &paste + call add(mode, 'paste') + endif + + if g:airline_detect_crypt && exists("+key") && !empty(&key) + call add(mode, 'crypt') + endif + + if g:airline_detect_spell && &spell + call add(mode, 'spell') + endif + + if &readonly || ! &modifiable + call add(mode, 'readonly') + endif + + let mode_string = join(mode) + if get(w:, 'airline_lastmode', '') != mode_string + call airline#highlighter#highlight_modified_inactive(context.bufnr) + call airline#highlighter#highlight(mode, string(context.bufnr)) + call airline#util#doautocmd('AirlineModeChanged') + let w:airline_lastmode = mode_string + endif + + return '' +endfunction + +function! airline#update_tabline() + if get(g:, 'airline_statusline_ontop', 0) + call airline#extensions#tabline#redraw() + endif +endfunction + +function! airline#mode_changed() + " airline#visual_active + " Boolean: for when to get visual wordcount + " needed for the wordcount extension + let g:airline#visual_active = (mode() =~? '[vs]') + call airline#update_tabline() +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/async.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/async.vim new file mode 100644 index 0000000..459a725 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/async.vim @@ -0,0 +1,382 @@ +" MIT License. Copyright (c) 2013-2021 Christian Brabandt et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:untracked_jobs = {} +let s:mq_jobs = {} +let s:po_jobs = {} +let s:clean_jobs = {} + +" Generic functions handling on exit event of the various async functions +function! s:untracked_output(dict, buf) + if a:buf =~? ('^'. a:dict.cfg['untracked_mark']) + let a:dict.cfg.untracked[a:dict.file] = get(g:, 'airline#extensions#branch#notexists', g:airline_symbols.notexists) + else + let a:dict.cfg.untracked[a:dict.file] = '' + endif +endfunction + +" also called from branch extension (for non-async vims) +function! airline#async#mq_output(buf, file) + let buf=a:buf + if !empty(a:buf) + if a:buf =~# 'no patches applied' || + \ a:buf =~# "unknown command 'qtop'" || + \ a:buf =~# "abort" + let buf = '' + elseif exists("b:mq") && b:mq isnot# buf + " make sure, statusline is updated + unlet! b:airline_head + endif + let b:mq = buf + endif + if has_key(s:mq_jobs, a:file) + call remove(s:mq_jobs, a:file) + endif +endfunction + +function! s:po_output(buf, file) + if !empty(a:buf) + let b:airline_po_stats = printf("%s", a:buf) + else + let b:airline_po_stats = '' + endif + if has_key(s:po_jobs, a:file) + call remove(s:po_jobs, a:file) + endif +endfunction + +function! s:valid_dir(dir) + if empty(a:dir) || !isdirectory(a:dir) + return getcwd() + endif + return a:dir +endfunction + +function! airline#async#vcs_untracked(config, file, vcs) + if g:airline#init#vim_async + " Vim 8 with async support + noa call airline#async#vim_vcs_untracked(a:config, a:file) + else + " nvim async or vim without job-feature + noa call airline#async#nvim_vcs_untracked(a:config, a:file, a:vcs) + endif +endfunction + +function! s:set_clean_variables(file, vcs, val) + let var=getbufvar(fnameescape(a:file), 'buffer_vcs_config', {}) + if has_key(var, a:vcs) && has_key(var[a:vcs], 'dirty') && + \ type(getbufvar(fnameescape(a:file), 'buffer_vcs_config')) == type({}) + let var[a:vcs].dirty=a:val + try + call setbufvar(fnameescape(a:file), 'buffer_vcs_config', var) + unlet! b:airline_head + catch + endtry + endif +endfunction + +function! s:set_clean_jobs_variable(vcs, file, id) + if !has_key(s:clean_jobs, a:vcs) + let s:clean_jobs[a:vcs] = {} + endif + let s:clean_jobs[a:vcs][a:file]=a:id +endfunction + +function! s:on_exit_clean(...) dict abort + let buf=self.buf + call s:set_clean_variables(self.file, self.vcs, !empty(buf)) + if has_key(get(s:clean_jobs, self.vcs, {}), self.file) + call remove(s:clean_jobs[self.vcs], self.file) + endif +endfunction + +function! airline#async#vcs_clean(cmd, file, vcs) + if g:airline#init#vim_async + " Vim 8 with async support + noa call airline#async#vim_vcs_clean(a:cmd, a:file, a:vcs) + elseif has("nvim") + " nvim async + noa call airline#async#nvim_vcs_clean(a:cmd, a:file, a:vcs) + else + " Vim pre 8 using system() + call airline#async#vim7_vcs_clean(a:cmd, a:file, a:vcs) + endif +endfunction + +if v:version >= 800 && has("job") + " Vim 8.0 with Job feature + " TODO: Check if we need the cwd option for the job_start() functions + " (only works starting with Vim 8.0.0902) + + function! s:on_stdout(channel, msg) dict abort + let self.buf .= a:msg + endfunction + + function! s:on_exit_mq(channel) dict abort + call airline#async#mq_output(self.buf, self.file) + endfunction + + function! s:on_exit_untracked(channel) dict abort + call s:untracked_output(self, self.buf) + if has_key(s:untracked_jobs, self.file) + call remove(s:untracked_jobs, self.file) + endif + endfunction + + function! s:on_exit_po(channel) dict abort + call s:po_output(self.buf, self.file) + call airline#extensions#po#shorten() + endfunction + + function! airline#async#get_mq_async(cmd, file) + if g:airline#init#is_windows && &shell =~ 'cmd\|powershell' + let cmd = a:cmd + else + let cmd = [&shell, &shellcmdflag, a:cmd] + endif + + let options = {'cmd': a:cmd, 'buf': '', 'file': a:file} + if has_key(s:mq_jobs, a:file) + if job_status(get(s:mq_jobs, a:file)) == 'run' + return + elseif has_key(s:mq_jobs, a:file) + call remove(s:mq_jobs, a:file) + endif + endif + let id = job_start(cmd, { + \ 'err_io': 'out', + \ 'out_cb': function('s:on_stdout', options), + \ 'close_cb': function('s:on_exit_mq', options)}) + let s:mq_jobs[a:file] = id + endfunction + + function! airline#async#get_msgfmt_stat(cmd, file) + if !executable('msgfmt') + " no msgfmt + return + endif + if g:airline#init#is_windows + let cmd = 'cmd /C ' . a:cmd. shellescape(a:file) + else + let cmd = ['sh', '-c', a:cmd. shellescape(a:file)] + endif + + let options = {'buf': '', 'file': a:file} + if has_key(s:po_jobs, a:file) + if job_status(get(s:po_jobs, a:file)) == 'run' + return + elseif has_key(s:po_jobs, a:file) + call remove(s:po_jobs, a:file) + endif + endif + let id = job_start(cmd, { + \ 'err_io': 'out', + \ 'out_cb': function('s:on_stdout', options), + \ 'close_cb': function('s:on_exit_po', options)}) + let s:po_jobs[a:file] = id + endfunction + + function! airline#async#vim_vcs_clean(cmd, file, vcs) + if g:airline#init#is_windows && &shell =~ 'cmd\|powershell' + let cmd = a:cmd + else + let cmd = [&shell, &shellcmdflag, a:cmd] + endif + + let options = {'buf': '', 'vcs': a:vcs, 'file': a:file} + let jobs = get(s:clean_jobs, a:vcs, {}) + if has_key(jobs, a:file) + if job_status(get(jobs, a:file)) == 'run' + return + elseif has_key(jobs, a:file) + " still running + return + " jobs dict should be cleaned on exit, so not needed here + " call remove(jobs, a:file) + endif + endif + let id = job_start(cmd, { + \ 'err_io': 'null', + \ 'out_cb': function('s:on_stdout', options), + \ 'close_cb': function('s:on_exit_clean', options)}) + call s:set_clean_jobs_variable(a:vcs, a:file, id) + endfunction + + function! airline#async#vim_vcs_untracked(config, file) + if g:airline#init#is_windows && &shell =~ 'cmd\|powershell' + let cmd = a:config['cmd'] . shellescape(a:file) + else + let cmd = [&shell, &shellcmdflag, a:config['cmd'] . shellescape(a:file)] + endif + + let options = {'cfg': a:config, 'buf': '', 'file': a:file} + if has_key(s:untracked_jobs, a:file) + if job_status(get(s:untracked_jobs, a:file)) == 'run' + return + elseif has_key(s:untracked_jobs, a:file) + call remove(s:untracked_jobs, a:file) + endif + endif + let id = job_start(cmd, { + \ 'err_io': 'out', + \ 'out_cb': function('s:on_stdout', options), + \ 'close_cb': function('s:on_exit_untracked', options)}) + let s:untracked_jobs[a:file] = id + endfunction + +elseif has("nvim") + " NVim specific functions + + function! s:nvim_output_handler(job_id, data, event) dict + if a:event == 'stdout' || a:event == 'stderr' + let self.buf .= join(a:data) + endif + endfunction + + function! s:nvim_untracked_job_handler(job_id, data, event) dict + if a:event == 'exit' + call s:untracked_output(self, self.buf) + if has_key(s:untracked_jobs, self.file) + call remove(s:untracked_jobs, self.file) + endif + endif + endfunction + + function! s:nvim_mq_job_handler(job_id, data, event) dict + if a:event == 'exit' + call airline#async#mq_output(self.buf, self.file) + endif + endfunction + + function! s:nvim_po_job_handler(job_id, data, event) dict + if a:event == 'exit' + call s:po_output(self.buf, self.file) + call airline#extensions#po#shorten() + endif + endfunction + + function! airline#async#nvim_get_mq_async(cmd, file) + let config = { + \ 'buf': '', + \ 'file': a:file, + \ 'cwd': s:valid_dir(fnamemodify(a:file, ':p:h')), + \ 'on_stdout': function('s:nvim_output_handler'), + \ 'on_stderr': function('s:nvim_output_handler'), + \ 'on_exit': function('s:nvim_mq_job_handler') + \ } + if g:airline#init#is_windows && &shell =~ 'cmd\|powershell' + let cmd = a:cmd + else + let cmd = [&shell, &shellcmdflag, a:cmd] + endif + + if has_key(s:mq_jobs, a:file) + call remove(s:mq_jobs, a:file) + endif + let id = jobstart(cmd, config) + let s:mq_jobs[a:file] = id + endfunction + + function! airline#async#nvim_get_msgfmt_stat(cmd, file) + let config = { + \ 'buf': '', + \ 'file': a:file, + \ 'cwd': s:valid_dir(fnamemodify(a:file, ':p:h')), + \ 'on_stdout': function('s:nvim_output_handler'), + \ 'on_stderr': function('s:nvim_output_handler'), + \ 'on_exit': function('s:nvim_po_job_handler') + \ } + if g:airline#init#is_windows && &shell =~ 'cmd\|powershell' + " no msgfmt on windows? + return + else + let cmd = [&shell, &shellcmdflag, a:cmd. shellescape(a:file)] + endif + + if has_key(s:po_jobs, a:file) + call remove(s:po_jobs, a:file) + endif + let id = jobstart(cmd, config) + let s:po_jobs[a:file] = id + endfunction + + function! airline#async#nvim_vcs_clean(cmd, file, vcs) + let config = { + \ 'buf': '', + \ 'vcs': a:vcs, + \ 'file': a:file, + \ 'cwd': s:valid_dir(fnamemodify(a:file, ':p:h')), + \ 'on_stdout': function('s:nvim_output_handler'), + \ 'on_stderr': function('s:nvim_output_handler'), + \ 'on_exit': function('s:on_exit_clean')} + if g:airline#init#is_windows && &shell =~ 'cmd\|powershell' + let cmd = a:cmd + else + let cmd = [&shell, &shellcmdflag, a:cmd] + endif + + if !has_key(s:clean_jobs, a:vcs) + let s:clean_jobs[a:vcs] = {} + endif + if has_key(s:clean_jobs[a:vcs], a:file) + " still running + return + " jobs dict should be cleaned on exit, so not needed here + " call remove(s:clean_jobs[a:vcs], a:file) + endif + let id = jobstart(cmd, config) + call s:set_clean_jobs_variable(a:vcs, a:file, id) + endfunction + +endif + +" Should work in either Vim pre 8 or Nvim +function! airline#async#nvim_vcs_untracked(cfg, file, vcs) + let cmd = a:cfg.cmd . shellescape(a:file) + let id = -1 + let config = { + \ 'buf': '', + \ 'vcs': a:vcs, + \ 'cfg': a:cfg, + \ 'file': a:file, + \ 'cwd': s:valid_dir(fnamemodify(a:file, ':p:h')) + \ } + if has("nvim") + call extend(config, { + \ 'on_stdout': function('s:nvim_output_handler'), + \ 'on_exit': function('s:nvim_untracked_job_handler')}) + if has_key(s:untracked_jobs, config.file) + " still running + return + endif + try + let id = jobstart(cmd, config) + catch + " catch-all, jobstart() failed, fall back to system() + let id=-1 + endtry + let s:untracked_jobs[a:file] = id + endif + " vim without job feature or nvim jobstart failed + if id < 1 + let output=system(cmd) + call s:untracked_output(config, output) + call airline#extensions#branch#update_untracked_config(a:file, a:vcs) + endif +endfunction + +function! airline#async#vim7_vcs_clean(cmd, file, vcs) + " Vim pre 8, fallback using system() + " don't want to to see error messages + if g:airline#init#is_windows && &shell =~ 'cmd' + let cmd = a:cmd .' 2>nul' + elseif g:airline#init#is_windows && &shell =~ 'powerline' + let cmd = a:cmd .' 2> $null' + else + let cmd = a:cmd .' 2>/dev/null' + endif + let output=system(cmd) + call s:set_clean_variables(a:file, a:vcs, !empty(output)) +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/builder.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/builder.vim new file mode 100644 index 0000000..adc680b --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/builder.vim @@ -0,0 +1,241 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:prototype = {} + +function! s:prototype.split(...) dict + call add(self._sections, ['|', a:0 ? a:1 : '%=']) +endfunction + +function! s:prototype.add_section_spaced(group, contents) dict + let spc = empty(a:contents) ? '' : g:airline_symbols.space + call self.add_section(a:group, spc.a:contents.spc) +endfunction + +function! s:prototype.add_section(group, contents) dict + call add(self._sections, [a:group, a:contents]) +endfunction + +function! s:prototype.add_raw(text) dict + call add(self._sections, ['', a:text]) +endfunction + +function! s:prototype.insert_section(group, contents, position) dict + call insert(self._sections, [a:group, a:contents], a:position) +endfunction + +function! s:prototype.insert_raw(text, position) dict + call insert(self._sections, ['', a:text], a:position) +endfunction + +function! s:prototype.get_position() dict + return len(self._sections) +endfunction + +function! airline#builder#get_prev_group(sections, i) + let x = a:i - 1 + while x >= 0 + let group = a:sections[x][0] + if group != '' && group != '|' + return group + endif + let x = x - 1 + endwhile + return '' +endfunction + +function! airline#builder#get_next_group(sections, i) + let x = a:i + 1 + let l = len(a:sections) + while x < l + let group = a:sections[x][0] + if group != '' && group != '|' + return group + endif + let x = x + 1 + endwhile + return '' +endfunction + +function! s:prototype.build() dict + let side = 1 + let line = '' + let i = 0 + let length = len(self._sections) + let split = 0 + let is_empty = 0 + let prev_group = '' + + while i < length + let section = self._sections[i] + let group = section[0] + let contents = section[1] + let pgroup = prev_group + let prev_group = airline#builder#get_prev_group(self._sections, i) + if group ==# 'airline_c' && &buftype ==# 'terminal' && self._context.active + let group = 'airline_term' + elseif group ==# 'airline_c' && !self._context.active && has_key(self._context, 'bufnr') + let group = 'airline_c'. self._context.bufnr + elseif prev_group ==# 'airline_c' && !self._context.active && has_key(self._context, 'bufnr') + let prev_group = 'airline_c'. self._context.bufnr + endif + if is_empty + let prev_group = pgroup + endif + let is_empty = s:section_is_empty(self, contents) + + if is_empty + " need to fix highlighting groups, since we + " have skipped a section, we actually need + " the previous previous group and so the + " seperator goes from the previous previous group + " to the current group + let pgroup = group + endif + + if group == '' + let line .= contents + elseif group == '|' + let side = 0 + let line .= contents + let split = 1 + else + if prev_group == '' + let line .= '%#'.group.'#' + elseif split + if !is_empty + let line .= s:get_transitioned_seperator(self, prev_group, group, side) + endif + let split = 0 + else + if !is_empty + let line .= s:get_seperator(self, prev_group, group, side) + endif + endif + let line .= is_empty ? '' : s:get_accented_line(self, group, contents) + endif + + let i = i + 1 + endwhile + + if !self._context.active + "let line = substitute(line, '%#airline_c#', '%#airline_c'.self._context.bufnr.'#', '') + let line = substitute(line, '%#.\{-}\ze#', '\0_inactive', 'g') + endif + return line +endfunction + +function! airline#builder#should_change_group(group1, group2) + if a:group1 == a:group2 + return 0 + endif + let color1 = airline#highlighter#get_highlight(a:group1) + let color2 = airline#highlighter#get_highlight(a:group2) + return color1[1] != color2[1] || color1[0] != color2[0] + \ || color1[2] != color2[2] || color1[3] != color2[3] +endfunction + +function! s:get_transitioned_seperator(self, prev_group, group, side) + let line = '' + if get(a:self._context, 'tabline', 0) && get(g:, 'airline#extensions#tabline#alt_sep', 0) && a:group ==# 'airline_tabsel' && a:side + call airline#highlighter#add_separator(a:prev_group, a:group, 0) + let line .= '%#'.a:prev_group.'_to_'.a:group.'#' + let line .= a:self._context.right_sep.'%#'.a:group.'#' + else + call airline#highlighter#add_separator(a:prev_group, a:group, a:side) + let line .= '%#'.a:prev_group.'_to_'.a:group.'#' + let line .= a:side ? a:self._context.left_sep : a:self._context.right_sep + let line .= '%#'.a:group.'#' + endif + return line +endfunction + +function! s:get_seperator(self, prev_group, group, side) + if airline#builder#should_change_group(a:prev_group, a:group) + return s:get_transitioned_seperator(a:self, a:prev_group, a:group, a:side) + else + return a:side ? a:self._context.left_alt_sep : a:self._context.right_alt_sep + endif +endfunction + +function! s:get_accented_line(self, group, contents) + if a:self._context.active + " active window + let contents = [] + let content_parts = split(a:contents, '__accent') + for cpart in content_parts + let accent = matchstr(cpart, '_\zs[^#]*\ze') + call add(contents, cpart) + endfor + let line = join(contents, a:group) + let line = substitute(line, '__restore__', a:group, 'g') + else + " inactive window + let line = substitute(a:contents, '%#__accent[^#]*#', '', 'g') + let line = substitute(line, '%#__restore__#', '', 'g') + endif + return line +endfunction + +function! s:section_is_empty(self, content) + let start=1 + + " do not check for inactive windows or the tabline + if a:self._context.active == 0 + return 0 + elseif get(a:self._context, 'tabline', 0) + return 0 + endif + + " only check, if airline#skip_empty_sections == 1 + if get(g:, 'airline_skip_empty_sections', 0) == 0 + return 0 + endif + + " only check, if airline#skip_empty_sections == 1 + if get(w:, 'airline_skip_empty_sections', -1) == 0 + return 0 + endif + " assume accents sections to be never empty + " (avoides, that on startup the mode message becomes empty) + if match(a:content, '%#__accent_[^#]*#.*__restore__#') > -1 + return 0 + endif + if empty(a:content) + return 1 + endif + let list=matchlist(a:content, '%{\zs.\{-}\ze}', 1, start) + if empty(list) + return 0 " no function in statusline text + endif + while len(list) > 0 + let expr = list[0] + try + " catch all exceptions, just in case + if !empty(eval(expr)) + return 0 + endif + catch + return 0 + endtry + let start += 1 + let list=matchlist(a:content, '%{\zs.\{-}\ze}', 1, start) + endw + return 1 +endfunction + +function! airline#builder#new(context) + let builder = copy(s:prototype) + let builder._context = a:context + let builder._sections = [] + + call extend(builder._context, { + \ 'left_sep': g:airline_left_sep, + \ 'left_alt_sep': g:airline_left_alt_sep, + \ 'right_sep': g:airline_right_sep, + \ 'right_alt_sep': g:airline_right_alt_sep, + \ }, 'keep') + return builder +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/debug.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/debug.vim new file mode 100644 index 0000000..f04b296 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/debug.vim @@ -0,0 +1,51 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +function! airline#debug#profile1() + profile start airline-profile-switch.log + profile func * + profile file * + split + for i in range(1, 1000) + wincmd w + redrawstatus + endfor + profile pause + noautocmd qall! +endfunction + +function! airline#debug#profile2() + profile start airline-profile-cursor.log + profile func * + profile file * + edit blank + call setline(1, 'all your base are belong to us') + call setline(2, 'all your base are belong to us') + let positions = [[1,2], [2,2], [1,2], [1,1]] + for i in range(1, 1000) + for pos in positions + call cursor(pos[0], pos[1]) + redrawstatus + endfor + endfor + profile pause + noautocmd qall! +endfunction + +function! airline#debug#profile3() + profile start airline-profile-mode.log + profile func * + profile file * + + for i in range(1000) + startinsert + redrawstatus + stopinsert + redrawstatus + endfor + + profile pause + noautocmd qall! +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions.vim new file mode 100644 index 0000000..b0355b0 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions.vim @@ -0,0 +1,516 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:loaded_ext = [] +let s:ext = {} +let s:ext._theme_funcrefs = [] + +function! s:ext.add_statusline_func(name) dict + call airline#add_statusline_func(a:name) +endfunction +function! s:ext.add_statusline_funcref(function) dict + call airline#add_statusline_funcref(a:function) +endfunction +function! s:ext.add_inactive_statusline_func(name) dict + call airline#add_inactive_statusline_func(a:name) +endfunction +function! s:ext.add_theme_func(name) dict + call add(self._theme_funcrefs, function(a:name)) +endfunction + +let s:script_path = tolower(resolve(expand(':p:h'))) + +let s:filetype_overrides = { + \ 'coc-explorer': [ 'CoC Explorer', '' ], + \ 'defx': ['defx', '%{b:defx.paths[0]}'], + \ 'fugitive': ['fugitive', '%{airline#util#wrap(airline#extensions#branch#get_head(),80)}'], + \ 'gundo': [ 'Gundo', '' ], + \ 'help': [ 'Help', '%f' ], + \ 'minibufexpl': [ 'MiniBufExplorer', '' ], + \ 'startify': [ 'startify', '' ], + \ 'vim-plug': [ 'Plugins', '' ], + \ 'vimfiler': [ 'vimfiler', '%{vimfiler#get_status_string()}' ], + \ 'vimshell': ['vimshell','%{vimshell#get_status_string()}'], + \ 'vaffle' : [ 'Vaffle', '%{b:vaffle.dir}' ], + \ } + +if get(g:, 'airline#extensions#nerdtree_statusline', 1) + let s:filetype_overrides['nerdtree'] = [ get(g:, 'NERDTreeStatusline', 'NERD'), '' ] +else + let s:filetype_overrides['nerdtree'] = ['NERDTree', ''] +endif + +let s:filetype_regex_overrides = {} + +function! s:check_defined_section(name) + if !exists('w:airline_section_{a:name}') + let w:airline_section_{a:name} = g:airline_section_{a:name} + endif +endfunction + +function! airline#extensions#append_to_section(name, value) + call check_defined_section(a:name) + let w:airline_section_{a:name} .= a:value +endfunction + +function! airline#extensions#prepend_to_section(name, value) + call check_defined_section(a:name) + let w:airline_section_{a:name} = a:value . w:airline_section_{a:name} +endfunction + +function! airline#extensions#apply_left_override(section1, section2) + let w:airline_section_a = a:section1 + let w:airline_section_b = a:section2 + let w:airline_section_c = airline#section#create(['readonly']) + let w:airline_render_left = 1 + let w:airline_render_right = 0 +endfunction + +function! airline#extensions#apply(...) + let filetype_overrides = get(s:, 'filetype_overrides', {}) + call extend(filetype_overrides, get(g:, 'airline_filetype_overrides', {}), 'force') + + if s:is_excluded_window() + return -1 + endif + + if &buftype == 'terminal' + let w:airline_section_x = '' + let w:airline_section_y = '' + endif + + if &previewwindow && empty(get(w:, 'airline_section_a', '')) + let w:airline_section_a = 'Preview' + let w:airline_section_b = '' + let w:airline_section_c = bufname(winbufnr(winnr())) + endif + + if has_key(filetype_overrides, &ft) && + \ ((&filetype == 'help' && &buftype == 'help') || &filetype !~ 'help') + " for help files only override it, if the buftype is also of type 'help', + " else it would trigger when editing Vim help files + let args = filetype_overrides[&ft] + call airline#extensions#apply_left_override(args[0], args[1]) + endif + + if &buftype == 'help' + let w:airline_section_x = '' + let w:airline_section_y = '' + let w:airline_render_right = 1 + endif + + for item in items(s:filetype_regex_overrides) + if match(&ft, item[0]) >= 0 + call airline#extensions#apply_left_override(item[1][0], item[1][1]) + endif + endfor +endfunction + +function! s:is_excluded_window() + for matchft in g:airline_exclude_filetypes + if matchft ==# &ft + return 1 + endif + endfor + + for matchw in g:airline_exclude_filenames + if matchstr(expand('%'), matchw) ==# matchw + return 1 + endif + endfor + + if g:airline_exclude_preview && &previewwindow + return 1 + endif + + return 0 +endfunction + +function! airline#extensions#load_theme() + call airline#util#exec_funcrefs(s:ext._theme_funcrefs, g:airline#themes#{g:airline_theme}#palette) +endfunction + +function! airline#extensions#load() + let s:loaded_ext = [] + + if exists('g:airline_extensions') + for ext in g:airline_extensions + try + call airline#extensions#{ext}#init(s:ext) + catch /^Vim\%((\a\+)\)\=:E117/ " E117, function does not exist + call airline#util#warning("Extension '".ext."' not installed, ignoring!") + continue + endtry + call add(s:loaded_ext, ext) + endfor + return + endif + + call airline#extensions#quickfix#init(s:ext) + call add(s:loaded_ext, 'quickfix') + + if get(g:, 'loaded_unite', 0) && get(g:, 'airline#extensions#unite#enabled', 1) + call airline#extensions#unite#init(s:ext) + call add(s:loaded_ext, 'unite') + endif + + if get(g:, 'loaded_denite', 0) && get(g:, 'airline#extensions#denite#enabled', 1) + call airline#extensions#denite#init(s:ext) + call add(s:loaded_ext, 'denite') + endif + + if get(g:, 'loaded_gina', 0) && get(g:, 'airline#extensions#gina#enabled', 1) + call airline#extensions#gina#init(s:ext) + call add(s:loaded_ext, 'gina') + endif + + if get(g:, 'fern_loaded', 0) && get(g:, 'airline#extensions#fern#enabled', 1) + call airline#extensions#fern#init(s:ext) + call add(s:loaded_ext, 'fern') + endif + + if exists(':NetrwSettings') + call airline#extensions#netrw#init(s:ext) + call add(s:loaded_ext, 'netrw') + endif + + " fzf buffers are also terminal buffers, so this must be above term. + if exists(':FZF') && get(g:, 'airline#extensions#fzf#enabled', 1) + call airline#extensions#fzf#init(s:ext) + call add(s:loaded_ext, 'fzf') + endif + + " Vim-CMake buffers are also terminal buffers, so this must be above term. + if get(g:, 'loaded_cmake', 0) && get(g:, 'airline#extensions#vimcmake#enabled', 1) + call airline#extensions#vimcmake#init(s:ext) + call add(s:loaded_ext, 'vimcmake') + endif + + if (has("terminal") || has('nvim')) && + \ get(g:, 'airline#extensions#term#enabled', 1) + call airline#extensions#term#init(s:ext) + call add(s:loaded_ext, 'term') + endif + + if get(g:, 'airline#extensions#ycm#enabled', 0) && exists('g:loaded_youcompleteme') + call airline#extensions#ycm#init(s:ext) + call add(s:loaded_ext, 'ycm') + endif + + if get(g:, 'loaded_vimfiler', 0) + let g:vimfiler_force_overwrite_statusline = 0 + endif + + if get(g:, 'loaded_ctrlp', 0) + call airline#extensions#ctrlp#init(s:ext) + call add(s:loaded_ext, 'ctrlp') + endif + + if get(g:, 'loaded_localsearch', 0) + call airline#extensions#localsearch#init(s:ext) + call add(s:loaded_ext, 'localsearch') + endif + + if get(g:, 'CtrlSpaceLoaded', 0) + call airline#extensions#ctrlspace#init(s:ext) + call add(s:loaded_ext, 'ctrlspace') + endif + + if get(g:, 'command_t_loaded', 0) + call airline#extensions#commandt#init(s:ext) + call add(s:loaded_ext, 'commandt') + endif + + if exists(':UndotreeToggle') + call airline#extensions#undotree#init(s:ext) + call add(s:loaded_ext, 'undotree') + endif + + if get(g:, 'airline#extensions#hunks#enabled', 1) + \ && (exists('g:loaded_signify') + \ || exists('g:loaded_gitgutter') + \ || exists('g:loaded_changes') + \ || exists('g:loaded_quickfixsigns') + \ || exists(':CocCommand')) + call airline#extensions#hunks#init(s:ext) + call add(s:loaded_ext, 'hunks') + endif + + if get(g:, 'airline#extensions#vimagit#enabled', 1) + \ && (exists('g:loaded_magit')) + call airline#extensions#vimagit#init(s:ext) + call add(s:loaded_ext, 'vimagit') + endif + + if get(g:, 'airline#extensions#tagbar#enabled', 1) + \ && exists(':TagbarToggle') + call airline#extensions#tagbar#init(s:ext) + call add(s:loaded_ext, 'tagbar') + endif + if get(g:, 'airline#extensions#taglist#enabled', 1) && exists(':TlistShowTag') + call airline#extensions#taglist#init(s:ext) + call add(s:loaded_ext, 'taglist') + endif + + if get(g:, 'airline#extensions#vista#enabled', 1) + \ && exists(':Vista') + call airline#extensions#vista#init(s:ext) + call add(s:loaded_ext, 'vista') + endif + + if get(g:, 'airline#extensions#bookmark#enabled', 1) + \ && exists(':BookmarkToggle') + call airline#extensions#bookmark#init(s:ext) + call add(s:loaded_ext, 'bookmark') + endif + + if get(g:, 'airline#extensions#scrollbar#enabled', 0) + call airline#extensions#scrollbar#init(s:ext) + call add(s:loaded_ext, 'scrollbar') + endif + + if get(g:, 'airline#extensions#csv#enabled', 1) + \ && (get(g:, 'loaded_csv', 0) || exists(':Table')) + call airline#extensions#csv#init(s:ext) + call add(s:loaded_ext, 'csv') + endif + + if get(g:, 'airline#extensions#zoomwintab#enabled', 0) + call airline#extensions#zoomwintab#init(s:ext) + call add(s:loaded_ext, 'zoomwintab') + endif + + if exists(':VimShell') + let s:filetype_regex_overrides['^int-'] = ['vimshell','%{substitute(&ft, "int-", "", "")}'] + endif + + if get(g:, 'airline#extensions#branch#enabled', 1) && ( + \ airline#util#has_fugitive() || + \ airline#util#has_gina() || + \ airline#util#has_lawrencium() || + \ airline#util#has_vcscommand() || + \ airline#util#has_custom_scm()) + call airline#extensions#branch#init(s:ext) + call add(s:loaded_ext, 'branch') + endif + + if get(g:, 'airline#extensions#bufferline#enabled', 1) + \ && exists('*bufferline#get_status_string') + call airline#extensions#bufferline#init(s:ext) + call add(s:loaded_ext, 'bufferline') + endif + + if get(g:, 'airline#extensions#fugitiveline#enabled', 1) + \ && airline#util#has_fugitive() + \ && index(s:loaded_ext, 'bufferline') == -1 + call airline#extensions#fugitiveline#init(s:ext) + call add(s:loaded_ext, 'fugitiveline') + endif + + " NOTE: This means that if both virtualenv and poetv are enabled and + " available, poetv silently takes precedence and the virtualenv + " extension won't be initialized. Since both extensions currently just + " add a virtualenv identifier section to the airline, this seems + " acceptable. + if (get(g:, 'airline#extensions#poetv#enabled', 0) && (exists(':PoetvActivate'))) + call airline#extensions#poetv#init(s:ext) + call add(s:loaded_ext, 'poetv') + elseif (get(g:, 'airline#extensions#virtualenv#enabled', 0) && (exists(':VirtualEnvList'))) + call airline#extensions#virtualenv#init(s:ext) + call add(s:loaded_ext, 'virtualenv') + elseif (get(g:, 'airline#extensions#poetv#enabled', 0) && (isdirectory($VIRTUAL_ENV))) + call airline#extensions#poetv#init(s:ext) + call add(s:loaded_ext, 'poetv') + endif + + if (get(g:, 'airline#extensions#eclim#enabled', 1) && exists(':ProjectCreate')) + call airline#extensions#eclim#init(s:ext) + call add(s:loaded_ext, 'eclim') + endif + + if get(g:, 'airline#extensions#syntastic#enabled', 1) + \ && exists(':SyntasticCheck') + call airline#extensions#syntastic#init(s:ext) + call add(s:loaded_ext, 'syntastic') + endif + + if (get(g:, 'airline#extensions#ale#enabled', 1) && exists(':ALELint')) + call airline#extensions#ale#init(s:ext) + call add(s:loaded_ext, 'ale') + endif + + if (get(g:, 'airline#extensions#lsp#enabled', 1) && exists(':LspDeclaration')) + call airline#extensions#lsp#init(s:ext) + call add(s:loaded_ext, 'lsp') + endif + + if (get(g:, 'airline#extensions#nvimlsp#enabled', 1) + \ && has('nvim') + \ && luaeval('vim.lsp ~= nil')) + call airline#extensions#nvimlsp#init(s:ext) + call add(s:loaded_ext, 'nvimlsp') + endif + + if (get(g:, 'airline#extensions#coc#enabled', 1) && exists(':CocCommand')) + call airline#extensions#coc#init(s:ext) + call add(s:loaded_ext, 'coc') + endif + + if (get(g:, 'airline#extensions#languageclient#enabled', 1) && exists(':LanguageClientStart')) + call airline#extensions#languageclient#init(s:ext) + call add(s:loaded_ext, 'languageclient') + endif + + if get(g:, 'airline#extensions#whitespace#enabled', 1) + call airline#extensions#whitespace#init(s:ext) + call add(s:loaded_ext, 'whitespace') + endif + + if (get(g:, 'airline#extensions#neomake#enabled', 1) && exists(':Neomake')) + call airline#extensions#neomake#init(s:ext) + call add(s:loaded_ext, 'neomake') + endif + + if get(g:, 'airline#extensions#po#enabled', 1) && executable('msgfmt') + call airline#extensions#po#init(s:ext) + call add(s:loaded_ext, 'po') + endif + + if get(g:, 'airline#extensions#wordcount#enabled', 1) + call airline#extensions#wordcount#init(s:ext) + call add(s:loaded_ext, 'wordcount') + endif + + if get(g:, 'airline#extensions#tabline#enabled', 0) + call airline#extensions#tabline#init(s:ext) + call add(s:loaded_ext, 'tabline') + endif + + if get(g:, 'airline#extensions#tmuxline#enabled', 1) && exists(':Tmuxline') + call airline#extensions#tmuxline#init(s:ext) + call add(s:loaded_ext, 'tmuxline') + endif + + if get(g:, 'airline#extensions#promptline#enabled', 1) && exists(':PromptlineSnapshot') && len(get(g:, 'airline#extensions#promptline#snapshot_file', '')) + call airline#extensions#promptline#init(s:ext) + call add(s:loaded_ext, 'promptline') + endif + + if get(g:, 'airline#extensions#nrrwrgn#enabled', 1) && get(g:, 'loaded_nrrw_rgn', 0) + call airline#extensions#nrrwrgn#init(s:ext) + call add(s:loaded_ext, 'nrrwrgn') + endif + + if get(g:, 'airline#extensions#unicode#enabled', 1) && exists(':UnicodeTable') == 2 + call airline#extensions#unicode#init(s:ext) + call add(s:loaded_ext, 'unicode') + endif + + if (get(g:, 'airline#extensions#capslock#enabled', 1) && exists('*CapsLockStatusline')) + call airline#extensions#capslock#init(s:ext) + call add(s:loaded_ext, 'capslock') + endif + + if (get(g:, 'airline#extensions#gutentags#enabled', 1) && get(g:, 'loaded_gutentags', 0)) + call airline#extensions#gutentags#init(s:ext) + call add(s:loaded_ext, 'gutentags') + endif + + if get(g:, 'airline#extensions#gen_tags#enabled', 1) && (get(g:, 'loaded_gentags#gtags', 0) || get(g:, 'loaded_gentags#ctags', 0)) + call airline#extensions#gen_tags#init(s:ext) + call add(s:loaded_ext, 'gen_tags') + endif + + if (get(g:, 'airline#extensions#grepper#enabled', 1) && get(g:, 'loaded_grepper', 0)) + call airline#extensions#grepper#init(s:ext) + call add(s:loaded_ext, 'grepper') + endif + + if (get(g:, 'airline#extensions#xkblayout#enabled', 1) && exists('g:XkbSwitchLib')) + call airline#extensions#xkblayout#init(s:ext) + call add(s:loaded_ext, 'xkblayout') + endif + + if (get(g:, 'airline#extensions#keymap#enabled', 1) && has('keymap')) + call airline#extensions#keymap#init(s:ext) + call add(s:loaded_ext, 'keymap') + endif + + if (get(g:, 'airline#extensions#windowswap#enabled', 1) && get(g:, 'loaded_windowswap', 0)) + call airline#extensions#windowswap#init(s:ext) + call add(s:loaded_ext, 'windowswap') + endif + + if (get(g:, 'airline#extensions#obsession#enabled', 1) && exists('*ObsessionStatus')) + call airline#extensions#obsession#init(s:ext) + call add(s:loaded_ext, 'obsession') + endif + + if get(g:, 'airline#extensions#vimtex#enabled', 1) + runtime autoload/vimtex.vim + if exists('*vimtex#init') + call airline#extensions#vimtex#init(s:ext) + call add(s:loaded_ext, 'vimtex') + endif + endif + + if (get(g:, 'airline#extensions#cursormode#enabled', 0)) + call airline#extensions#cursormode#init(s:ext) + call add(s:loaded_ext, 'cursormode') + endif + + if get(g:, 'airline#extensions#searchcount#enabled', 1) && exists('*searchcount') + call airline#extensions#searchcount#init(s:ext) + call add(s:loaded_ext, 'searchcount') + endif + + if get(g:, 'loaded_battery', 0) && get(g:, 'airline#extensions#battery#enabled', 0) + call airline#extensions#battery#init(s:ext) + call add(s:loaded_ext, 'battery') + endif + + if !get(g:, 'airline#extensions#disable_rtp_load', 0) + " load all other extensions, which are not part of the default distribution. + " (autoload/airline/extensions/*.vim outside of our s:script_path). + for file in split(globpath(&rtp, 'autoload/airline/extensions/*.vim', 1), "\n") + " we have to check both resolved and unresolved paths, since it's possible + " that they might not get resolved properly (see #187) + if stridx(tolower(resolve(fnamemodify(file, ':p'))), s:script_path) < 0 + \ && stridx(tolower(fnamemodify(file, ':p')), s:script_path) < 0 + let name = fnamemodify(file, ':t:r') + if !get(g:, 'airline#extensions#'.name.'#enabled', 1) || + \ index(s:loaded_ext, name) > -1 + continue + endif + try + call airline#extensions#{name}#init(s:ext) + " mark as external + call add(s:loaded_ext, name.'*') + catch + endtry + endif + endfor + endif + + if exists(':Dirvish') && get(g:, 'airline#extensions#dirvish#enabled', 1) + call airline#extensions#dirvish#init(s:ext) + call add(s:loaded_ext, 'dirvish') + endif + + if (get(g:, 'airline#extensions#omnisharp#enabled', 1) && get(g:, 'OmniSharp_loaded', 0)) + call airline#extensions#omnisharp#init(s:ext) + call add(s:loaded_ext, 'omnisharp') + endif + + if (get(g:, 'airline#extensions#rufo#enabled', 0) && get(g:, 'rufo_loaded', 0)) + call airline#extensions#rufo#init(s:ext) + call add(s:loaded_ext, 'rufo') + endif + +endfunction + +function! airline#extensions#get_loaded_extensions() + return s:loaded_ext +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/ale.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/ale.vim new file mode 100644 index 0000000..0948ae6 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/ale.vim @@ -0,0 +1,138 @@ +" MIT License. Copyright (c) 2013-2021 Bjorn Neergaard, w0rp et al. +" Plugin: https://github.com/dense-analysis/ale +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !get(g:, 'loaded_ale_dont_use_this_in_other_plugins_please', 0) + finish +endif + +function! s:airline_ale_count(cnt, symbol) + return a:cnt ? a:symbol. a:cnt : '' +endfunction + +function! s:legacy_airline_ale_get_line_number(cnt, type) abort + " Before ALE introduced the FirstProblem API function, this is how + " airline would get the line numbers: + " 1. Get the whole loclist; 2. Filter it for the desired problem type. + " 3. Return the line number of the first element in the filtered list. + if a:cnt == 0 + return '' + endif + + let buffer = bufnr('') + let problem_type = (a:type ==# 'error') ? 'E' : 'W' + let problems = copy(ale#engine#GetLoclist(buffer)) + + call filter(problems, 'v:val.bufnr is buffer && v:val.type is# problem_type') + + if empty(problems) + return '' + endif + + let open_lnum_symbol = get(g:, 'airline#extensions#ale#open_lnum_symbol', '(L') + let close_lnum_symbol = get(g:, 'airline#extensions#ale#close_lnum_symbol', ')') + + return open_lnum_symbol . problems[0].lnum . close_lnum_symbol +endfunction + +function! s:new_airline_ale_get_line_number(cnt, type) abort + " The FirstProblem call in ALE is a far more efficient way + " of obtaining line number data. If the installed ALE supports + " it, we should use this method of getting line data. + if a:cnt == 0 + return '' + endif + let l:buffer = bufnr('') + + " Try to get the first error from ALE. + let l:result = ale#statusline#FirstProblem(l:buffer, a:type) + if empty(l:result) + " If there are no errors then try and check for style errors. + let l:result = ale#statusline#FirstProblem(l:buffer, 'style_' . a:type) + endif + + if empty(l:result) + return '' + endif + + let l:open_lnum_symbol = + \ get(g:, 'airline#extensions#ale#open_lnum_symbol', '(L') + let l:close_lnum_symbol = + \ get(g:, 'airline#extensions#ale#close_lnum_symbol', ')') + + return open_lnum_symbol . l:result.lnum . close_lnum_symbol +endfunction + +function! s:airline_ale_get_line_number(cnt, type) abort + " Use the new ALE statusline API function if it is available. + if exists("*ale#statusline#FirstProblem") + return s:new_airline_ale_get_line_number(a:cnt, a:type) + endif + + return s:legacy_airline_ale_get_line_number(a:cnt, a:type) +endfunction + +function! airline#extensions#ale#get(type) + if !exists(':ALELint') + return '' + endif + + let error_symbol = get(g:, 'airline#extensions#ale#error_symbol', 'E:') + let warning_symbol = get(g:, 'airline#extensions#ale#warning_symbol', 'W:') + let checking_symbol = get(g:, 'airline#extensions#ale#checking_symbol', '...') + let show_line_numbers = get(g:, 'airline#extensions#ale#show_line_numbers', 1) + + let is_err = a:type ==# 'error' + + if ale#engine#IsCheckingBuffer(bufnr('')) == 1 + return is_err ? '' : checking_symbol + endif + + let symbol = is_err ? error_symbol : warning_symbol + + let counts = ale#statusline#Count(bufnr('')) + if type(counts) == type({}) && has_key(counts, 'error') + " Use the current Dictionary format. + let errors = counts.error + counts.style_error + let num = is_err ? errors : counts.total - errors + else + " Use the old List format. + let num = is_err ? counts[0] : counts[1] + endif + + if show_line_numbers == 1 + return s:airline_ale_count(num, symbol) . airline_ale_get_line_number(num, a:type) + else + return s:airline_ale_count(num, symbol) + endif +endfunction + +function! airline#extensions#ale#get_warning() + return airline#extensions#ale#get('warning') +endfunction + +function! airline#extensions#ale#get_error() + return airline#extensions#ale#get('error') +endfunction + +function! airline#extensions#ale#init(ext) + call airline#parts#define_function('ale_error_count', 'airline#extensions#ale#get_error') + call airline#parts#define_function('ale_warning_count', 'airline#extensions#ale#get_warning') + augroup airline_ale + autocmd! + autocmd CursorHold,BufWritePost * call ale_refresh() + autocmd User ALEJobStarted,ALELintPost call ale_refresh() + augroup END +endfunction + +function! s:ale_refresh() + if !exists('#airline') + " airline disabled + return + endif + if get(g:, 'airline_skip_empty_sections', 0) + exe ':AirlineRefresh!' + endif +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/battery.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/battery.vim new file mode 100644 index 0000000..baeb764 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/battery.vim @@ -0,0 +1,23 @@ +" MIT License. Copyright (c) 2014-2021 Mathias Andersson et al. +" Plugin: https://github.com/lambdalisue/battery.vim +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !exists('g:loaded_battery') + finish +endif + +function! airline#extensions#battery#status(...) abort + if !exists('g:battery#update_statusline') + let g:battery#update_statusline = 1 + call battery#update() + endif + + let bat = battery#component() + return bat +endfunction + +function! airline#extensions#battery#init(ext) abort + call airline#parts#define_function('battery', 'airline#extensions#battery#status') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/bookmark.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/bookmark.vim new file mode 100644 index 0000000..dde28f9 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/bookmark.vim @@ -0,0 +1,30 @@ +" MIT License. Copyright (c) 2021 Bjoern Petri +" Plugin: https://github.com/MattesGroeger/vim-bookmarks +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !exists(':BookmarkToggle') + finish +endif + +function! airline#extensions#bookmark#currentbookmark() abort + if get(w:, 'airline_active', 0) + let file = expand('%:p') + if file ==# '' + return + endif + + let current_line = line('.') + let has_bm = bm#has_bookmark_at_line(file, current_line) + let bm = has_bm ? bm#get_bookmark_by_line(file, current_line) : 0 + let annotation = has_bm ? bm['annotation'] : '' + + return annotation + endif + return '' +endfunction + +function! airline#extensions#bookmark#init(ext) abort + call airline#parts#define_function('bookmark', 'airline#extensions#bookmark#currentbookmark') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/branch.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/branch.vim new file mode 100644 index 0000000..fc0d5fa --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/branch.vim @@ -0,0 +1,366 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" Plugin: fugitive, gina, lawrencium and vcscommand +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +" s:vcs_config contains static configuration of VCSes and their status relative +" to the active file. +" 'branch' - The name of currently active branch. This field is empty iff it +" has not been initialized yet or the current file is not in +" an active branch. +" 'untracked' - Cache of untracked files represented as a dictionary with files +" as keys. A file has a not exists symbol set as its value if it +" is untracked. A file is present in this dictionary iff its +" status is considered up to date. +" 'untracked_mark' - used as regexp to test against the output of 'cmd' +let s:vcs_config = { +\ 'git': { +\ 'exe': 'git', +\ 'cmd': 'git status --porcelain -- ', +\ 'dirty': 'git status -uno --porcelain --ignore-submodules', +\ 'untracked_mark': '??', +\ 'exclude': '\.git', +\ 'update_branch': 's:update_git_branch', +\ 'display_branch': 's:display_git_branch', +\ 'branch': '', +\ 'untracked': {}, +\ }, +\ 'mercurial': { +\ 'exe': 'hg', +\ 'cmd': 'hg status -u -- ', +\ 'dirty': 'hg status -mard', +\ 'untracked_mark': '?', +\ 'exclude': '\.hg', +\ 'update_branch': 's:update_hg_branch', +\ 'display_branch': 's:display_hg_branch', +\ 'branch': '', +\ 'untracked': {}, +\ }, +\} + +" Initializes b:buffer_vcs_config. b:buffer_vcs_config caches the branch and +" untracked status of the file in the buffer. Caching those fields is necessary, +" because s:vcs_config may be updated asynchronously and s:vcs_config fields may +" be invalid during those updates. b:buffer_vcs_config fields are updated +" whenever corresponding fields in s:vcs_config are updated or an inconsistency +" is detected during update_* operation. +" +" b:airline_head caches the head string it is empty iff it needs to be +" recalculated. b:airline_head is recalculated based on b:buffer_vcs_config. +function! s:init_buffer() + let b:buffer_vcs_config = {} + for vcs in keys(s:vcs_config) + let b:buffer_vcs_config[vcs] = { + \ 'branch': '', + \ 'untracked': '', + \ 'dirty': 0, + \ } + endfor + unlet! b:airline_head +endfunction + +let s:head_format = get(g:, 'airline#extensions#branch#format', 0) +if s:head_format == 1 + function! s:format_name(name) + return fnamemodify(a:name, ':t') + endfunction +elseif s:head_format == 2 + function! s:format_name(name) + return pathshorten(a:name) + endfunction +elseif type(s:head_format) == type('') + function! s:format_name(name) + return call(s:head_format, [a:name]) + endfunction +else + function! s:format_name(name) + return a:name + endfunction +endif + + +" Fugitive special revisions. call '0' "staging" ? +let s:names = {'0': 'index', '1': 'orig', '2':'fetch', '3':'merge'} +let s:sha1size = get(g:, 'airline#extensions#branch#sha1_len', 7) + +function! s:update_git_branch() + call airline#util#ignore_next_focusgain() + if airline#util#has_fugitive() + call s:config_fugitive_branch() + elseif airline#util#has_gina() + call s:config_gina_branch() + else + let s:vcs_config['git'].branch = '' + return + endif +endfunction + +function! s:config_fugitive_branch() abort + let s:vcs_config['git'].branch = exists('*FugitiveHead') ? + \ FugitiveHead(s:sha1size) : fugitive#head(s:sha1size) + if s:vcs_config['git'].branch is# 'master' && + \ airline#util#winwidth() < 81 + " Shorten default a bit + let s:vcs_config['git'].branch='mas' + endif +endfunction + +function! s:config_gina_branch() abort + try + let g:gina#component#repo#commit_length = s:sha1size + let s:vcs_config['git'].branch = gina#component#repo#branch() + catch + endtry + if s:vcs_config['git'].branch is# 'master' && + \ airline#util#winwidth() < 81 + " Shorten default a bit + let s:vcs_config['git'].branch='mas' + endif +endfunction + +function! s:display_git_branch() + " disable FocusGained autocommand, might cause loops because system() causes + " a refresh, which causes a system() command again #2029 + call airline#util#ignore_next_focusgain() + let name = b:buffer_vcs_config['git'].branch + try + let commit = matchstr(FugitiveParse()[0], '^\x\+') + + if has_key(s:names, commit) + let name = get(s:names, commit)."(".name.")" + elseif !empty(commit) + let ref = fugitive#repo().git_chomp('describe', '--all', '--exact-match', commit) + if ref !~ "^fatal: no tag exactly matches" + let name = s:format_name(substitute(ref, '\v\C^%(heads/|remotes/|tags/)=','',''))."(".name.")" + else + let name = matchstr(commit, '.\{'.s:sha1size.'}')."(".name.")" + endif + endif + catch + endtry + return name +endfunction + +function! s:update_hg_branch() + if airline#util#has_lawrencium() + let cmd='LC_ALL=C hg qtop' + let stl=lawrencium#statusline() + let file=expand('%:p') + if !empty(stl) && get(b:, 'airline_do_mq_check', 1) + if g:airline#init#vim_async + noa call airline#async#get_mq_async(cmd, file) + elseif has("nvim") + noa call airline#async#nvim_get_mq_async(cmd, file) + else + " remove \n at the end of the command + let output=system(cmd)[0:-2] + noa call airline#async#mq_output(output, file) + endif + endif + " do not do mq check anymore + let b:airline_do_mq_check = 0 + if exists("b:mq") && !empty(b:mq) + if stl is# 'default' + " Shorten default a bit + let stl='def' + endif + let stl.=' ['.b:mq.']' + endif + let s:vcs_config['mercurial'].branch = stl + else + let s:vcs_config['mercurial'].branch = '' + endif +endfunction + +function! s:display_hg_branch() + return b:buffer_vcs_config['mercurial'].branch +endfunction + +function! s:update_branch() + for vcs in keys(s:vcs_config) + call {s:vcs_config[vcs].update_branch}() + if b:buffer_vcs_config[vcs].branch != s:vcs_config[vcs].branch + let b:buffer_vcs_config[vcs].branch = s:vcs_config[vcs].branch + unlet! b:airline_head + endif + endfor +endfunction + +function! airline#extensions#branch#update_untracked_config(file, vcs) + if !has_key(s:vcs_config[a:vcs].untracked, a:file) + return + elseif s:vcs_config[a:vcs].untracked[a:file] != b:buffer_vcs_config[a:vcs].untracked + let b:buffer_vcs_config[a:vcs].untracked = s:vcs_config[a:vcs].untracked[a:file] + unlet! b:airline_head + endif +endfunction + +function! s:update_untracked() + let file = expand("%:p") + if empty(file) || isdirectory(file) || !empty(&buftype) + return + endif + + let needs_update = 1 + let vcs_checks = get(g:, "airline#extensions#branch#vcs_checks", ["untracked", "dirty"]) + for vcs in keys(s:vcs_config) + if file =~ s:vcs_config[vcs].exclude + " Skip check for files that live in the exclude directory + let needs_update = 0 + endif + if has_key(s:vcs_config[vcs].untracked, file) + let needs_update = 0 + call airline#extensions#branch#update_untracked_config(file, vcs) + endif + endfor + + if !needs_update + return + endif + + for vcs in keys(s:vcs_config) + " only check, for git, if fugitive is installed + " and for 'hg' if lawrencium is installed, else skip + if vcs is# 'git' && (!airline#util#has_fugitive() && !airline#util#has_gina()) + continue + elseif vcs is# 'mercurial' && !airline#util#has_lawrencium() + continue + endif + let config = s:vcs_config[vcs] + " Note that asynchronous update updates s:vcs_config only, and only + " s:update_untracked updates b:buffer_vcs_config. If s:vcs_config is + " invalidated again before s:update_untracked is called, then we lose the + " result of the previous call, i.e. the head string is not updated. It + " doesn't happen often in practice, so we let it be. + if index(vcs_checks, 'untracked') > -1 + call airline#async#vcs_untracked(config, file, vcs) + endif + " Check clean state of repo + if index(vcs_checks, 'dirty') > -1 + call airline#async#vcs_clean(config.dirty, file, vcs) + endif + endfor +endfunction + +function! airline#extensions#branch#head() + if !exists('b:buffer_vcs_config') + call s:init_buffer() + endif + + call s:update_branch() + call s:update_untracked() + + if exists('b:airline_head') && !empty(b:airline_head) + return b:airline_head + endif + + let b:airline_head = '' + let vcs_priority = get(g:, "airline#extensions#branch#vcs_priority", ["git", "mercurial"]) + + let heads = [] + for vcs in vcs_priority + if !empty(b:buffer_vcs_config[vcs].branch) + let heads += [vcs] + endif + endfor + + for vcs in heads + if !empty(b:airline_head) + let b:airline_head .= ' | ' + endif + if len(heads) > 1 + let b:airline_head .= s:vcs_config[vcs].exe .':' + endif + let b:airline_head .= s:format_name({s:vcs_config[vcs].display_branch}()) + let additional = b:buffer_vcs_config[vcs].untracked + if empty(additional) && + \ has_key(b:buffer_vcs_config[vcs], 'dirty') && + \ b:buffer_vcs_config[vcs].dirty + let additional = g:airline_symbols['dirty'] + endif + let b:airline_head .= additional + endfor + + if empty(heads) + if airline#util#has_vcscommand() + noa call VCSCommandEnableBufferSetup() + if exists('b:VCSCommandBufferInfo') + let b:airline_head = s:format_name(get(b:VCSCommandBufferInfo, 0, '')) + endif + endif + endif + + if empty(heads) + if airline#util#has_custom_scm() + try + let Fn = function(g:airline#extensions#branch#custom_head) + let b:airline_head = Fn() + endtry + endif + endif + + if exists("g:airline#extensions#branch#displayed_head_limit") + let w:displayed_head_limit = g:airline#extensions#branch#displayed_head_limit + if strwidth(b:airline_head) > w:displayed_head_limit - 1 + let b:airline_head = + \ airline#util#strcharpart(b:airline_head, 0, w:displayed_head_limit - 1) + \ . (&encoding ==? 'utf-8' ? '…' : '.') + endif + endif + + return b:airline_head +endfunction + +function! airline#extensions#branch#get_head() + let head = airline#extensions#branch#head() + let winwidth = get(airline#parts#get('branch'), 'minwidth', 120) + let minwidth = empty(get(b:, 'airline_hunks', '')) ? 14 : 7 + let head = airline#util#shorten(head, winwidth, minwidth) + let symbol = get(g:, 'airline#extensions#branch#symbol', g:airline_symbols.branch) + return empty(head) + \ ? get(g:, 'airline#extensions#branch#empty_message', '') + \ : printf('%s%s', empty(symbol) ? '' : symbol.(g:airline_symbols.space), head) +endfunction + +function! s:reset_untracked_cache(shellcmdpost) + " shellcmdpost - whether function was called as a result of ShellCmdPost hook + if !exists('#airline') + " airline disabled + return + endif + if !g:airline#init#vim_async && !has('nvim') + if a:shellcmdpost + " Clear cache only if there was no error or the script uses an + " asynchronous interface. Otherwise, cache clearing would overwrite + " v:shell_error with a system() call inside get_*_untracked. + if v:shell_error + return + endif + endif + endif + + let file = expand("%:p") + for vcs in keys(s:vcs_config) + " Dump the value of the cache for the current file. Partially mitigates the + " issue of cache invalidation happening before a call to + " s:update_untracked() + call airline#extensions#branch#update_untracked_config(file, vcs) + let s:vcs_config[vcs].untracked = {} + endfor +endfunction + +function! s:sh_autocmd_handler() + if exists('#airline') + unlet! b:airline_head b:airline_do_mq_check + endif +endfunction + +function! airline#extensions#branch#init(ext) + call airline#parts#define_function('branch', 'airline#extensions#branch#get_head') + + autocmd ShellCmdPost,CmdwinLeave * call s:sh_autocmd_handler() + autocmd User AirlineBeforeRefresh call s:sh_autocmd_handler() + autocmd BufWritePost * call s:reset_untracked_cache(0) + autocmd ShellCmdPost * call s:reset_untracked_cache(1) +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/bufferline.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/bufferline.vim new file mode 100644 index 0000000..0840c90 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/bufferline.vim @@ -0,0 +1,28 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" Plugin: https://github.com/bling/vim-bufferline +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !exists('*bufferline#get_status_string') + finish +endif + +function! airline#extensions#bufferline#init(ext) + if get(g:, 'airline#extensions#bufferline#overwrite_variables', 1) + highlight bufferline_selected gui=bold cterm=bold term=bold + highlight link bufferline_selected_inactive airline_c_inactive + let g:bufferline_inactive_highlight = 'airline_c' + let g:bufferline_active_highlight = 'bufferline_selected' + let g:bufferline_active_buffer_left = '' + let g:bufferline_active_buffer_right = '' + let g:bufferline_separator = g:airline_symbols.space + endif + + if exists("+autochdir") && &autochdir == 1 + " if 'acd' is set, vim-airline uses the path section, so we need ot redefine this here as well + call airline#parts#define_raw('path', '%{bufferline#refresh_status()}'.bufferline#get_status_string()) + else + call airline#parts#define_raw('file', '%{bufferline#refresh_status()}'.bufferline#get_status_string()) + endif +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/capslock.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/capslock.vim new file mode 100644 index 0000000..4d6e453 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/capslock.vim @@ -0,0 +1,17 @@ +" MIT License. Copyright (c) 2014-2021 Mathias Andersson et al. +" Plugin: https://github.com/tpope/vim-capslock +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !exists('*CapsLockStatusline') + finish +endif + +function! airline#extensions#capslock#status() + return tolower(CapsLockStatusline()) ==# '[caps]' ? get(g:, 'airline#extensions#capslock#symbol', 'CAPS') : '' +endfunction + +function! airline#extensions#capslock#init(ext) + call airline#parts#define_function('capslock', 'airline#extensions#capslock#status') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/coc.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/coc.vim new file mode 100644 index 0000000..3841711 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/coc.vim @@ -0,0 +1,54 @@ +" MIT License. Copyright (c) 2019-2021 Peng Guanwen et al. +" vim: et ts=2 sts=2 sw=2 +" Plugin: https://github.com/neoclide/coc + +scriptencoding utf-8 + +let s:error_symbol = get(g:, 'airline#extensions#coc#error_symbol', 'E:') +let s:warning_symbol = get(g:, 'airline#extensions#coc#warning_symbol', 'W:') +let s:show_coc_status = get(g:, 'airline#extensions#coc#show_coc_status', 1) + +function! airline#extensions#coc#get_warning() abort + return airline#extensions#coc#get('warning') +endfunction + +function! airline#extensions#coc#get_error() abort + return airline#extensions#coc#get('error') +endfunction + +function! airline#extensions#coc#get(type) abort + if !exists(':CocCommand') + return '' + endif + let _backup = get(g:, 'coc_stl_format', '') + let is_err = (a:type is# 'error') + let info = get(b:, 'coc_diagnostic_info', {}) + if empty(info) | return '' | endif + + + let cnt = get(info, a:type, 0) + + if empty(cnt) + return '' + else + let lnum = printf('(L%d)', (info.lnums)[is_err ? 0 : 1]) + return (is_err ? s:error_symbol : s:warning_symbol).cnt.lnum + endif +endfunction + +function! airline#extensions#coc#get_status() abort + " Shorten text for windows < 91 characters + let status = airline#util#shorten(get(g:, 'coc_status', ''), 91, 9) + return (s:show_coc_status ? status : '') +endfunction + +function! airline#extensions#coc#get_current_function() abort + return get(b:, 'coc_current_function', '') +endfunction + +function! airline#extensions#coc#init(ext) abort + call airline#parts#define_function('coc_error_count', 'airline#extensions#coc#get_error') + call airline#parts#define_function('coc_warning_count', 'airline#extensions#coc#get_warning') + call airline#parts#define_function('coc_status', 'airline#extensions#coc#get_status') + call airline#parts#define_function('coc_current_function', 'airline#extensions#coc#get_current_function') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/commandt.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/commandt.vim new file mode 100644 index 0000000..1183bcf --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/commandt.vim @@ -0,0 +1,19 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" Plugin: https://github.com/wincent/command-t +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !get(g:, 'command_t_loaded', 0) + finish +endif + +function! airline#extensions#commandt#apply(...) + if bufname('%') ==# 'GoToFile' + call airline#extensions#apply_left_override('CommandT', '') + endif +endfunction + +function! airline#extensions#commandt#init(ext) + call a:ext.add_statusline_func('airline#extensions#commandt#apply') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/csv.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/csv.vim new file mode 100644 index 0000000..694bc8b --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/csv.vim @@ -0,0 +1,33 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling, Christian Brabandt et al. +" Plugin: https://github.com/chrisbra/csv.vim +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !get(g:, 'loaded_csv', 0) && !exists(':Table') + finish +endif + +let s:column_display = get(g:, 'airline#extensions#csv#column_display', 'Number') + +function! airline#extensions#csv#get_column() + if exists('*CSV_WCol') + if s:column_display ==# 'Name' + return '['.CSV_WCol('Name').CSV_WCol().']' + else + return '['.CSV_WCol().']' + endif + endif + return '' +endfunction + +function! airline#extensions#csv#apply(...) + if &ft ==# "csv" + call airline#extensions#prepend_to_section('gutter', + \ g:airline_left_alt_sep.' %{airline#extensions#csv#get_column()}') + endif +endfunction + +function! airline#extensions#csv#init(ext) + call a:ext.add_statusline_func('airline#extensions#csv#apply') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/ctrlp.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/ctrlp.vim new file mode 100644 index 0000000..136c348 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/ctrlp.vim @@ -0,0 +1,82 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" Plugin: https://github.com/ctrlpvim/ctrlp.vim +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !get(g:, 'loaded_ctrlp', 0) + finish +endif + +let s:color_template = get(g:, 'airline#extensions#ctrlp#color_template', 'insert') + +function! airline#extensions#ctrlp#generate_color_map(dark, light, white) + return { + \ 'CtrlPdark' : a:dark, + \ 'CtrlPlight' : a:light, + \ 'CtrlPwhite' : a:white, + \ 'CtrlParrow1' : [ a:light[1] , a:white[1] , a:light[3] , a:white[3] , '' ] , + \ 'CtrlParrow2' : [ a:white[1] , a:light[1] , a:white[3] , a:light[3] , '' ] , + \ 'CtrlParrow3' : [ a:light[1] , a:dark[1] , a:light[3] , a:dark[3] , '' ] , + \ } +endfunction + +function! airline#extensions#ctrlp#load_theme(palette) + if exists('a:palette.ctrlp') + let theme = a:palette.ctrlp + else + let s:color_template = has_key(a:palette, s:color_template) ? s:color_template : 'insert' + let theme = airline#extensions#ctrlp#generate_color_map( + \ a:palette[s:color_template]['airline_c'], + \ a:palette[s:color_template]['airline_b'], + \ a:palette[s:color_template]['airline_a']) + endif + for key in keys(theme) + call airline#highlighter#exec(key, theme[key]) + endfor +endfunction + +" Arguments: focus, byfname, regexp, prv, item, nxt, marked +function! airline#extensions#ctrlp#ctrlp_airline(...) + let b = airline#builder#new({'active': 1}) + if a:2 == 'file' + call b.add_section_spaced('CtrlPlight', 'by fname') + endif + if a:3 + call b.add_section_spaced('CtrlPlight', 'regex') + endif + if get(g:, 'airline#extensions#ctrlp#show_adjacent_modes', 1) + call b.add_section_spaced('CtrlPlight', a:4) + call b.add_section_spaced('CtrlPwhite', a:5) + call b.add_section_spaced('CtrlPlight', a:6) + else + call b.add_section_spaced('CtrlPwhite', a:5) + endif + call b.add_section_spaced('CtrlPdark', a:7) + call b.split() + call b.add_section_spaced('CtrlPdark', a:1) + call b.add_section_spaced('CtrlPdark', a:2) + call b.add_section_spaced('CtrlPlight', '%{getcwd()}') + return b.build() +endfunction + +" Argument: len +function! airline#extensions#ctrlp#ctrlp_airline_status(...) + let len = '%#CtrlPdark# '.a:1 + let dir = '%=%<%#CtrlParrow3#'.g:airline_right_sep.'%#CtrlPlight# '.getcwd().' %*' + return len.dir +endfunction + +function! airline#extensions#ctrlp#apply(...) + " disable statusline overwrite if ctrlp already did it + return match(&statusline, 'CtrlPwhite') >= 0 ? -1 : 0 +endfunction + +function! airline#extensions#ctrlp#init(ext) + let g:ctrlp_status_func = { + \ 'main': 'airline#extensions#ctrlp#ctrlp_airline', + \ 'prog': 'airline#extensions#ctrlp#ctrlp_airline_status', + \ } + call a:ext.add_statusline_func('airline#extensions#ctrlp#apply') + call a:ext.add_theme_func('airline#extensions#ctrlp#load_theme') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/ctrlspace.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/ctrlspace.vim new file mode 100644 index 0000000..54800e1 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/ctrlspace.vim @@ -0,0 +1,21 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" Plugin: https://github.com/szw/vim-ctrlspace +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +function! airline#extensions#ctrlspace#statusline(...) abort + let spc = g:airline_symbols.space + let l:padding = spc . spc . spc + let cs = ctrlspace#context#Configuration().Symbols.CS + + let b = airline#builder#new({ 'active': 1 }) + call b.add_section('airline_b', cs . l:padding . ctrlspace#api#StatuslineModeSegment(l:padding)) + call b.split() + call b.add_section('airline_x', spc . ctrlspace#api#StatuslineTabSegment() . spc) + return b.build() +endfunction + +function! airline#extensions#ctrlspace#init(ext) abort + let g:CtrlSpaceStatuslineFunction = "airline#extensions#ctrlspace#statusline()" +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/cursormode.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/cursormode.vim new file mode 100644 index 0000000..7b25799 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/cursormode.vim @@ -0,0 +1,126 @@ +" MIT Licsense. +" Plugin: https://github.com/vheon/vim-cursormode +" Copyright (C) 2014 Andrea Cedraro , +" Copyright (C) 2017 Eduardo Suarez-Santana + +scriptencoding utf-8 + +if exists('g:loaded_cursormode') + finish +endif + +let g:loaded_cursormode = 1 + +let s:is_win = has('win32') || has('win64') +let s:is_iTerm = exists('$TERM_PROGRAM') && $TERM_PROGRAM =~# 'iTerm.app' +let s:is_AppleTerminal = exists('$TERM_PROGRAM') && $TERM_PROGRAM =~# 'Apple_Terminal' + +let s:is_good = !has('gui_running') && !s:is_win && !s:is_AppleTerminal + +let s:last_mode = '' + +if !exists('g:cursormode_exit_mode') + let g:cursormode_exit_mode='n' +endif + +function! airline#extensions#cursormode#tmux_escape(escape) + return '\033Ptmux;'.substitute(a:escape, '\\033', '\\033\\033', 'g').'\033\\' +endfunction + +let s:iTerm_escape_template = '\033]Pl%s\033\\' +let s:xterm_escape_template = '\033]12;%s\007' + +function! s:get_mode() + return call(get(g:, 'cursormode_mode_func', 'mode'), []) +endfunction + +function! airline#extensions#cursormode#set(...) + let mode = s:get_mode() + if mode !=# s:last_mode + let s:last_mode = mode + call s:set_cursor_color_for(mode) + endif + return '' +endfunction + +function! s:set_cursor_color_for(mode) + let mode = a:mode + for mode in [a:mode, a:mode.&background] + if has_key(s:color_map, mode) + try + let save_eventignore = &eventignore + set eventignore=all + let save_shelltemp = &shelltemp + set noshelltemp + + silent call system(s:build_command(s:color_map[mode])) + return + finally + let &shelltemp = save_shelltemp + let &eventignore = save_eventignore + endtry + endif + endfor +endfunction + +function! s:build_command(color) + if s:is_iTerm + let color = substitute(a:color, '^#', '', '') + let escape_template = s:iTerm_escape_template + else + let color = a:color + let escape_template = s:xterm_escape_template + endif + + let escape = printf(escape_template, color) + if exists('$TMUX') + let escape = airline#extensions#cursormode#tmux_escape(escape) + endif + return "printf '".escape."' > /dev/tty" +endfunction + +function! s:get_color_map() + if exists('g:cursormode_color_map') + return g:cursormode_color_map + endif + + try + let map = g:cursormode#{g:colors_name}#color_map + return map + catch + return { + \ "nlight": "#000000", + \ "ndark": "#BBBBBB", + \ "i": "#0000BB", + \ "v": "#FF5555", + \ "V": "#BBBB00", + \ "\": "#BB00BB", + \ } + endtry +endfunction + +augroup airline#extensions#cursormode + autocmd! + autocmd VimLeave * nested call s:set_cursor_color_for(g:cursormode_exit_mode) + " autocmd VimEnter * call airline#extensions#cursormode#activate() + autocmd Colorscheme * call airline#extensions#cursormode#activate() +augroup END + +function! airline#extensions#cursormode#activate() + if !exists('#airline') + " airline disabled + return + endif + let s:color_map = s:get_color_map() + call airline#extensions#cursormode#set() +endfunction + +function! airline#extensions#cursormode#apply(...) + let w:airline_section_a = get(w:, 'airline_section_a', g:airline_section_a) + let w:airline_section_a .= '%{airline#extensions#cursormode#set()}' +endfunction + +function! airline#extensions#cursormode#init(ext) + let s:color_map = s:get_color_map() + call a:ext.add_statusline_func('airline#extensions#cursormode#apply') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/default.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/default.vim new file mode 100644 index 0000000..3c920a6 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/default.vim @@ -0,0 +1,97 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:section_use_groups = get(g:, 'airline#extensions#default#section_use_groupitems', 1) +let s:section_truncate_width = get(g:, 'airline#extensions#default#section_truncate_width', { + \ 'b': 79, + \ 'x': 60, + \ 'y': 88, + \ 'z': 45, + \ 'warning': 80, + \ 'error': 80, + \ }) +let s:layout = get(g:, 'airline#extensions#default#layout', [ + \ [ 'a', 'b', 'c' ], + \ [ 'x', 'y', 'z', 'warning', 'error' ] + \ ]) + +function! s:get_section(winnr, key, ...) + if has_key(s:section_truncate_width, a:key) + if airline#util#winwidth(a:winnr) < s:section_truncate_width[a:key] + return '' + endif + endif + let spc = g:airline_symbols.space + if !exists('g:airline_section_{a:key}') + return '' + endif + let text = airline#util#getwinvar(a:winnr, 'airline_section_'.a:key, g:airline_section_{a:key}) + let [prefix, suffix] = [get(a:000, 0, '%('.spc), get(a:000, 1, spc.'%)')] + return empty(text) ? '' : prefix.text.suffix +endfunction + +function! s:build_sections(builder, context, keys) + for key in a:keys + if (key == 'warning' || key == 'error') && !a:context.active + continue + endif + call s:add_section(a:builder, a:context, key) + endfor +endfunction + +" There still is a highlighting bug when using groups %(%) in the statusline, +" deactivate it, unless it is fixed (7.4.1511) +if s:section_use_groups && (v:version >= 704 || (v:version >= 703 && has('patch81'))) + function! s:add_section(builder, context, key) + let condition = (a:key is# "warning" || a:key is# "error") && + \ (v:version == 704 && !has("patch1511")) + " i have no idea why the warning section needs special treatment, but it's + " needed to prevent separators from showing up + if ((a:key == 'error' || a:key == 'warning') && empty(s:get_section(a:context.winnr, a:key))) + return + endif + if condition + call a:builder.add_raw('%(') + endif + call a:builder.add_section('airline_'.a:key, s:get_section(a:context.winnr, a:key)) + if condition + call a:builder.add_raw('%)') + endif + endfunction +else + " older version don't like the use of %(%) + function! s:add_section(builder, context, key) + if ((a:key == 'error' || a:key == 'warning') && empty(s:get_section(a:context.winnr, a:key))) + return + endif + if a:key == 'warning' + call a:builder.add_raw('%#airline_warning#'.s:get_section(a:context.winnr, a:key)) + elseif a:key == 'error' + call a:builder.add_raw('%#airline_error#'.s:get_section(a:context.winnr, a:key)) + else + call a:builder.add_section('airline_'.a:key, s:get_section(a:context.winnr, a:key)) + endif + endfunction +endif + +function! airline#extensions#default#apply(builder, context) abort + let winnr = a:context.winnr + let active = a:context.active + + if airline#util#getwinvar(winnr, 'airline_render_left', active || (!active && !g:airline_inactive_collapse)) + call s:build_sections(a:builder, a:context, s:layout[0]) + else + let text = !empty(s:get_section(winnr, 'c')) ? s:get_section(winnr, 'c') : ' %f%m ' + call a:builder.add_section('airline_c'.(a:context.bufnr), text) + endif + + call a:builder.split(s:get_section(winnr, 'gutter', '', '')) + + if airline#util#getwinvar(winnr, 'airline_render_right', 1) + call s:build_sections(a:builder, a:context, s:layout[1]) + endif + + return 1 +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/denite.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/denite.vim new file mode 100644 index 0000000..014709d --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/denite.vim @@ -0,0 +1,55 @@ +" MIT License. Copyright (c) 2017-2021 Thomas Dy et al. +" Plugin: https://github.com/Shougo/denite.nvim +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !get(g:, 'loaded_denite', 0) + finish +endif + +let s:denite_ver = (exists('*denite#get_status_mode') ? 2 : 3) +" Denite does not use vim's built-in modal editing but has a custom prompt +" that implements its own insert/normal mode so we have to handle changing the +" highlight +function! airline#extensions#denite#check_denite_mode(bufnr) abort + if &filetype !=# 'denite' && &filetype !=# 'denite-filter' + return '' + endif + + if s:denite_ver == 3 + let mode = split(denite#get_status("mode"), ' ') + else + let mode = split(denite#get_status_mode(), ' ') + endif + let mode = tolower(get(mode, 1, '')) + if !exists('b:denite_mode_cache') || mode != b:denite_mode_cache + call airline#highlighter#highlight([mode], a:bufnr) + let b:denite_mode_cache = mode + endif + return '' +endfunction + +function! airline#extensions#denite#apply(...) abort + if &filetype ==# 'denite' || &filetype ==# 'denite-filter' + let w:airline_skip_empty_sections = 0 + call a:1.add_section('airline_a', ' Denite %{airline#extensions#denite#check_denite_mode('.a:2['bufnr'].')}') + if s:denite_ver == 3 + call a:1.add_section('airline_c', ' %{denite#get_status("sources")}') + call a:1.split() + call a:1.add_section('airline_y', ' %{denite#get_status("path")} ') + call a:1.add_section('airline_z', ' %{denite#get_status("linenr")} ') + else + call a:1.add_section('airline_c', ' %{denite#get_status_sources()}') + call a:1.split() + call a:1.add_section('airline_y', ' %{denite#get_status_path()} ') + call a:1.add_section('airline_z', ' %{denite#get_status_linenr()} ') + endif + return 1 + endif +endfunction + +function! airline#extensions#denite#init(ext) abort + call denite#custom#option('_', 'statusline', 0) + call a:ext.add_statusline_func('airline#extensions#denite#apply') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/dirvish.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/dirvish.vim new file mode 100644 index 0000000..e1ef0c0 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/dirvish.vim @@ -0,0 +1,36 @@ +" MIT Licsense +" Plugin: https://github.com/justinmk/vim-dirvish +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !get(g:, 'loaded_dirvish', 0) + finish +endif + +let s:spc = g:airline_symbols.space + +function! airline#extensions#dirvish#init(ext) abort + call a:ext.add_statusline_func('airline#extensions#dirvish#apply') +endfunction + +function! airline#extensions#dirvish#apply(...) abort + if &filetype ==# 'dirvish' && exists('b:dirvish') + let w:airline_section_a = 'Dirvish' + + let w:airline_section_b = exists('*airline#extensions#branch#get_head') + \ ? '%{airline#extensions#branch#get_head()}' + \ : '' + + let w:airline_section_c = '%{b:dirvish._dir}' + + let w:airline_section_x = '' + let w:airline_section_y = '' + + let current_column_regex = ':%\dv' + let w:airline_section_z = join(filter( + \ split(get(w:, 'airline_section_z', g:airline_section_z)), + \ 'v:val !~ current_column_regex' + \ )) + endif +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/eclim.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/eclim.vim new file mode 100644 index 0000000..b1e0cde --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/eclim.vim @@ -0,0 +1,62 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" PLugin: https://eclim.org +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !exists(':ProjectCreate') + finish +endif + +function! airline#extensions#eclim#creat_line(...) + if &filetype == "tree" + let builder = a:1 + call builder.add_section('airline_a', ' Project ') + call builder.add_section('airline_b', ' %f ') + call builder.add_section('airline_c', '') + return 1 + endif +endfunction + +function! airline#extensions#eclim#get_warnings() + " Cache vavlues, so that it isn't called too often + if exists("s:eclim_errors") && + \ get(b:, 'airline_changenr', 0) == changenr() + return s:eclim_errors + endif + let eclimList = eclim#display#signs#GetExisting() + let s:eclim_errors = '' + + if !empty(eclimList) + " Remove any non-eclim signs (see eclim#display#signs#Update) + " First check for just errors since they are more important. + " If there are no errors, then check for warnings. + let errorList = filter(copy(eclimList), 'v:val.name =~ "^\\(qf_\\)\\?\\(error\\)$"') + + if (empty(errorList)) + " use the warnings + call filter(eclimList, 'v:val.name =~ "^\\(qf_\\)\\?\\(warning\\)$"') + let type = 'W' + else + " Use the errors + let eclimList = errorList + let type = 'E' + endif + + if !empty(eclimList) + let errorsLine = eclimList[0]['line'] + let errorsNumber = len(eclimList) + let errors = "[Eclim:" . type . " line:".string(errorsLine)." (".string(errorsNumber).")]" + if !exists(':SyntasticCheck') || SyntasticStatuslineFlag() == '' + let s:eclim_errors = errors.(g:airline_symbols.space) + endif + endif + endif + let b:airline_changenr = changenr() + return s:eclim_errors +endfunction + +function! airline#extensions#eclim#init(ext) + call airline#parts#define_function('eclim', 'airline#extensions#eclim#get_warnings') + call a:ext.add_statusline_func('airline#extensions#eclim#creat_line') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/example.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/example.vim new file mode 100644 index 0000000..80da7f8 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/example.vim @@ -0,0 +1,55 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +" we don't actually want this loaded :P +finish + +" Due to some potential rendering issues, the use of the `space` variable is +" recommended. +let s:spc = g:airline_symbols.space + +" Extension specific variables can be defined the usual fashion. +if !exists('g:airline#extensions#example#number_of_cats') + let g:airline#extensions#example#number_of_cats = 42 +endif + +" First we define an init function that will be invoked from extensions.vim +function! airline#extensions#example#init(ext) + + " Here we define a new part for the plugin. This allows users to place this + " extension in arbitrary locations. + call airline#parts#define_raw('cats', '%{airline#extensions#example#get_cats()}') + + " Next up we add a funcref so that we can run some code prior to the + " statusline getting modifed. + call a:ext.add_statusline_func('airline#extensions#example#apply') + + " You can also add a funcref for inactive statuslines. + " call a:ext.add_inactive_statusline_func('airline#extensions#example#unapply') +endfunction + +" This function will be invoked just prior to the statusline getting modified. +function! airline#extensions#example#apply(...) + " First we check for the filetype. + if &filetype == "nyancat" + + " Let's say we want to append to section_c, first we check if there's + " already a window-local override, and if not, create it off of the global + " section_c. + let w:airline_section_c = get(w:, 'airline_section_c', g:airline_section_c) + + " Then we just append this extenion to it, optionally using separators. + let w:airline_section_c .= s:spc.g:airline_left_alt_sep.s:spc.'%{airline#extensions#example#get_cats()}' + endif +endfunction + +" Finally, this function will be invoked from the statusline. +function! airline#extensions#example#get_cats() + let cats = '' + for i in range(1, g:airline#extensions#example#number_of_cats) + let cats .= ' (,,,)=(^.^)=(,,,) ' + endfor + return cats +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/fern.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/fern.vim new file mode 100644 index 0000000..ca13f43 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/fern.vim @@ -0,0 +1,36 @@ +" MIT License. Copyright (c) 2013-2021 +" Plugin: https://github.com/lambdalisue/fern.vim +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 +if !get(g:, 'fern_loaded', 0) + finish +endif + +function! airline#extensions#fern#apply(...) abort + if (&ft =~# 'fern') + let spc = g:airline_symbols.space + let fri = fern#fri#parse(expand('%f')) + + call a:1.add_section('airline_a', spc.'fern'.spc) + if exists('*airline#extensions#branch#get_head') + call a:1.add_section('airline_b', spc.'%{airline#extensions#branch#get_head()}'.spc) + else + call a:1.add_section('airline_b', '') + endif + if !(fri.authority =~# '^drawer') + let abspath = substitute(fri.path, 'file://', '', '') + call a:1.add_section('airline_c', spc.fnamemodify(abspath, ':~')) + call a:1.split() + if len(get(g:, 'fern#comparators', {})) + call a:1.add_section('airline_y', spc.'%{fern#comparator}'.spc) + endif + endif + return 1 + endif +endfunction + +function! airline#extensions#fern#init(ext) abort + let g:fern_force_overwrite_statusline = 0 + call a:ext.add_statusline_func('airline#extensions#fern#apply') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/fugitiveline.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/fugitiveline.vim new file mode 100644 index 0000000..11b9b21 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/fugitiveline.vim @@ -0,0 +1,69 @@ +" MIT License. Copyright (c) 2017-2021 Cimbali et al +" Plugin: https://github.com/tpope/vim-fugitive +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !airline#util#has_fugitive() + finish +endif + +function! s:ModifierFlags() + return (exists("+autochdir") && &autochdir) ? ':p' : ':.' +endfunction + +function! airline#extensions#fugitiveline#bufname() abort + if !exists('b:fugitive_name') + let b:fugitive_name = '' + try + if bufname('%') =~? '^fugitive:' && exists('*FugitiveReal') + let b:fugitive_name = FugitiveReal(bufname('%')) + elseif exists('b:git_dir') && exists('*fugitive#repo') + if get(b:, 'fugitive_type', '') is# 'blob' + let b:fugitive_name = fugitive#repo().translate(FugitivePath(@%, '')) + endif + elseif exists('b:git_dir') && !exists('*fugitive#repo') + let buffer = fugitive#buffer() + if buffer.type('blob') + let b:fugitive_name = buffer.repo().translate(buffer.path('/')) + endif + endif + catch + endtry + endif + + let fmod = s:ModifierFlags() + if empty(b:fugitive_name) + if empty(bufname('%')) + return &buftype ==# 'nofile' ? '[Scratch]' : '[No Name]' + endif + return fnamemodify(bufname('%'), fmod) + else + return fnamemodify(b:fugitive_name, fmod). " [git]" + endif +endfunction + +function! s:sh_autocmd_handler() + if exists('#airline') + unlet! b:fugitive_name + endif +endfunction + +function! airline#extensions#fugitiveline#init(ext) abort + if exists("+autochdir") && &autochdir + " if 'acd' is set, vim-airline uses the path section, so we need to redefine this here as well + if get(g:, 'airline_stl_path_style', 'default') ==# 'short' + call airline#parts#define_raw('path', '%<%{pathshorten(airline#extensions#fugitiveline#bufname())}%m') + else + call airline#parts#define_raw('path', '%<%{airline#extensions#fugitiveline#bufname()}%m') + endif + else + if get(g:, 'airline_stl_path_style', 'default') ==# 'short' + call airline#parts#define_raw('file', '%<%{pathshorten(airline#extensions#fugitiveline#bufname())}%m') + else + call airline#parts#define_raw('file', '%<%{airline#extensions#fugitiveline#bufname()}%m') + endif + endif + autocmd ShellCmdPost,CmdwinLeave * call s:sh_autocmd_handler() + autocmd User AirlineBeforeRefresh call s:sh_autocmd_handler() +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/fzf.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/fzf.vim new file mode 100644 index 0000000..760a1cc --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/fzf.vim @@ -0,0 +1,44 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" Plugin: https://github.com/junegunn/fzf, https://github.com/junegunn/fzf.vim +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +function! airline#extensions#fzf#init(ext) abort + " Remove the custom statusline that fzf.vim sets by removing its `FileType + " fzf` autocmd. Ideally we'd use `let g:fzf_statusline = 0`, but this + " variable is checked *before* airline#extensions#init() is called. + augroup _fzf_statusline + autocmd! + augroup END + + call a:ext.add_statusline_func('airline#extensions#fzf#apply') + call a:ext.add_inactive_statusline_func('airline#extensions#fzf#inactive_apply') +endfunction + +function! airline#extensions#fzf#statusline(...) abort + let spc = g:airline_symbols.space + + let builder = airline#builder#new({ 'active': 1 }) + call builder.add_section('airline_a', spc.'FZF'.spc) + call builder.add_section('airline_c', '') + return builder.build() +endfunction + +function! airline#extensions#fzf#apply(...) abort + if &filetype ==# 'fzf' + let spc = g:airline_symbols.space + call a:1.add_section('airline_a', spc.'FZF'.spc) + call a:1.add_section('airline_c', '') + return 1 + endif +endfunction + +function! airline#extensions#fzf#inactive_apply(...) abort + if getbufvar(a:2.bufnr, '&filetype') ==# 'fzf' + let spc = g:airline_symbols.space + call a:1.add_section('airline_a', spc.'FZF'.spc) + call a:1.add_section('airline_c', '') + return 1 + endif +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/gen_tags.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/gen_tags.vim new file mode 100644 index 0000000..ff788bc --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/gen_tags.vim @@ -0,0 +1,19 @@ +" MIT License. Copyright (c) 2014-2021 Mathias Andersson et al. +" Written by Kamil Cukrowski 2020 +" Plugin: https://github.com/jsfaint/gen_tags.vim +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !(get(g:, 'loaded_gentags#gtags', 0) || get(g:, 'loaded_gentags#ctags', 0)) + finish +endif + +function! airline#extensions#gen_tags#status(...) abort + return gen_tags#job#is_running() != 0 ? 'Gen. gen_tags' : '' +endfunction + +function! airline#extensions#gen_tags#init(ext) abort + call airline#parts#define_function('gen_tags', 'airline#extensions#gen_tags#status') +endfunction + diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/gina.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/gina.vim new file mode 100644 index 0000000..58a636a --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/gina.vim @@ -0,0 +1,28 @@ +" MIT License. Copyright (c) 2013-2021 +" Plugin: https://github.com/lambdalisue/gina.vim +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 +if !get(g:, 'loaded_gina', 0) + finish +endif + +function! airline#extensions#gina#apply(...) abort + " gina.vim seems to set b:gina_initialized = 1 in diff buffers it open, + " where get(b:, 'gina_initialized', 0) returns 1. + " In diff buffers not opened by gina.vim b:gina_initialized is not set, + " so get(b:, 'gina_initialized', 0) returns 0. + if (&ft =~# 'gina' && &ft !~# 'blame') || (&ft ==# 'diff' && get(b:, 'gina_initialized', 0)) + call a:1.add_section('airline_a', ' gina ') + call a:1.add_section('airline_b', ' %{gina#component#repo#branch()} ') + call a:1.split() + call a:1.add_section('airline_y', ' staged %{gina#component#status#staged()} ') + call a:1.add_section('airline_z', ' unstaged %{gina#component#status#unstaged()} ') + return 1 + endif +endfunction + +function! airline#extensions#gina#init(ext) abort + let g:gina_force_overwrite_statusline = 0 + call a:ext.add_statusline_func('airline#extensions#gina#apply') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/grepper.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/grepper.vim new file mode 100644 index 0000000..2f1d4b3 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/grepper.vim @@ -0,0 +1,18 @@ +" MIT License. Copyright (c) 2014-2021 Mathias Andersson et al. +" Plugin: https://github.com/mhinz/vim-grepper +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !get(g:, 'loaded_grepper', 0) + finish +endif + +function! airline#extensions#grepper#status() + let msg = grepper#statusline() + return empty(msg) ? '' : 'grepper' +endfunction + +function! airline#extensions#grepper#init(ext) + call airline#parts#define_function('grepper', 'airline#extensions#grepper#status') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/gutentags.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/gutentags.vim new file mode 100644 index 0000000..a2a78c7 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/gutentags.vim @@ -0,0 +1,18 @@ +" MIT License. Copyright (c) 2014-2021 Mathias Andersson et al. +" Plugin: https://github.com/ludovicchabant/vim-gutentags +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !get(g:, 'loaded_gutentags', 0) + finish +endif + +function! airline#extensions#gutentags#status() + let msg = gutentags#statusline() + return empty(msg) ? '' : 'Gen. ' . msg +endfunction + +function! airline#extensions#gutentags#init(ext) + call airline#parts#define_function('gutentags', 'airline#extensions#gutentags#status') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/hunks.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/hunks.vim new file mode 100644 index 0000000..4439da4 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/hunks.vim @@ -0,0 +1,127 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" Plugin: vim-gitgutter, vim-signify, changesPlugin, quickfixsigns, coc-git +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !get(g:, 'loaded_signify', 0) + \ && !get(g:, 'loaded_gitgutter', 0) + \ && !get(g:, 'loaded_changes', 0) + \ && !get(g:, 'loaded_quickfixsigns', 0) + \ && !exists("*CocAction") + finish +endif + +let s:non_zero_only = get(g:, 'airline#extensions#hunks#non_zero_only', 0) +let s:hunk_symbols = get(g:, 'airline#extensions#hunks#hunk_symbols', ['+', '~', '-']) + +function! s:coc_git_enabled() abort + if !exists("*CocAction") || + \ !get(g:, 'airline#extensions#hunks#coc_git', 0) + " coc-git extension is disabled by default + " unless specifically being enabled by the user + " (as requested from coc maintainer) + return 0 + endif + return 1 +endfunction + +function! s:get_hunks_signify() abort + let hunks = sy#repo#get_stats() + if hunks[0] >= 0 + return hunks + endif + return [] +endfunction + +function! s:get_hunks_coc() abort + let hunks = get(b:, 'coc_git_status', '') + if empty(hunks) + return [] + endif + let result = [0, 0, 0] + for val in split(hunks) + if val[0] is# '+' + let result[0] = val[1:] + 0 + elseif val[0] is# '~' + let result[1] = val[1:] + 0 + elseif val[0] is# '-' + let result[2] = val[1:] + 0 + endif + endfor + return result +endfunction + +function! s:get_hunks_gitgutter() abort + let hunks = GitGutterGetHunkSummary() + return hunks == [0, 0, 0] ? [] : hunks +endfunction + +function! s:get_hunks_changes() abort + let hunks = changes#GetStats() + return hunks == [0, 0, 0] ? [] : hunks +endfunction + +function! s:get_hunks_empty() abort + return '' +endfunction + +function! airline#extensions#hunks#get_raw_hunks() abort + if !exists('b:source_func') || get(b:, 'source_func', '') is# 's:get_hunks_empty' + if get(g:, 'loaded_signify') && sy#buffer_is_active() + let b:source_func = 's:get_hunks_signify' + elseif exists('*GitGutterGetHunkSummary') + let b:source_func = 's:get_hunks_gitgutter' + elseif exists('*changes#GetStats') + let b:source_func = 's:get_hunks_changes' + elseif exists('*quickfixsigns#vcsdiff#GetHunkSummary') + let b:source_func = 'quickfixsigns#vcsdiff#GetHunkSummary' + elseif s:coc_git_enabled() + let b:source_func = 's:get_hunks_coc' + else + let b:source_func = 's:get_hunks_empty' + endif + endif + return {b:source_func}() +endfunction + +function! airline#extensions#hunks#get_hunks() abort + if !get(w:, 'airline_active', 0) + return '' + endif + " Cache values, so that it isn't called too often + if exists("b:airline_hunks") && + \ get(b:, 'airline_changenr', 0) == b:changedtick && + \ airline#util#winwidth() == get(s:, 'airline_winwidth', 0) && + \ get(b:, 'source_func', '') isnot# 's:get_hunks_signify' && + \ get(b:, 'source_func', '') isnot# 's:get_hunks_gitgutter' && + \ get(b:, 'source_func', '') isnot# 's:get_hunks_empty' && + \ get(b:, 'source_func', '') isnot# 's:get_hunks_changes' && + \ get(b:, 'source_func', '') isnot# 's:get_hunks_coc' + return b:airline_hunks + endif + let hunks = airline#extensions#hunks#get_raw_hunks() + let string = '' + let winwidth = get(airline#parts#get('hunks'), 'minwidth', 100) + if !empty(hunks) + " hunks should contain [added, changed, deleted] + for i in [0, 1, 2] + if (s:non_zero_only == 0 && airline#util#winwidth() > winwidth) || hunks[i] > 0 + let string .= printf('%s%s ', s:hunk_symbols[i], hunks[i]) + endif + endfor + endif + if index(airline#extensions#get_loaded_extensions(), 'branch') == -1 && string[-1:] == ' ' + " branch extension not loaded, skip trailing whitespace + let string = string[0:-2] + endif + + let b:airline_hunks = string + let b:airline_changenr = b:changedtick + let s:airline_winwidth = airline#util#winwidth() + return string +endfunction + +function! airline#extensions#hunks#init(ext) abort + call airline#parts#define_function('hunks', 'airline#extensions#hunks#get_hunks') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/keymap.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/keymap.vim new file mode 100644 index 0000000..c37584a --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/keymap.vim @@ -0,0 +1,31 @@ +" MIT License. Copyright (c) 2013-2021 Doron Behar, C.Brabandt et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !has('keymap') + finish +endif + +function! airline#extensions#keymap#status() + if (get(g:, 'airline#extensions#keymap#enabled', 1) && has('keymap')) + let short_codes = get(g:, 'airline#extensions#keymap#short_codes', {}) + let label = get(g:, 'airline#extensions#keymap#label', g:airline_symbols.keymap) + let default = get(g:, 'airline#extensions#keymap#default', '') + if (label !=# '') + let label .= ' ' + endif + let keymap = &keymap + if has_key(short_codes, keymap) + let keymap = short_codes[keymap] + endif + return printf('%s', (!empty(keymap) && &iminsert ? (label . keymap) : + \ (!empty(default) ? label . default : default))) + else + return '' + endif +endfunction + +function! airline#extensions#keymap#init(ext) + call airline#parts#define_function('keymap', 'airline#extensions#keymap#status') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/languageclient.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/languageclient.vim new file mode 100644 index 0000000..c6c13f3 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/languageclient.vim @@ -0,0 +1,113 @@ +" MIT License. Copyright (c) 2013-2021 Bjorn Neergaard, hallettj et al. +" Plugin: https://github.com/autozimu/LanguageClient-neovim +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:error_symbol = get(g:, 'airline#extensions#languageclient#error_symbol', 'E:') +let s:warning_symbol = get(g:, 'airline#extensions#languageclient#warning_symbol', 'W:') +let s:show_line_numbers = get(g:, 'airline#extensions#languageclient#show_line_numbers', 1) + +" Severity codes from the LSP spec +let s:severity_error = 1 +let s:severity_warning = 2 +let s:severity_info = 3 +let s:severity_hint = 4 + +" After each LanguageClient state change `s:diagnostics` will be populated with +" a map from file names to lists of errors, warnings, informational messages, +" and hints. +let s:diagnostics = {} + +function! s:languageclient_refresh() + if get(g:, 'airline_skip_empty_sections', 0) + exe ':AirlineRefresh!' + endif +endfunction + +function! s:record_diagnostics(state) + " The returned message might not have the 'result' key + if has_key(a:state, 'result') + let result = json_decode(a:state.result) + let s:diagnostics = result.diagnostics + endif + call s:languageclient_refresh() +endfunction + +function! s:get_diagnostics() + if !exists('#airline') + " airline disabled + return + endif + call LanguageClient#getState(function("s:record_diagnostics")) +endfunction + +function! s:diagnostics_for_buffer() + return get(s:diagnostics, expand('%:p'), []) +endfunction + +function! s:airline_languageclient_count(cnt, symbol) + return a:cnt ? a:symbol. a:cnt : '' +endfunction + +function! s:airline_languageclient_get_line_number(type) abort + let linenumber_of_first_problem = 0 + for d in s:diagnostics_for_buffer() + if has_key(d, 'severity') && d.severity == a:type + let linenumber_of_first_problem = d.range.start.line + break + endif + endfor + + if linenumber_of_first_problem == 0 + return '' + endif + + let open_lnum_symbol = get(g:, 'airline#extensions#languageclient#open_lnum_symbol', '(L') + let close_lnum_symbol = get(g:, 'airline#extensions#languageclient#close_lnum_symbol', ')') + + return open_lnum_symbol . linenumber_of_first_problem . close_lnum_symbol +endfunction + +function! airline#extensions#languageclient#get(type) + if get(b:, 'LanguageClient_isServerRunning', 0) ==# 0 + return '' + endif + + let is_err = a:type == s:severity_error + let symbol = is_err ? s:error_symbol : s:warning_symbol + + let cnt = 0 + for d in s:diagnostics_for_buffer() + if has_key(d, 'severity') && d.severity == a:type + let cnt += 1 + endif + endfor + + if cnt == 0 + return '' + endif + + if s:show_line_numbers == 1 + return s:airline_languageclient_count(cnt, symbol) . airline_languageclient_get_line_number(a:type) + else + return s:airline_languageclient_count(cnt, symbol) + endif +endfunction + +function! airline#extensions#languageclient#get_warning() + return airline#extensions#languageclient#get(s:severity_warning) +endfunction + +function! airline#extensions#languageclient#get_error() + return airline#extensions#languageclient#get(s:severity_error) +endfunction + +function! airline#extensions#languageclient#init(ext) + call airline#parts#define_function('languageclient_error_count', 'airline#extensions#languageclient#get_error') + call airline#parts#define_function('languageclient_warning_count', 'airline#extensions#languageclient#get_warning') + augroup airline_languageclient + autocmd! + autocmd User LanguageClientDiagnosticsChanged call get_diagnostics() + augroup END +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/localsearch.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/localsearch.vim new file mode 100644 index 0000000..d20b7da --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/localsearch.vim @@ -0,0 +1,41 @@ +" MIT License. Copyright (c) 2018-2021 mox et al. +" Plugin: https://github.com/mox-mox/vim-localsearch +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:enabled = get(g:, 'airline#extensions#localsearch#enabled', 1) +if !get(g:, 'loaded_localsearch', 0) || !s:enabled || get(g:, 'airline#extensions#localsearch#loaded', 0) + finish +endif +let g:airline#extensions#localsearch#loaded = 001 + +let s:spc = g:airline_symbols.space + +let g:airline#extensions#localsearch#inverted = get(g:, 'airline#extensions#localsearch#inverted', 0) + +function! airline#extensions#localsearch#load_theme(palette) abort + call airline#highlighter#exec('localsearch_dark', [ '#ffffff' , '#000000' , 15 , 1 , '']) +endfunction + + +function! airline#extensions#localsearch#init(ext) abort + call a:ext.add_theme_func('airline#extensions#localsearch#load_theme') + call a:ext.add_statusline_func('airline#extensions#localsearch#apply') +endfunction + + +function! airline#extensions#localsearch#apply(...) abort + " first variable is the statusline builder + let builder = a:1 + + """"" WARNING: the API for the builder is not finalized and may change + if exists('#localsearch#WinEnter') && !g:airline#extensions#localsearch#inverted " If localsearch mode is enabled and 'invert' option is false + call builder.add_section('localsearch_dark', s:spc.airline#section#create('LS').s:spc) + endif + if !exists('#localsearch#WinEnter') && g:airline#extensions#localsearch#inverted " If localsearch mode is disabled and 'invert' option is true + call builder.add_section('localsearch_dark', s:spc.airline#section#create('GS').s:spc) + endif + return 0 +endfunction + diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/lsp.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/lsp.vim new file mode 100644 index 0000000..f275ddb --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/lsp.vim @@ -0,0 +1,111 @@ +" MIT License. Copyright (c) 2013-2021 François-Xavier Carton et al. +" Plugin: https://github.com/prabirshrestha/vim-lsp +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !get(g:, 'lsp_loaded', 0) + finish +endif + +function! s:airline_lsp_count(cnt, symbol) abort + return a:cnt ? a:symbol. a:cnt : '' +endfunction + +function! s:airline_lsp_get_line_number(cnt, type) abort + let result = '' + + if a:type ==# 'error' + let result = lsp#get_buffer_first_error_line() + endif + + if empty(result) + return '' + endif + + let open_lnum_symbol = + \ get(g:, 'airline#extensions#lsp#open_lnum_symbol', '(L') + let close_lnum_symbol = + \ get(g:, 'airline#extensions#lsp#close_lnum_symbol', ')') + + return open_lnum_symbol . result . close_lnum_symbol +endfunction + +function! airline#extensions#lsp#get(type) abort + if !exists(':LspDeclaration') + return '' + endif + + let error_symbol = get(g:, 'airline#extensions#lsp#error_symbol', 'E:') + let warning_symbol = get(g:, 'airline#extensions#lsp#warning_symbol', 'W:') + let show_line_numbers = get(g:, 'airline#extensions#lsp#show_line_numbers', 1) + + let is_err = a:type ==# 'error' + + let symbol = is_err ? error_symbol : warning_symbol + + let num = lsp#get_buffer_diagnostics_counts()[a:type] + + if show_line_numbers == 1 + return s:airline_lsp_count(num, symbol) . airline_lsp_get_line_number(num, a:type) + else + return s:airline_lsp_count(num, symbol) + endif +endfunction + +function! airline#extensions#lsp#get_warning() abort + return airline#extensions#lsp#get('warning') +endfunction + +function! airline#extensions#lsp#get_error() abort + return airline#extensions#lsp#get('error') +endfunction + +let s:lsp_progress = [] +function! airline#extensions#lsp#progress() abort + if get(w:, 'airline_active', 0) + if exists('*lsp#get_progress') + let s:lsp_progress = lsp#get_progress() + + if len(s:lsp_progress) == 0 | return '' | endif + + " show only most new progress + let s:lsp_progress = s:lsp_progress[0] + if s:lsp_progress['message'] !=# '' + let percent = '' + if has_key(s:lsp_progress, 'percentage') && s:lsp_progress['percentage'] >= 0 + let percent = ' ' . string(s:lsp_progress['percentage']) . '%' + endif + let s:title = s:lsp_progress['title'] + let message = airline#util#shorten(s:lsp_progress['message'] . percent, 91, 9) + return s:lsp_progress['server'] . ': ' . s:title . ' ' . message + endif + endif + endif + return '' +endfunction + +let s:timer = 0 +let s:ignore_time = 0 +function! airline#extensions#lsp#update() abort + if !exists('#airline') + " airline disabled + return + endif + if reltimefloat(reltime()) - s:ignore_time >= + \ get(g:, 'airline#extensions#lsp#progress_skip_time', 0.3) + \ || len(s:lsp_progress) == 0 + call airline#update_statusline() + let s:ignore_time = reltimefloat(reltime()) + endif +endfunction + +function! airline#extensions#lsp#init(ext) abort + call airline#parts#define_function('lsp_error_count', 'airline#extensions#lsp#get_error') + call airline#parts#define_function('lsp_warning_count', 'airline#extensions#lsp#get_warning') + call airline#parts#define_function('lsp_progress', 'airline#extensions#lsp#progress') + augroup airline_lsp_progress + autocmd! + autocmd User lsp_progress_updated call airline#extensions#lsp#update() + augroup END +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/neomake.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/neomake.vim new file mode 100644 index 0000000..cf9125f --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/neomake.vim @@ -0,0 +1,37 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" Plugin: https://github.com/neomake/neomake +" vim: et ts=2 sts=2 sw=2 + +if !exists(':Neomake') + finish +endif + +let s:error_symbol = get(g:, 'airline#extensions#neomake#error_symbol', 'E:') +let s:warning_symbol = get(g:, 'airline#extensions#neomake#warning_symbol', 'W:') + +function! s:get_counts() + let l:counts = neomake#statusline#LoclistCounts() + + if empty(l:counts) + return neomake#statusline#QflistCounts() + else + return l:counts + endif +endfunction + +function! airline#extensions#neomake#get_warnings() + let counts = s:get_counts() + let warnings = get(counts, 'W', 0) + return warnings ? s:warning_symbol.warnings : '' +endfunction + +function! airline#extensions#neomake#get_errors() + let counts = s:get_counts() + let errors = get(counts, 'E', 0) + return errors ? s:error_symbol.errors : '' +endfunction + +function! airline#extensions#neomake#init(ext) + call airline#parts#define_function('neomake_warning_count', 'airline#extensions#neomake#get_warnings') + call airline#parts#define_function('neomake_error_count', 'airline#extensions#neomake#get_errors') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/netrw.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/netrw.vim new file mode 100644 index 0000000..830cb88 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/netrw.vim @@ -0,0 +1,35 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" Plugin: http://www.drchip.org/astronaut/vim/#NETRW +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !exists(':NetrwSettings') + finish +endif + +function! airline#extensions#netrw#apply(...) + if &ft == 'netrw' + let spc = g:airline_symbols.space + + call a:1.add_section('airline_a', spc.'netrw'.spc) + if exists('*airline#extensions#branch#get_head') + call a:1.add_section('airline_b', spc.'%{airline#extensions#branch#get_head()}'.spc) + endif + call a:1.add_section('airline_c', spc.'%f'.spc) + call a:1.split() + call a:1.add_section('airline_y', spc.'%{airline#extensions#netrw#sortstring()}'.spc) + return 1 + endif +endfunction + +function! airline#extensions#netrw#init(ext) + let g:netrw_force_overwrite_statusline = 0 + call a:ext.add_statusline_func('airline#extensions#netrw#apply') +endfunction + + +function! airline#extensions#netrw#sortstring() + let order = (get(g:, 'netrw_sort_direction', 'n') =~ 'n') ? '+' : '-' + return get(g:, 'netrw_sort_by', '') . (g:airline_symbols.space) . '[' . order . ']' +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/nrrwrgn.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/nrrwrgn.vim new file mode 100644 index 0000000..45d1a6e --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/nrrwrgn.vim @@ -0,0 +1,58 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling, Christian Brabandt et al. +" Plugin: https://github.com/chrisbra/NrrwRgn +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !get(g:, 'loaded_nrrw_rgn', 0) + finish +endif + +function! airline#extensions#nrrwrgn#apply(...) + if exists(":WidenRegion") == 2 + let spc = g:airline_symbols.space + if !exists("*nrrwrgn#NrrwRgnStatus()") || empty(nrrwrgn#NrrwRgnStatus()) + call a:1.add_section('airline_a', printf('%s[Narrowed%s#%d]', spc, spc, b:nrrw_instn)) + let bufname=(get(b:, 'orig_buf', 0) ? bufname(b:orig_buf) : substitute(bufname('%'), '^Nrrwrgn_\zs.*\ze_\d\+$', submatch(0), '')) + call a:1.add_section('airline_c', spc.bufname.spc) + call a:1.split() + else + let dict=nrrwrgn#NrrwRgnStatus() + let vmode = { 'v': 'Char ', 'V': 'Line ', '': 'Block '} + let mode = dict.visual ? vmode[dict.visual] : vmode['V'] + let winwidth = airline#util#winwidth() + if winwidth < 80 + let mode = mode[0] + endif + let title = (winwidth < 80 ? "Nrrw" : "Narrowed ") + let multi = (winwidth < 80 ? 'M' : 'Multi') + call a:1.add_section('airline_a', printf('[%s%s%s#%d]%s', (dict.multi ? multi : ""), + \ title, mode, b:nrrw_instn, spc)) + let name = dict.fullname + if name !=# '[No Name]' + if winwidth > 100 + " need some space + let name = fnamemodify(dict.fullname, ':~') + if strlen(name) > 8 + " shorten name + let name = substitute(name, '\(.\)[^/\\]*\([/\\]\)', '\1\2', 'g') + endif + else + let name = fnamemodify(dict.fullname, ':t') + endif + endif + let range=(dict.multi ? '' : printf("[%d-%d]", dict.start[1], dict.end[1])) + call a:1.add_section('airline_c', printf("%s %s %s", name, range, + \ dict.enabled ? (&encoding ==? 'utf-8' ? "\u2713" : '') : '!')) + call a:1.split() + call a:1.add_section('airline_x', get(g:, 'airline_section_x').spc) + call a:1.add_section('airline_y', spc.get(g:, 'airline_section_y').spc) + call a:1.add_section('airline_z', spc.get(g:, 'airline_section_z')) + endif + return 1 + endif +endfunction + +function! airline#extensions#nrrwrgn#init(ext) + call a:ext.add_statusline_func('airline#extensions#nrrwrgn#apply') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/nvimlsp.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/nvimlsp.vim new file mode 100644 index 0000000..c4aa328 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/nvimlsp.vim @@ -0,0 +1,49 @@ +" Apache 2.0 license. Copyright (c) 2019-2021 Copyright Neovim contributors. +" Plugin: https://github.com/neovim/nvim-lsp +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !(get(g:, 'airline#extensions#nvimlsp#enabled', 1) + \ && has('nvim') + \ && luaeval('vim.lsp ~= nil')) + finish +endif + +function! s:airline_nvimlsp_count(cnt, symbol) abort + return a:cnt ? a:symbol. a:cnt : '' +endfunction + +function! airline#extensions#nvimlsp#get(type) abort + if luaeval('vim.tbl_isempty(vim.lsp.buf_get_clients(0))') + return '' + endif + + let error_symbol = get(g:, 'airline#extensions#nvimlsp#error_symbol', 'E:') + let warning_symbol = get(g:, 'airline#extensions#nvimlsp#warning_symbol', 'W:') + + let is_err = a:type ==# 'Error' + + let symbol = is_err ? error_symbol : warning_symbol + + if luaeval("pcall(require, 'vim.lsp.diagnostic')") + let num = v:lua.vim.lsp.diagnostic.get_count(0, a:type) + else + let num = v:lua.vim.lsp.util.buf_diagnostics_count(a:type) + endif + + return s:airline_nvimlsp_count(num, symbol) +endfunction + +function! airline#extensions#nvimlsp#get_warning() abort + return airline#extensions#nvimlsp#get('Warning') +endfunction + +function! airline#extensions#nvimlsp#get_error() abort + return airline#extensions#nvimlsp#get('Error') +endfunction + +function! airline#extensions#nvimlsp#init(ext) abort + call airline#parts#define_function('nvimlsp_error_count', 'airline#extensions#nvimlsp#get_error') + call airline#parts#define_function('nvimlsp_warning_count', 'airline#extensions#nvimlsp#get_warning') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/obsession.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/obsession.vim new file mode 100644 index 0000000..9b22952 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/obsession.vim @@ -0,0 +1,23 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" Plugin: https://github.com/tpope/vim-obsession +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !exists('*ObsessionStatus') + finish +endif + +let s:spc = g:airline_symbols.space + +if !exists('g:airline#extensions#obsession#indicator_text') + let g:airline#extensions#obsession#indicator_text = '$' +endif + +function! airline#extensions#obsession#init(ext) + call airline#parts#define_function('obsession', 'airline#extensions#obsession#get_status') +endfunction + +function! airline#extensions#obsession#get_status() + return ObsessionStatus((g:airline#extensions#obsession#indicator_text . s:spc), '') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/omnisharp.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/omnisharp.vim new file mode 100644 index 0000000..92a4acb --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/omnisharp.vim @@ -0,0 +1,45 @@ +" MIT License +" Plugin: https://github.com/OmniSharp/omnisharp-vim +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !get(g:, 'OmniSharp_loaded', 0) + finish +endif + +function! airline#extensions#omnisharp#server_status(...) abort + if !exists(':OmniSharpGotoDefinition') || !get(g:, 'OmniSharp_server_stdio', 0) + return '' + endif + + let host = OmniSharp#GetHost(bufnr('%')) + if type(host.job) != v:t_dict || get(host.job, 'stopped') + return '' + endif + + let sln = fnamemodify(host.sln_or_dir, ':t') + + if get(host.job, 'loaded', 0) + return sln + endif + + try + let projectsloaded = OmniSharp#project#CountLoaded() + let projectstotal = OmniSharp#project#CountTotal() + catch + " The CountLoaded and CountTotal functions are very new - catch the error + " when they don't exist + let projectsloaded = 0 + let projectstotal = 0 + endtry + return printf('%s(%d/%d)', sln, projectsloaded, projectstotal) +endfunction + +function! airline#extensions#omnisharp#init(ext) abort + call airline#parts#define_function('omnisharp', 'airline#extensions#omnisharp#server_status') + augroup airline_omnisharp + autocmd! + autocmd User OmniSharpStarted,OmniSharpReady,OmniSharpStopped AirlineRefresh! + augroup END +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/po.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/po.vim new file mode 100644 index 0000000..4fc18d8 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/po.vim @@ -0,0 +1,105 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling, Christian Brabandt et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +function! airline#extensions#po#shorten() + " Format and shorte the output of msgfmt + let b:airline_po_stats = substitute(get(b:, 'airline_po_stats', ''), ' \(message\|translation\)s*\.*', '', 'g') + let b:airline_po_stats = substitute(b:airline_po_stats, ', ', '/', 'g') + if exists("g:airline#extensions#po#displayed_limit") + let w:displayed_po_limit = g:airline#extensions#po#displayed_limit + if len(b:airline_po_stats) > w:displayed_po_limit - 1 + let b:airline_po_stats = b:airline_po_stats[0:(w:displayed_po_limit - 2)].(&encoding==?'utf-8' ? '…' : '.') + endif + endif + if strlen(get(b:, 'airline_po_stats', '')) >= 30 && airline#util#winwidth() < 150 + let fuzzy = '' + let untranslated = '' + let messages = '' + " Shorten [120 translated, 50 fuzzy, 4 untranslated] to [120T/50F/4U] + if b:airline_po_stats =~ 'fuzzy' + let fuzzy = substitute(b:airline_po_stats, '.\{-}\(\d\+\) fuzzy.*', '\1F', '') + if fuzzy == '0F' + let fuzzy = '' + endif + endif + if b:airline_po_stats =~ 'untranslated' + let untranslated = substitute(b:airline_po_stats, '.\{-}\(\d\+\) untranslated.*', '\1U', '') + if untranslated == '0U' + let untranslated = '' + endif + endif + let messages = substitute(b:airline_po_stats, '\(\d\+\) translated.*', '\1T', '') + if messages ==# '0T' + let messages = '' + endif + let b:airline_po_stats = printf('%s%s%s', fuzzy, (empty(fuzzy) || empty(untranslated) ? '' : '/'), untranslated) + if strlen(b:airline_po_stats) < 10 + let b:airline_po_stats = messages. (!empty(b:airline_po_stats) && !empty(messages) ? '/':''). b:airline_po_stats + endif + endif + let b:airline_po_stats = '['.b:airline_po_stats. '] ' +endfunction + +function! airline#extensions#po#on_winenter() + if !exists('#airline') + " airline disabled + return + endif + " only reset cache, if the window size changed + if get(b:, 'airline_winwidth', 0) != airline#util#winwidth() + let b:airline_winwidth = airline#util#winwidth() + " needs re-formatting + unlet! b:airline_po_stats + endif +endfunction + +function! s:autocmd_handler() + if exists('#airline') + unlet! b:airline_po_stats + endif +endfunction + +function! airline#extensions#po#apply(...) + if &ft ==# 'po' + call airline#extensions#prepend_to_section('z', '%{airline#extensions#po#stats()}') + " Also reset the cache variable, if a window has been split, e.g. the winwidth changed + autocmd airline BufWritePost * call s:autocmd_handler() + autocmd airline WinEnter * call airline#extensions#po#on_winenter() + endif +endfunction + +function! airline#extensions#po#stats() + if exists('b:airline_po_stats') && !empty(b:airline_po_stats) + return b:airline_po_stats + endif + + " Write stdout to null because we only want to see warnings. + if g:airline#init#is_windows + let cmd = 'msgfmt --statistics -o /NUL ' + else + let cmd = 'msgfmt --statistics -o /dev/null -- ' + endif + if g:airline#init#vim_async + call airline#async#get_msgfmt_stat(cmd, expand('%:p')) + elseif has("nvim") + call airline#async#nvim_get_msgfmt_stat(cmd, expand('%:p')) + else + let airline_po_stats = system(cmd. shellescape(expand('%:p'))) + if v:shell_error + return '' + endif + try + let b:airline_po_stats = split(airline_po_stats, '\n')[0] + catch + let b:airline_po_stats = '' + endtry + call airline#extensions#po#shorten() + endif + return get(b:, 'airline_po_stats', '') +endfunction + +function! airline#extensions#po#init(ext) + call a:ext.add_statusline_func('airline#extensions#po#apply') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/poetv.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/poetv.vim new file mode 100644 index 0000000..3e7c77f --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/poetv.vim @@ -0,0 +1,32 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" Plugin: https://github.com/petobens/poet_v +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:spc = g:airline_symbols.space + +function! airline#extensions#poetv#init(ext) + call a:ext.add_statusline_func('airline#extensions#poetv#apply') +endfunction + +function! airline#extensions#poetv#apply(...) + if &filetype =~# 'python' + if get(g:, 'poetv_loaded', 0) + let statusline = poetv#statusline() + else + let statusline = fnamemodify($VIRTUAL_ENV, ':t') + endif + if !empty(statusline) + call airline#extensions#append_to_section('x', + \ s:spc.g:airline_right_alt_sep.s:spc.statusline) + endif + endif +endfunction + +function! airline#extensions#poetv#update() + if &filetype =~# 'python' + call airline#extensions#poetv#apply() + call airline#update_statusline() + endif +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/promptline.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/promptline.vim new file mode 100644 index 0000000..547bdd1 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/promptline.vim @@ -0,0 +1,36 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" Plugin: https://github.com/edkolev/promptline.vim +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !exists(':PromptlineSnapshot') + finish +endif + +if !exists('airline#extensions#promptline#snapshot_file') || !len('airline#extensions#promptline#snapshot_file') + finish +endif + +let s:prompt_snapshot_file = get(g:, 'airline#extensions#promptline#snapshot_file', '') +let s:color_template = get(g:, 'airline#extensions#promptline#color_template', 'normal') + +function! airline#extensions#promptline#init(ext) + call a:ext.add_theme_func('airline#extensions#promptline#set_prompt_colors') +endfunction + +function! airline#extensions#promptline#set_prompt_colors(palette) + let color_template = has_key(a:palette, s:color_template) ? s:color_template : 'normal' + let mode_palette = a:palette[color_template] + + if !has_key(g:, 'promptline_symbols') + let g:promptline_symbols = { + \ 'left' : g:airline_left_sep, + \ 'right' : g:airline_right_sep, + \ 'left_alt' : g:airline_left_alt_sep, + \ 'right_alt' : g:airline_right_alt_sep} + endif + + let promptline_theme = promptline#api#create_theme_from_airline(mode_palette) + call promptline#api#create_snapshot_with_theme(s:prompt_snapshot_file, promptline_theme) +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/quickfix.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/quickfix.vim new file mode 100644 index 0000000..5f62042 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/quickfix.vim @@ -0,0 +1,58 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !exists('g:airline#extensions#quickfix#quickfix_text') + let g:airline#extensions#quickfix#quickfix_text = 'Quickfix' +endif + +if !exists('g:airline#extensions#quickfix#location_text') + let g:airline#extensions#quickfix#location_text = 'Location' +endif + +function! airline#extensions#quickfix#apply(...) + if &buftype == 'quickfix' + let w:airline_section_a = airline#extensions#quickfix#get_type() + let w:airline_section_b = '%{get(w:, "quickfix_title", "")}' + let w:airline_section_c = '' + let w:airline_section_x = '' + endif +endfunction + +function! airline#extensions#quickfix#init(ext) + call a:ext.add_statusline_func('airline#extensions#quickfix#apply') + call a:ext.add_inactive_statusline_func('airline#extensions#quickfix#inactive_qf_window') +endfunction + +function! airline#extensions#quickfix#inactive_qf_window(...) + if getbufvar(a:2.bufnr, '&filetype') is# 'qf' && !empty(airline#util#getwinvar(a:2.winnr, 'quickfix_title', '')) + call setwinvar(a:2.winnr, 'airline_section_c', '[%{get(w:, "quickfix_title", "")}] %f %m') + endif +endfunction + +function! airline#extensions#quickfix#get_type() + if exists("*win_getid") && exists("*getwininfo") + let dict = getwininfo(win_getid()) + if len(dict) > 0 && get(dict[0], 'quickfix', 0) && !get(dict[0], 'loclist', 0) + return g:airline#extensions#quickfix#quickfix_text + elseif len(dict) > 0 && get(dict[0], 'quickfix', 0) && get(dict[0], 'loclist', 0) + return g:airline#extensions#quickfix#location_text + endif + endif + redir => buffers + silent ls + redir END + + let nr = bufnr('%') + for buf in split(buffers, '\n') + if match(buf, '\v^\s*'.nr) > -1 + if match(buf, '\cQuickfix') > -1 + return g:airline#extensions#quickfix#quickfix_text + else + return g:airline#extensions#quickfix#location_text + endif + endif + endfor + return '' +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/rufo.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/rufo.vim new file mode 100644 index 0000000..b8558f3 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/rufo.vim @@ -0,0 +1,38 @@ +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !exists('g:rufo_loaded') + finish +endif + +let s:spc = g:airline_symbols.space + +if !exists('g:airline#extensions#rufo#symbol') + let g:airline#extensions#rufo#symbol = 'RuFo' +endif + +function! airline#extensions#rufo#init(ext) + call airline#parts#define_raw('rufo', '%{airline#extensions#rufo#get_status}') + call a:ext.add_statusline_func('airline#extensions#rufo#apply') +endfunction + +function! airline#extensions#rufo#get_status() + let out = '' + if &ft == "ruby" && g:rufo_auto_formatting == 1 + let out .= s:spc.g:airline_left_alt_sep.s:spc.g:airline#extensions#rufo#symbol + endif + return out +endfunction + +" This function will be invoked just prior to the statusline getting modified. +function! airline#extensions#rufo#apply(...) + " First we check for the filetype. + if &filetype == "ruby" + " section_z. + let w:airline_section_z = get(w:, 'airline_section_z', g:airline_section_z) + + " Then we just append this extenion to it, optionally using separators. + let w:airline_section_z .= '%{airline#extensions#rufo#get_status()}' + endif +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/scrollbar.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/scrollbar.vim new file mode 100644 index 0000000..ff84ff7 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/scrollbar.vim @@ -0,0 +1,36 @@ +" MIT License. Copyright (c) 2013-2021 +" vim: et ts=2 sts=2 sw=2 et + +scriptencoding utf-8 + +function! airline#extensions#scrollbar#calculate() abort + if winwidth(0) > 200 && get(w:, 'airline_active', 0) + let overwrite = 0 + if &encoding ==? 'utf-8' && !get(g:, 'airline_symbols_ascii', 0) + let [left, right, middle] = [ '|', '|', '█'] + let overwrite = 1 + else + let [left, right, middle] = [ '[', ']', '-'] + endif + let spc = get(g:, 'airline_symbols.space', ' ') + let width = 20 " max width, plus one border and indicator + let perc = (line('.') + 0.0) / (line('$') + 0.0) + let before = float2nr(round(perc * width)) + if before >= 0 && line('.') == 1 + let before = 0 + let left = (overwrite ? '' : left) + endif + let after = width - before + if (after <= 1 && line('.') == line('$')) + let after = 0 + let right = (overwrite ? '' : right) + endif + return left . repeat(spc, before) . middle . repeat(spc, after) . right + else + return '' + endif +endfunction + +function! airline#extensions#scrollbar#init(ext) abort + call airline#parts#define_function('scrollbar', 'airline#extensions#scrollbar#calculate') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/searchcount.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/searchcount.vim new file mode 100644 index 0000000..c28a319 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/searchcount.vim @@ -0,0 +1,50 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" This extension is inspired by vim-anzu . +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !exists('*searchcount') + finish +endif + +function! airline#extensions#searchcount#init(ext) abort + call a:ext.add_statusline_func('airline#extensions#searchcount#apply') +endfunction + +function! airline#extensions#searchcount#apply(...) abort + call airline#extensions#append_to_section('y', + \ '%{v:hlsearch ? airline#extensions#searchcount#status() : ""}') +endfunction + +function! s:search_term() + " shorten for all width smaller than 300 (this is just a guess) + " this uses a non-breaking space, because it looks like + " a leading space is stripped :/ + return "\ua0" . '/' . airline#util#shorten(getreg('/'), 300, 8) +endfunction + +function! airline#extensions#searchcount#status() abort + try + let result = searchcount(#{recompute: 1, maxcount: -1}) + if empty(result) || result.total ==# 0 + return '' + endif + if result.incomplete ==# 1 " timed out + return printf('%s [?/??]', s:search_term()) + elseif result.incomplete ==# 2 " max count exceeded + if result.total > result.maxcount && + \ result.current > result.maxcount + return printf('%s[>%d/>%d]', s:search_term(), + \ result.current, result.total) + elseif result.total > result.maxcount + return printf('%s[%d/>%d]', s:search_term(), + \ result.current, result.total) + endif + endif + return printf('%s[%d/%d]', s:search_term(), + \ result.current, result.total) + catch + return '' + endtry +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/syntastic.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/syntastic.vim new file mode 100644 index 0000000..831e07e --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/syntastic.vim @@ -0,0 +1,44 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" Plugin: https://github.com/vim-syntastic/syntastic +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !exists(':SyntasticCheck') + finish +endif + +let s:error_symbol = get(g:, 'airline#extensions#syntastic#error_symbol', 'E:') +let s:warning_symbol = get(g:, 'airline#extensions#syntastic#warning_symbol', 'W:') + +function! airline#extensions#syntastic#get_warning() + return airline#extensions#syntastic#get('warning') +endfunction + +function! airline#extensions#syntastic#get_error() + return airline#extensions#syntastic#get('error') +endfunction + +function! airline#extensions#syntastic#get(type) + let _backup = get(g:, 'syntastic_stl_format', '') + let is_err = (a:type is# 'error') + if is_err + let g:syntastic_stl_format = get(g:, 'airline#extensions#syntastic#stl_format_err', '%E{[%fe(#%e)]}') + else + let g:syntastic_stl_format = get(g:, 'airline#extensions#syntastic#stl_format_warn', '%W{[%fw(#%w)]}') + endif + let cnt = SyntasticStatuslineFlag() + if !empty(_backup) + let g:syntastic_stl_format = _backup + endif + if empty(cnt) + return '' + else + return (is_err ? s:error_symbol : s:warning_symbol).cnt + endif +endfunction + +function! airline#extensions#syntastic#init(ext) + call airline#parts#define_function('syntastic-warn', 'airline#extensions#syntastic#get_warning') + call airline#parts#define_function('syntastic-err', 'airline#extensions#syntastic#get_error') +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline.vim new file mode 100644 index 0000000..64bd48c --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline.vim @@ -0,0 +1,480 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 et + +scriptencoding utf-8 + +let s:taboo = get(g:, 'airline#extensions#taboo#enabled', 1) && get(g:, 'loaded_taboo', 0) +if s:taboo + let g:taboo_tabline = 0 +endif + +let s:ctrlspace = get(g:, 'CtrlSpaceLoaded', 0) +let s:tabws = get(g:, 'tabws_loaded', 0) +let s:current_tabcnt = -1 + +" Dictionary functions are not possible in Vim9 Script, +" so use the legacy Vim Script implementation + +function! airline#extensions#tabline#init(ext) + if has('gui_running') && match(&guioptions, 'e') > -1 + set guioptions-=e + endif + + autocmd User AirlineToggledOn call s:toggle_on() + autocmd User AirlineToggledOff call s:toggle_off() + + call s:toggle_on() + call a:ext.add_theme_func('airline#extensions#tabline#load_theme') +endfunction + +function! airline#extensions#tabline#add_label(dict, type, right) + if get(g:, 'airline#extensions#tabline#show_tab_type', 1) + call a:dict.add_section_spaced('airline_tablabel'. (a:right ? '_right' : ''), + \ get(g:, 'airline#extensions#tabline#'.a:type.'_label', a:type)) + endif +endfunction + +function! airline#extensions#tabline#add_tab_label(dict) + let show_tab_count = get(g:, 'airline#extensions#tabline#show_tab_count', 1) + if show_tab_count == 2 + call a:dict.add_section_spaced('airline_tabmod', printf('%s %d/%d', "tab", tabpagenr(), tabpagenr('$'))) + elseif show_tab_count == 1 && tabpagenr('$') > 1 + call a:dict.add_section_spaced('airline_tabmod', printf('%s %d/%d', "tab", tabpagenr(), tabpagenr('$'))) + endif +endfunction + + +if !exists(":def") || !airline#util#has_vim9_script() + + " Legacy Vim Script Implementation + + function! s:toggle_off() + call airline#extensions#tabline#autoshow#off() + call airline#extensions#tabline#tabs#off() + call airline#extensions#tabline#buffers#off() + if s:ctrlspace + call airline#extensions#tabline#ctrlspace#off() + endif + if s:tabws + call airline#extensions#tabline#tabws#off() + endif + endfunction + + function! s:toggle_on() + if get(g:, 'airline_statusline_ontop', 0) + call airline#extensions#tabline#enable() + let &tabline='%!airline#statusline('.winnr().')' + return + endif + call airline#extensions#tabline#autoshow#on() + call airline#extensions#tabline#tabs#on() + call airline#extensions#tabline#buffers#on() + if s:ctrlspace + call airline#extensions#tabline#ctrlspace#on() + endif + if s:tabws + call airline#extensions#tabline#tabws#on() + endif + + set tabline=%!airline#extensions#tabline#get() + endfunction + + function! airline#extensions#tabline#load_theme(palette) + if pumvisible() + return + endif + let colors = get(a:palette, 'tabline', {}) + let tablabel = get(colors, 'airline_tablabel', a:palette.normal.airline_b) + " Theme for tabs on the left + let tab = get(colors, 'airline_tab', a:palette.inactive.airline_c) + let tabsel = get(colors, 'airline_tabsel', a:palette.normal.airline_a) + let tabtype = get(colors, 'airline_tabtype', a:palette.visual.airline_a) + let tabfill = get(colors, 'airline_tabfill', a:palette.normal.airline_c) + let tabmod = get(colors, 'airline_tabmod', a:palette.insert.airline_a) + let tabhid = get(colors, 'airline_tabhid', a:palette.normal.airline_c) + if has_key(a:palette, 'normal_modified') && has_key(a:palette.normal_modified, 'airline_c') + let tabmodu = get(colors, 'airline_tabmod_unsel', a:palette.normal_modified.airline_c) + let tabmodu_right = get(colors, 'airline_tabmod_unsel_right', a:palette.normal_modified.airline_c) + else + "Fall back to normal airline_c if modified airline_c isn't present + let tabmodu = get(colors, 'airline_tabmod_unsel', a:palette.normal.airline_c) + let tabmodu_right = get(colors, 'airline_tabmod_unsel_right', a:palette.normal.airline_c) + endif + call airline#highlighter#exec('airline_tablabel', tablabel) + call airline#highlighter#exec('airline_tab', tab) + call airline#highlighter#exec('airline_tabsel', tabsel) + call airline#highlighter#exec('airline_tabtype', tabtype) + call airline#highlighter#exec('airline_tabfill', tabfill) + call airline#highlighter#exec('airline_tabmod', tabmod) + call airline#highlighter#exec('airline_tabmod_unsel', tabmodu) + call airline#highlighter#exec('airline_tabhid', tabhid) + + " Theme for tabs on the right + " label on the right + let tablabel_r = get(colors, 'airline_tablabel', a:palette.normal.airline_b) + let tabsel_right = get(colors, 'airline_tabsel_right', a:palette.normal.airline_a) + let tab_right = get(colors, 'airline_tab_right', a:palette.inactive.airline_c) + let tabmod_right = get(colors, 'airline_tabmod_right', a:palette.insert.airline_a) + let tabhid_right = get(colors, 'airline_tabhid_right', a:palette.normal.airline_c) + call airline#highlighter#exec('airline_tablabel_right', tablabel_r) + call airline#highlighter#exec('airline_tab_right', tab_right) + call airline#highlighter#exec('airline_tabsel_right', tabsel_right) + call airline#highlighter#exec('airline_tabmod_right', tabmod_right) + call airline#highlighter#exec('airline_tabhid_right', tabhid_right) + call airline#highlighter#exec('airline_tabmod_unsel_right', tabmodu_right) + endfunction + + function! s:update_tabline(forceit) + if get(g:, 'airline#extensions#tabline#disable_refresh', 0) + return + endif + " loading a session file + " On SessionLoadPost, g:SessionLoad variable is still set :/ + if !a:forceit && get(g:, 'SessionLoad', 0) + return + endif + let match = expand('') + if pumvisible() + return + elseif !get(g:, 'airline#extensions#tabline#enabled', 0) + return + " return, if buffer matches ignore pattern or is directory (netrw) + elseif empty(match) || airline#util#ignore_buf(match) || isdirectory(match) + return + endif + call airline#util#doautocmd('BufMRUChange') + call airline#extensions#tabline#redraw() + endfunction + + function! airline#extensions#tabline#redraw() + " sometimes, the tabline is not correctly updated see #1580 + " so force redraw here + if exists(":redrawtabline") == 2 + redrawtabline + else + " Have to set a property equal to itself to get airline to re-eval. + " Setting `let &tabline=&tabline` destroys the cursor position so we + " need something less invasive. + let &ro = &ro + endif + endfunction + + function! airline#extensions#tabline#enable() + if &lines > 3 + set showtabline=2 + endif + endfunction + + + function! airline#extensions#tabline#get() + let show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1) + let show_tabs = get(g:, 'airline#extensions#tabline#show_tabs', 1) + + let curtabcnt = tabpagenr('$') + if curtabcnt != s:current_tabcnt + let s:current_tabcnt = curtabcnt + call airline#extensions#tabline#tabs#invalidate() + call airline#extensions#tabline#buffers#invalidate() + call airline#extensions#tabline#ctrlspace#invalidate() + call airline#extensions#tabline#tabws#invalidate() + endif + + if !exists('#airline#BufAdd#*') + autocmd airline BufAdd * call update_tabline(0) + endif + if !exists('#airline#SessionLoadPost') + autocmd airline SessionLoadPost * call update_tabline(1) + endif + if s:ctrlspace + return airline#extensions#tabline#ctrlspace#get() + elseif s:tabws + return airline#extensions#tabline#tabws#get() + elseif show_buffers && curtabcnt == 1 || !show_tabs + return airline#extensions#tabline#buffers#get() + else + return airline#extensions#tabline#tabs#get() + endif + endfunction + + function! airline#extensions#tabline#title(n) + let title = '' + if s:taboo + let title = TabooTabTitle(a:n) + endif + + if empty(title) && exists('*gettabvar') + let title = gettabvar(a:n, 'title') + endif + + let formatter = get(g:, 'airline#extensions#tabline#tabtitle_formatter') + if empty(title) && formatter !=# '' && exists("*".formatter) + let title = call(formatter, [a:n]) + endif + + if empty(title) + let buflist = tabpagebuflist(a:n) + let winnr = tabpagewinnr(a:n) + let all_buffers = airline#extensions#tabline#buflist#list() + let curbuf = filter(buflist, 'index(all_buffers, v:val) != -1') + if len(curbuf) == 0 + call add(curbuf, tabpagebuflist()[0]) + endif + return airline#extensions#tabline#get_buffer_name(curbuf[0], curbuf) + endif + + return title + endfunction + + function! airline#extensions#tabline#get_buffer_name(nr, ...) + let buffers = a:0 ? a:1 : airline#extensions#tabline#buflist#list() + let formatter = get(g:, 'airline#extensions#tabline#formatter', 'default') + return airline#extensions#tabline#formatters#{formatter}#format(a:nr, buffers) + endfunction + + function! airline#extensions#tabline#new_builder() + let builder_context = { + \ 'active' : 1, + \ 'tabline' : 1, + \ 'right_sep' : get(g:, 'airline#extensions#tabline#right_sep' , g:airline_right_sep), + \ 'right_alt_sep' : get(g:, 'airline#extensions#tabline#right_alt_sep', g:airline_right_alt_sep), + \ } + if get(g:, 'airline_powerline_fonts', 0) + let builder_context.left_sep = get(g:, 'airline#extensions#tabline#left_sep' , g:airline_left_sep) + let builder_context.left_alt_sep = get(g:, 'airline#extensions#tabline#left_alt_sep' , g:airline_left_alt_sep) + else + let builder_context.left_sep = get(g:, 'airline#extensions#tabline#left_sep' , ' ') + let builder_context.left_alt_sep = get(g:, 'airline#extensions#tabline#left_alt_sep' , '|') + endif + + return airline#extensions#tabline#builder#new(builder_context) + endfunction + + function! airline#extensions#tabline#group_of_bufnr(tab_bufs, bufnr) + let cur = bufnr('%') + if cur == a:bufnr + if g:airline_detect_modified && getbufvar(a:bufnr, '&modified') + let group = 'airline_tabmod' + else + let group = 'airline_tabsel' + endif + else + if g:airline_detect_modified && getbufvar(a:bufnr, '&modified') + let group = 'airline_tabmod_unsel' + elseif index(a:tab_bufs, a:bufnr) > -1 + let group = 'airline_tab' + else + let group = 'airline_tabhid' + endif + endif + return group + endfunction + finish +else + def s:toggle_off(): void + airline#extensions#tabline#autoshow#off() + airline#extensions#tabline#tabs#off() + airline#extensions#tabline#buffers#off() + if s:ctrlspace + airline#extensions#tabline#ctrlspace#off() + endif + if s:tabws + airline#extensions#tabline#tabws#off() + endif + enddef + + def s:toggle_on(): void + if get(g:, 'airline_statusline_ontop', 0) + airline#extensions#tabline#enable() + &tabline = '%!airline#statusline(' .. winnr() .. ')' + return + endif + airline#extensions#tabline#autoshow#on() + airline#extensions#tabline#tabs#on() + airline#extensions#tabline#buffers#on() + if s:ctrlspace + airline#extensions#tabline#ctrlspace#on() + endif + if s:tabws + airline#extensions#tabline#tabws#on() + endif + &tabline = '%!airline#extensions#tabline#get()' + enddef + + def airline#extensions#tabline#load_theme(palette: dict): number + # Needs to return a number, because it is implicitly used as extern_funcref + # And funcrefs should return a value (see airline#util#exec_funcrefs()) + if pumvisible() + return 0 + endif + var colors = get(palette, 'tabline', {}) + var tablabel = get(colors, 'airline_tablabel', palette.normal.airline_b) + # Theme for tabs on the left + var tab = get(colors, 'airline_tab', palette.inactive.airline_c) + var tabsel = get(colors, 'airline_tabsel', palette.normal.airline_a) + var tabtype = get(colors, 'airline_tabtype', palette.visual.airline_a) + var tabfill = get(colors, 'airline_tabfill', palette.normal.airline_c) + var tabmod = get(colors, 'airline_tabmod', palette.insert.airline_a) + var tabhid = get(colors, 'airline_tabhid', palette.normal.airline_c) + var tabmodu = tabhid + var tabmodu_right = tabhid + if has_key(palette, 'normal_modified') && has_key(palette.normal_modified, 'airline_c') + tabmodu = get(colors, 'airline_tabmod_unsel', palette.normal_modified.airline_c) + tabmodu_right = get(colors, 'airline_tabmod_unsel_right', palette.normal_modified.airline_c) + else + # Fall back to normal airline_c if modified airline_c isn't present + tabmodu = get(colors, 'airline_tabmod_unsel', palette.normal.airline_c) + tabmodu_right = get(colors, 'airline_tabmod_unsel_right', palette.normal.airline_c) + endif + airline#highlighter#exec('airline_tablabel', tablabel) + airline#highlighter#exec('airline_tab', tab) + airline#highlighter#exec('airline_tabsel', tabsel) + airline#highlighter#exec('airline_tabtype', tabtype) + airline#highlighter#exec('airline_tabfill', tabfill) + airline#highlighter#exec('airline_tabmod', tabmod) + airline#highlighter#exec('airline_tabmod_unsel', tabmodu) + airline#highlighter#exec('airline_tabmod_unsel_right', tabmodu_right) + airline#highlighter#exec('airline_tabhid', tabhid) + # Theme for tabs on the right + var tablabel_r = get(colors, 'airline_tablabel', palette.normal.airline_b) + var tabsel_right = get(colors, 'airline_tabsel_right', palette.normal.airline_a) + var tab_right = get(colors, 'airline_tab_right', palette.inactive.airline_c) + var tabmod_right = get(colors, 'airline_tabmod_right', palette.insert.airline_a) + var tabhid_right = get(colors, 'airline_tabhid_right', palette.normal.airline_c) + airline#highlighter#exec('airline_tablabel_right', tablabel_r) + airline#highlighter#exec('airline_tab_right', tab_right) + airline#highlighter#exec('airline_tabsel_right', tabsel_right) + airline#highlighter#exec('airline_tabmod_right', tabmod_right) + airline#highlighter#exec('airline_tabhid_right', tabhid_right) + return 0 + enddef + + def s:update_tabline(forceit: number): void + if get(g:, 'airline#extensions#tabline#disable_refresh', 0) + return + endif + # loading a session file + # On SessionLoadPost, g:SessionLoad variable is still set :/ + if !forceit && get(g:, 'SessionLoad', 0) + return + endif + var match = expand('') + if pumvisible() + return + elseif !get(g:, 'airline#extensions#tabline#enabled', 0) + return + # return, if buffer matches ignore pattern or is directory (netrw) + elseif empty(match) || airline#util#ignore_buf(match) || isdirectory(match) + return + endif + airline#util#doautocmd('BufMRUChange') + airline#extensions#tabline#redraw() + enddef + + def airline#extensions#tabline#redraw(): void + # redrawtabline should always be available + :redrawtabline + enddef + + def airline#extensions#tabline#enable(): void + if &lines > 3 + &showtabline = 2 + endif + enddef + + def airline#extensions#tabline#get(): string + var show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1) + var show_tabs = get(g:, 'airline#extensions#tabline#show_tabs', 1) + + var curtabcnt = tabpagenr('$') + if curtabcnt != s:current_tabcnt + s:current_tabcnt = curtabcnt + airline#extensions#tabline#tabs#invalidate() + airline#extensions#tabline#buffers#invalidate() + airline#extensions#tabline#ctrlspace#invalidate() + airline#extensions#tabline#tabws#invalidate() + endif + + if !exists('#airline#BufAdd#*') + autocmd airline BufAdd * call update_tabline(0) + endif + if !exists('#airline#SessionLoadPost') + autocmd airline SessionLoadPost * call update_tabline(1) + endif + if s:ctrlspace + return airline#extensions#tabline#ctrlspace#get() + elseif s:tabws + return airline#extensions#tabline#tabws#get() + elseif show_buffers && curtabcnt == 1 || !show_tabs + return airline#extensions#tabline#buffers#get() + else + return airline#extensions#tabline#tabs#get() + endif + enddef + + def airline#extensions#tabline#title(n: number): string + var title = '' + if get(g:, 'airline#extensions#taboo#enabled', 1) && + get(g:, 'loaded_taboo', 0) && exists("*TabooTabTitle") + title = call("TabooTabTitle", [n]) + endif + + if empty(title) + title = gettabvar(n, 'title') + endif + + var formatter = get(g:, 'airline#extensions#tabline#tabtitle_formatter', '') + if empty(title) && !empty(formatter) && exists("*" .. formatter) + title = call(formatter, [n]) + endif + + if empty(title) + var buflist = tabpagebuflist(n) + var winnr = tabpagewinnr(n) + var all_buffers = airline#extensions#tabline#buflist#list() + var curbuf = filter(buflist, (_, v) => index(all_buffers, v) != -1) + if len(curbuf) == 0 + add(curbuf, tabpagebuflist()[0]) + endif + return airline#extensions#tabline#get_buffer_name(curbuf[0], curbuf) + endif + return title + enddef + + def airline#extensions#tabline#get_buffer_name(nr: number, buffers = airline#extensions#tabline#buflist#list()): string + var Formatter = 'airline#extensions#tabline#formatters#' .. get(g:, 'airline#extensions#tabline#formatter', 'default') .. '#format' + return call(Formatter, [ nr, buffers] ) + enddef + + def airline#extensions#tabline#new_builder(): dict + var builder_context = { + 'active': 1, + 'tabline': 1, + 'right_sep': get(g:, 'airline#extensions#tabline#right_sep', g:airline_right_sep), + 'right_alt_sep': get(g:, 'airline#extensions#tabline#right_alt_sep', g:airline_right_alt_sep), + 'left_sep': get(g:, 'airline#extensions#tabline#left_sep', g:airline_left_sep), + 'left_alt_sep': get(g:, 'airline#extensions#tabline#left_alt_sep', g:airline_left_alt_sep), + } + return airline#extensions#tabline#builder#new(builder_context) + enddef + + def airline#extensions#tabline#group_of_bufnr(tab_bufs: list, bufnr: number): string + var cur = bufnr('%') + var group = '' + if cur == bufnr + if g:airline_detect_modified && getbufvar(bufnr, '&modified') + group = 'airline_tabmod' + else + group = 'airline_tabsel' + endif + else + if g:airline_detect_modified && getbufvar(bufnr, '&modified') + group = 'airline_tabmod_unsel' + elseif index(tab_bufs, bufnr) > -1 + group = 'airline_tab' + else + group = 'airline_tabhid' + endif + endif + return group + enddef +endif diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/autoshow.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/autoshow.vim new file mode 100644 index 0000000..8df8306 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/autoshow.vim @@ -0,0 +1,53 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1) +let s:buf_min_count = get(g:, 'airline#extensions#tabline#buffer_min_count', 0) +let s:tab_min_count = get(g:, 'airline#extensions#tabline#tab_min_count', 0) + +function! airline#extensions#tabline#autoshow#off() + if exists('s:original_tabline') + let &tabline = s:original_tabline + let &showtabline = s:original_showtabline + endif + + augroup airline_tabline_autoshow + autocmd! + augroup END +endfunction + +function! airline#extensions#tabline#autoshow#on() + let [ s:original_tabline, s:original_showtabline ] = [ &tabline, &showtabline ] + + augroup airline_tabline_autoshow + autocmd! + if s:buf_min_count <= 0 && s:tab_min_count <= 1 + call airline#extensions#tabline#enable() + else + if s:show_buffers == 1 + autocmd BufEnter * call show_tabline(s:buf_min_count, len(airline#extensions#tabline#buflist#list())) + autocmd BufUnload * call show_tabline(s:buf_min_count, len(airline#extensions#tabline#buflist#list()) - 1) + else + autocmd TabNew,TabClosed * call show_tabline(s:tab_min_count, tabpagenr('$')) + endif + endif + + " Invalidate cache. This has to come after the BufUnload for + " s:show_buffers, to invalidate the cache for BufEnter. + autocmd BufLeave,BufAdd,BufUnload * call airline#extensions#tabline#buflist#invalidate() + augroup END +endfunction + +function! s:show_tabline(min_count, total_count) + if a:total_count >= a:min_count + if &showtabline != 2 && &lines > 3 + set showtabline=2 + endif + else + if &showtabline != 0 + set showtabline=0 + endif + endif +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/buffers.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/buffers.vim new file mode 100644 index 0000000..4cf1467 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/buffers.vim @@ -0,0 +1,263 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:spc = g:airline_symbols.space + +let s:current_bufnr = -1 +let s:current_modified = 0 +let s:current_tabline = '' +let s:current_visible_buffers = [] + +let s:number_map = { + \ '0': '⁰', + \ '1': '¹', + \ '2': '²', + \ '3': '³', + \ '4': '⁴', + \ '5': '⁵', + \ '6': '⁶', + \ '7': '⁷', + \ '8': '⁸', + \ '9': '⁹' + \ } +let s:number_map = &encoding == 'utf-8' + \ ? get(g:, 'airline#extensions#tabline#buffer_idx_format', s:number_map) + \ : {} + +function! airline#extensions#tabline#buffers#off() + augroup airline_tabline_buffers + autocmd! + augroup END +endfunction + +function! airline#extensions#tabline#buffers#on() + let terminal_event = has("nvim") ? 'TermOpen' : 'TerminalOpen' + augroup airline_tabline_buffers + autocmd! + autocmd BufDelete * call airline#extensions#tabline#buflist#clean() + if exists("##".terminal_event) + exe 'autocmd '. terminal_event. ' * call airline#extensions#tabline#buflist#clean()' + endif + autocmd User BufMRUChange call airline#extensions#tabline#buflist#clean() + augroup END +endfunction + +function! airline#extensions#tabline#buffers#invalidate() + let s:current_bufnr = -1 +endfunction + +function! airline#extensions#tabline#buffers#get() + try + call map_keys() + catch + " no-op + endtry + let cur = bufnr('%') + if cur == s:current_bufnr && &columns == s:column_width + if !g:airline_detect_modified || getbufvar(cur, '&modified') == s:current_modified + return s:current_tabline + endif + endif + + let b = airline#extensions#tabline#new_builder() + let tab_bufs = tabpagebuflist(tabpagenr()) + let show_buf_label_first = 0 + + if get(g:, 'airline#extensions#tabline#buf_label_first', 0) + let show_buf_label_first = 1 + endif + if show_buf_label_first + call airline#extensions#tabline#add_label(b, 'buffers', 0) + endif + + let b.tab_bufs = tabpagebuflist(tabpagenr()) + + let b.overflow_group = 'airline_tabhid' + let b.buffers = airline#extensions#tabline#buflist#list() + if get(g:, 'airline#extensions#tabline#current_first', 0) + if index(b.buffers, cur) > -1 + call remove(b.buffers, index(b.buffers, cur)) + endif + let b.buffers = [cur] + b.buffers + endif + + function! b.get_group(i) dict + let bufnum = get(self.buffers, a:i, -1) + if bufnum == -1 + return '' + endif + let group = airline#extensions#tabline#group_of_bufnr(self.tab_bufs, bufnum) + if bufnum == bufnr('%') + let s:current_modified = (group == 'airline_tabmod') ? 1 : 0 + endif + return group + endfunction + + if has("tablineat") + function! b.get_pretitle(i) dict + let bufnum = get(self.buffers, a:i, -1) + return '%'.bufnum.'@airline#extensions#tabline#buffers#clickbuf@' + endfunction + + function! b.get_posttitle(i) dict + return '%X' + endfunction + endif + + function! b.get_title(i) dict + let bufnum = get(self.buffers, a:i, -1) + let group = self.get_group(a:i) + let pgroup = self.get_group(a:i - 1) + " always add a space when powerline_fonts are used + " or for the very first item + if get(g:, 'airline_powerline_fonts', 0) || a:i == 0 + let space = s:spc + else + let space= (pgroup == group ? s:spc : '') + endif + + if get(g:, 'airline#extensions#tabline#buffer_idx_mode', 0) + if len(s:number_map) > 0 + return space. s:get_number(a:i) . '%(%{airline#extensions#tabline#get_buffer_name('.bufnum.')}%)' . s:spc + else + return '['.(a:i+1).s:spc.'%(%{airline#extensions#tabline#get_buffer_name('.bufnum.')}%)'.']' + endif + else + return space.'%(%{airline#extensions#tabline#get_buffer_name('.bufnum.')}%)'.s:spc + endif + endfunction + + let current_buffer = max([index(b.buffers, cur), 0]) + let last_buffer = len(b.buffers) - 1 + call b.insert_titles(current_buffer, 0, last_buffer) + + call b.add_section('airline_tabfill', '') + call b.split() + call b.add_section('airline_tabfill', '') + if !show_buf_label_first + call airline#extensions#tabline#add_label(b, 'buffers', 1) + endif + + call airline#extensions#tabline#add_tab_label(b) + + let s:current_bufnr = cur + let s:column_width = &columns + let s:current_tabline = b.build() + let s:current_visible_buffers = copy(b.buffers) + " Do not remove from s:current_visible_buffers, this breaks s:select_tab() + "if b._right_title <= last_buffer + " call remove(s:current_visible_buffers, b._right_title, last_buffer) + "endif + "if b._left_title > 0 + " call remove(s:current_visible_buffers, 0, b._left_title) + "endif + return s:current_tabline +endfunction + +function! s:get_number(index) + if len(s:number_map) == 0 + return a:index + endif + let bidx_mode = get(g:, 'airline#extensions#tabline#buffer_idx_mode', 0) + let number_format = bidx_mode > 1 ? '%02d' : '%d' + let l:count = bidx_mode == 2 ? a:index+11 : a:index+1 + return join(map(split(printf(number_format, l:count), '\zs'), + \ 'get(s:number_map, v:val, "")'), '') +endfunction + +function! s:select_tab(buf_index) + " no-op when called in 'keymap_ignored_filetypes' + if count(get(g:, 'airline#extensions#tabline#keymap_ignored_filetypes', + \ ['vimfiler', 'nerdtree']), &ft) + return + endif + let idx = a:buf_index + if s:current_visible_buffers[0] == -1 + let idx = idx + 1 + endif + + let buf = get(s:current_visible_buffers, idx, 0) + if buf != 0 + exec 'b!' . buf + endif +endfunction + +function! s:jump_to_tab(offset) + let l = airline#extensions#tabline#buflist#list() + let i = index(l, bufnr('%')) + if i > -1 + exec 'b!' . l[(i + a:offset) % len(l)] + endif +endfunction + +function! s:map_keys() + let bidx_mode = get(g:, 'airline#extensions#tabline#buffer_idx_mode', 1) + if bidx_mode > 0 + if bidx_mode == 1 + for i in range(1, 10) + exe printf('noremap AirlineSelectTab%d :call select_tab(%d)', i%10, i-1) + endfor + else + let start_idx = bidx_mode == 2 ? 11 : 1 + for i in range(start_idx, 99) + exe printf('noremap AirlineSelectTab%02d :call select_tab(%d)', i, i-start_idx) + endfor + endif + noremap AirlineSelectPrevTab :call jump_to_tab(-v:count1) + noremap AirlineSelectNextTab :call jump_to_tab(v:count1) + " Enable this for debugging + " com! AirlineBufferList :echo map(copy(s:current_visible_buffers), {i,k -> k.": ".bufname(k)}) + endif +endfunction + +function! airline#extensions#tabline#buffers#clickbuf(minwid, clicks, button, modifiers) abort + " Clickable buffers + " works only in recent NeoVim with has('tablineat') + + " single mouse button click without modifiers pressed + if a:clicks == 1 && a:modifiers !~# '[^ ]' + if a:button is# 'l' + " left button - switch to buffer + silent execute 'buffer' a:minwid + elseif a:button is# 'm' + " middle button - delete buffer + + if get(g:, 'airline#extensions#tabline#middle_click_preserves_windows', 0) == 0 || winnr('$') == 1 + " just simply delete the clicked buffer. This will cause windows + " associated with the clicked buffer to be closed. + silent execute 'bdelete' a:minwid + else + " find windows displaying the clicked buffer and open an new + " buffer in them. + let current_window = bufwinnr("%") + let window_number = bufwinnr(a:minwid) + let last_window_visited = -1 + + " Set to 1 if the clicked buffer was open in any windows. + let buffer_in_window = 0 + + " Find the next window with the clicked buffer open. If bufwinnr() + " returns the same window number, this is because we clicked a new + " buffer, and then tried editing a new buffer. Vim won't create a + " new empty buffer for the same window, so we get the same window + " number from bufwinnr(). In this case we just give up and don't + " delete the buffer. + " This could be made cleaner if we could check if the clicked buffer + " is a new buffer, but I don't know if there is a way to do that. + while window_number != -1 && window_number != last_window_visited + let buffer_in_window = 1 + silent execute window_number . 'wincmd w' + silent execute 'enew' + let last_window_visited = window_number + let window_number = bufwinnr(a:minwid) + endwhile + silent execute current_window . 'wincmd w' + if window_number != last_window_visited || buffer_in_window == 0 + silent execute 'bdelete' a:minwid + endif + endif + endif + endif +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/buflist.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/buflist.vim new file mode 100644 index 0000000..f772201 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/buflist.vim @@ -0,0 +1,85 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +function! airline#extensions#tabline#buflist#invalidate() + unlet! s:current_buffer_list +endfunction + +function! airline#extensions#tabline#buflist#clean() + if !exists('#airline') + " airline disabled + return + endif + call airline#extensions#tabline#buflist#invalidate() + call airline#extensions#tabline#buffers#invalidate() +endfunction + +" paths in excludes list +function! s:ExcludePaths(nr, exclude_paths) + let bname = bufname(a:nr) + if empty(bname) + return 0 + endif + let bpath = fnamemodify(bname, ":p") + for f in a:exclude_paths + if bpath =~# f | return 1 | endif + endfor +endfunction + +" other types to exclude +function! s:ExcludeOther(nr, exclude_preview) + if (getbufvar(a:nr, 'current_syntax') == 'qf') || + \ (a:exclude_preview && getbufvar(a:nr, '&bufhidden') == 'wipe' + \ && getbufvar(a:nr, '&buftype') == 'nofile') + return 1 | endif +endfunction + +function! airline#extensions#tabline#buflist#list() + if exists('s:current_buffer_list') + return s:current_buffer_list + endif + + let exclude_buffers = get(g:, 'airline#extensions#tabline#exclude_buffers', []) + let exclude_paths = get(g:, 'airline#extensions#tabline#excludes', []) + let exclude_preview = get(g:, 'airline#extensions#tabline#exclude_preview', 1) + + let list = (exists('g:did_bufmru') && g:did_bufmru) ? BufMRUList() : range(1, bufnr("$")) + + let buffers = [] + " If this is too slow, we can switch to a different algorithm. + " Basically branch 535 already does it, but since it relies on + " BufAdd autocommand, I'd like to avoid this if possible. + for nr in list + if buflisted(nr) + " Do not add to the bufferlist, if either + " 1) bufnr is exclude_buffers list + " 2) buffername matches one of exclude_paths patterns + " 3) buffer is a quickfix buffer + " 4) when excluding preview windows: + " 'bufhidden' == wipe + " 'buftype' == nofile + " 5) ignore buffers matching airline#extensions#tabline#ignore_bufadd_pat + + " check buffer numbers first + if index(exclude_buffers, nr) >= 0 + continue + " check paths second + elseif !empty(exclude_paths) && s:ExcludePaths(nr, exclude_paths) + continue + " ignore buffers matching airline#extensions#tabline#ignore_bufadd_pat + elseif airline#util#ignore_buf(bufname(nr)) + continue + " check other types last + elseif s:ExcludeOther(nr, exclude_preview) + continue + endif + + call add(buffers, nr) + endif + endfor + + let s:current_buffer_list = buffers + return buffers +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/builder.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/builder.vim new file mode 100644 index 0000000..f2567fc --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/builder.vim @@ -0,0 +1,232 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:prototype = {} + +" Set the point in the tabline where the builder should insert the titles. +" +" Subsequent calls will overwrite the previous ones, so only the last call +" determines to location to insert titles. +" +" NOTE: The titles are not inserted until |build| is called, so that the +" remaining contents of the tabline can be taken into account. +" +" Callers should define at least |get_title| and |get_group| on the host +" object before calling |build|. +function! s:prototype.insert_titles(current, first, last) dict + let self._first_title = a:first " lowest index + let self._last_title = a:last " highest index + let self._left_title = a:current " next index to add on the left + let self._right_title = a:current + 1 " next index to add on the right + let self._left_position = self.get_position() " left end of titles + let self._right_position = self._left_position " right end of the titles +endfunction + +" Insert a title for entry number |index|, of group |group| at position |pos|, +" if there is space for it. Returns 1 if it is inserted, 0 otherwise +" +" |force| inserts the title even if there isn't enough space left for it. +" |sep_size| adjusts the size change that the title is considered to take up, +" to account for changes to the separators +" +" The title is defined by |get_title| on the hosting object, called with +" |index| as its only argument. +" |get_pretitle| and |get_posttitle| may be defined on the host object to +" insert some formatting before or after the title. These should be 0-width. +" +" This method updates |_right_position| and |_remaining_space| on the host +" object, if the title is inserted. +function! s:prototype.try_insert_title(index, group, pos, sep_size, force) dict + let title = self.get_title(a:index) + let title_size = s:tabline_evaluated_length(title) + a:sep_size + if a:force || self._remaining_space >= title_size + let pos = a:pos + if has_key(self, "get_pretitle") + call self.insert_raw(self.get_pretitle(a:index), pos) + let self._right_position += 1 + let pos += 1 + endif + + call self.insert_section(a:group, title, pos) + let self._right_position += 1 + let pos += 1 + + if has_key(self, "get_posttitle") + call self.insert_raw(self.get_posttitle(a:index), pos) + let self._right_position += 1 + let pos += 1 + endif + + let self._remaining_space -= title_size + return 1 + endif + return 0 +endfunction + +function! s:get_separator_change(new_group, old_group, end_group, sep_size, alt_sep_size) + return s:get_separator_change_with_end(a:new_group, a:old_group, a:end_group, a:end_group, a:sep_size, a:alt_sep_size) +endfunction + +" Compute the change in size of the tabline caused by separators +" +" This should be kept up-to-date with |s:get_transitioned_seperator| and +" |s:get_separator| in autoload/airline/builder.vim +function! s:get_separator_change_with_end(new_group, old_group, new_end_group, old_end_group, sep_size, alt_sep_size) + let sep_change = 0 + if !empty(a:new_end_group) " Separator between title and the end + let sep_change += airline#builder#should_change_group(a:new_group, a:new_end_group) ? a:sep_size : a:alt_sep_size + endif + if !empty(a:old_group) " Separator between the title and the one adjacent + let sep_change += airline#builder#should_change_group(a:new_group, a:old_group) ? a:sep_size : a:alt_sep_size + if !empty(a:old_end_group) " Remove mis-predicted separator + let sep_change -= airline#builder#should_change_group(a:old_group, a:old_end_group) ? a:sep_size : a:alt_sep_size + endif + endif + return sep_change +endfunction + +" This replaces the build function of the |airline#builder#new| object, to +" insert titles as specified by the last call to |insert_titles| before +" passing to the original build function. +" +" Callers should define at least |get_title| and |get_group| on the host +" object if |insert_titles| has been called on it. +function! s:prototype.build() dict + if has_key(self, '_left_position') && self._first_title <= self._last_title + let self._remaining_space = &columns - s:tabline_evaluated_length(self._build()) + + let center_active = get(g:, 'airline#extensions#tabline#center_active', 0) + + let sep_size = s:tabline_evaluated_length(self._context.left_sep) + let alt_sep_size = s:tabline_evaluated_length(self._context.left_alt_sep) + + let outer_left_group = airline#builder#get_prev_group(self._sections, self._left_position) + let outer_right_group = airline#builder#get_next_group(self._sections, self._right_position) + + let overflow_marker = get(g:, 'airline#extensions#tabline#overflow_marker', g:airline_symbols.ellipsis) + let overflow_marker_size = s:tabline_evaluated_length(overflow_marker) + " Allow space for the markers before we begin filling in titles. + if self._left_title > self._first_title + let self._remaining_space -= overflow_marker_size + + \ s:get_separator_change(self.overflow_group, "", outer_left_group, sep_size, alt_sep_size) + endif + if self._left_title < self._last_title + let self._remaining_space -= overflow_marker_size + + \ s:get_separator_change(self.overflow_group, "", outer_right_group, sep_size, alt_sep_size) + endif + + " Add the current title + let group = self.get_group(self._left_title) + if self._left_title == self._first_title + let sep_change = s:get_separator_change(group, "", outer_left_group, sep_size, alt_sep_size) + else + let sep_change = s:get_separator_change(group, "", self.overflow_group, sep_size, alt_sep_size) + endif + if self._left_title == self._last_title + let sep_change += s:get_separator_change(group, "", outer_right_group, sep_size, alt_sep_size) + else + let sep_change += s:get_separator_change(group, "", self.overflow_group, sep_size, alt_sep_size) + endif + let left_group = group + let right_group = group + let self._left_title -= + \ self.try_insert_title(self._left_title, group, self._left_position, sep_change, 1) + + if get(g:, 'airline#extensions#tabline#current_first', 0) + " always have current title first + let self._left_position += 1 + endif + + if !center_active && self._right_title <= self._last_title + " Add the title to the right + let group = self.get_group(self._right_title) + if self._right_title == self._last_title + let sep_change = s:get_separator_change_with_end(group, right_group, outer_right_group, self.overflow_group, sep_size, alt_sep_size) - overflow_marker_size + else + let sep_change = s:get_separator_change(group, right_group, self.overflow_group, sep_size, alt_sep_size) + endif + let right_group = group + let self._right_title += + \ self.try_insert_title(self._right_title, group, self._right_position, sep_change, 1) + endif + + while self._remaining_space > 0 + let done = 0 + if self._left_title >= self._first_title + " Insert next title to the left + let group = self.get_group(self._left_title) + if self._left_title == self._first_title + let sep_change = s:get_separator_change_with_end(group, left_group, outer_left_group, self.overflow_group, sep_size, alt_sep_size) - overflow_marker_size + else + let sep_change = s:get_separator_change(group, left_group, self.overflow_group, sep_size, alt_sep_size) + endif + let left_group = group + let done = self.try_insert_title(self._left_title, group, self._left_position, sep_change, 0) + let self._left_title -= done + endif + " If center_active is set, this |if| operates as an independent |if|, + " otherwise as an |elif|. + if self._right_title <= self._last_title && (center_active || !done) + " Insert next title to the right + let group = self.get_group(self._right_title) + if self._right_title == self._last_title + let sep_change = s:get_separator_change_with_end(group, right_group, outer_right_group, self.overflow_group, sep_size, alt_sep_size) - overflow_marker_size + else + let sep_change = s:get_separator_change(group, right_group, self.overflow_group, sep_size, alt_sep_size) + endif + let right_group = group + let done = self.try_insert_title(self._right_title, group, self._right_position, sep_change, 0) + let self._right_title += done + endif + if !done + break + endif + endwhile + + if self._left_title >= self._first_title + if get(g:, 'airline#extensions#tabline#current_first', 0) + let self._left_position -= 1 + endif + call self.insert_section(self.overflow_group, overflow_marker, self._left_position) + let self._right_position += 1 + endif + + if self._right_title <= self._last_title + call self.insert_section(self.overflow_group, overflow_marker, self._right_position) + endif + endif + + return self._build() +endfunction + +let s:prototype.overflow_group = 'airline_tab' + +" Extract the text content a tabline will render. (Incomplete). +" +" See :help 'statusline' for the list of fields. +function! s:evaluate_tabline(tabline) + let tabline = a:tabline + let tabline = substitute(tabline, '%{\([^}]\+\)}', '\=eval(submatch(1))', 'g') + let tabline = substitute(tabline, '%#[^#]\+#', '', 'g') + let tabline = substitute(tabline, '%(\([^)]\+\)%)', '\1', 'g') + let tabline = substitute(tabline, '%\d\+[TX]', '', 'g') + let tabline = substitute(tabline, '%=', '', 'g') + let tabline = substitute(tabline, '%\d*\*', '', 'g') + if has('tablineat') + let tabline = substitute(tabline, '%@[^@]\+@', '', 'g') + endif + return tabline +endfunction + +function! s:tabline_evaluated_length(tabline) + return airline#util#strchars(s:evaluate_tabline(a:tabline)) +endfunction + +function! airline#extensions#tabline#builder#new(context) + let builder = airline#builder#new(a:context) + let builder._build = builder.build + call extend(builder, s:prototype, 'force') + return builder +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/ctrlspace.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/ctrlspace.vim new file mode 100644 index 0000000..fad3efe --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/ctrlspace.vim @@ -0,0 +1,169 @@ +" MIT License. Copyright (c) 2016-2021 Kevin Sapper et al. +" Plugin: https://github.com/szw/vim-ctrlspace +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:current_bufnr = -1 +let s:current_modified = 0 +let s:current_tabnr = -1 +let s:current_tabline = '' +let s:highlight_groups = ['hid', 0, '', 'sel', 'mod_unsel', 0, 'mod_unsel', 'mod'] + +function! airline#extensions#tabline#ctrlspace#off() + augroup airline_tabline_ctrlspace + autocmd! + augroup END +endfunction + +function! airline#extensions#tabline#ctrlspace#on() + augroup airline_tabline_ctrlspace + autocmd! + autocmd BufDelete * call airline#extensions#tabline#ctrlspace#invalidate() + augroup END +endfunction + +function! airline#extensions#tabline#ctrlspace#invalidate() + if !exists('#airline') + return + endif + let s:current_bufnr = -1 + let s:current_tabnr = -1 +endfunction + +function! airline#extensions#tabline#ctrlspace#add_buffer_section(builder, cur_tab, cur_buf, pull_right) + let pos_extension = (a:pull_right ? '_right' : '') + + let buffer_list = [] + for bufferindex in sort(keys(ctrlspace#api#Buffers(a:cur_tab)), 'N') + for buffer in ctrlspace#api#BufferList(a:cur_tab) + if buffer['index'] == bufferindex + call add(buffer_list, buffer) + endif + endfor + endfor + + " add by tenfy(tenfyzhong@qq.com) + " if the current buffer no in the buffer list + " return false and no redraw tabline. + " Fixes #1515. if there a BufEnter autocmd execute redraw. The tabline may no update. + let bufnr_list = map(copy(buffer_list), 'v:val["index"]') + if index(bufnr_list, a:cur_buf) == -1 && a:cur_tab == s:current_tabnr + return 0 + endif + + let s:current_modified = getbufvar(a:cur_buf, '&modified') + + for buffer in buffer_list + let group = 'airline_tab' + \ .s:highlight_groups[(4 * buffer.modified) + (2 * buffer.visible) + (a:cur_buf == buffer.index)] + \ .pos_extension + + let buf_name = '%(%{airline#extensions#tabline#get_buffer_name('.buffer.index.')}%)' + + if has("tablineat") + let buf_name = '%'.buffer.index.'@airline#extensions#tabline#buffers#clickbuf@'.buf_name.'%X' + endif + + call a:builder.add_section_spaced(group, buf_name) + endfor + + " add by tenfy(tenfyzhong@qq.com) + " if the selected buffer was updated + " return true + return 1 +endfunction + +function! airline#extensions#tabline#ctrlspace#add_tab_section(builder, pull_right) + let pos_extension = (a:pull_right ? '_right' : '') + let tab_list = ctrlspace#api#TabList() + + for tab in tab_list + let group = 'airline_tab' + \ .s:highlight_groups[(4 * tab.modified) + (3 * tab.current)] + \ .pos_extension + + if get(g:, 'airline#extensions#tabline#ctrlspace_show_tab_nr', 0) == 0 + call a:builder.add_section_spaced(group, '%'.tab.index.'T'.tab.title.ctrlspace#api#TabBuffersNumber(tab.index).'%T') + else + call a:builder.add_section_spaced(group, '%'.(tab.index).'T'.(tab.index).(g:airline_symbols.space).(tab.title).ctrlspace#api#TabBuffersNumber(tab.index).'%T') + endif + endfor +endfunction + +function! airline#extensions#tabline#ctrlspace#get() + let cur_buf = bufnr('%') + let buffer_label = get(g:, 'airline#extensions#tabline#buffers_label', 'buffers') + let tab_label = get(g:, 'airline#extensions#tabline#tabs_label', 'tabs') + let switch_buffers_and_tabs = get(g:, 'airline#extensions#tabline#switch_buffers_and_tabs', 0) + + try + call airline#extensions#tabline#tabs#map_keys() + endtry + + let cur_tab = tabpagenr() + + if cur_buf == s:current_bufnr && cur_tab == s:current_tabnr + if !g:airline_detect_modified || getbufvar(cur_buf, '&modified') == s:current_modified + return s:current_tabline + endif + endif + + let builder = airline#extensions#tabline#new_builder() + + let show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1) + let show_tabs = get(g:, 'airline#extensions#tabline#show_tabs', 1) + + let AppendBuffers = function('airline#extensions#tabline#ctrlspace#add_buffer_section', [builder, cur_tab, cur_buf]) + let AppendTabs = function('airline#extensions#tabline#ctrlspace#add_tab_section', [builder]) + let AppendLabel = function(builder.add_section_spaced, ['airline_tabtype'], builder) + + " <= 1: |{Tabs} {Buffers} {Tabs} fnametruncate + let _ = airline#util#strcharpart(_, 0, fnametruncate) + endif + endif + + return airline#extensions#tabline#formatters#default#wrap_name(a:bufnr, _) + endfunction + + function! airline#extensions#tabline#formatters#default#wrap_name(bufnr, buffer_name) + let buf_nr_format = get(g:, 'airline#extensions#tabline#buffer_nr_format', '%s: ') + let buf_nr_show = get(g:, 'airline#extensions#tabline#buffer_nr_show', 0) + + let _ = buf_nr_show ? printf(buf_nr_format, a:bufnr) : '' + let _ .= substitute(a:buffer_name, '\\', '/', 'g') + + if getbufvar(a:bufnr, '&modified') == 1 + let _ .= g:airline_symbols.modified + endif + return _ + endfunction + finish +else + " Vim9 Script implementation + def airline#extensions#tabline#formatters#default#format(bufnr: number, buffers: list): string + var fnametruncate = get(g:, 'airline#extensions#tabline#fnametruncate', 0) + var fmod = get(g:, 'airline#extensions#tabline#fnamemod', ':~:.') + var result = '' + + var name = bufname(bufnr) + if empty(name) + result = '[No Name]' + elseif name =~ 'term://' + # Neovim Terminal + result = substitute(name, '\(term:\)//.*:\(.*\)', '\1 \2', '') + else + if get(g:, 'airline#extensions#tabline#fnamecollapse', 1) + result = pathshorten(fnamemodify(name, fmod)) + else + result = fnamemodify(name, fmod) + endif + if bufnr != bufnr('%') && fnametruncate && strlen(result) > fnametruncate + result = airline#util#strcharpart(result, 0, fnametruncate) + endif + endif + return airline#extensions#tabline#formatters#default#wrap_name(bufnr, result) + enddef + + def airline#extensions#tabline#formatters#default#wrap_name(bufnr: number, buffer_name: string): string + var buf_nr_format = get(g:, 'airline#extensions#tabline#buffer_nr_format', '%s: ') + var buf_nr_show = get(g:, 'airline#extensions#tabline#buffer_nr_show', 0) + + var result = buf_nr_show ? printf(buf_nr_format, bufnr) : '' + result ..= substitute(buffer_name, '\\', '/', 'g') + + if getbufvar(bufnr, '&modified') == 1 + result ..= g:airline_symbols.modified + endif + return result + enddef +endif diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/jsformatter.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/jsformatter.vim new file mode 100644 index 0000000..6f364ec --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/jsformatter.vim @@ -0,0 +1,15 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +function! airline#extensions#tabline#formatters#jsformatter#format(bufnr, buffers) + let buf = bufname(a:bufnr) + let filename = fnamemodify(buf, ':t') + + if filename ==# 'index.js' || filename ==# 'index.jsx' || filename ==# 'index.ts' || filename ==# 'index.tsx' || filename ==# 'index.vue' + return fnamemodify(buf, ':p:h:t') . '/i' + else + return airline#extensions#tabline#formatters#unique_tail_improved#format(a:bufnr, a:buffers) + endif +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/short_path.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/short_path.vim new file mode 100644 index 0000000..576394f --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/short_path.vim @@ -0,0 +1,22 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:fnamecollapse = get(g:, 'airline#extensions#tabline#fnamecollapse', 1) + +function! airline#extensions#tabline#formatters#short_path#format(bufnr, buffers) + let _ = '' + + let name = bufname(a:bufnr) + if empty(name) + let _ .= '[No Name]' + elseif name =~ 'term://' + " Neovim Terminal + let _ = substitute(name, '\(term:\)//.*:\(.*\)', '\1 \2', '') + else + let _ .= fnamemodify(name, ':p:h:t') . '/' . fnamemodify(name, ':t') + endif + + return airline#extensions#tabline#formatters#default#wrap_name(a:bufnr, _) +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/tabnr.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/tabnr.vim new file mode 100644 index 0000000..f083652 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/tabnr.vim @@ -0,0 +1,15 @@ +" MIT License. Copyright (c) 2017-2021 Christian Brabandt et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +function! airline#extensions#tabline#formatters#tabnr#format(tab_nr_type, nr) + let spc=g:airline_symbols.space + if a:tab_nr_type == 0 " nr of splits + return spc. '%{len(tabpagebuflist('.a:nr.'))}' + elseif a:tab_nr_type == 1 " tab number + return spc. a:nr + else "== 2 splits and tab number + return spc. a:nr. '.%{len(tabpagebuflist('.a:nr.'))}' + endif +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/unique_tail.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/unique_tail.vim new file mode 100644 index 0000000..4d065f3 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/unique_tail.vim @@ -0,0 +1,46 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +function! airline#extensions#tabline#formatters#unique_tail#format(bufnr, buffers) + let duplicates = {} + let tails = {} + let map = {} + for nr in a:buffers + let name = bufname(nr) + if empty(name) + let map[nr] = airline#extensions#tabline#formatters#default#wrap_name(nr, '[No Name]') + else + if name =~ 'term://' + " Neovim Terminal + let tail = substitute(name, '\(term:\)//.*:\(.*\)', '\1 \2', '') + else + let tail = fnamemodify(name, ':s?/\+$??:t') + endif + if has_key(tails, tail) + let duplicates[nr] = nr + endif + let tails[tail] = 1 + let map[nr] = airline#extensions#tabline#formatters#default#wrap_name(nr, tail) + endif + endfor + + let fmod = get(g:, 'airline#extensions#tabline#fnamemod', ':p:.') + for nr in values(duplicates) + let name = bufname(nr) + let fnamecollapse = get(g:, 'airline#extensions#tabline#fnamecollapse', 1) + if fnamecollapse + let map[nr] = airline#extensions#tabline#formatters#default#wrap_name(nr, substitute(fnamemodify(name, fmod), '\v\w\zs.{-}\ze(\\|/)', '', 'g')) + else + let map[nr] = airline#extensions#tabline#formatters#default#wrap_name(nr, fnamemodify(name, fmod)) + endif + endfor + + if has_key(map, a:bufnr) + return map[a:bufnr] + endif + + " if we get here, the buffer list isn't in sync with the selected buffer yet, fall back to the default + return airline#extensions#tabline#formatters#default#format(a:bufnr, a:buffers) +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/unique_tail_improved.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/unique_tail_improved.vim new file mode 100644 index 0000000..e44ac2d --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/unique_tail_improved.vim @@ -0,0 +1,91 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:skip_symbol = '…' + +function! airline#extensions#tabline#formatters#unique_tail_improved#format(bufnr, buffers) + if len(a:buffers) <= 1 " don't need to compare bufnames if has less than one buffer opened + return airline#extensions#tabline#formatters#default#format(a:bufnr, a:buffers) + endif + + let curbuf_tail = fnamemodify(bufname(a:bufnr), ':t') + let do_deduplicate = 0 + let path_tokens = {} + + for nr in a:buffers + let name = bufname(nr) + if !empty(name) && nr != a:bufnr && fnamemodify(name, ':t') == curbuf_tail " only perform actions if curbuf_tail isn't unique + let do_deduplicate = 1 + let tokens = reverse(split(substitute(fnamemodify(name, ':p:h'), '\\', '/', 'g'), '/')) + let token_index = 0 + for token in tokens + if token == '' | continue | endif + if token == '.' | break | endif + if !has_key(path_tokens, token_index) + let path_tokens[token_index] = {} + endif + let path_tokens[token_index][token] = 1 + let token_index += 1 + endfor + endif + endfor + + if do_deduplicate == 1 + let path = [] + let token_index = 0 + for token in reverse(split(substitute(fnamemodify(bufname(a:bufnr), ':p:h'), '\\', '/', 'g'), '/')) + if token == '.' | break | endif + let duplicated = 0 + let uniq = 1 + let single = 1 + if has_key(path_tokens, token_index) + let duplicated = 1 + if len(keys(path_tokens[token_index])) > 1 | let single = 0 | endif + if has_key(path_tokens[token_index], token) | let uniq = 0 | endif + endif + call insert(path, {'token': token, 'duplicated': duplicated, 'uniq': uniq, 'single': single}) + let token_index += 1 + endfor + + let buf_name = [curbuf_tail] + let has_uniq = 0 + let has_skipped = 0 + for token1 in reverse(path) + if !token1['duplicated'] && len(buf_name) > 1 + call insert(buf_name, s:skip_symbol) + let has_skipped = 0 + break + endif + + if has_uniq == 1 + call insert(buf_name, s:skip_symbol) + let has_skipped = 0 + break + endif + + if token1['uniq'] == 0 && token1['single'] == 1 + let has_skipped = 1 + else + if has_skipped == 1 + call insert(buf_name, s:skip_symbol) + let has_skipped = 0 + endif + call insert(buf_name, token1['token']) + endif + + if token1['uniq'] == 1 + let has_uniq = 1 + endif + endfor + + if has_skipped == 1 + call insert(buf_name, s:skip_symbol) + endif + + return airline#extensions#tabline#formatters#default#wrap_name(a:bufnr, join(buf_name, '/')) + else + return airline#extensions#tabline#formatters#default#format(a:bufnr, a:buffers) + endif +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/tabs.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/tabs.vim new file mode 100644 index 0000000..67be779 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/tabs.vim @@ -0,0 +1,136 @@ +" MIT License. Copyright (c) 2013-2021 Bailey Ling et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:spc = g:airline_symbols.space +let s:current_bufnr = -1 +let s:current_tabnr = -1 +let s:current_modified = 0 + +function! airline#extensions#tabline#tabs#off() + augroup airline_tabline_tabs + autocmd! + augroup END +endfunction + +function! airline#extensions#tabline#tabs#on() + augroup airline_tabline_tabs + autocmd! + autocmd BufDelete * call airline#extensions#tabline#tabs#invalidate() + augroup END +endfunction + +function! airline#extensions#tabline#tabs#invalidate() + if exists('#airline') + let s:current_bufnr = -1 + endif +endfunction + +function! airline#extensions#tabline#tabs#get() + let curbuf = bufnr('%') + let curtab = tabpagenr() + try + call airline#extensions#tabline#tabs#map_keys() + catch + " no-op + endtry + if curbuf == s:current_bufnr && curtab == s:current_tabnr && &columns == s:column_width + if !g:airline_detect_modified || getbufvar(curbuf, '&modified') == s:current_modified + return s:current_tabline + endif + endif + + let b = airline#extensions#tabline#new_builder() + + call airline#extensions#tabline#add_label(b, 'tabs', 0) + + function! b.get_group(i) dict + let curtab = tabpagenr() + let group = 'airline_tab' + if a:i == curtab + let group = 'airline_tabsel' + if g:airline_detect_modified + for bi in tabpagebuflist(curtab) + if getbufvar(bi, '&modified') + let group = 'airline_tabmod' + endif + endfor + endif + let s:current_modified = (group == 'airline_tabmod') ? 1 : 0 + endif + return group + endfunction + + function! b.get_title(i) dict + let val = '%(' + + if get(g:, 'airline#extensions#tabline#show_tab_nr', 1) + let tab_nr_type = get(g:, 'airline#extensions#tabline#tab_nr_type', 0) + let val .= airline#extensions#tabline#tabs#tabnr_formatter(tab_nr_type, a:i) + endif + + return val.'%'.a:i.'T %{airline#extensions#tabline#title('.a:i.')} %)' + endfunction + + call b.insert_titles(curtab, 1, tabpagenr('$')) + + call b.add_section('airline_tabfill', '') + call b.split() + call b.add_section('airline_tabfill', '') + + if get(g:, 'airline#extensions#tabline#show_close_button', 1) + call b.add_section('airline_tab_right', ' %999X'. + \ get(g:, 'airline#extensions#tabline#close_symbol', 'X').' ') + endif + + if get(g:, 'airline#extensions#tabline#show_splits', 1) == 1 + let buffers = tabpagebuflist(curtab) + for nr in buffers + let group = airline#extensions#tabline#group_of_bufnr(buffers, nr) . "_right" + call b.add_section_spaced(group, '%(%{airline#extensions#tabline#get_buffer_name('.nr.')}%)') + endfor + if get(g:, 'airline#extensions#tabline#show_buffers', 1) + call airline#extensions#tabline#add_label(b, 'buffers', 1) + endif + endif + call airline#extensions#tabline#add_tab_label(b) + + let s:current_bufnr = curbuf + let s:current_tabnr = curtab + let s:column_width = &columns + let s:current_tabline = b.build() + return s:current_tabline +endfunction + +function! airline#extensions#tabline#tabs#map_keys() + if maparg('AirlineSelectTab1', 'n') is# ':1tabn' + return + endif + let bidx_mode = get(g:, 'airline#extensions#tabline#buffer_idx_mode', 1) + if bidx_mode == 1 + for i in range(1, 10) + exe printf('noremap AirlineSelectTab%d :%dtabn', i%10, i) + endfor + else + for i in range(11, 99) + exe printf('noremap AirlineSelectTab%d :%dtabn', i, i-10) + endfor + endif + noremap AirlineSelectPrevTab gT + " tabn {count} goes to count tab does not go {count} tab pages forward! + noremap AirlineSelectNextTab :exe repeat(':tabn\|', v:count1) +endfunction + +function! airline#extensions#tabline#tabs#tabnr_formatter(nr, i) abort + let formatter = get(g:, 'airline#extensions#tabline#tabnr_formatter', 'tabnr') + try + return airline#extensions#tabline#formatters#{formatter}#format(a:nr, a:i) + catch /^Vim\%((\a\+)\)\=:E117/ " catch E117, unknown function + " Function not found + return call(formatter, [a:nr, a:i]) + catch + " something went wrong, return an empty string + return "" + endtry +endfunction diff --git a/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/tabws.vim b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/tabws.vim new file mode 100644 index 0000000..130fc32 --- /dev/null +++ b/private_dot_config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/tabws.vim @@ -0,0 +1,156 @@ +" MIT License. Copyright (c) 2016-2021 Kevin Sapper et al. +" PLugin: https://github.com/s1341/vim-tabws +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:current_bufnr = -1 +let s:current_modified = 0 +let s:current_tabnr = -1 +let s:current_tabline = '' +let s:highlight_groups = ['hid', 0, '', 'sel', 'mod_unsel', 0, 'mod_unsel', 'mod'] + +function! airline#extensions#tabline#tabws#off() + augroup airline_tabline_tabws + autocmd! + augroup END +endfunction + +function! airline#extensions#tabline#tabws#on() + augroup airline_tabline_tabws + autocmd! + autocmd BufDelete * call airline#extensions#tabline#tabws#invalidate() + augroup END +endfunction + +function! airline#extensions#tabline#tabws#invalidate() + if exists('#airline') + let s:current_bufnr = -1 + let s:current_tabnr = -1 + endif +endfunction + +function! airline#extensions#tabline#tabws#add_buffer_section(builder, cur_tab, cur_buf, pull_right) + let pos_extension = (a:pull_right ? '_right' : '') + let bufnr_list = tabws#getbuffersfortab(a:cur_tab) + + if index(bufnr_list, a:cur_buf) == -1 && a:cur_tab == s:current_tabnr + return 0 + endif + + let s:current_modified = getbufvar(a:cur_buf, '&modified') + let visible_list = tabpagebuflist(a:cur_tab) + + for buffer in bufnr_list + let group = 'airline_tab' + \ .s:highlight_groups[(4 * getbufvar(buffer, '&modified')) + (2 * (index(visible_list, buffer) != -1)) + (a:cur_buf == buffer)] + \ .pos_extension + + let buf_name = '%(%{airline#extensions#tabline#get_buffer_name('.buffer.')}%)' + + if has("tablineat") + let buf_name = '%'.buffer.'@airline#extensions#tabline#buffers#clickbuf@'.buf_name.'%X' + endif + + call a:builder.add_section_spaced(group, buf_name) + endfor + + " add by tenfy(tenfyzhong@qq.com) + " if the selected buffer was updated + " return true + return 1 +endfunction + +function! airline#extensions#tabline#tabws#add_tab_section(builder, pull_right) + let pos_extension = (a:pull_right ? '_right' : '') + + for tab in range(1, tabpagenr('$')) + let current = tab == tabpagenr() + let group = 'airline_tab' + \ .s:highlight_groups[(3 * current)] + \ .pos_extension + + if get(g:, 'airline#extensions#tabline#tabws_show_tab_nr', 0) == 0 + call a:builder.add_section_spaced(group, '%'.tab.'T'.tabws#gettabname(tab).'%T') + else + call a:builder.add_section_spaced(group, '%'.tab.'T'.tab.(g:airline_symbols.space).tabws#gettabname(tab).'%T') + endif + endfor +endfunction + +function! airline#extensions#tabline#tabws#get() + let cur_buf = bufnr('%') + let buffer_label = get(g:, 'airline#extensions#tabline#buffers_label', 'buffers') + let tab_label = get(g:, 'airline#extensions#tabline#tabs_label', 'tabs') + let switch_buffers_and_tabs = get(g:, 'airline#extensions#tabline#switch_buffers_and_tabs', 0) + + try + call airline#extensions#tabline#tabs#map_keys() + endtry + + let cur_tab = tabpagenr() + + if cur_buf == s:current_bufnr && cur_tab == s:current_tabnr + if !g:airline_detect_modified || getbufvar(cur_buf, '&modified') == s:current_modified + return s:current_tabline + endif + endif + + let builder = airline#extensions#tabline#new_builder() + + let show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1) + let show_tabs = get(g:, 'airline#extensions#tabline#show_tabs', 1) + + let AppendBuffers = function('airline#extensions#tabline#tabws#add_buffer_section', [builder, cur_tab, cur_buf]) + let AppendTabs = function('airline#extensions#tabline#tabws#add_tab_section', [builder]) + let AppendLabel = function(builder.add_section_spaced, ['airline_tabtype'], builder) + + " <= 1: |{Tabs} {Buffers} {Tabs} +" tabpagecd: +" expanded version by mg979 +" MIT License Copyright (C) 2012-2013 Kana Natsuno +" MIT License Copyright (C) 2018-2021 Gianmaria Bajo +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + + +function! airline#extensions#tabline#xtabline#init() + + let s:state = 0 + + " initialize mappings + call airline#extensions#tabline#xtabline#maps() + + """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + " Variables + """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + + let g:loaded_xtabline = 1 + let s:most_recent = -1 + let s:xtabline_filtering = 1 + + let t:xtl_excluded = get(g:, 'airline#extensions#tabline#exclude_buffers', []) + let t:xtl_accepted = [] + + let g:xtabline_include_previews = get(g:, 'xtabline_include_previews', 1) + + let g:xtabline_alt_action = get(g:, 'xtabline_alt_action', "buffer #") + + + """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + " Autocommands + """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + + augroup plugin-xtabline + autocmd! + + autocmd TabNew * call s:Do('new') + autocmd TabEnter * call s:Do('enter') + autocmd TabLeave * call s:Do('leave') + autocmd TabClosed * call s:Do('close') + + autocmd BufEnter * if exists('#airline') | let g:xtabline_changing_buffer = 0 | endif + autocmd BufAdd,BufDelete,BufWrite * call airline#extensions#tabline#xtabline#filter_buffers() + augroup END + + + """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + " Commands + """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + + com! XTabReopen call airline#extensions#tabline#xtabline#reopen_last_tab() + +endfunction + + +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Mappings +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +function! airline#extensions#tabline#xtabline#maps() + + if !exists('g:xtabline_disable_keybindings') + + fun! s:mapkeys(keys, plug) + if empty(mapcheck(a:keys)) && !hasmapto(a:plug) + silent! execute 'nmap '.a:keys.' '.a:plug + endif + endfun + + call s:mapkeys('','XTablineToggleTabs') + call s:mapkeys('','XTablineToggleFiltering') + call s:mapkeys('','XTablineSelectBuffer') + call s:mapkeys(']l','XTablineNextBuffer') + call s:mapkeys('[l','XTablinePrevBuffer') + call s:mapkeys('tr','XTablineReopen') + endif + + nnoremap