summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2024-12-11 20:46:32 +0100
committerSanto Cariotti <santo@dcariotti.me>2024-12-11 20:47:59 +0100
commitf22f1723c01b56da14ae1de3491a78af1bc4c464 (patch)
tree030411c811d3474c4b322eca29d1bf8e96b7511f
parentd8713792f93473fe14e01d151529fb6ef139448f (diff)
Dot files with `chezmoi`
-rw-r--r--.config/starship.toml23
-rw-r--r--dot_alacritty.toml (renamed from .config/.alacritty.toml)10
-rw-r--r--dot_clang-format10
-rw-r--r--[-rwxr-xr-x]dot_gitconfig (renamed from git/.gitconfig)0
-rw-r--r--dot_gitignore1
-rw-r--r--dot_mbsyncrc (renamed from mutt/.mbsyncrc)0
-rw-r--r--dot_neomutt/colors.muttrc (renamed from mutt/.neomutt/colors.muttrc)0
-rw-r--r--dot_neomutt/first.email (renamed from mutt/.neomutt/first.email)0
-rw-r--r--dot_neomutt/mailcap (renamed from mutt/.neomutt/mailcap)1
-rw-r--r--dot_neomuttrc (renamed from mutt/.neomuttrc)0
-rw-r--r--dot_tmux.conf (renamed from tmux/.tmux.conf)13
-rw-r--r--[-rwxr-xr-x]dot_vimrc (renamed from .vimrc)6
-rw-r--r--dot_zshrc98
-rw-r--r--newsboat/config27
-rw-r--r--private_dot_config/atuin/config.toml92
-rw-r--r--private_dot_config/gh/config.yml12
-rw-r--r--private_dot_config/i3/config (renamed from .config/i3/config)0
-rw-r--r--private_dot_config/i3blocks/config (renamed from .config/i3blocks/config)0
-rw-r--r--[-rwxr-xr-x]private_dot_config/i3blocks/i3_battery.sh (renamed from .config/i3blocks/i3_battery.sh)0
-rw-r--r--private_dot_config/iamb/config.toml (renamed from .config/iamb/config.toml)0
-rw-r--r--private_dot_config/nvim/after/ftdetect/antlr4.vim (renamed from .config/nvim/after/ftdetect/antlr4.vim)0
-rw-r--r--private_dot_config/nvim/after/ftdetect/jolie.vim (renamed from .config/nvim/after/ftdetect/jolie.vim)0
-rw-r--r--[-rwxr-xr-x]private_dot_config/nvim/after/ftdetect/prr.vim (renamed from .config/nvim/after/ftdetect/prr.vim)0
-rw-r--r--[-rwxr-xr-x]private_dot_config/nvim/after/ftplugin/dockerfile.vim (renamed from .config/nvim/after/ftplugin/dockerfile.vim)0
-rw-r--r--[-rwxr-xr-x]private_dot_config/nvim/after/ftplugin/json.vim (renamed from .config/nvim/after/ftplugin/json.vim)0
-rw-r--r--[-rwxr-xr-x]private_dot_config/nvim/after/ftplugin/markdown.vim (renamed from .config/nvim/after/ftplugin/markdown.vim)0
-rw-r--r--private_dot_config/nvim/after/syntax/antlr4.vim (renamed from .config/nvim/after/syntax/antlr4.vim)0
-rw-r--r--private_dot_config/nvim/after/syntax/jolie.vim (renamed from .config/nvim/after/syntax/jolie.vim)0
-rw-r--r--[-rwxr-xr-x]private_dot_config/nvim/after/syntax/prr.vim (renamed from .config/nvim/after/syntax/prr.vim)0
-rw-r--r--private_dot_config/nvim/colors/gruvbox.vim.old1418
-rw-r--r--private_dot_config/nvim/colors/miramare.vim1753
-rw-r--r--private_dot_config/nvim/dot_netrwhist5
-rw-r--r--private_dot_config/nvim/init.lua (renamed from .config/nvim/init.lua)4
-rw-r--r--private_dot_config/nvim/lua/dap_conf.lua (renamed from .config/nvim/lua/dap_conf.lua)0
-rw-r--r--private_dot_config/nvim/lua/git.lua (renamed from .config/nvim/lua/git.lua)0
-rw-r--r--private_dot_config/nvim/lua/lsp_conf.lua (renamed from .config/nvim/lua/lsp_conf.lua)0
-rw-r--r--private_dot_config/nvim/plugin/packer_compiled.lua244
-rw-r--r--private_dot_config/redshift.conf (renamed from .config/redshift.conf)0
-rw-r--r--private_dot_config/rofi/config.rasi (renamed from .config/rofi/config.rasi)0
-rw-r--r--private_dot_config/starship.toml40
-rw-r--r--private_dot_config/zellij/config.kdl415
-rwxr-xr-xscripts/update-all-cargo-deps3
-rw-r--r--zsh/.zshrc40
-rw-r--r--zsh/lukerandall-d.zsh-theme28
44 files changed, 4109 insertions, 134 deletions
diff --git a/.config/starship.toml b/.config/starship.toml
deleted file mode 100644
index 344b069..0000000
--- a/.config/starship.toml
+++ /dev/null
@@ -1,23 +0,0 @@
-add_newline = false
-
-[directory]
-truncation_length = 15
-style = "cyan"
-
-[line_break]
-disabled = true
-
-[custom.docker]
-description = "Shows the docker symbol if the current directory has Dockerfile or docker-compose.yml files"
-command = "echo 🐳"
-files = ["Dockerfile", "docker-compose.yml", "docker-compose.yaml"]
-when = """ command -v docker &> /dev/null; exit (echo $?); """
-
-[custom.ssh_keys]
-description = "SSH key count"
-when = "ssh-add -l | grep -v -q 'no identities'"
-command = "ssh-add -l | grep -v 'no identities' | wc -l"
-format = "$symbol[$output]($style) "
-shell = ["bash", "--noprofile", "--norc"]
-symbol = "🔑"
-style = "bold fg:green"
diff --git a/.config/.alacritty.toml b/dot_alacritty.toml
index 23ea7cc..aa44a24 100644
--- a/.config/.alacritty.toml
+++ b/dot_alacritty.toml
@@ -54,10 +54,10 @@ foreground = "#f1f1f1"
size = 12.5
[font.normal]
-family = "FiraCode"
-style = "Mono"
+family = "FiraCodeNerdFont"
+style = "Regular"
[shell]
-args = ["new"]
-program = "/usr/bin/tmux"
-# program = "/home/santo/.cargo/bin/zellij"
+# args = ["new"]
+# program = "/usr/bin/tmux"
+program = "/usr/local/bin/zellij"
diff --git a/dot_clang-format b/dot_clang-format
new file mode 100644
index 0000000..0b87256
--- /dev/null
+++ b/dot_clang-format
@@ -0,0 +1,10 @@
+---
+AlwaysBreakAfterReturnType: All
+BasedOnStyle: Mozilla
+IndentWidth: 4
+IndentAccessModifiers: false
+AccessModifierOffset: -4
+Standard: Cpp11
+TabWidth: 4
+AlwaysBreakAfterDefinitionReturnType: All
+AlignAfterOpenBracket: BlockIndent
diff --git a/git/.gitconfig b/dot_gitconfig
index 081dc4c..081dc4c 100755..100644
--- a/git/.gitconfig
+++ b/dot_gitconfig
diff --git a/dot_gitignore b/dot_gitignore
new file mode 100644
index 0000000..7a6353d
--- /dev/null
+++ b/dot_gitignore
@@ -0,0 +1 @@
+.envrc
diff --git a/mutt/.mbsyncrc b/dot_mbsyncrc
index cb2ed55..cb2ed55 100644
--- a/mutt/.mbsyncrc
+++ b/dot_mbsyncrc
diff --git a/mutt/.neomutt/colors.muttrc b/dot_neomutt/colors.muttrc
index 750a86d..750a86d 100644
--- a/mutt/.neomutt/colors.muttrc
+++ b/dot_neomutt/colors.muttrc
diff --git a/mutt/.neomutt/first.email b/dot_neomutt/first.email
index c394da9..c394da9 100644
--- a/mutt/.neomutt/first.email
+++ b/dot_neomutt/first.email
diff --git a/mutt/.neomutt/mailcap b/dot_neomutt/mailcap
index dea866b..06f3de1 100644
--- a/mutt/.neomutt/mailcap
+++ b/dot_neomutt/mailcap
@@ -1,3 +1,4 @@
text/html; xdg-open %s &> /dev/null &; nametemplate=%s.html
application/*; xdg-open %s &> /dev/null &;
image/*; xdg-open %s &> /dev/null &;
+
diff --git a/mutt/.neomuttrc b/dot_neomuttrc
index 7ca9cde..7ca9cde 100644
--- a/mutt/.neomuttrc
+++ b/dot_neomuttrc
diff --git a/tmux/.tmux.conf b/dot_tmux.conf
index 68bd0dd..12655bc 100644
--- a/tmux/.tmux.conf
+++ b/dot_tmux.conf
@@ -13,12 +13,18 @@ set-option -s set-clipboard off
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy -se c -i"
+bind -n M-Left select-pane -L
+bind -n M-Right select-pane -R
+bind -n M-Up select-pane -U
+bind -n M-Down select-pane -D
+
+
set -g status-left ''
-#set -g status-right "%a %d/%m/%Y %H:%M"
+# set -g status-right "%a %d/%m/%Y %H:%M"
set -g status-right ''
-set -g status-bg colour234
-set -g status-fg yellow
+set -g status-bg colour82
+set -g status-fg colour16
set -g renumber-windows on
set -g history-file ~/.tmux_history
@@ -42,4 +48,3 @@ bind -r L resize-pane -R 10
# Source the vim tmuxline
#if-shell "test -f ~/.tmuxline" "source ~/.tmuxline"
-
diff --git a/.vimrc b/dot_vimrc
index 11022c7..0be5812 100755..100644
--- a/.vimrc
+++ b/dot_vimrc
@@ -14,7 +14,7 @@ set wildmode=full
set wildignore=*~,*.png,*.jpg,*.gif,Thumbs.db,*.min.js,*.swp,*.o,vendor,*.pyc
set number " number of the current line
-set relativenumber " relative number, ..-2 -1 x 1 2, where x is current line
+"set relativenumber " relative number, ..-2 -1 x 1 2, where x is current line
set textwidth=80
set colorcolumn=80
set nowrap
@@ -36,8 +36,8 @@ set incsearch
set nowritebackup
set laststatus=2
-set list " spaces as characters
-set listchars=eol:⏎,tab:»·,trail:ˑ,nbsp:⎵
+"set list " spaces as characters
+"set listchars=eol:⏎,tab:»·,trail:ˑ,nbsp:⎵
set foldmethod=indent
diff --git a/dot_zshrc b/dot_zshrc
new file mode 100644
index 0000000..b72323c
--- /dev/null
+++ b/dot_zshrc
@@ -0,0 +1,98 @@
+# now use Starship instead of oh-my-zsh theme
+export ZSH="/home/santo/.oh-my-zsh"
+# ZSH_THEME="pure"
+# ZSH_THEME="lukerandall"
+plugins=(
+ git
+ zsh-autosuggestions
+ zsh-syntax-highlighting
+ shrink-path
+ forgit
+ kubectl
+)
+
+source $ZSH/oh-my-zsh.sh
+
+eval "$(starship init zsh)"
+
+# export NVM_DIR="$HOME/.nvm"
+# [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
+# [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
+#
+export PATH=$PATH:/home/santo/.local/bin/:/usr/local/go/bin:/home/santo/go/bin/
+
+[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
+
+export WORKON_HOME=$HOME/.virtualenvs
+# source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
+
+eval "$(direnv hook zsh)"
+eval "$(zoxide init zsh)"
+
+# Install Ruby Gems to ~/gems
+export GEM_HOME="$HOME/.gems"
+export PATH="$HOME/.gem/ruby/2.7.0/bin:$PATH"
+
+# Java stuff
+export PATH=$PATH:/opt/gradle/gradle-7.4/bin
+
+# Scala
+export PATH="$PATH:/home/santo/.local/share/coursier/bin"
+
+alias mutt=neomutt
+alias gap="git add -p"
+alias cat="bat -p"
+alias ls=lsd
+# alias vim=nvim
+export TERM=xterm-256color
+
+fpath+=${ZDOTDIR:-~}/.zsh_functions
+
+# Generated for envman. Do not edit.
+[ -s "$HOME/.config/envman/load.sh" ] && source "$HOME/.config/envman/load.sh"
+
+export PATH="$HOME/.poetry/bin:/usr/bin/jolie:$PATH"
+export JOLIE_HOME="/usr/lib/jolie"
+# export PATH="$HOME/.virtualenvs/cc/bin/path:$PATH"
+export DFT_DISPLAY=inline
+eval "$(atuin init zsh)"
+#eval `ssh-agent -s` > /dev/null
+xsetroot -solid "#080808"
+
+source "$HOME/.cargo/env"
+
+# fnm
+export PATH="/home/santo/.local/share/fnm:$PATH"
+eval "`fnm env`"
+
+# OCaml
+eval $(opam env)
+
+# Zig
+# export PATH="$PATH:/home/santo/Downloads/zig-linux-x86_64-0.12.0-dev.3381+7057bffc1"
+
+# jdtls
+export PATH="$PATH:/home/santo/Downloads/jdtls/bin"
+
+# Debian
+export DEBFULLNAME="Santo Cariotti"
+export DEBEMAIL="santo@dcariotti.me"
+
+
+# export BAT_THEME="gruvbox-light"
+export BAT_THEME="gruvbox-dark"
+
+# pnpm
+export PNPM_HOME="/home/santo/.local/share/pnpm"
+case ":$PATH:" in
+ *":$PNPM_HOME:"*) ;;
+ *) export PATH="$PNPM_HOME:$PATH" ;;
+esac
+
+alias npm=pnpm
+# pnpm end
+
+# UV
+alias uvx="uv tool run"
+
+
diff --git a/newsboat/config b/newsboat/config
deleted file mode 100644
index 710b41f..0000000
--- a/newsboat/config
+++ /dev/null
@@ -1,27 +0,0 @@
-show-read-feeds true
-
-unbind-key J
-unbind-key K
-unbind-key n
-unbind-key p
-unbind-key l
-unbind-key R
-
-bind-key j down
-bind-key k up
-bind-key J next-unread
-bind-key K prev-unread
-bind-key l next
-bind-key h prev
-bind-key L toggle-show-read-feeds
-bind-key S reload-all
-bind-key i quit # I often use this instead of 'q'
-bind-key SPACE open
-
-color listnormal color15 black
-color listfocus color120 color236 bold
-color listnormal_unread color48 black
-color listfocus_unread color120 color236 bold
-color info color232 color49 reverse
-
-browser "xdg-open '%u'"
diff --git a/private_dot_config/atuin/config.toml b/private_dot_config/atuin/config.toml
new file mode 100644
index 0000000..b84151a
--- /dev/null
+++ b/private_dot_config/atuin/config.toml
@@ -0,0 +1,92 @@
+## where to store your database, default is your system data directory
+## linux/mac: ~/.local/share/atuin/history.db
+## windows: %USERPROFILE%/.local/share/atuin/history.db
+# db_path = "~/.history.db"
+
+## where to store your encryption key, default is your system data directory
+## linux/mac: ~/.local/share/atuin/key
+## windows: %USERPROFILE%/.local/share/atuin/key
+# key_path = "~/.key"
+
+## where to store your auth session token, default is your system data directory
+## linux/mac: ~/.local/share/atuin/session
+## windows: %USERPROFILE%/.local/share/atuin/session
+# session_path = "~/.session"
+
+## date format used, either "us" or "uk"
+# dialect = "us"
+
+## enable or disable automatic sync
+# auto_sync = true
+
+## enable or disable automatic update checks
+# update_check = true
+
+## address of the sync server
+# sync_address = "https://api.atuin.sh"
+
+## how often to sync history. note that this is only triggered when a command
+## is ran, so sync intervals may well be longer
+## set it to 0 to sync after every command
+# sync_frequency = "1h"
+
+## which search mode to use
+## possible values: prefix, fulltext, fuzzy, skim
+# search_mode = "fuzzy"
+
+## which filter mode to use
+## possible values: global, host, session, directory
+# filter_mode = "global"
+
+## which filter mode to use when atuin is invoked from a shell up-key binding
+## the accepted values are identical to those of "filter_mode"
+## leave unspecified to use same mode set in "filter_mode"
+# filter_mode_shell_up_key_binding = "global"
+
+## which style to use
+## possible values: auto, full, compact
+# style = "auto"
+
+## the maximum number of lines the interface should take up
+## set it to 0 to always go full screen
+# inline_height = 0
+
+## enable or disable showing a preview of the selected command
+## useful when the command is longer than the terminal width and is cut off
+# show_preview = false
+
+## what to do when the escape key is pressed when searching
+## possible values: return-original, return-query
+# exit_mode = "return-original"
+
+## possible values: emacs, subl
+# word_jump_mode = "emacs"
+
+## characters that count as a part of a word
+# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+
+## number of context lines to show when scrolling by pages
+# scroll_context_lines = 1
+
+## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts
+## alt-0 .. alt-9
+# ctrl_n_shortcuts = false
+
+## prevent commands matching any of these regexes from being written to history.
+## Note that these regular expressions are unanchored, i.e. if they don't start
+## with ^ or end with $, they'll match anywhere in the command.
+## For details on the supported regular expression syntax, see
+## https://docs.rs/regex/latest/regex/#syntax
+# history_filter = [
+# "^secret-cmd",
+# "^innocuous-cmd .*--secret=.+"
+# ]
+
+## prevent commands run with cwd matching any of these regexes from being written
+## to history. Note that these regular expressions are unanchored, i.e. if they don't
+## start with ^ or end with $, they'll match anywhere in CWD.
+## For details on the supported regular expression syntax, see
+## https://docs.rs/regex/latest/regex/#syntax
+# cwd_filter = [
+# "^/very/secret/area"
+# ]
diff --git a/private_dot_config/gh/config.yml b/private_dot_config/gh/config.yml
new file mode 100644
index 0000000..aaec3a0
--- /dev/null
+++ b/private_dot_config/gh/config.yml
@@ -0,0 +1,12 @@
+# What protocol to use when performing git operations. Supported values: ssh, https
+git_protocol: https
+# What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment.
+editor: nvim
+# When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled
+prompt: enabled
+# A pager program to send command output to, e.g. "less". Set the value to "cat" to disable the pager.
+pager:
+# Aliases allow you to create nicknames for gh commands
+aliases:
+ co: pr checkout
+version: "1"
diff --git a/.config/i3/config b/private_dot_config/i3/config
index bd31c31..bd31c31 100644
--- a/.config/i3/config
+++ b/private_dot_config/i3/config
diff --git a/.config/i3blocks/config b/private_dot_config/i3blocks/config
index d099c7c..d099c7c 100644
--- a/.config/i3blocks/config
+++ b/private_dot_config/i3blocks/config
diff --git a/.config/i3blocks/i3_battery.sh b/private_dot_config/i3blocks/i3_battery.sh
index 97ea493..97ea493 100755..100644
--- a/.config/i3blocks/i3_battery.sh
+++ b/private_dot_config/i3blocks/i3_battery.sh
diff --git a/.config/iamb/config.toml b/private_dot_config/iamb/config.toml
index 0999ca5..0999ca5 100644
--- a/.config/iamb/config.toml
+++ b/private_dot_config/iamb/config.toml
diff --git a/.config/nvim/after/ftdetect/antlr4.vim b/private_dot_config/nvim/after/ftdetect/antlr4.vim
index d4d39a1..d4d39a1 100644
--- a/.config/nvim/after/ftdetect/antlr4.vim
+++ b/private_dot_config/nvim/after/ftdetect/antlr4.vim
diff --git a/.config/nvim/after/ftdetect/jolie.vim b/private_dot_config/nvim/after/ftdetect/jolie.vim
index efa43f7..efa43f7 100644
--- a/.config/nvim/after/ftdetect/jolie.vim
+++ b/private_dot_config/nvim/after/ftdetect/jolie.vim
diff --git a/.config/nvim/after/ftdetect/prr.vim b/private_dot_config/nvim/after/ftdetect/prr.vim
index 15a474c..15a474c 100755..100644
--- a/.config/nvim/after/ftdetect/prr.vim
+++ b/private_dot_config/nvim/after/ftdetect/prr.vim
diff --git a/.config/nvim/after/ftplugin/dockerfile.vim b/private_dot_config/nvim/after/ftplugin/dockerfile.vim
index b388056..b388056 100755..100644
--- a/.config/nvim/after/ftplugin/dockerfile.vim
+++ b/private_dot_config/nvim/after/ftplugin/dockerfile.vim
diff --git a/.config/nvim/after/ftplugin/json.vim b/private_dot_config/nvim/after/ftplugin/json.vim
index b388056..b388056 100755..100644
--- a/.config/nvim/after/ftplugin/json.vim
+++ b/private_dot_config/nvim/after/ftplugin/json.vim
diff --git a/.config/nvim/after/ftplugin/markdown.vim b/private_dot_config/nvim/after/ftplugin/markdown.vim
index b388056..b388056 100755..100644
--- a/.config/nvim/after/ftplugin/markdown.vim
+++ b/private_dot_config/nvim/after/ftplugin/markdown.vim
diff --git a/.config/nvim/after/syntax/antlr4.vim b/private_dot_config/nvim/after/syntax/antlr4.vim
index 8f6c412..8f6c412 100644
--- a/.config/nvim/after/syntax/antlr4.vim
+++ b/private_dot_config/nvim/after/syntax/antlr4.vim
diff --git a/.config/nvim/after/syntax/jolie.vim b/private_dot_config/nvim/after/syntax/jolie.vim
index c7b3a21..c7b3a21 100644
--- a/.config/nvim/after/syntax/jolie.vim
+++ b/private_dot_config/nvim/after/syntax/jolie.vim
diff --git a/.config/nvim/after/syntax/prr.vim b/private_dot_config/nvim/after/syntax/prr.vim
index 43a0557..43a0557 100755..100644
--- a/.config/nvim/after/syntax/prr.vim
+++ b/private_dot_config/nvim/after/syntax/prr.vim
diff --git a/private_dot_config/nvim/colors/gruvbox.vim.old b/private_dot_config/nvim/colors/gruvbox.vim.old
new file mode 100644
index 0000000..66246fb
--- /dev/null
+++ b/private_dot_config/nvim/colors/gruvbox.vim.old
@@ -0,0 +1,1418 @@
+" -----------------------------------------------------------------------------
+" File: gruvbox.vim
+" Description: Retro groove color scheme for Vim
+" Author: morhetz <morhetz@gmail.com>
+" Source: https://github.com/morhetz/gruvbox
+" Last Modified: 12 Aug 2017
+" -----------------------------------------------------------------------------
+
+" Supporting code -------------------------------------------------------------
+" Initialisation: {{{
+
+if version > 580
+ hi clear
+ if exists("syntax_on")
+ syntax reset
+ endif
+endif
+
+let g:colors_name='gruvbox'
+
+if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256
+ finish
+endif
+
+" }}}
+" Global Settings: {{{
+
+if !exists('g:gruvbox_bold')
+ let g:gruvbox_bold=1
+endif
+if !exists('g:gruvbox_italic')
+ if has('gui_running') || $TERM_ITALICS == 'true'
+ let g:gruvbox_italic=1
+ else
+ let g:gruvbox_italic=0
+ endif
+endif
+if !exists('g:gruvbox_undercurl')
+ let g:gruvbox_undercurl=1
+endif
+if !exists('g:gruvbox_underline')
+ let g:gruvbox_underline=1
+endif
+if !exists('g:gruvbox_inverse')
+ let g:gruvbox_inverse=1
+endif
+
+if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1
+ let g:gruvbox_guisp_fallback='NONE'
+endif
+
+if !exists('g:gruvbox_improved_strings')
+ let g:gruvbox_improved_strings=0
+endif
+
+if !exists('g:gruvbox_improved_warnings')
+ let g:gruvbox_improved_warnings=0
+endif
+
+if !exists('g:gruvbox_termcolors')
+ let g:gruvbox_termcolors=256
+endif
+
+if !exists('g:gruvbox_invert_indent_guides')
+ let g:gruvbox_invert_indent_guides=0
+endif
+
+if exists('g:gruvbox_contrast')
+ echo 'g:gruvbox_contrast is deprecated; use g:gruvbox_contrast_light and g:gruvbox_contrast_dark instead'
+endif
+
+if !exists('g:gruvbox_contrast_dark')
+ let g:gruvbox_contrast_dark='medium'
+endif
+
+if !exists('g:gruvbox_contrast_light')
+ let g:gruvbox_contrast_light='medium'
+endif
+
+let s:is_dark=(&background == 'dark')
+
+" }}}
+" Palette: {{{
+
+" setup palette dictionary
+let s:gb = {}
+
+" fill it with absolute colors
+let s:gb.dark0_hard = ['#1d2021', 234] " 29-32-33
+let s:gb.dark0 = ['#282828', 235] " 40-40-40
+let s:gb.dark0_soft = ['#32302f', 236] " 50-48-47
+let s:gb.dark1 = ['#3c3836', 237] " 60-56-54
+let s:gb.dark2 = ['#504945', 239] " 80-73-69
+let s:gb.dark3 = ['#665c54', 241] " 102-92-84
+let s:gb.dark4 = ['#7c6f64', 243] " 124-111-100
+let s:gb.dark4_256 = ['#7c6f64', 243] " 124-111-100
+
+let s:gb.gray_245 = ['#928374', 245] " 146-131-116
+let s:gb.gray_244 = ['#928374', 244] " 146-131-116
+
+let s:gb.light0_hard = ['#f9f5d7', 230] " 249-245-215
+let s:gb.light0 = ['#fbf1c7', 229] " 253-244-193
+let s:gb.light0_soft = ['#f2e5bc', 228] " 242-229-188
+let s:gb.light1 = ['#ebdbb2', 223] " 235-219-178
+let s:gb.light2 = ['#d5c4a1', 250] " 213-196-161
+let s:gb.light3 = ['#bdae93', 248] " 189-174-147
+let s:gb.light4 = ['#a89984', 246] " 168-153-132
+let s:gb.light4_256 = ['#a89984', 246] " 168-153-132
+
+let s:gb.bright_red = ['#fb4934', 167] " 251-73-52
+let s:gb.bright_green = ['#b8bb26', 142] " 184-187-38
+let s:gb.bright_yellow = ['#fabd2f', 214] " 250-189-47
+let s:gb.bright_blue = ['#83a598', 109] " 131-165-152
+let s:gb.bright_purple = ['#d3869b', 175] " 211-134-155
+let s:gb.bright_aqua = ['#8ec07c', 108] " 142-192-124
+let s:gb.bright_orange = ['#fe8019', 208] " 254-128-25
+
+let s:gb.neutral_red = ['#cc241d', 124] " 204-36-29
+let s:gb.neutral_green = ['#98971a', 106] " 152-151-26
+let s:gb.neutral_yellow = ['#d79921', 172] " 215-153-33
+let s:gb.neutral_blue = ['#458588', 66] " 69-133-136
+let s:gb.neutral_purple = ['#b16286', 132] " 177-98-134
+let s:gb.neutral_aqua = ['#689d6a', 72] " 104-157-106
+let s:gb.neutral_orange = ['#d65d0e', 166] " 214-93-14
+
+let s:gb.faded_red = ['#9d0006', 88] " 157-0-6
+let s:gb.faded_green = ['#79740e', 100] " 121-116-14
+let s:gb.faded_yellow = ['#b57614', 136] " 181-118-20
+let s:gb.faded_blue = ['#076678', 24] " 7-102-120
+let s:gb.faded_purple = ['#8f3f71', 96] " 143-63-113
+let s:gb.faded_aqua = ['#427b58', 66] " 66-123-88
+let s:gb.faded_orange = ['#af3a03', 130] " 175-58-3
+
+" }}}
+" Setup Emphasis: {{{
+
+let s:bold = 'bold,'
+if g:gruvbox_bold == 0
+ let s:bold = ''
+endif
+
+let s:italic = 'italic,'
+if g:gruvbox_italic == 0
+ let s:italic = ''
+endif
+
+let s:underline = 'underline,'
+if g:gruvbox_underline == 0
+ let s:underline = ''
+endif
+
+let s:undercurl = 'undercurl,'
+if g:gruvbox_undercurl == 0
+ let s:undercurl = ''
+endif
+
+let s:inverse = 'inverse,'
+if g:gruvbox_inverse == 0
+ let s:inverse = ''
+endif
+
+" }}}
+" Setup Colors: {{{
+
+let s:vim_bg = ['bg', 'bg']
+let s:vim_fg = ['fg', 'fg']
+let s:none = ['NONE', 'NONE']
+
+" determine relative colors
+if s:is_dark
+ let s:bg0 = s:gb.dark0
+ if g:gruvbox_contrast_dark == 'soft'
+ let s:bg0 = s:gb.dark0_soft
+ elseif g:gruvbox_contrast_dark == 'hard'
+ let s:bg0 = s:gb.dark0_hard
+ endif
+
+ let s:bg1 = s:gb.dark1
+ let s:bg2 = s:gb.dark2
+ let s:bg3 = s:gb.dark3
+ let s:bg4 = s:gb.dark4
+
+ let s:gray = s:gb.gray_245
+
+ let s:fg0 = s:gb.light0
+ let s:fg1 = s:gb.light1
+ let s:fg2 = s:gb.light2
+ let s:fg3 = s:gb.light3
+ let s:fg4 = s:gb.light4
+
+ let s:fg4_256 = s:gb.light4_256
+
+ let s:red = s:gb.bright_red
+ let s:green = s:gb.bright_green
+ let s:yellow = s:gb.bright_yellow
+ let s:blue = s:gb.bright_blue
+ let s:purple = s:gb.bright_purple
+ let s:aqua = s:gb.bright_aqua
+ let s:orange = s:gb.bright_orange
+else
+ let s:bg0 = s:gb.light0
+ if g:gruvbox_contrast_light == 'soft'
+ let s:bg0 = s:gb.light0_soft
+ elseif g:gruvbox_contrast_light == 'hard'
+ let s:bg0 = s:gb.light0_hard
+ endif
+
+ let s:bg1 = s:gb.light1
+ let s:bg2 = s:gb.light2
+ let s:bg3 = s:gb.light3
+ let s:bg4 = s:gb.light4
+
+ let s:gray = s:gb.gray_244
+
+ let s:fg0 = s:gb.dark0
+ let s:fg1 = s:gb.dark1
+ let s:fg2 = s:gb.dark2
+ let s:fg3 = s:gb.dark3
+ let s:fg4 = s:gb.dark4
+
+ let s:fg4_256 = s:gb.dark4_256
+
+ let s:red = s:gb.faded_red
+ let s:green = s:gb.faded_green
+ let s:yellow = s:gb.faded_yellow
+ let s:blue = s:gb.faded_blue
+ let s:purple = s:gb.faded_purple
+ let s:aqua = s:gb.faded_aqua
+ let s:orange = s:gb.faded_orange
+endif
+
+" reset to 16 colors fallback
+if g:gruvbox_termcolors == 16
+ let s:bg0[1] = 0
+ let s:fg4[1] = 7
+ let s:gray[1] = 8
+ let s:red[1] = 9
+ let s:green[1] = 10
+ let s:yellow[1] = 11
+ let s:blue[1] = 12
+ let s:purple[1] = 13
+ let s:aqua[1] = 14
+ let s:fg1[1] = 15
+endif
+
+" save current relative colors back to palette dictionary
+let s:gb.bg0 = s:bg0
+let s:gb.bg1 = s:bg1
+let s:gb.bg2 = s:bg2
+let s:gb.bg3 = s:bg3
+let s:gb.bg4 = s:bg4
+
+let s:gb.gray = s:gray
+
+let s:gb.fg0 = s:fg0
+let s:gb.fg1 = s:fg1
+let s:gb.fg2 = s:fg2
+let s:gb.fg3 = s:fg3
+let s:gb.fg4 = s:fg4
+
+let s:gb.fg4_256 = s:fg4_256
+
+let s:gb.red = s:red
+let s:gb.green = s:green
+let s:gb.yellow = s:yellow
+let s:gb.blue = s:blue
+let s:gb.purple = s:purple
+let s:gb.aqua = s:aqua
+let s:gb.orange = s:orange
+
+" }}}
+" Setup Terminal Colors For Neovim: {{{
+
+if has('nvim')
+ let g:terminal_color_0 = s:bg0[0]
+ let g:terminal_color_8 = s:gray[0]
+
+ let g:terminal_color_1 = s:gb.neutral_red[0]
+ let g:terminal_color_9 = s:red[0]
+
+ let g:terminal_color_2 = s:gb.neutral_green[0]
+ let g:terminal_color_10 = s:green[0]
+
+ let g:terminal_color_3 = s:gb.neutral_yellow[0]
+ let g:terminal_color_11 = s:yellow[0]
+
+ let g:terminal_color_4 = s:gb.neutral_blue[0]
+ let g:terminal_color_12 = s:blue[0]
+
+ let g:terminal_color_5 = s:gb.neutral_purple[0]
+ let g:terminal_color_13 = s:purple[0]
+
+ let g:terminal_color_6 = s:gb.neutral_aqua[0]
+ let g:terminal_color_14 = s:aqua[0]
+
+ let g:terminal_color_7 = s:fg4[0]
+ let g:terminal_color_15 = s:fg1[0]
+endif
+
+" }}}
+" Overload Setting: {{{
+
+let s:hls_cursor = s:orange
+if exists('g:gruvbox_hls_cursor')
+ let s:hls_cursor = get(s:gb, g:gruvbox_hls_cursor)
+endif
+
+let s:number_column = s:none
+if exists('g:gruvbox_number_column')
+ let s:number_column = get(s:gb, g:gruvbox_number_column)
+endif
+
+let s:sign_column = s:bg1
+
+if exists('g:gitgutter_override_sign_column_highlight') &&
+ \ g:gitgutter_override_sign_column_highlight == 1
+ let s:sign_column = s:number_column
+else
+ let g:gitgutter_override_sign_column_highlight = 0
+
+ if exists('g:gruvbox_sign_column')
+ let s:sign_column = get(s:gb, g:gruvbox_sign_column)
+ endif
+endif
+
+let s:color_column = s:bg1
+if exists('g:gruvbox_color_column')
+ let s:color_column = get(s:gb, g:gruvbox_color_column)
+endif
+
+let s:vert_split = s:bg0
+if exists('g:gruvbox_vert_split')
+ let s:vert_split = get(s:gb, g:gruvbox_vert_split)
+endif
+
+let s:invert_signs = ''
+if exists('g:gruvbox_invert_signs')
+ if g:gruvbox_invert_signs == 1
+ let s:invert_signs = s:inverse
+ endif
+endif
+
+let s:invert_selection = s:inverse
+if exists('g:gruvbox_invert_selection')
+ if g:gruvbox_invert_selection == 0
+ let s:invert_selection = ''
+ endif
+endif
+
+let s:invert_tabline = ''
+if exists('g:gruvbox_invert_tabline')
+ if g:gruvbox_invert_tabline == 1
+ let s:invert_tabline = s:inverse
+ endif
+endif
+
+let s:italicize_comments = s:italic
+if exists('g:gruvbox_italicize_comments')
+ if g:gruvbox_italicize_comments == 0
+ let s:italicize_comments = ''
+ endif
+endif
+
+let s:italicize_strings = ''
+if exists('g:gruvbox_italicize_strings')
+ if g:gruvbox_italicize_strings == 1
+ let s:italicize_strings = s:italic
+ endif
+endif
+
+" }}}
+" Highlighting Function: {{{
+
+function! s:HL(group, fg, ...)
+ " Arguments: group, guifg, guibg, gui, guisp
+
+ " foreground
+ let fg = a:fg
+
+ " background
+ if a:0 >= 1
+ let bg = a:1
+ else
+ let bg = s:none
+ endif
+
+ " emphasis
+ if a:0 >= 2 && strlen(a:2)
+ let emstr = a:2
+ else
+ let emstr = 'NONE,'
+ endif
+
+ " special fallback
+ if a:0 >= 3
+ if g:gruvbox_guisp_fallback != 'NONE'
+ let fg = a:3
+ endif
+
+ " bg fallback mode should invert higlighting
+ if g:gruvbox_guisp_fallback == 'bg'
+ let emstr .= 'inverse,'
+ endif
+ endif
+
+ let histring = [ 'hi', a:group,
+ \ 'guifg=' . fg[0], 'ctermfg=' . fg[1],
+ \ 'guibg=' . bg[0], 'ctermbg=' . bg[1],
+ \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2]
+ \ ]
+
+ " special
+ if a:0 >= 3
+ call add(histring, 'guisp=' . a:3[0])
+ endif
+
+ execute join(histring, ' ')
+endfunction
+
+" }}}
+" Gruvbox Hi Groups: {{{
+
+" memoize common hi groups
+call s:HL('GruvboxFg0', s:fg0)
+call s:HL('GruvboxFg1', s:fg1)
+call s:HL('GruvboxFg2', s:fg2)
+call s:HL('GruvboxFg3', s:fg3)
+call s:HL('GruvboxFg4', s:fg4)
+call s:HL('GruvboxGray', s:gray)
+call s:HL('GruvboxBg0', s:bg0)
+call s:HL('GruvboxBg1', s:bg1)
+call s:HL('GruvboxBg2', s:bg2)
+call s:HL('GruvboxBg3', s:bg3)
+call s:HL('GruvboxBg4', s:bg4)
+
+call s:HL('GruvboxRed', s:red)
+call s:HL('GruvboxRedBold', s:red, s:none, s:bold)
+call s:HL('GruvboxGreen', s:green)
+call s:HL('GruvboxGreenBold', s:green, s:none, s:bold)
+call s:HL('GruvboxYellow', s:yellow)
+call s:HL('GruvboxYellowBold', s:yellow, s:none, s:bold)
+call s:HL('GruvboxBlue', s:blue)
+call s:HL('GruvboxBlueBold', s:blue, s:none, s:bold)
+call s:HL('GruvboxPurple', s:purple)
+call s:HL('GruvboxPurpleBold', s:purple, s:none, s:bold)
+call s:HL('GruvboxAqua', s:aqua)
+call s:HL('GruvboxAquaBold', s:aqua, s:none, s:bold)
+call s:HL('GruvboxOrange', s:orange)
+call s:HL('GruvboxOrangeBold', s:orange, s:none, s:bold)
+
+call s:HL('GruvboxRedSign', s:red, s:sign_column, s:invert_signs)
+call s:HL('GruvboxGreenSign', s:green, s:sign_column, s:invert_signs)
+call s:HL('GruvboxYellowSign', s:yellow, s:sign_column, s:invert_signs)
+call s:HL('GruvboxBlueSign', s:blue, s:sign_column, s:invert_signs)
+call s:HL('GruvboxPurpleSign', s:purple, s:sign_column, s:invert_signs)
+call s:HL('GruvboxAquaSign', s:aqua, s:sign_column, s:invert_signs)
+call s:HL('GruvboxOrangeSign', s:orange, s:sign_column, s:invert_signs)
+
+" }}}
+
+" Vanilla colorscheme ---------------------------------------------------------
+" General UI: {{{
+
+" Normal text
+call s:HL('Normal', s:fg1, s:bg0)
+
+" Correct background (see issue #7):
+" --- Problem with changing between dark and light on 256 color terminal
+" --- https://github.com/morhetz/gruvbox/issues/7
+if s:is_dark
+ set background=dark
+else
+ set background=light
+endif
+
+if version >= 700
+ " Screen line that the cursor is
+ call s:HL('CursorLine', s:none, s:bg1)
+ " Screen column that the cursor is
+ hi! link CursorColumn CursorLine
+
+ " Tab pages line filler
+ call s:HL('TabLineFill', s:bg4, s:bg1, s:invert_tabline)
+ " Active tab page label
+ call s:HL('TabLineSel', s:green, s:bg1, s:invert_tabline)
+ " Not active tab page label
+ hi! link TabLine TabLineFill
+
+ " Match paired bracket under the cursor
+ call s:HL('MatchParen', s:none, s:bg3, s:bold)
+endif
+
+if version >= 703
+ " Highlighted screen columns
+ call s:HL('ColorColumn', s:none, s:color_column)
+
+ " Concealed element: \lambda → λ
+ call s:HL('Conceal', s:blue, s:none)
+
+ " Line number of CursorLine
+ call s:HL('CursorLineNr', s:yellow, s:bg1)
+endif
+
+hi! link NonText GruvboxBg2
+hi! link SpecialKey GruvboxBg2
+
+call s:HL('Visual', s:none, s:bg3, s:invert_selection)
+hi! link VisualNOS Visual
+
+call s:HL('Search', s:yellow, s:bg0, s:inverse)
+call s:HL('IncSearch', s:hls_cursor, s:bg0, s:inverse)
+
+call s:HL('Underlined', s:blue, s:none, s:underline)
+
+call s:HL('StatusLine', s:bg2, s:fg1, s:inverse)
+call s:HL('StatusLineNC', s:bg1, s:fg4, s:inverse)
+
+" The column separating vertically split windows
+call s:HL('VertSplit', s:bg3, s:vert_split)
+
+" Current match in wildmenu completion
+call s:HL('WildMenu', s:blue, s:bg2, s:bold)
+
+" Directory names, special names in listing
+hi! link Directory GruvboxGreenBold
+
+" Titles for output from :set all, :autocmd, etc.
+hi! link Title GruvboxGreenBold
+
+" Error messages on the command line
+call s:HL('ErrorMsg', s:bg0, s:red, s:bold)
+" More prompt: -- More --
+hi! link MoreMsg GruvboxYellowBold
+" Current mode message: -- INSERT --
+hi! link ModeMsg GruvboxYellowBold
+" 'Press enter' prompt and yes/no questions
+hi! link Question GruvboxOrangeBold
+" Warning messages
+hi! link WarningMsg GruvboxRedBold
+
+" }}}
+" Gutter: {{{
+
+" Line number for :number and :# commands
+call s:HL('LineNr', s:bg4, s:number_column)
+
+" Column where signs are displayed
+call s:HL('SignColumn', s:none, s:sign_column)
+
+" Line used for closed folds
+call s:HL('Folded', s:gray, s:bg1, s:italic)
+" Column where folds are displayed
+call s:HL('FoldColumn', s:gray, s:bg1)
+
+" }}}
+" Cursor: {{{
+
+" Character under cursor
+call s:HL('Cursor', s:none, s:none, s:inverse)
+" Visual mode cursor, selection
+hi! link vCursor Cursor
+" Input moder cursor
+hi! link iCursor Cursor
+" Language mapping cursor
+hi! link lCursor Cursor
+
+" }}}
+" Syntax Highlighting: {{{
+
+if g:gruvbox_improved_strings == 0
+ hi! link Special GruvboxOrange
+else
+ call s:HL('Special', s:orange, s:bg1, s:italicize_strings)
+endif
+
+call s:HL('Comment', s:gray, s:none, s:italicize_comments)
+call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic)
+call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse)
+
+" Generic statement
+hi! link Statement GruvboxRed
+" if, then, else, endif, swicth, etc.
+hi! link Conditional GruvboxRed
+" for, do, while, etc.
+hi! link Repeat GruvboxRed
+" case, default, etc.
+hi! link Label GruvboxRed
+" try, catch, throw
+hi! link Exception GruvboxRed
+" sizeof, "+", "*", etc.
+hi! link Operator Normal
+" Any other keyword
+hi! link Keyword GruvboxRed
+
+" Variable name
+hi! link Identifier GruvboxBlue
+" Function name
+hi! link Function GruvboxGreenBold
+
+" Generic preprocessor
+hi! link PreProc GruvboxAqua
+" Preprocessor #include
+hi! link Include GruvboxAqua
+" Preprocessor #define
+hi! link Define GruvboxAqua
+" Same as Define
+hi! link Macro GruvboxAqua
+" Preprocessor #if, #else, #endif, etc.
+hi! link PreCondit GruvboxAqua
+
+" Generic constant
+hi! link Constant GruvboxPurple
+" Character constant: 'c', '/n'
+hi! link Character GruvboxPurple
+" String constant: "this is a string"
+if g:gruvbox_improved_strings == 0
+ call s:HL('String', s:green, s:none, s:italicize_strings)
+else
+ call s:HL('String', s:fg1, s:bg1, s:italicize_strings)
+endif
+" Boolean constant: TRUE, false
+hi! link Boolean GruvboxPurple
+" Number constant: 234, 0xff
+hi! link Number GruvboxPurple
+" Floating point constant: 2.3e10
+hi! link Float GruvboxPurple
+
+" Generic type
+hi! link Type GruvboxYellow
+" static, register, volatile, etc
+hi! link StorageClass GruvboxOrange
+" struct, union, enum, etc.
+hi! link Structure GruvboxAqua
+" typedef
+hi! link Typedef GruvboxYellow
+
+" }}}
+" Completion Menu: {{{
+
+if version >= 700
+ " Popup menu: normal item
+ call s:HL('Pmenu', s:fg1, s:bg2)
+ " Popup menu: selected item
+ call s:HL('PmenuSel', s:bg2, s:blue, s:bold)
+ " Popup menu: scrollbar
+ call s:HL('PmenuSbar', s:none, s:bg2)
+ " Popup menu: scrollbar thumb
+ call s:HL('PmenuThumb', s:none, s:bg4)
+endif
+
+" }}}
+" Diffs: {{{
+
+call s:HL('DiffDelete', s:red, s:bg0, s:inverse)
+call s:HL('DiffAdd', s:green, s:bg0, s:inverse)
+"call s:HL('DiffChange', s:bg0, s:blue)
+"call s:HL('DiffText', s:bg0, s:yellow)
+
+" Alternative setting
+call s:HL('DiffChange', s:aqua, s:bg0, s:inverse)
+call s:HL('DiffText', s:yellow, s:bg0, s:inverse)
+
+" }}}
+" Spelling: {{{
+
+if has("spell")
+ " Not capitalised word, or compile warnings
+ if g:gruvbox_improved_warnings == 0
+ call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red)
+ else
+ call s:HL('SpellCap', s:green, s:none, s:bold . s:italic)
+ endif
+ " Not recognized word
+ call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue)
+ " Wrong spelling for selected region
+ call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua)
+ " Rare word
+ call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple)
+endif
+
+" }}}
+
+" Plugin specific -------------------------------------------------------------
+" EasyMotion: {{{
+
+hi! link EasyMotionTarget Search
+hi! link EasyMotionShade Comment
+
+" }}}
+" Sneak: {{{
+
+hi! link Sneak Search
+hi! link SneakLabel Search
+
+" }}}
+" Indent Guides: {{{
+
+if !exists('g:indent_guides_auto_colors')
+ let g:indent_guides_auto_colors = 0
+endif
+
+if g:indent_guides_auto_colors == 0
+ if g:gruvbox_invert_indent_guides == 0
+ call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2)
+ call s:HL('IndentGuidesEven', s:vim_bg, s:bg1)
+ else
+ call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse)
+ call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse)
+ endif
+endif
+
+" }}}
+" IndentLine: {{{
+
+if !exists('g:indentLine_color_term')
+ let g:indentLine_color_term = s:bg2[1]
+endif
+if !exists('g:indentLine_color_gui')
+ let g:indentLine_color_gui = s:bg2[0]
+endif
+
+" }}}
+" Rainbow Parentheses: {{{
+
+if !exists('g:rbpt_colorpairs')
+ let g:rbpt_colorpairs =
+ \ [
+ \ ['blue', '#458588'], ['magenta', '#b16286'],
+ \ ['red', '#cc241d'], ['166', '#d65d0e']
+ \ ]
+endif
+
+let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ]
+let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ]
+
+if !exists('g:rainbow_conf')
+ let g:rainbow_conf = {}
+endif
+if !has_key(g:rainbow_conf, 'guifgs')
+ let g:rainbow_conf['guifgs'] = g:rainbow_guifgs
+endif
+if !has_key(g:rainbow_conf, 'ctermfgs')
+ let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs
+endif
+
+let g:niji_dark_colours = g:rbpt_colorpairs
+let g:niji_light_colours = g:rbpt_colorpairs
+
+"}}}
+" GitGutter: {{{
+
+hi! link GitGutterAdd GruvboxGreenSign
+hi! link GitGutterChange GruvboxAquaSign
+hi! link GitGutterDelete GruvboxRedSign
+hi! link GitGutterChangeDelete GruvboxAquaSign
+
+" }}}
+" GitCommit: "{{{
+
+hi! link gitcommitSelectedFile GruvboxGreen
+hi! link gitcommitDiscardedFile GruvboxRed
+
+" }}}
+" Signify: {{{
+
+hi! link SignifySignAdd GruvboxGreenSign
+hi! link SignifySignChange GruvboxAquaSign
+hi! link SignifySignDelete GruvboxRedSign
+
+" }}}
+" Syntastic: {{{
+
+call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red)
+call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow)
+
+hi! link SyntasticErrorSign GruvboxRedSign
+hi! link SyntasticWarningSign GruvboxYellowSign
+
+" }}}
+" Signature: {{{
+hi! link SignatureMarkText GruvboxBlueSign
+hi! link SignatureMarkerText GruvboxPurpleSign
+
+" }}}
+" ShowMarks: {{{
+
+hi! link ShowMarksHLl GruvboxBlueSign
+hi! link ShowMarksHLu GruvboxBlueSign
+hi! link ShowMarksHLo GruvboxBlueSign
+hi! link ShowMarksHLm GruvboxBlueSign
+
+" }}}
+" CtrlP: {{{
+
+hi! link CtrlPMatch GruvboxYellow
+hi! link CtrlPNoEntries GruvboxRed
+hi! link CtrlPPrtBase GruvboxBg2
+hi! link CtrlPPrtCursor GruvboxBlue
+hi! link CtrlPLinePre GruvboxBg2
+
+call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold)
+call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold)
+call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold)
+
+" }}}
+" Startify: {{{
+
+hi! link StartifyBracket GruvboxFg3
+hi! link StartifyFile GruvboxFg1
+hi! link StartifyNumber GruvboxBlue
+hi! link StartifyPath GruvboxGray
+hi! link StartifySlash GruvboxGray
+hi! link StartifySection GruvboxYellow
+hi! link StartifySpecial GruvboxBg2
+hi! link StartifyHeader GruvboxOrange
+hi! link StartifyFooter GruvboxBg2
+
+" }}}
+" Vimshell: {{{
+
+let g:vimshell_escape_colors = [
+ \ s:bg4[0], s:red[0], s:green[0], s:yellow[0],
+ \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0],
+ \ s:bg0[0], s:red[0], s:green[0], s:orange[0],
+ \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0]
+ \ ]
+
+" }}}
+" BufTabLine: {{{
+
+call s:HL('BufTabLineCurrent', s:bg0, s:fg4)
+call s:HL('BufTabLineActive', s:fg4, s:bg2)
+call s:HL('BufTabLineHidden', s:bg4, s:bg1)
+call s:HL('BufTabLineFill', s:bg0, s:bg0)
+
+" }}}
+" Asynchronous Lint Engine: {{{
+
+call s:HL('ALEError', s:none, s:none, s:undercurl, s:red)
+call s:HL('ALEWarning', s:none, s:none, s:undercurl, s:yellow)
+call s:HL('ALEInfo', s:none, s:none, s:undercurl, s:blue)
+
+hi! link ALEErrorSign GruvboxRedSign
+hi! link ALEWarningSign GruvboxYellowSign
+hi! link ALEInfoSign GruvboxBlueSign
+
+" }}}
+" Dirvish: {{{
+
+hi! link DirvishPathTail GruvboxAqua
+hi! link DirvishArg GruvboxYellow
+
+" }}}
+" Netrw: {{{
+
+hi! link netrwDir GruvboxAqua
+hi! link netrwClassify GruvboxAqua
+hi! link netrwLink GruvboxGray
+hi! link netrwSymLink GruvboxFg1
+hi! link netrwExe GruvboxYellow
+hi! link netrwComment GruvboxGray
+hi! link netrwList GruvboxBlue
+hi! link netrwHelpCmd GruvboxAqua
+hi! link netrwCmdSep GruvboxFg3
+hi! link netrwVersion GruvboxGreen
+
+" }}}
+" NERDTree: {{{
+
+hi! link NERDTreeDir GruvboxAqua
+hi! link NERDTreeDirSlash GruvboxAqua
+
+hi! link NERDTreeOpenable GruvboxOrange
+hi! link NERDTreeClosable GruvboxOrange
+
+hi! link NERDTreeFile GruvboxFg1
+hi! link NERDTreeExecFile GruvboxYellow
+
+hi! link NERDTreeUp GruvboxGray
+hi! link NERDTreeCWD GruvboxGreen
+hi! link NERDTreeHelp GruvboxFg1
+
+hi! link NERDTreeToggleOn GruvboxGreen
+hi! link NERDTreeToggleOff GruvboxRed
+
+" }}}
+" Vim Multiple Cursors: {{{
+
+call s:HL('multiple_cursors_cursor', s:none, s:none, s:inverse)
+call s:HL('multiple_cursors_visual', s:none, s:bg2)
+
+" }}}
+" coc.nvim: {{{
+
+hi! link CocErrorSign GruvboxRedSign
+hi! link CocWarningSign GruvboxOrangeSign
+hi! link CocInfoSign GruvboxYellowSign
+hi! link CocHintSign GruvboxBlueSign
+hi! link CocErrorFloat GruvboxRed
+hi! link CocWarningFloat GruvboxOrange
+hi! link CocInfoFloat GruvboxYellow
+hi! link CocHintFloat GruvboxBlue
+hi! link CocDiagnosticsError GruvboxRed
+hi! link CocDiagnosticsWarning GruvboxOrange
+hi! link CocDiagnosticsInfo GruvboxYellow
+hi! link CocDiagnosticsHint GruvboxBlue
+
+hi! link CocSelectedText GruvboxRed
+hi! link CocCodeLens GruvboxGray
+
+call s:HL('CocErrorHighlight', s:none, s:none, s:undercurl, s:red)
+call s:HL('CocWarningHighlight', s:none, s:none, s:undercurl, s:orange)
+call s:HL('CocInfoHighlight', s:none, s:none, s:undercurl, s:yellow)
+call s:HL('CocHintHighlight', s:none, s:none, s:undercurl, s:blue)
+
+" }}}
+
+" Filetype specific -----------------------------------------------------------
+" Diff: {{{
+
+hi! link diffAdded GruvboxGreen
+hi! link diffRemoved GruvboxRed
+hi! link diffChanged GruvboxAqua
+
+hi! link diffFile GruvboxOrange
+hi! link diffNewFile GruvboxYellow
+
+hi! link diffLine GruvboxBlue
+
+" }}}
+" Html: {{{
+
+hi! link htmlTag GruvboxBlue
+hi! link htmlEndTag GruvboxBlue
+
+hi! link htmlTagName GruvboxAquaBold
+hi! link htmlArg GruvboxAqua
+
+hi! link htmlScriptTag GruvboxPurple
+hi! link htmlTagN GruvboxFg1
+hi! link htmlSpecialTagName GruvboxAquaBold
+
+call s:HL('htmlLink', s:fg4, s:none, s:underline)
+
+hi! link htmlSpecialChar GruvboxOrange
+
+call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold)
+call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline)
+call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic)
+call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic)
+
+call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline)
+call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic)
+call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic)
+
+" }}}
+" Xml: {{{
+
+hi! link xmlTag GruvboxBlue
+hi! link xmlEndTag GruvboxBlue
+hi! link xmlTagName GruvboxBlue
+hi! link xmlEqual GruvboxBlue
+hi! link docbkKeyword GruvboxAquaBold
+
+hi! link xmlDocTypeDecl GruvboxGray
+hi! link xmlDocTypeKeyword GruvboxPurple
+hi! link xmlCdataStart GruvboxGray
+hi! link xmlCdataCdata GruvboxPurple
+hi! link dtdFunction GruvboxGray
+hi! link dtdTagName GruvboxPurple
+
+hi! link xmlAttrib GruvboxAqua
+hi! link xmlProcessingDelim GruvboxGray
+hi! link dtdParamEntityPunct GruvboxGray
+hi! link dtdParamEntityDPunct GruvboxGray
+hi! link xmlAttribPunct GruvboxGray
+
+hi! link xmlEntity GruvboxOrange
+hi! link xmlEntityPunct GruvboxOrange
+" }}}
+" Vim: {{{
+
+call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments)
+
+hi! link vimNotation GruvboxOrange
+hi! link vimBracket GruvboxOrange
+hi! link vimMapModKey GruvboxOrange
+hi! link vimFuncSID GruvboxFg3
+hi! link vimSetSep GruvboxFg3
+hi! link vimSep GruvboxFg3
+hi! link vimContinue GruvboxFg3
+
+" }}}
+" Clojure: {{{
+
+hi! link clojureKeyword GruvboxBlue
+hi! link clojureCond GruvboxOrange
+hi! link clojureSpecial GruvboxOrange
+hi! link clojureDefine GruvboxOrange
+
+hi! link clojureFunc GruvboxYellow
+hi! link clojureRepeat GruvboxYellow
+hi! link clojureCharacter GruvboxAqua
+hi! link clojureStringEscape GruvboxAqua
+hi! link clojureException GruvboxRed
+
+hi! link clojureRegexp GruvboxAqua
+hi! link clojureRegexpEscape GruvboxAqua
+call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold)
+hi! link clojureRegexpMod clojureRegexpCharClass
+hi! link clojureRegexpQuantifier clojureRegexpCharClass
+
+hi! link clojureParen GruvboxFg3
+hi! link clojureAnonArg GruvboxYellow
+hi! link clojureVariable GruvboxBlue
+hi! link clojureMacro GruvboxOrange
+
+hi! link clojureMeta GruvboxYellow
+hi! link clojureDeref GruvboxYellow
+hi! link clojureQuote GruvboxYellow
+hi! link clojureUnquote GruvboxYellow
+
+" }}}
+" C: {{{
+
+hi! link cOperator GruvboxPurple
+hi! link cStructure GruvboxOrange
+
+" }}}
+" Python: {{{
+
+hi! link pythonBuiltin GruvboxOrange
+hi! link pythonBuiltinObj GruvboxOrange
+hi! link pythonBuiltinFunc GruvboxOrange
+hi! link pythonFunction GruvboxAqua
+hi! link pythonDecorator GruvboxRed
+hi! link pythonInclude GruvboxBlue
+hi! link pythonImport GruvboxBlue
+hi! link pythonRun GruvboxBlue
+hi! link pythonCoding GruvboxBlue
+hi! link pythonOperator GruvboxRed
+hi! link pythonException GruvboxRed
+hi! link pythonExceptions GruvboxPurple
+hi! link pythonBoolean GruvboxPurple
+hi! link pythonDot GruvboxFg3
+hi! link pythonConditional GruvboxRed
+hi! link pythonRepeat GruvboxRed
+hi! link pythonDottedName GruvboxGreenBold
+
+" }}}
+" CSS: {{{
+
+hi! link cssBraces GruvboxBlue
+hi! link cssFunctionName GruvboxYellow
+hi! link cssIdentifier GruvboxOrange
+hi! link cssClassName GruvboxGreen
+hi! link cssColor GruvboxBlue
+hi! link cssSelectorOp GruvboxBlue
+hi! link cssSelectorOp2 GruvboxBlue
+hi! link cssImportant GruvboxGreen
+hi! link cssVendor GruvboxFg1
+
+hi! link cssTextProp GruvboxAqua
+hi! link cssAnimationProp GruvboxAqua
+hi! link cssUIProp GruvboxYellow
+hi! link cssTransformProp GruvboxAqua
+hi! link cssTransitionProp GruvboxAqua
+hi! link cssPrintProp GruvboxAqua
+hi! link cssPositioningProp GruvboxYellow
+hi! link cssBoxProp GruvboxAqua
+hi! link cssFontDescriptorProp GruvboxAqua
+hi! link cssFlexibleBoxProp GruvboxAqua
+hi! link cssBorderOutlineProp GruvboxAqua
+hi! link cssBackgroundProp GruvboxAqua
+hi! link cssMarginProp GruvboxAqua
+hi! link cssListProp GruvboxAqua
+hi! link cssTableProp GruvboxAqua
+hi! link cssFontProp GruvboxAqua
+hi! link cssPaddingProp GruvboxAqua
+hi! link cssDimensionProp GruvboxAqua
+hi! link cssRenderProp GruvboxAqua
+hi! link cssColorProp GruvboxAqua
+hi! link cssGeneratedContentProp GruvboxAqua
+
+" }}}
+" JavaScript: {{{
+
+hi! link javaScriptBraces GruvboxFg1
+hi! link javaScriptFunction GruvboxAqua
+hi! link javaScriptIdentifier GruvboxRed
+hi! link javaScriptMember GruvboxBlue
+hi! link javaScriptNumber GruvboxPurple
+hi! link javaScriptNull GruvboxPurple
+hi! link javaScriptParens GruvboxFg3
+
+" }}}
+" YAJS: {{{
+
+hi! link javascriptImport GruvboxAqua
+hi! link javascriptExport GruvboxAqua
+hi! link javascriptClassKeyword GruvboxAqua
+hi! link javascriptClassExtends GruvboxAqua
+hi! link javascriptDefault GruvboxAqua
+
+hi! link javascriptClassName GruvboxYellow
+hi! link javascriptClassSuperName GruvboxYellow
+hi! link javascriptGlobal GruvboxYellow
+
+hi! link javascriptEndColons GruvboxFg1
+hi! link javascriptFuncArg GruvboxFg1
+hi! link javascriptGlobalMethod GruvboxFg1
+hi! link javascriptNodeGlobal GruvboxFg1
+hi! link javascriptBOMWindowProp GruvboxFg1
+hi! link javascriptArrayMethod GruvboxFg1
+hi! link javascriptArrayStaticMethod GruvboxFg1
+hi! link javascriptCacheMethod GruvboxFg1
+hi! link javascriptDateMethod GruvboxFg1
+hi! link javascriptMathStaticMethod GruvboxFg1
+
+" hi! link javascriptProp GruvboxFg1
+hi! link javascriptURLUtilsProp GruvboxFg1
+hi! link javascriptBOMNavigatorProp GruvboxFg1
+hi! link javascriptDOMDocMethod GruvboxFg1
+hi! link javascriptDOMDocProp GruvboxFg1
+hi! link javascriptBOMLocationMethod GruvboxFg1
+hi! link javascriptBOMWindowMethod GruvboxFg1
+hi! link javascriptStringMethod GruvboxFg1
+
+hi! link javascriptVariable GruvboxOrange
+" hi! link javascriptVariable GruvboxRed
+" hi! link javascriptIdentifier GruvboxOrange
+" hi! link javascriptClassSuper GruvboxOrange
+hi! link javascriptIdentifier GruvboxOrange
+hi! link javascriptClassSuper GruvboxOrange
+
+" hi! link javascriptFuncKeyword GruvboxOrange
+" hi! link javascriptAsyncFunc GruvboxOrange
+hi! link javascriptFuncKeyword GruvboxAqua
+hi! link javascriptAsyncFunc GruvboxAqua
+hi! link javascriptClassStatic GruvboxOrange
+
+hi! link javascriptOperator GruvboxRed
+hi! link javascriptForOperator GruvboxRed
+hi! link javascriptYield GruvboxRed
+hi! link javascriptExceptions GruvboxRed
+hi! link javascriptMessage GruvboxRed
+
+hi! link javascriptTemplateSB GruvboxAqua
+hi! link javascriptTemplateSubstitution GruvboxFg1
+
+" hi! link javascriptLabel GruvboxBlue
+" hi! link javascriptObjectLabel GruvboxBlue
+" hi! link javascriptPropertyName GruvboxBlue
+hi! link javascriptLabel GruvboxFg1
+hi! link javascriptObjectLabel GruvboxFg1
+hi! link javascriptPropertyName GruvboxFg1
+
+hi! link javascriptLogicSymbols GruvboxFg1
+hi! link javascriptArrowFunc GruvboxYellow
+
+hi! link javascriptDocParamName GruvboxFg4
+hi! link javascriptDocTags GruvboxFg4
+hi! link javascriptDocNotation GruvboxFg4
+hi! link javascriptDocParamType GruvboxFg4
+hi! link javascriptDocNamedParamType GruvboxFg4
+
+hi! link javascriptBrackets GruvboxFg1
+hi! link javascriptDOMElemAttrs GruvboxFg1
+hi! link javascriptDOMEventMethod GruvboxFg1
+hi! link javascriptDOMNodeMethod GruvboxFg1
+hi! link javascriptDOMStorageMethod GruvboxFg1
+hi! link javascriptHeadersMethod GruvboxFg1
+
+hi! link javascriptAsyncFuncKeyword GruvboxRed
+hi! link javascriptAwaitFuncKeyword GruvboxRed
+
+" }}}
+" PanglossJS: {{{
+
+hi! link jsClassKeyword GruvboxAqua
+hi! link jsExtendsKeyword GruvboxAqua
+hi! link jsExportDefault GruvboxAqua
+hi! link jsTemplateBraces GruvboxAqua
+hi! link jsGlobalNodeObjects GruvboxFg1
+hi! link jsGlobalObjects GruvboxFg1
+hi! link jsFunction GruvboxAqua
+hi! link jsFuncParens GruvboxFg3
+hi! link jsParens GruvboxFg3
+hi! link jsNull GruvboxPurple
+hi! link jsUndefined GruvboxPurple
+hi! link jsClassDefinition GruvboxYellow
+
+" }}}
+" TypeScript: {{{
+
+hi! link typeScriptReserved GruvboxAqua
+hi! link typeScriptLabel GruvboxAqua
+hi! link typeScriptFuncKeyword GruvboxAqua
+hi! link typeScriptIdentifier GruvboxOrange
+hi! link typeScriptBraces GruvboxFg1
+hi! link typeScriptEndColons GruvboxFg1
+hi! link typeScriptDOMObjects GruvboxFg1
+hi! link typeScriptAjaxMethods GruvboxFg1
+hi! link typeScriptLogicSymbols GruvboxFg1
+hi! link typeScriptDocSeeTag Comment
+hi! link typeScriptDocParam Comment
+hi! link typeScriptDocTags vimCommentTitle
+hi! link typeScriptGlobalObjects GruvboxFg1
+hi! link typeScriptParens GruvboxFg3
+hi! link typeScriptOpSymbols GruvboxFg3
+hi! link typeScriptHtmlElemProperties GruvboxFg1
+hi! link typeScriptNull GruvboxPurple
+hi! link typeScriptInterpolationDelimiter GruvboxAqua
+
+" }}}
+" PureScript: {{{
+
+hi! link purescriptModuleKeyword GruvboxAqua
+hi! link purescriptModuleName GruvboxFg1
+hi! link purescriptWhere GruvboxAqua
+hi! link purescriptDelimiter GruvboxFg4
+hi! link purescriptType GruvboxFg1
+hi! link purescriptImportKeyword GruvboxAqua
+hi! link purescriptHidingKeyword GruvboxAqua
+hi! link purescriptAsKeyword GruvboxAqua
+hi! link purescriptStructure GruvboxAqua
+hi! link purescriptOperator GruvboxBlue
+
+hi! link purescriptTypeVar GruvboxFg1
+hi! link purescriptConstructor GruvboxFg1
+hi! link purescriptFunction GruvboxFg1
+hi! link purescriptConditional GruvboxOrange
+hi! link purescriptBacktick GruvboxOrange
+
+" }}}
+" CoffeeScript: {{{
+
+hi! link coffeeExtendedOp GruvboxFg3
+hi! link coffeeSpecialOp GruvboxFg3
+hi! link coffeeCurly GruvboxOrange
+hi! link coffeeParen GruvboxFg3
+hi! link coffeeBracket GruvboxOrange
+
+" }}}
+" Ruby: {{{
+
+hi! link rubyStringDelimiter GruvboxGreen
+hi! link rubyInterpolationDelimiter GruvboxAqua
+
+" }}}
+" ObjectiveC: {{{
+
+hi! link objcTypeModifier GruvboxRed
+hi! link objcDirective GruvboxBlue
+
+" }}}
+" Go: {{{
+
+hi! link goDirective GruvboxAqua
+hi! link goConstants GruvboxPurple
+hi! link goDeclaration GruvboxRed
+hi! link goDeclType GruvboxBlue
+hi! link goBuiltins GruvboxOrange
+
+" }}}
+" Lua: {{{
+
+hi! link luaIn GruvboxRed
+hi! link luaFunction GruvboxAqua
+hi! link luaTable GruvboxOrange
+
+" }}}
+" MoonScript: {{{
+
+hi! link moonSpecialOp GruvboxFg3
+hi! link moonExtendedOp GruvboxFg3
+hi! link moonFunction GruvboxFg3
+hi! link moonObject GruvboxYellow
+
+" }}}
+" Java: {{{
+
+hi! link javaAnnotation GruvboxBlue
+hi! link javaDocTags GruvboxAqua
+hi! link javaCommentTitle vimCommentTitle
+hi! link javaParen GruvboxFg3
+hi! link javaParen1 GruvboxFg3
+hi! link javaParen2 GruvboxFg3
+hi! link javaParen3 GruvboxFg3
+hi! link javaParen4 GruvboxFg3
+hi! link javaParen5 GruvboxFg3
+hi! link javaOperator GruvboxOrange
+
+hi! link javaVarArg GruvboxGreen
+
+" }}}
+" Elixir: {{{
+
+hi! link elixirDocString Comment
+
+hi! link elixirStringDelimiter GruvboxGreen
+hi! link elixirInterpolationDelimiter GruvboxAqua
+
+hi! link elixirModuleDeclaration GruvboxYellow
+
+" }}}
+" Scala: {{{
+
+" NB: scala vim syntax file is kinda horrible
+hi! link scalaNameDefinition GruvboxFg1
+hi! link scalaCaseFollowing GruvboxFg1
+hi! link scalaCapitalWord GruvboxFg1
+hi! link scalaTypeExtension GruvboxFg1
+
+hi! link scalaKeyword GruvboxRed
+hi! link scalaKeywordModifier GruvboxRed
+
+hi! link scalaSpecial GruvboxAqua
+hi! link scalaOperator GruvboxFg1
+
+hi! link scalaTypeDeclaration GruvboxYellow
+hi! link scalaTypeTypePostDeclaration GruvboxYellow
+
+hi! link scalaInstanceDeclaration GruvboxFg1
+hi! link scalaInterpolation GruvboxAqua
+
+" }}}
+" Markdown: {{{
+
+call s:HL('markdownItalic', s:fg3, s:none, s:italic)
+
+hi! link markdownH1 GruvboxGreenBold
+hi! link markdownH2 GruvboxGreenBold
+hi! link markdownH3 GruvboxYellowBold
+hi! link markdownH4 GruvboxYellowBold
+hi! link markdownH5 GruvboxYellow
+hi! link markdownH6 GruvboxYellow
+
+hi! link markdownCode GruvboxAqua
+hi! link markdownCodeBlock GruvboxAqua
+hi! link markdownCodeDelimiter GruvboxAqua
+
+hi! link markdownBlockquote GruvboxGray
+hi! link markdownListMarker GruvboxGray
+hi! link markdownOrderedListMarker GruvboxGray
+hi! link markdownRule GruvboxGray
+hi! link markdownHeadingRule GruvboxGray
+
+hi! link markdownUrlDelimiter GruvboxFg3
+hi! link markdownLinkDelimiter GruvboxFg3
+hi! link markdownLinkTextDelimiter GruvboxFg3
+
+hi! link markdownHeadingDelimiter GruvboxOrange
+hi! link markdownUrl GruvboxPurple
+hi! link markdownUrlTitleDelimiter GruvboxGreen
+
+call s:HL('markdownLinkText', s:gray, s:none, s:underline)
+hi! link markdownIdDeclaration markdownLinkText
+
+" }}}
+" Haskell: {{{
+
+" hi! link haskellType GruvboxYellow
+" hi! link haskellOperators GruvboxOrange
+" hi! link haskellConditional GruvboxAqua
+" hi! link haskellLet GruvboxOrange
+"
+hi! link haskellType GruvboxFg1
+hi! link haskellIdentifier GruvboxFg1
+hi! link haskellSeparator GruvboxFg1
+hi! link haskellDelimiter GruvboxFg4
+hi! link haskellOperators GruvboxBlue
+"
+hi! link haskellBacktick GruvboxOrange
+hi! link haskellStatement GruvboxOrange
+hi! link haskellConditional GruvboxOrange
+
+hi! link haskellLet GruvboxAqua
+hi! link haskellDefault GruvboxAqua
+hi! link haskellWhere GruvboxAqua
+hi! link haskellBottom GruvboxAqua
+hi! link haskellBlockKeywords GruvboxAqua
+hi! link haskellImportKeywords GruvboxAqua
+hi! link haskellDeclKeyword GruvboxAqua
+hi! link haskellDeriving GruvboxAqua
+hi! link haskellAssocType GruvboxAqua
+
+hi! link haskellNumber GruvboxPurple
+hi! link haskellPragma GruvboxPurple
+
+hi! link haskellString GruvboxGreen
+hi! link haskellChar GruvboxGreen
+
+" }}}
+" Json: {{{
+
+hi! link jsonKeyword GruvboxGreen
+hi! link jsonQuote GruvboxGreen
+hi! link jsonBraces GruvboxFg1
+hi! link jsonString GruvboxFg1
+
+" }}}
+
+
+" Functions -------------------------------------------------------------------
+" Search Highlighting Cursor {{{
+
+function! GruvboxHlsShowCursor()
+ call s:HL('Cursor', s:bg0, s:hls_cursor)
+endfunction
+
+function! GruvboxHlsHideCursor()
+ call s:HL('Cursor', s:none, s:none, s:inverse)
+endfunction
+
+" }}}
+
+" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker:
diff --git a/private_dot_config/nvim/colors/miramare.vim b/private_dot_config/nvim/colors/miramare.vim
new file mode 100644
index 0000000..9fef3a7
--- /dev/null
+++ b/private_dot_config/nvim/colors/miramare.vim
@@ -0,0 +1,1753 @@
+" -----------------------------------------------------------------------------
+" Name: Miramare
+" Description: Comfortable & Pleasant Color Scheme for Vim
+" Author: Francisco Bach <franciscobach@gmail.com>
+" Website: https://github.com/franbach/miramare
+" License: MIT
+" -----------------------------------------------------------------------------
+
+" Initialization: {{{
+highlight clear
+if exists('syntax_on')
+ syntax reset
+endif
+set background=dark
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 2
+
+let g:colors_name = 'miramare'
+" }}}
+" Configuration: {{{
+let s:configuration = {}
+let s:configuration.palette = get(g:, 'miramare_palette', 'soft')
+let s:configuration.transparent_background = get(g:, 'miramare_transparent_background', 0)
+let s:configuration.disable_italic_comment = get(g:, 'miramare_disable_italic_comment', 0)
+let s:configuration.enable_italic = get(g:, 'miramare_enable_italic', 0)
+let s:configuration.cursor = get(g:, 'miramare_cursor', 'auto')
+let s:configuration.current_word = get(g:, 'miramare_current_word', get(g:, 'miramare_transparent_background', 0) == 0 ? 'grey background' : 'bold')
+" }}}
+" Palette: {{{
+let s:palette = {
+ \ 'bg0': ['#2A2426', '235', 'Black'],
+ \ 'bg1': ['#242021', '236', 'DarkGrey'],
+ \ 'bg2': ['#242021', '237', 'DarkGrey'],
+ \ 'bg3': ['#242021', '238', 'DarkGrey'],
+ \ 'bg4': ['#242021', '239', 'Grey'],
+ \ 'bg_red': ['#392f32', '52', 'DarkRed'],
+ \ 'bg_green': ['#333b2f', '22', 'DarkGreen'],
+ \ 'bg_blue': ['#203a41', '17', 'DarkBlue'],
+ \ 'fg': ['#e6d6ac', '223', 'White'],
+ \ 'red': ['#e68183', '167', 'Red'],
+ \ 'orange': ['#fabd2f', '208', 'Red'],
+ \ 'yellow': ['#d9bb80', '214', 'Yellow'],
+ \ 'green': ['#a7c080', '142', 'Green'],
+ \ 'cyan': ['#87c095', '108', 'Cyan'],
+ \ 'blue': ['#89beba', '109', 'Blue'],
+ \ 'purple': ['#d3a0bc', '175', 'Magenta'],
+ \ 'grey': ['#444444', '245', 'LightGrey'],
+ \ 'none': ['NONE', 'NONE', 'NONE']
+ \ }
+" }}}
+" Function: {{{
+" call s:HL(group, foreground, background)
+" call s:HL(group, foreground, background, gui, guisp)
+"
+" E.g.:
+" call s:HL('Normal', s:palette.fg, s:palette.bg0)
+
+if (has('termguicolors') && &termguicolors) || has('gui_running') " guifg guibg gui cterm guisp
+ function! s:HL(group, fg, bg, ...)
+ let hl_string = [
+ \ 'highlight', a:group,
+ \ 'guifg=' . a:fg[0],
+ \ 'guibg=' . a:bg[0],
+ \ ]
+ if a:0 >= 1
+ if a:1 ==# 'undercurl'
+ call add(hl_string, 'gui=undercurl')
+ call add(hl_string, 'cterm=underline')
+ else
+ call add(hl_string, 'gui=' . a:1)
+ call add(hl_string, 'cterm=' . a:1)
+ endif
+ else
+ call add(hl_string, 'gui=NONE')
+ call add(hl_string, 'cterm=NONE')
+ endif
+ if a:0 >= 2
+ call add(hl_string, 'guisp=' . a:2[0])
+ endif
+ execute join(hl_string, ' ')
+ endfunction
+elseif s:t_Co >= 256 " ctermfg ctermbg cterm
+ function! s:HL(group, fg, bg, ...)
+ let hl_string = [
+ \ 'highlight', a:group,
+ \ 'ctermfg=' . a:fg[1],
+ \ 'ctermbg=' . a:bg[1],
+ \ ]
+ if a:0 >= 1
+ if a:1 ==# 'undercurl'
+ call add(hl_string, 'cterm=underline')
+ else
+ call add(hl_string, 'cterm=' . a:1)
+ endif
+ else
+ call add(hl_string, 'cterm=NONE')
+ endif
+ execute join(hl_string, ' ')
+ endfunction
+else " ctermfg ctermbg cterm
+ function! s:HL(group, fg, bg, ...)
+ let hl_string = [
+ \ 'highlight', a:group,
+ \ 'ctermfg=' . a:fg[2],
+ \ 'ctermbg=' . a:bg[2],
+ \ ]
+ if a:0 >= 1
+ if a:1 ==# 'undercurl'
+ call add(hl_string, 'cterm=underline')
+ else
+ call add(hl_string, 'cterm=' . a:1)
+ endif
+ else
+ call add(hl_string, 'cterm=NONE')
+ endif
+ execute join(hl_string, ' ')
+ endfunction
+endif
+" }}}
+
+" Common Highlight Groups: {{{
+" UI: {{{
+if s:configuration.transparent_background
+ call s:HL('Normal', s:palette.fg, s:palette.none)
+ call s:HL('Terminal', s:palette.fg, s:palette.none)
+ call s:HL('EndOfBuffer', s:palette.bg0, s:palette.none)
+ call s:HL('FoldColumn', s:palette.grey, s:palette.none)
+ call s:HL('Folded', s:palette.grey, s:palette.none)
+ call s:HL('SignColumn', s:palette.fg, s:palette.none)
+else
+ call s:HL('Normal', s:palette.fg, s:palette.bg0)
+ call s:HL('Terminal', s:palette.fg, s:palette.bg0)
+ call s:HL('EndOfBuffer', s:palette.bg0, s:palette.bg0)
+ call s:HL('FoldColumn', s:palette.grey, s:palette.bg1)
+ call s:HL('Folded', s:palette.grey, s:palette.bg1)
+ call s:HL('SignColumn', s:palette.fg, s:palette.bg1)
+endif
+call s:HL('ColorColumn', s:palette.none, s:palette.bg1)
+call s:HL('Conceal', s:palette.grey, s:palette.none)
+if s:configuration.cursor ==# 'auto'
+ call s:HL('Cursor', s:palette.none, s:palette.none, 'reverse')
+ call s:HL('lCursor', s:palette.none, s:palette.none, 'reverse')
+elseif s:configuration.cursor ==# 'red'
+ call s:HL('Cursor', s:palette.bg0, s:palette.red)
+ call s:HL('lCursor', s:palette.bg0, s:palette.red)
+elseif s:configuration.cursor ==# 'green'
+ call s:HL('Cursor', s:palette.bg0, s:palette.green)
+ call s:HL('lCursor', s:palette.bg0, s:palette.green)
+elseif s:configuration.cursor ==# 'blue'
+ call s:HL('Cursor', s:palette.bg0, s:palette.blue)
+ call s:HL('lCursor', s:palette.bg0, s:palette.blue)
+elseif s:configuration.cursor ==# 'purple'
+ call s:HL('Cursor', s:palette.bg0, s:palette.purple)
+ call s:HL('lCursor', s:palette.bg0, s:palette.purple)
+endif
+call s:HL('CursorColumn', s:palette.none, s:palette.bg1)
+call s:HL('CursorLine', s:palette.none, s:palette.bg1)
+call s:HL('LineNr', s:palette.grey, s:palette.none)
+if &relativenumber == 1 && &cursorline == 0
+ call s:HL('CursorLineNr', s:palette.yellow, s:palette.none)
+else
+ call s:HL('CursorLineNr', s:palette.yellow, s:palette.none)
+endif
+call s:HL('DiffAdd', s:palette.none, s:palette.bg_green)
+call s:HL('DiffChange', s:palette.none, s:palette.bg_blue)
+call s:HL('DiffDelete', s:palette.none, s:palette.bg_red)
+call s:HL('DiffText', s:palette.none, s:palette.bg0, 'reverse')
+call s:HL('Directory', s:palette.green, s:palette.none)
+call s:HL('ErrorMsg', s:palette.red, s:palette.none, 'bold,underline')
+call s:HL('WarningMsg', s:palette.yellow, s:palette.none, 'bold')
+call s:HL('ModeMsg', s:palette.fg, s:palette.none, 'bold')
+call s:HL('MoreMsg', s:palette.blue, s:palette.none, 'bold')
+call s:HL('IncSearch', s:palette.none, s:palette.none, 'reverse')
+call s:HL('Search', s:palette.none, s:palette.bg3)
+call s:HL('MatchParen', s:palette.none, s:palette.bg4)
+call s:HL('NonText', s:palette.grey, s:palette.none)
+call s:HL('Pmenu', s:palette.fg, s:palette.bg2)
+call s:HL('PmenuSbar', s:palette.none, s:palette.bg2)
+call s:HL('PmenuThumb', s:palette.none, s:palette.grey)
+call s:HL('PmenuSel', s:palette.bg0, s:palette.fg)
+call s:HL('WildMenu', s:palette.bg0, s:palette.fg)
+call s:HL('Question', s:palette.yellow, s:palette.none)
+call s:HL('SpellBad', s:palette.red, s:palette.none, 'undercurl', s:palette.red)
+call s:HL('SpellCap', s:palette.yellow, s:palette.none, 'undercurl', s:palette.yellow)
+call s:HL('SpellLocal', s:palette.blue, s:palette.none, 'undercurl', s:palette.blue)
+call s:HL('SpellRare', s:palette.purple, s:palette.none, 'undercurl', s:palette.purple)
+call s:HL('StatusLine', s:palette.fg, s:palette.bg3)
+call s:HL('StatusLineTerm', s:palette.fg, s:palette.bg3)
+call s:HL('StatusLineNC', s:palette.grey, s:palette.bg1)
+call s:HL('StatusLineTermNC', s:palette.grey, s:palette.bg1)
+call s:HL('TabLine', s:palette.fg, s:palette.bg4)
+call s:HL('TabLineFill', s:palette.grey, s:palette.bg1)
+call s:HL('TabLineSel', s:palette.bg0, s:palette.green)
+call s:HL('VertSplit', s:palette.bg4, s:palette.none)
+call s:HL('Visual', s:palette.none, s:palette.bg3)
+call s:HL('VisualNOS', s:palette.none, s:palette.bg3, 'underline')
+call s:HL('CursorIM', s:palette.none, s:palette.fg)
+call s:HL('ToolbarLine', s:palette.none, s:palette.grey)
+call s:HL('ToolbarButton', s:palette.fg, s:palette.bg0, 'bold')
+call s:HL('QuickFixLine', s:palette.blue, s:palette.bg1)
+call s:HL('Debug', s:palette.yellow, s:palette.none)
+" }}}
+" Syntax: {{{
+call s:HL('Boolean', s:palette.purple, s:palette.none)
+call s:HL('Number', s:palette.purple, s:palette.none)
+call s:HL('Float', s:palette.purple, s:palette.none)
+if s:configuration.enable_italic
+ call s:HL('PreProc', s:palette.purple, s:palette.none, 'italic')
+ call s:HL('PreCondit', s:palette.purple, s:palette.none, 'italic')
+ call s:HL('Include', s:palette.purple, s:palette.none, 'italic')
+ call s:HL('Define', s:palette.purple, s:palette.none, 'italic')
+ call s:HL('Conditional', s:palette.red, s:palette.none, 'bold,italic')
+ call s:HL('Repeat', s:palette.red, s:palette.none, 'italic')
+ call s:HL('Keyword', s:palette.red, s:palette.none, 'italic')
+ call s:HL('Typedef', s:palette.red, s:palette.none, 'italic')
+ call s:HL('Exception', s:palette.red, s:palette.none, 'italic')
+ call s:HL('Statement', s:palette.red, s:palette.none, 'italic')
+else
+ call s:HL('PreProc', s:palette.purple, s:palette.none)
+ call s:HL('PreCondit', s:palette.purple, s:palette.none)
+ call s:HL('Include', s:palette.purple, s:palette.none)
+ call s:HL('Define', s:palette.purple, s:palette.none)
+ call s:HL('Conditional', s:palette.red, s:palette.none)
+ call s:HL('Repeat', s:palette.red, s:palette.none)
+ call s:HL('Keyword', s:palette.red, s:palette.none)
+ call s:HL('Typedef', s:palette.red, s:palette.none)
+ call s:HL('Exception', s:palette.red, s:palette.none)
+ call s:HL('Statement', s:palette.red, s:palette.none)
+endif
+call s:HL('Error', s:palette.red, s:palette.none)
+call s:HL('StorageClass', s:palette.orange, s:palette.none, 'bold')
+call s:HL('Tag', s:palette.orange, s:palette.none)
+call s:HL('Label', s:palette.orange, s:palette.none)
+call s:HL('Structure', s:palette.orange, s:palette.none)
+call s:HL('Operator', s:palette.orange, s:palette.none)
+call s:HL('Title', s:palette.orange, s:palette.none, 'bold')
+call s:HL('Special', s:palette.yellow, s:palette.none)
+call s:HL('SpecialChar', s:palette.yellow, s:palette.none)
+call s:HL('Type', s:palette.yellow, s:palette.none, 'bold')
+call s:HL('Function', s:palette.green, s:palette.none, 'bold')
+call s:HL('String', s:palette.green, s:palette.none)
+call s:HL('Character', s:palette.green, s:palette.none)
+call s:HL('Constant', s:palette.cyan, s:palette.none, 'bold')
+call s:HL('Macro', s:palette.cyan, s:palette.none)
+call s:HL('Identifier', s:palette.blue, s:palette.none)
+call s:HL('SpecialKey', s:palette.blue, s:palette.none)
+if s:configuration.disable_italic_comment
+ call s:HL('Comment', s:palette.grey, s:palette.none)
+ call s:HL('SpecialComment', s:palette.grey, s:palette.none)
+ call s:HL('Todo', s:palette.purple, s:palette.none)
+else
+ call s:HL('Comment', s:palette.grey, s:palette.none, 'italic')
+ call s:HL('SpecialComment', s:palette.grey, s:palette.none, 'italic')
+ call s:HL('Todo', s:palette.purple, s:palette.none, 'italic')
+endif
+call s:HL('Delimiter', s:palette.fg, s:palette.none)
+call s:HL('Ignore', s:palette.grey, s:palette.none)
+call s:HL('Underlined', s:palette.none, s:palette.none, 'underline')
+" }}}
+" Predefined Highlight Groups: {{{
+call s:HL('Fg', s:palette.fg, s:palette.none)
+call s:HL('Grey', s:palette.grey, s:palette.none)
+call s:HL('Yellow', s:palette.yellow, s:palette.none)
+call s:HL('Blue', s:palette.blue, s:palette.none)
+if s:configuration.enable_italic
+ call s:HL('RedItalic', s:palette.red, s:palette.none, 'italic')
+ call s:HL('OrangeItalic', s:palette.orange, s:palette.none, 'italic')
+ call s:HL('PurpleItalic', s:palette.purple, s:palette.none, 'italic')
+else
+ call s:HL('RedItalic', s:palette.red, s:palette.none)
+ call s:HL('OrangeItalic', s:palette.orange, s:palette.none)
+ call s:HL('PurpleItalic', s:palette.purple, s:palette.none)
+endif
+call s:HL('Red', s:palette.red, s:palette.none)
+call s:HL('Orange', s:palette.orange, s:palette.none)
+call s:HL('Purple', s:palette.purple, s:palette.none)
+call s:HL('Green', s:palette.green, s:palette.none)
+call s:HL('Cyan', s:palette.cyan, s:palette.none)
+if s:configuration.transparent_background
+ call s:HL('RedSign', s:palette.red, s:palette.none)
+ call s:HL('OrangeSign', s:palette.orange, s:palette.none)
+ call s:HL('YellowSign', s:palette.yellow, s:palette.none)
+ call s:HL('GreenSign', s:palette.green, s:palette.none)
+ call s:HL('CyanSign', s:palette.cyan, s:palette.none)
+ call s:HL('BlueSign', s:palette.blue, s:palette.none)
+ call s:HL('PurpleSign', s:palette.purple, s:palette.none)
+else
+ call s:HL('RedSign', s:palette.red, s:palette.bg1)
+ call s:HL('OrangeSign', s:palette.orange, s:palette.bg1)
+ call s:HL('YellowSign', s:palette.yellow, s:palette.bg1)
+ call s:HL('GreenSign', s:palette.green, s:palette.bg1)
+ call s:HL('CyanSign', s:palette.cyan, s:palette.bg1)
+ call s:HL('BlueSign', s:palette.blue, s:palette.bg1)
+ call s:HL('PurpleSign', s:palette.purple, s:palette.bg1)
+endif
+" }}}
+" }}}
+" Extended File Types: {{{
+" Markdown: {{{
+" builtin: {{{
+call s:HL('markdownH1', s:palette.red, s:palette.none, 'bold')
+call s:HL('markdownH2', s:palette.orange, s:palette.none, 'bold')
+call s:HL('markdownH3', s:palette.yellow, s:palette.none, 'bold')
+call s:HL('markdownH4', s:palette.green, s:palette.none, 'bold')
+call s:HL('markdownH5', s:palette.blue, s:palette.none, 'bold')
+call s:HL('markdownH6', s:palette.purple, s:palette.none, 'bold')
+call s:HL('markdownUrl', s:palette.blue, s:palette.none, 'underline')
+call s:HL('markdownItalic', s:palette.none, s:palette.none, 'italic')
+call s:HL('markdownBold', s:palette.none, s:palette.none, 'bold')
+call s:HL('markdownItalicDelimiter', s:palette.grey, s:palette.none, 'italic')
+highlight! link markdownCode Green
+highlight! link markdownCodeBlock Cyan
+highlight! link markdownCodeDelimiter Cyan
+highlight! link markdownBlockquote Grey
+highlight! link markdownListMarker Red
+highlight! link markdownOrderedListMarker Red
+highlight! link markdownRule Purple
+highlight! link markdownHeadingRule Grey
+highlight! link markdownUrlDelimiter Grey
+highlight! link markdownLinkDelimiter Grey
+highlight! link markdownLinkTextDelimiter Grey
+highlight! link markdownHeadingDelimiter Grey
+highlight! link markdownLinkText Purple
+highlight! link markdownUrlTitleDelimiter Green
+highlight! link markdownIdDeclaration markdownLinkText
+highlight! link markdownBoldDelimiter Grey
+highlight! link markdownId Yellow
+" }}}
+" vim-markdown: https://github.com/gabrielelana/vim-markdown{{{
+call s:HL('mkdURL', s:palette.blue, s:palette.none, 'underline')
+call s:HL('mkdInlineURL', s:palette.purple, s:palette.none, 'underline')
+call s:HL('mkdItalic', s:palette.grey, s:palette.none, 'italic')
+highlight! link mkdCodeDelimiter Cyan
+highlight! link mkdBold Grey
+highlight! link mkdLink Purple
+highlight! link mkdHeading Grey
+highlight! link mkdListItem Red
+highlight! link mkdRule Purple
+highlight! link mkdDelimiter Grey
+highlight! link mkdId Yellow
+" }}}
+" }}}
+" ReStructuredText: {{{
+" builtin: https://github.com/marshallward/vim-restructuredtext{{{
+call s:HL('rstStandaloneHyperlink', s:palette.purple, s:palette.none, 'underline')
+highlight! link rstSubstitutionReference Blue
+highlight! link rstInterpretedTextOrHyperlinkReference Cyan
+highlight! link rstTableLines Grey
+" }}}
+" }}}
+" LaTex: {{{
+" builtin: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX{{{
+highlight! link texStatement Green
+highlight! link texOnlyMath Grey
+highlight! link texDefName Yellow
+highlight! link texNewCmd Orange
+highlight! link texCmdName Blue
+highlight! link texBeginEnd Red
+highlight! link texBeginEndName Blue
+highlight! link texDocType Purple
+highlight! link texDocTypeArgs Orange
+" }}}
+" }}}
+" Html: {{{
+" builtin: https://notabug.org/jorgesumle/vim-html-syntax{{{
+call s:HL('htmlH1', s:palette.red, s:palette.none, 'bold')
+call s:HL('htmlH2', s:palette.orange, s:palette.none, 'bold')
+call s:HL('htmlH3', s:palette.yellow, s:palette.none, 'bold')
+call s:HL('htmlH4', s:palette.green, s:palette.none, 'bold')
+call s:HL('htmlH5', s:palette.blue, s:palette.none, 'bold')
+call s:HL('htmlH6', s:palette.purple, s:palette.none, 'bold')
+call s:HL('htmlLink', s:palette.none, s:palette.none, 'underline')
+call s:HL('htmlBold', s:palette.none, s:palette.none, 'bold')
+call s:HL('htmlBoldUnderline', s:palette.none, s:palette.none, 'bold,underline')
+call s:HL('htmlBoldItalic', s:palette.none, s:palette.none, 'bold,italic')
+call s:HL('htmlBoldUnderlineItalic', s:palette.none, s:palette.none, 'bold,underline,italic')
+call s:HL('htmlUnderline', s:palette.none, s:palette.none, 'underline')
+call s:HL('htmlUnderlineItalic', s:palette.none, s:palette.none, 'underline,italic')
+call s:HL('htmlItalic', s:palette.none, s:palette.none, 'italic')
+highlight! link htmlTag Green
+highlight! link htmlEndTag Blue
+highlight! link htmlTagN OrangeItalic
+highlight! link htmlTagName OrangeItalic
+highlight! link htmlArg Cyan
+highlight! link htmlScriptTag Purple
+highlight! link htmlSpecialTagName RedItalic
+" }}}
+" }}}
+" Xml: {{{
+" builtin: https://github.com/chrisbra/vim-xml-ftplugin{{{
+highlight! link xmlTag Green
+highlight! link xmlEndTag Blue
+highlight! link xmlTagName OrangeItalic
+highlight! link xmlEqual Orange
+highlight! link xmlAttrib Cyan
+highlight! link xmlEntity Red
+highlight! link xmlEntityPunct Red
+highlight! link xmlDocTypeDecl Grey
+highlight! link xmlDocTypeKeyword PurpleItalic
+highlight! link xmlCdataStart Grey
+highlight! link xmlCdataCdata Purple
+" }}}
+" }}}
+" CSS: {{{
+" builtin: https://github.com/JulesWang/css.vim{{{
+highlight! link cssAttrComma Fg
+highlight! link cssBraces Fg
+highlight! link cssTagName PurpleItalic
+highlight! link cssClassNameDot Red
+highlight! link cssClassName RedItalic
+highlight! link cssFunctionName Yellow
+highlight! link cssAttr Orange
+highlight! link cssProp Cyan
+highlight! link cssCommonAttr Yellow
+highlight! link cssPseudoClassId Blue
+highlight! link cssPseudoClassFn Green
+highlight! link cssPseudoClass Purple
+highlight! link cssImportant RedItalic
+highlight! link cssSelectorOp Orange
+highlight! link cssSelectorOp2 Orange
+highlight! link cssColor Green
+highlight! link cssAttributeSelector Cyan
+highlight! link cssUnitDecorators Orange
+highlight! link cssValueLength Green
+highlight! link cssValueInteger Green
+highlight! link cssValueNumber Green
+highlight! link cssValueAngle Green
+highlight! link cssValueTime Green
+highlight! link cssValueFrequency Green
+highlight! link cssVendor Grey
+highlight! link cssNoise Grey
+" }}}
+" }}}
+" SASS: {{{
+" builtin: {{{
+highlight! link sassProperty Cyan
+highlight! link sassAmpersand Orange
+highlight! link sassClass RedItalic
+highlight! link sassClassChar Red
+highlight! link sassMixing PurpleItalic
+highlight! link sassMixinName Orange
+highlight! link sassCssAttribute Yellow
+highlight! link sassInterpolationDelimiter Green
+highlight! link sassFunction Yellow
+highlight! link sassControl RedItalic
+highlight! link sassFor RedItalic
+highlight! link sassFunctionName Green
+" }}}
+" scss-syntax: https://github.com/cakebaker/scss-syntax.vim{{{
+highlight! link scssMixinName Yellow
+highlight! link scssSelectorChar Red
+highlight! link scssSelectorName RedItalic
+highlight! link scssInterpolationDelimiter Green
+highlight! link scssVariableValue Green
+highlight! link scssNull Purple
+highlight! link scssBoolean Purple
+highlight! link scssVariableAssignment Grey
+highlight! link scssForKeyword PurpleItalic
+highlight! link scssAttribute Orange
+highlight! link scssFunctionName Yellow
+" }}}
+" }}}
+" LESS: {{{
+" vim-less: https://github.com/groenewege/vim-less{{{
+highlight! link lessMixinChar Grey
+highlight! link lessClass RedItalic
+highlight! link lessVariable Blue
+highlight! link lessAmpersandChar Orange
+highlight! link lessFunction Yellow
+" }}}
+" }}}
+" JavaScript: {{{
+" builtin: http://www.fleiner.com/vim/syntax/javascript.vim{{{
+highlight! link javaScriptNull Cyan
+highlight! link javaScriptIdentifier Orange
+highlight! link javaScriptParens Fg
+highlight! link javaScriptBraces Fg
+highlight! link javaScriptGlobal Purple
+highlight! link javaScriptMessage Yellow
+highlight! link javaScriptFunction RedItalic
+highlight! link javaScriptOperator Orange
+highlight! link javaScriptMember Cyan
+" }}}
+" vim-javascript: https://github.com/pangloss/vim-javascript{{{
+highlight! link jsThis Purple
+highlight! link jsUndefined Cyan
+highlight! link jsNull Cyan
+highlight! link jsNan Cyan
+highlight! link jsSuper Purple
+highlight! link jsPrototype Purple
+highlight! link jsFunction RedItalic
+highlight! link jsGlobalNodeObjects PurpleItalic
+highlight! link jsGlobalObjects Yellow
+highlight! link jsArrowFunction Purple
+highlight! link jsArrowFuncArgs Blue
+highlight! link jsFuncArgs Blue
+highlight! link jsObjectProp Cyan
+highlight! link jsVariableDef Blue
+highlight! link jsObjectKey Cyan
+highlight! link jsParen Blue
+highlight! link jsParenIfElse Blue
+highlight! link jsParenRepeat Blue
+highlight! link jsParenSwitch Blue
+highlight! link jsParenCatch Blue
+highlight! link jsBracket Blue
+highlight! link jsBlockLabel Cyan
+highlight! link jsFunctionKey Green
+highlight! link jsClassDefinition Yellow
+highlight! link jsDot Grey
+highlight! link jsDestructuringBlock Blue
+highlight! link jsSpreadExpression Purple
+highlight! link jsSpreadOperator Green
+highlight! link jsModuleKeyword Yellow
+highlight! link jsObjectValue Blue
+highlight! link jsTemplateExpression Yellow
+highlight! link jsTemplateBraces Yellow
+highlight! link jsClassMethodType Orange
+" }}}
+" yajs: https://github.com/othree/yajs.vim{{{
+highlight! link javascriptEndColons Fg
+highlight! link javascriptOpSymbol Orange
+highlight! link javascriptOpSymbols Orange
+highlight! link javascriptIdentifierName Blue
+highlight! link javascriptVariable Orange
+highlight! link javascriptObjectLabel Cyan
+highlight! link javascriptObjectLabelColon Grey
+highlight! link javascriptPropertyNameString Cyan
+highlight! link javascriptFuncArg Blue
+highlight! link javascriptIdentifier Purple
+highlight! link javascriptArrowFunc Purple
+highlight! link javascriptTemplate Yellow
+highlight! link javascriptTemplateSubstitution Yellow
+highlight! link javascriptTemplateSB Yellow
+highlight! link javascriptNodeGlobal PurpleItalic
+highlight! link javascriptDocTags PurpleItalic
+highlight! link javascriptDocNotation Purple
+highlight! link javascriptClassSuper Purple
+highlight! link javascriptClassName Yellow
+highlight! link javascriptClassSuperName Yellow
+highlight! link javascriptBrackets Fg
+highlight! link javascriptBraces Fg
+highlight! link javascriptLabel Purple
+highlight! link javascriptDotNotation Grey
+highlight! link javascriptGlobalArrayDot Grey
+highlight! link javascriptGlobalBigIntDot Grey
+highlight! link javascriptGlobalDateDot Grey
+highlight! link javascriptGlobalJSONDot Grey
+highlight! link javascriptGlobalMathDot Grey
+highlight! link javascriptGlobalNumberDot Grey
+highlight! link javascriptGlobalObjectDot Grey
+highlight! link javascriptGlobalPromiseDot Grey
+highlight! link javascriptGlobalRegExpDot Grey
+highlight! link javascriptGlobalStringDot Grey
+highlight! link javascriptGlobalSymbolDot Grey
+highlight! link javascriptGlobalURLDot Grey
+highlight! link javascriptMethod Green
+highlight! link javascriptMethodName Green
+highlight! link javascriptObjectMethodName Green
+highlight! link javascriptGlobalMethod Green
+highlight! link javascriptDOMStorageMethod Green
+highlight! link javascriptFileMethod Green
+highlight! link javascriptFileReaderMethod Green
+highlight! link javascriptFileListMethod Green
+highlight! link javascriptBlobMethod Green
+highlight! link javascriptURLStaticMethod Green
+highlight! link javascriptNumberStaticMethod Green
+highlight! link javascriptNumberMethod Green
+highlight! link javascriptDOMNodeMethod Green
+highlight! link javascriptES6BigIntStaticMethod Green
+highlight! link javascriptBOMWindowMethod Green
+highlight! link javascriptHeadersMethod Green
+highlight! link javascriptRequestMethod Green
+highlight! link javascriptResponseMethod Green
+highlight! link javascriptES6SetMethod Green
+highlight! link javascriptReflectMethod Green
+highlight! link javascriptPaymentMethod Green
+highlight! link javascriptPaymentResponseMethod Green
+highlight! link javascriptTypedArrayStaticMethod Green
+highlight! link javascriptGeolocationMethod Green
+highlight! link javascriptES6MapMethod Green
+highlight! link javascriptServiceWorkerMethod Green
+highlight! link javascriptCacheMethod Green
+highlight! link javascriptFunctionMethod Green
+highlight! link javascriptXHRMethod Green
+highlight! link javascriptBOMNavigatorMethod Green
+highlight! link javascriptServiceWorkerMethod Green
+highlight! link javascriptDOMEventTargetMethod Green
+highlight! link javascriptDOMEventMethod Green
+highlight! link javascriptIntlMethod Green
+highlight! link javascriptDOMDocMethod Green
+highlight! link javascriptStringStaticMethod Green
+highlight! link javascriptStringMethod Green
+highlight! link javascriptSymbolStaticMethod Green
+highlight! link javascriptRegExpMethod Green
+highlight! link javascriptObjectStaticMethod Green
+highlight! link javascriptObjectMethod Green
+highlight! link javascriptBOMLocationMethod Green
+highlight! link javascriptJSONStaticMethod Green
+highlight! link javascriptGeneratorMethod Green
+highlight! link javascriptEncodingMethod Green
+highlight! link javascriptPromiseStaticMethod Green
+highlight! link javascriptPromiseMethod Green
+highlight! link javascriptBOMHistoryMethod Green
+highlight! link javascriptDOMFormMethod Green
+highlight! link javascriptClipboardMethod Green
+highlight! link javascriptTypedArrayStaticMethod Green
+highlight! link javascriptBroadcastMethod Green
+highlight! link javascriptDateStaticMethod Green
+highlight! link javascriptDateMethod Green
+highlight! link javascriptConsoleMethod Green
+highlight! link javascriptArrayStaticMethod Green
+highlight! link javascriptArrayMethod Green
+highlight! link javascriptMathStaticMethod Green
+highlight! link javascriptSubtleCryptoMethod Green
+highlight! link javascriptCryptoMethod Green
+highlight! link javascriptProp Cyan
+highlight! link javascriptBOMWindowProp Cyan
+highlight! link javascriptDOMStorageProp Cyan
+highlight! link javascriptFileReaderProp Cyan
+highlight! link javascriptURLUtilsProp Cyan
+highlight! link javascriptNumberStaticProp Cyan
+highlight! link javascriptDOMNodeProp Cyan
+highlight! link javascriptRequestProp Cyan
+highlight! link javascriptResponseProp Cyan
+highlight! link javascriptES6SetProp Cyan
+highlight! link javascriptPaymentProp Cyan
+highlight! link javascriptPaymentResponseProp Cyan
+highlight! link javascriptPaymentAddressProp Cyan
+highlight! link javascriptPaymentShippingOptionProp Cyan
+highlight! link javascriptTypedArrayStaticProp Cyan
+highlight! link javascriptServiceWorkerProp Cyan
+highlight! link javascriptES6MapProp Cyan
+highlight! link javascriptRegExpStaticProp Cyan
+highlight! link javascriptRegExpProp Cyan
+highlight! link javascriptXHRProp Cyan
+highlight! link javascriptBOMNavigatorProp Green
+highlight! link javascriptDOMEventProp Cyan
+highlight! link javascriptBOMNetworkProp Cyan
+highlight! link javascriptDOMDocProp Cyan
+highlight! link javascriptSymbolStaticProp Cyan
+highlight! link javascriptSymbolProp Cyan
+highlight! link javascriptBOMLocationProp Cyan
+highlight! link javascriptEncodingProp Cyan
+highlight! link javascriptCryptoProp Cyan
+highlight! link javascriptBOMHistoryProp Cyan
+highlight! link javascriptDOMFormProp Cyan
+highlight! link javascriptDataViewProp Cyan
+highlight! link javascriptBroadcastProp Cyan
+highlight! link javascriptMathStaticProp Cyan
+" }}}
+" }}}
+" JavaScript React: {{{
+" vim-jsx-pretty: https://github.com/maxmellon/vim-jsx-pretty{{{
+highlight! link jsxTagName OrangeItalic
+highlight! link jsxOpenPunct Green
+highlight! link jsxClosePunct Blue
+highlight! link jsxEscapeJs Blue
+highlight! link jsxAttrib Cyan
+" }}}
+" }}}
+" TypeScript: {{{
+" vim-typescript: https://github.com/leafgarland/typescript-vim{{{
+highlight! link typescriptSource PurpleItalic
+highlight! link typescriptMessage Yellow
+highlight! link typescriptGlobalObjects Cyan
+highlight! link typescriptInterpolation Yellow
+highlight! link typescriptInterpolationDelimiter Yellow
+highlight! link typescriptBraces Fg
+highlight! link typescriptParens Fg
+" }}}
+" yats: https:github.com/HerringtonDarkholme/yats.vim{{{
+highlight! link typescriptMethodAccessor OrangeItalic
+highlight! link typescriptVariable Orange
+highlight! link typescriptVariableDeclaration Blue
+highlight! link typescriptTypeReference Yellow
+highlight! link typescriptBraces Fg
+highlight! link typescriptEnumKeyword RedItalic
+highlight! link typescriptEnum Yellow
+highlight! link typescriptIdentifierName Cyan
+highlight! link typescriptProp Cyan
+highlight! link typescriptCall Blue
+highlight! link typescriptInterfaceName Yellow
+highlight! link typescriptEndColons Fg
+highlight! link typescriptMember Cyan
+highlight! link typescriptMemberOptionality Orange
+highlight! link typescriptObjectLabel Cyan
+highlight! link typescriptArrowFunc Purple
+highlight! link typescriptAbstract Orange
+highlight! link typescriptObjectColon Grey
+highlight! link typescriptTypeAnnotation Grey
+highlight! link typescriptAssign Orange
+highlight! link typescriptBinaryOp Orange
+highlight! link typescriptUnaryOp Orange
+highlight! link typescriptFuncComma Fg
+highlight! link typescriptClassName Yellow
+highlight! link typescriptClassHeritage Yellow
+highlight! link typescriptInterfaceHeritage Yellow
+highlight! link typescriptIdentifier Purple
+highlight! link typescriptGlobal Purple
+highlight! link typescriptOperator RedItalic
+highlight! link typescriptNodeGlobal PurpleItalic
+highlight! link typescriptExport PurpleItalic
+highlight! link typescriptDefaultParam Orange
+highlight! link typescriptImport PurpleItalic
+highlight! link typescriptTypeParameter Yellow
+highlight! link typescriptReadonlyModifier Orange
+highlight! link typescriptAccessibilityModifier Orange
+highlight! link typescriptAmbientDeclaration RedItalic
+highlight! link typescriptTemplateSubstitution Yellow
+highlight! link typescriptTemplateSB Yellow
+highlight! link typescriptExceptions RedItalic
+highlight! link typescriptCastKeyword RedItalic
+highlight! link typescriptOptionalMark Orange
+highlight! link typescriptNull Cyan
+highlight! link typescriptMappedIn RedItalic
+highlight! link typescriptFuncTypeArrow Purple
+highlight! link typescriptTernaryOp Orange
+highlight! link typescriptParenExp Blue
+highlight! link typescriptIndexExpr Blue
+highlight! link typescriptDotNotation Grey
+highlight! link typescriptGlobalNumberDot Grey
+highlight! link typescriptGlobalStringDot Grey
+highlight! link typescriptGlobalArrayDot Grey
+highlight! link typescriptGlobalObjectDot Grey
+highlight! link typescriptGlobalSymbolDot Grey
+highlight! link typescriptGlobalMathDot Grey
+highlight! link typescriptGlobalDateDot Grey
+highlight! link typescriptGlobalJSONDot Grey
+highlight! link typescriptGlobalRegExpDot Grey
+highlight! link typescriptGlobalPromiseDot Grey
+highlight! link typescriptGlobalURLDot Grey
+highlight! link typescriptGlobalMethod Green
+highlight! link typescriptDOMStorageMethod Green
+highlight! link typescriptFileMethod Green
+highlight! link typescriptFileReaderMethod Green
+highlight! link typescriptFileListMethod Green
+highlight! link typescriptBlobMethod Green
+highlight! link typescriptURLStaticMethod Green
+highlight! link typescriptNumberStaticMethod Green
+highlight! link typescriptNumberMethod Green
+highlight! link typescriptDOMNodeMethod Green
+highlight! link typescriptPaymentMethod Green
+highlight! link typescriptPaymentResponseMethod Green
+highlight! link typescriptHeadersMethod Green
+highlight! link typescriptRequestMethod Green
+highlight! link typescriptResponseMethod Green
+highlight! link typescriptES6SetMethod Green
+highlight! link typescriptReflectMethod Green
+highlight! link typescriptBOMWindowMethod Green
+highlight! link typescriptGeolocationMethod Green
+highlight! link typescriptServiceWorkerMethod Green
+highlight! link typescriptCacheMethod Green
+highlight! link typescriptES6MapMethod Green
+highlight! link typescriptFunctionMethod Green
+highlight! link typescriptRegExpMethod Green
+highlight! link typescriptXHRMethod Green
+highlight! link typescriptBOMNavigatorMethod Green
+highlight! link typescriptServiceWorkerMethod Green
+highlight! link typescriptIntlMethod Green
+highlight! link typescriptDOMEventTargetMethod Green
+highlight! link typescriptDOMEventMethod Green
+highlight! link typescriptDOMDocMethod Green
+highlight! link typescriptStringStaticMethod Green
+highlight! link typescriptStringMethod Green
+highlight! link typescriptSymbolStaticMethod Green
+highlight! link typescriptObjectStaticMethod Green
+highlight! link typescriptObjectMethod Green
+highlight! link typescriptJSONStaticMethod Green
+highlight! link typescriptEncodingMethod Green
+highlight! link typescriptBOMLocationMethod Green
+highlight! link typescriptPromiseStaticMethod Green
+highlight! link typescriptPromiseMethod Green
+highlight! link typescriptSubtleCryptoMethod Green
+highlight! link typescriptCryptoMethod Green
+highlight! link typescriptBOMHistoryMethod Green
+highlight! link typescriptDOMFormMethod Green
+highlight! link typescriptConsoleMethod Green
+highlight! link typescriptDateStaticMethod Green
+highlight! link typescriptDateMethod Green
+highlight! link typescriptArrayStaticMethod Green
+highlight! link typescriptArrayMethod Green
+highlight! link typescriptMathStaticMethod Green
+highlight! link typescriptStringProperty Cyan
+highlight! link typescriptDOMStorageProp Cyan
+highlight! link typescriptFileReaderProp Cyan
+highlight! link typescriptURLUtilsProp Cyan
+highlight! link typescriptNumberStaticProp Cyan
+highlight! link typescriptDOMNodeProp Cyan
+highlight! link typescriptBOMWindowProp Cyan
+highlight! link typescriptRequestProp Cyan
+highlight! link typescriptResponseProp Cyan
+highlight! link typescriptPaymentProp Cyan
+highlight! link typescriptPaymentResponseProp Cyan
+highlight! link typescriptPaymentAddressProp Cyan
+highlight! link typescriptPaymentShippingOptionProp Cyan
+highlight! link typescriptES6SetProp Cyan
+highlight! link typescriptServiceWorkerProp Cyan
+highlight! link typescriptES6MapProp Cyan
+highlight! link typescriptRegExpStaticProp Cyan
+highlight! link typescriptRegExpProp Cyan
+highlight! link typescriptBOMNavigatorProp Green
+highlight! link typescriptXHRProp Cyan
+highlight! link typescriptDOMEventProp Cyan
+highlight! link typescriptDOMDocProp Cyan
+highlight! link typescriptBOMNetworkProp Cyan
+highlight! link typescriptSymbolStaticProp Cyan
+highlight! link typescriptEncodingProp Cyan
+highlight! link typescriptBOMLocationProp Cyan
+highlight! link typescriptCryptoProp Cyan
+highlight! link typescriptDOMFormProp Cyan
+highlight! link typescriptBOMHistoryProp Cyan
+highlight! link typescriptMathStaticProp Cyan
+" }}}
+" }}}
+" Dart: {{{
+" dart-lang: https://github.com/dart-lang/dart-vim-plugin{{{
+highlight! link dartCoreClasses Cyan
+highlight! link dartTypeName Cyan
+highlight! link dartInterpolation Blue
+highlight! link dartTypeDef RedItalic
+highlight! link dartClassDecl RedItalic
+highlight! link dartLibrary PurpleItalic
+highlight! link dartMetadata Blue
+" }}}
+" }}}
+" CoffeeScript: {{{
+" vim-coffee-script: https://github.com/kchmck/vim-coffee-script{{{
+highlight! link coffeeExtendedOp Orange
+highlight! link coffeeSpecialOp Fg
+highlight! link coffeeDotAccess Grey
+highlight! link coffeeCurly Fg
+highlight! link coffeeParen Fg
+highlight! link coffeeBracket Fg
+highlight! link coffeeParens Blue
+highlight! link coffeeBrackets Blue
+highlight! link coffeeCurlies Blue
+highlight! link coffeeOperator RedItalic
+highlight! link coffeeStatement Orange
+highlight! link coffeeSpecialIdent Purple
+highlight! link coffeeObject Purple
+highlight! link coffeeObjAssign Cyan
+" }}}
+" }}}
+" PureScript: {{{
+" purescript-vim: https://github.com/purescript-contrib/purescript-vim{{{
+highlight! link purescriptModuleKeyword PurpleItalic
+highlight! link purescriptModule Cyan
+highlight! link purescriptModuleParams Blue
+highlight! link purescriptAsKeyword OrangeItalic
+highlight! link purescriptHidingKeyword OrangeItalic
+highlight! link purescriptWhere OrangeItalic
+highlight! link purescriptIdentifier Blue
+highlight! link purescriptFunction Yellow
+highlight! link purescriptType Cyan
+" }}}
+" }}}
+" C/C++: {{{
+" vim-cpp-enhanced-highlight: https://github.com/octol/vim-cpp-enhanced-highlight{{{
+highlight! link cppSTLnamespace Purple
+highlight! link cppSTLtype Yellow
+highlight! link cppAccess PurpleItalic
+highlight! link cppStructure RedItalic
+highlight! link cppSTLios Cyan
+highlight! link cppSTLiterator PurpleItalic
+highlight! link cppSTLexception Purple
+" }}}
+" vim-cpp-modern: https://github.com/bfrg/vim-cpp-modern{{{
+highlight! link cppSTLVariable Cyan
+" }}}
+" }}}
+" ObjectiveC: {{{
+" builtin: {{{
+highlight! link objcModuleImport PurpleItalic
+highlight! link objcException RedItalic
+highlight! link objcProtocolList Cyan
+highlight! link objcObjDef PurpleItalic
+highlight! link objcDirective RedItalic
+highlight! link objcPropertyAttribute Orange
+highlight! link objcHiddenArgument Cyan
+" }}}
+" }}}
+" C#: {{{
+" builtin: https://github.com/nickspoons/vim-cs{{{
+highlight! link csUnspecifiedStatement PurpleItalic
+highlight! link csStorage RedItalic
+highlight! link csClass RedItalic
+highlight! link csNewType Cyan
+highlight! link csContextualStatement PurpleItalic
+highlight! link csInterpolationDelimiter Yellow
+highlight! link csInterpolation Yellow
+highlight! link csEndColon Fg
+" }}}
+" }}}
+" Python: {{{
+" builtin: {{{
+highlight! link pythonBuiltin Yellow
+highlight! link pythonExceptions Purple
+highlight! link pythonDecoratorName Blue
+" }}}
+" python-syntax: https://github.com/vim-python/python-syntax{{{
+highlight! link pythonExClass Purple
+highlight! link pythonBuiltinType Yellow
+highlight! link pythonBuiltinObj Blue
+highlight! link pythonDottedName PurpleItalic
+highlight! link pythonBuiltinFunc Green
+highlight! link pythonFunction Cyan
+highlight! link pythonDecorator Orange
+highlight! link pythonInclude Include
+highlight! link pythonImport PreProc
+highlight! link pythonRun Blue
+highlight! link pythonCoding Grey
+highlight! link pythonOperator Orange
+highlight! link pythonConditional RedItalic
+highlight! link pythonRepeat RedItalic
+highlight! link pythonException RedItalic
+highlight! link pythonNone Cyan
+highlight! link pythonDot Grey
+" }}}
+" }}}
+" Lua: {{{
+" builtin: {{{
+highlight! link luaFunc Green
+highlight! link luaFunction Cyan
+highlight! link luaTable Fg
+highlight! link luaIn RedItalic
+" }}}
+" vim-lua: https://github.com/tbastos/vim-lua{{{
+highlight! link luaFuncCall Green
+highlight! link luaLocal Orange
+highlight! link luaSpecialValue Green
+highlight! link luaBraces Fg
+highlight! link luaBuiltIn Purple
+highlight! link luaNoise Grey
+highlight! link luaLabel Purple
+highlight! link luaFuncTable Yellow
+highlight! link luaFuncArgName Blue
+highlight! link luaEllipsis Orange
+highlight! link luaDocTag Green
+" }}}
+" }}}
+" Moonscript: {{{
+" moonscript-vim: https://github.com/leafo/moonscript-vim{{{
+highlight! link moonInterpDelim Yellow
+highlight! link moonInterp Blue
+highlight! link moonFunction Green
+highlight! link moonLuaFunc Cyan
+highlight! link moonSpecialVar Purple
+highlight! link moonObject Yellow
+highlight! link moonDotAccess Grey
+" }}}
+" }}}
+" Java: {{{
+" builtin: {{{
+highlight! link javaClassDecl RedItalic
+highlight! link javaMethodDecl RedItalic
+highlight! link javaVarArg Green
+highlight! link javaAnnotation Blue
+highlight! link javaUserLabel Purple
+highlight! link javaTypedef Cyan
+highlight! link javaParen Fg
+highlight! link javaParen1 Fg
+highlight! link javaParen2 Fg
+highlight! link javaParen3 Fg
+highlight! link javaParen4 Fg
+highlight! link javaParen5 Fg
+" }}}
+" }}}
+" Kotlin: {{{
+" kotlin-vim: https://github.com/udalov/kotlin-vim{{{
+highlight! link ktSimpleInterpolation Yellow
+highlight! link ktComplexInterpolation Yellow
+highlight! link ktComplexInterpolationBrace Yellow
+highlight! link ktStructure RedItalic
+highlight! link ktKeyword Cyan
+" }}}
+" }}}
+" Scala: {{{
+" builtin: https://github.com/derekwyatt/vim-scala{{{
+highlight! link scalaNameDefinition Cyan
+highlight! link scalaInterpolationBoundary Yellow
+highlight! link scalaInterpolation Blue
+highlight! link scalaTypeOperator Orange
+highlight! link scalaOperator Orange
+highlight! link scalaKeywordModifier Orange
+" }}}
+" }}}
+" Go: {{{
+" builtin: https://github.com/google/vim-ft-go{{{
+highlight! link goDirective PurpleItalic
+highlight! link goConstants Cyan
+highlight! link goDeclType OrangeItalic
+" }}}
+" polyglot: {{{
+highlight! link goPackage PurpleItalic
+highlight! link goImport PurpleItalic
+highlight! link goVarArgs Blue
+highlight! link goBuiltins Green
+highlight! link goPredefinedIdentifiers Cyan
+highlight! link goVar Orange
+" }}}
+" }}}
+" Rust: {{{
+" builtin: https://github.com/rust-lang/rust.vim{{{
+highlight! link rustStructure Orange
+highlight! link rustIdentifier Purple
+highlight! link rustModPath Orange
+highlight! link rustModPathSep Grey
+highlight! link rustSelf Blue
+highlight! link rustSuper Blue
+highlight! link rustDeriveTrait PurpleItalic
+highlight! link rustEnumVariant Purple
+highlight! link rustMacroVariable Blue
+highlight! link rustAssert Cyan
+highlight! link rustPanic Cyan
+highlight! link rustPubScopeCrate PurpleItalic
+" }}}
+" }}}
+" Swift: {{{
+" swift.vim: https://github.com/keith/swift.vim{{{
+highlight! link swiftInterpolatedWrapper Yellow
+highlight! link swiftInterpolatedString Blue
+highlight! link swiftProperty Cyan
+highlight! link swiftTypeDeclaration Orange
+highlight! link swiftClosureArgument Purple
+" }}}
+" }}}
+" PHP: {{{
+" builtin: https://jasonwoof.com/gitweb/?p=vim-syntax.git;a=blob;f=php.vim;hb=HEAD{{{
+highlight! link phpVarSelector Blue
+highlight! link phpDefine OrangeItalic
+highlight! link phpStructure RedItalic
+highlight! link phpSpecialFunction Green
+highlight! link phpInterpSimpleCurly Yellow
+highlight! link phpComparison Orange
+highlight! link phpMethodsVar Cyan
+highlight! link phpMemberSelector Green
+" }}}
+" php.vim: https://github.com/StanAngeloff/php.vim{{{
+highlight! link phpParent Fg
+highlight! link phpNowDoc Green
+highlight! link phpFunction Green
+highlight! link phpMethod Green
+highlight! link phpClass Orange
+highlight! link phpSuperglobals Purple
+" }}}
+" }}}
+" Ruby: {{{
+" builtin: https://github.com/vim-ruby/vim-ruby{{{
+highlight! link rubyKeywordAsMethod Green
+highlight! link rubyInterpolation Yellow
+highlight! link rubyInterpolationDelimiter Yellow
+highlight! link rubyStringDelimiter Green
+highlight! link rubyBlockParameterList Blue
+highlight! link rubyDefine RedItalic
+highlight! link rubyModuleName Purple
+highlight! link rubyAccess Orange
+highlight! link rubyAttribute Yellow
+highlight! link rubyMacro RedItalic
+" }}}
+" }}}
+" Haskell: {{{
+" haskell-vim: https://github.com/neovimhaskell/haskell-vim{{{
+highlight! link haskellBrackets Blue
+highlight! link haskellIdentifier Yellow
+highlight! link haskellAssocType Cyan
+highlight! link haskellQuotedType Cyan
+highlight! link haskellType Cyan
+highlight! link haskellDeclKeyword RedItalic
+highlight! link haskellWhere RedItalic
+highlight! link haskellDeriving PurpleItalic
+highlight! link haskellForeignKeywords PurpleItalic
+" }}}
+" }}}
+" Perl: {{{
+" builtin: https://github.com/vim-perl/vim-perl{{{
+highlight! link perlStatementPackage PurpleItalic
+highlight! link perlStatementInclude PurpleItalic
+highlight! link perlStatementStorage Orange
+highlight! link perlStatementList Orange
+highlight! link perlMatchStartEnd Orange
+highlight! link perlVarSimpleMemberName Cyan
+highlight! link perlVarSimpleMember Fg
+highlight! link perlMethod Green
+highlight! link podVerbatimLine Green
+highlight! link podCmdText Yellow
+" }}}
+" }}}
+" OCaml: {{{
+" builtin: https://github.com/rgrinberg/vim-ocaml{{{
+highlight! link ocamlArrow Orange
+highlight! link ocamlEqual Orange
+highlight! link ocamlOperator Orange
+highlight! link ocamlKeyChar Orange
+highlight! link ocamlModPath Green
+highlight! link ocamlFullMod Green
+highlight! link ocamlModule Purple
+highlight! link ocamlConstructor Cyan
+highlight! link ocamlFuncWith Yellow
+highlight! link ocamlWith Yellow
+highlight! link ocamlModParam Fg
+highlight! link ocamlModParam1 Fg
+highlight! link ocamlAnyVar Blue
+highlight! link ocamlPpxEncl Orange
+highlight! link ocamlPpxIdentifier Blue
+highlight! link ocamlSigEncl Orange
+highlight! link ocamlStructEncl Cyan
+highlight! link ocamlModParam1 Blue
+" }}}
+" }}}
+" Erlang: {{{
+" builtin: https://github.com/vim-erlang/vim-erlang-runtime{{{
+highlight! link erlangAtom Cyan
+highlight! link erlangLocalFuncRef Green
+highlight! link erlangLocalFuncCall Green
+highlight! link erlangGlobalFuncRef Green
+highlight! link erlangGlobalFuncCall Green
+highlight! link erlangAttribute PurpleItalic
+highlight! link erlangPipe Orange
+" }}}
+" }}}
+" Elixir: {{{
+" vim-elixir: https://github.com/elixir-editors/vim-elixir{{{
+highlight! link elixirStringDelimiter Green
+highlight! link elixirKeyword Orange
+highlight! link elixirInterpolation Yellow
+highlight! link elixirInterpolationDelimiter Yellow
+highlight! link elixirSelf Purple
+highlight! link elixirPseudoVariable Purple
+highlight! link elixirModuleDefine PurpleItalic
+highlight! link elixirBlockDefinition RedItalic
+highlight! link elixirDefine RedItalic
+highlight! link elixirPrivateDefine RedItalic
+highlight! link elixirGuard RedItalic
+highlight! link elixirPrivateGuard RedItalic
+highlight! link elixirProtocolDefine RedItalic
+highlight! link elixirImplDefine RedItalic
+highlight! link elixirRecordDefine RedItalic
+highlight! link elixirPrivateRecordDefine RedItalic
+highlight! link elixirMacroDefine RedItalic
+highlight! link elixirPrivateMacroDefine RedItalic
+highlight! link elixirDelegateDefine RedItalic
+highlight! link elixirOverridableDefine RedItalic
+highlight! link elixirExceptionDefine RedItalic
+highlight! link elixirCallbackDefine RedItalic
+highlight! link elixirStructDefine RedItalic
+highlight! link elixirExUnitMacro RedItalic
+" }}}
+" }}}
+" Common Lisp: {{{
+" builtin: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_LISP{{{
+highlight! link lispAtomMark Green
+highlight! link lispKey Cyan
+highlight! link lispFunc OrangeItalic
+" }}}
+" }}}
+" Clojure: {{{
+" builtin: https://github.com/guns/vim-clojure-static{{{
+highlight! link clojureMacro PurpleItalic
+highlight! link clojureFunc Cyan
+highlight! link clojureConstant Yellow
+highlight! link clojureSpecial RedItalic
+highlight! link clojureDefine RedItalic
+highlight! link clojureKeyword Orange
+highlight! link clojureVariable Blue
+highlight! link clojureMeta Yellow
+highlight! link clojureDeref Yellow
+" }}}
+" }}}
+" Shell: {{{
+" builtin: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH{{{
+highlight! link shRange Fg
+highlight! link shTestOpr Orange
+highlight! link shOption Cyan
+highlight! link bashStatement Orange
+highlight! link shOperator Orange
+highlight! link shQuote Green
+highlight! link shSet Orange
+highlight! link shSetList Blue
+highlight! link shSnglCase Orange
+highlight! link shVariable Blue
+highlight! link shVarAssign Orange
+highlight! link shCmdSubRegion Green
+highlight! link shCommandSub Orange
+highlight! link shFunctionOne Green
+highlight! link shFunctionKey RedItalic
+" }}}
+" }}}
+" Zsh: {{{
+" builtin: https://github.com/chrisbra/vim-zsh{{{
+highlight! link zshOptStart PurpleItalic
+highlight! link zshOption Blue
+highlight! link zshSubst Yellow
+highlight! link zshFunction Green
+highlight! link zshDeref Blue
+highlight! link zshTypes Orange
+highlight! link zshVariableDef Blue
+" }}}
+" }}}
+" Fish: {{{
+" vim-fish: https://github.com/georgewitteman/vim-fish{{{
+highlight! link fishStatement Orange
+highlight! link fishLabel RedItalic
+highlight! link fishCommandSub Yellow
+" }}}
+" }}}
+" PowerShell: {{{
+" vim-ps1: https://github.com/PProvost/vim-ps1{{{
+highlight! link ps1FunctionInvocation Cyan
+highlight! link ps1FunctionDeclaration Cyan
+highlight! link ps1InterpolationDelimiter Yellow
+highlight! link ps1BuiltIn Yellow
+" }}}
+" }}}
+" VimL: {{{
+highlight! link vimLet Orange
+highlight! link vimFunction Green
+highlight! link vimIsCommand Fg
+highlight! link vimUserFunc Green
+highlight! link vimFuncName Green
+highlight! link vimMap PurpleItalic
+highlight! link vimNotation Cyan
+highlight! link vimMapLhs Green
+highlight! link vimMapRhs Green
+highlight! link vimSetEqual Yellow
+highlight! link vimSetSep Fg
+highlight! link vimOption Cyan
+highlight! link vimUserAttrbKey Yellow
+highlight! link vimUserAttrb Green
+highlight! link vimAutoCmdSfxList Cyan
+highlight! link vimSynType Orange
+highlight! link vimHiBang Orange
+highlight! link vimSet Yellow
+highlight! link vimSetSep Grey
+" }}}
+" Makefile: {{{
+highlight! link makeIdent Cyan
+highlight! link makeSpecTarget Yellow
+highlight! link makeTarget Blue
+highlight! link makeCommands Orange
+" }}}
+" CMake: {{{
+highlight! link cmakeCommand Orange
+highlight! link cmakeKWconfigure_package_config_file Yellow
+highlight! link cmakeKWwrite_basic_package_version_file Yellow
+highlight! link cmakeKWExternalProject Cyan
+highlight! link cmakeKWadd_compile_definitions Cyan
+highlight! link cmakeKWadd_compile_options Cyan
+highlight! link cmakeKWadd_custom_command Cyan
+highlight! link cmakeKWadd_custom_target Cyan
+highlight! link cmakeKWadd_definitions Cyan
+highlight! link cmakeKWadd_dependencies Cyan
+highlight! link cmakeKWadd_executable Cyan
+highlight! link cmakeKWadd_library Cyan
+highlight! link cmakeKWadd_link_options Cyan
+highlight! link cmakeKWadd_subdirectory Cyan
+highlight! link cmakeKWadd_test Cyan
+highlight! link cmakeKWbuild_command Cyan
+highlight! link cmakeKWcmake_host_system_information Cyan
+highlight! link cmakeKWcmake_minimum_required Cyan
+highlight! link cmakeKWcmake_parse_arguments Cyan
+highlight! link cmakeKWcmake_policy Cyan
+highlight! link cmakeKWconfigure_file Cyan
+highlight! link cmakeKWcreate_test_sourcelist Cyan
+highlight! link cmakeKWctest_build Cyan
+highlight! link cmakeKWctest_configure Cyan
+highlight! link cmakeKWctest_coverage Cyan
+highlight! link cmakeKWctest_memcheck Cyan
+highlight! link cmakeKWctest_run_script Cyan
+highlight! link cmakeKWctest_start Cyan
+highlight! link cmakeKWctest_submit Cyan
+highlight! link cmakeKWctest_test Cyan
+highlight! link cmakeKWctest_update Cyan
+highlight! link cmakeKWctest_upload Cyan
+highlight! link cmakeKWdefine_property Cyan
+highlight! link cmakeKWdoxygen_add_docs Cyan
+highlight! link cmakeKWenable_language Cyan
+highlight! link cmakeKWenable_testing Cyan
+highlight! link cmakeKWexec_program Cyan
+highlight! link cmakeKWexecute_process Cyan
+highlight! link cmakeKWexport Cyan
+highlight! link cmakeKWexport_library_dependencies Cyan
+highlight! link cmakeKWfile Cyan
+highlight! link cmakeKWfind_file Cyan
+highlight! link cmakeKWfind_library Cyan
+highlight! link cmakeKWfind_package Cyan
+highlight! link cmakeKWfind_path Cyan
+highlight! link cmakeKWfind_program Cyan
+highlight! link cmakeKWfltk_wrap_ui Cyan
+highlight! link cmakeKWforeach Cyan
+highlight! link cmakeKWfunction Cyan
+highlight! link cmakeKWget_cmake_property Cyan
+highlight! link cmakeKWget_directory_property Cyan
+highlight! link cmakeKWget_filename_component Cyan
+highlight! link cmakeKWget_property Cyan
+highlight! link cmakeKWget_source_file_property Cyan
+highlight! link cmakeKWget_target_property Cyan
+highlight! link cmakeKWget_test_property Cyan
+highlight! link cmakeKWif Cyan
+highlight! link cmakeKWinclude Cyan
+highlight! link cmakeKWinclude_directories Cyan
+highlight! link cmakeKWinclude_external_msproject Cyan
+highlight! link cmakeKWinclude_guard Cyan
+highlight! link cmakeKWinstall Cyan
+highlight! link cmakeKWinstall_files Cyan
+highlight! link cmakeKWinstall_programs Cyan
+highlight! link cmakeKWinstall_targets Cyan
+highlight! link cmakeKWlink_directories Cyan
+highlight! link cmakeKWlist Cyan
+highlight! link cmakeKWload_cache Cyan
+highlight! link cmakeKWload_command Cyan
+highlight! link cmakeKWmacro Cyan
+highlight! link cmakeKWmark_as_advanced Cyan
+highlight! link cmakeKWmath Cyan
+highlight! link cmakeKWmessage Cyan
+highlight! link cmakeKWoption Cyan
+highlight! link cmakeKWproject Cyan
+highlight! link cmakeKWqt_wrap_cpp Cyan
+highlight! link cmakeKWqt_wrap_ui Cyan
+highlight! link cmakeKWremove Cyan
+highlight! link cmakeKWseparate_arguments Cyan
+highlight! link cmakeKWset Cyan
+highlight! link cmakeKWset_directory_properties Cyan
+highlight! link cmakeKWset_property Cyan
+highlight! link cmakeKWset_source_files_properties Cyan
+highlight! link cmakeKWset_target_properties Cyan
+highlight! link cmakeKWset_tests_properties Cyan
+highlight! link cmakeKWsource_group Cyan
+highlight! link cmakeKWstring Cyan
+highlight! link cmakeKWsubdirs Cyan
+highlight! link cmakeKWtarget_compile_definitions Cyan
+highlight! link cmakeKWtarget_compile_features Cyan
+highlight! link cmakeKWtarget_compile_options Cyan
+highlight! link cmakeKWtarget_include_directories Cyan
+highlight! link cmakeKWtarget_link_directories Cyan
+highlight! link cmakeKWtarget_link_libraries Cyan
+highlight! link cmakeKWtarget_link_options Cyan
+highlight! link cmakeKWtarget_precompile_headers Cyan
+highlight! link cmakeKWtarget_sources Cyan
+highlight! link cmakeKWtry_compile Cyan
+highlight! link cmakeKWtry_run Cyan
+highlight! link cmakeKWunset Cyan
+highlight! link cmakeKWuse_mangled_mesa Cyan
+highlight! link cmakeKWvariable_requires Cyan
+highlight! link cmakeKWvariable_watch Cyan
+highlight! link cmakeKWwrite_file Cyan
+" }}}
+" Json: {{{
+highlight! link jsonKeyword Orange
+highlight! link jsonQuote Grey
+highlight! link jsonBraces Fg
+" }}}
+" Yaml: {{{
+highlight! link yamlKey Orange
+highlight! link yamlConstant Purple
+" }}}
+" Toml: {{{
+call s:HL('tomlTable', s:palette.purple, s:palette.none, 'bold')
+highlight! link tomlKey Orange
+highlight! link tomlBoolean Cyan
+highlight! link tomlTableArray tomlTable
+" }}}
+" Diff: {{{
+highlight! link diffAdded Green
+highlight! link diffRemoved Red
+highlight! link diffChanged Blue
+highlight! link diffOldFile Yellow
+highlight! link diffNewFile Orange
+highlight! link diffFile Cyan
+highlight! link diffLine Grey
+highlight! link diffIndexLine Purple
+" }}}
+" Help: {{{
+call s:HL('helpNote', s:palette.purple, s:palette.none, 'bold')
+call s:HL('helpHeadline', s:palette.red, s:palette.none, 'bold')
+call s:HL('helpHeader', s:palette.orange, s:palette.none, 'bold')
+call s:HL('helpURL', s:palette.green, s:palette.none, 'underline')
+call s:HL('helpHyperTextEntry', s:palette.yellow, s:palette.none, 'bold')
+highlight! link helpHyperTextJump Yellow
+highlight! link helpCommand Cyan
+highlight! link helpExample Green
+highlight! link helpSpecial Blue
+highlight! link helpSectionDelim Grey
+" }}}
+" }}}
+" Plugins: {{{
+" junegunn/vim-plug{{{
+call s:HL('plug1', s:palette.orange, s:palette.none, 'bold')
+call s:HL('plugNumber', s:palette.yellow, s:palette.none, 'bold')
+highlight! link plug2 Green
+highlight! link plugBracket Grey
+highlight! link plugName Cyan
+highlight! link plugDash Orange
+highlight! link plugError Red
+highlight! link plugNotLoaded Grey
+highlight! link plugRelDate Grey
+highlight! link plugH2 Orange
+highlight! link plugMessage Orange
+highlight! link plugStar Red
+highlight! link plugUpdate Blue
+highlight! link plugDeleted Grey
+highlight! link plugEdge Yellow
+highlight! link plugSha Green
+" }}}
+" neoclide/coc.nvim{{{
+call s:HL('CocHoverRange', s:palette.none, s:palette.none, 'bold,underline')
+if s:configuration.current_word ==# 'bold'
+ call s:HL('CocHighlightText', s:palette.none, s:palette.none, 'bold')
+elseif s:configuration.current_word ==# 'underline'
+ call s:HL('CocHighlightText', s:palette.none, s:palette.none, 'underline')
+elseif s:configuration.current_word ==# 'italic'
+ call s:HL('CocHighlightText', s:palette.none, s:palette.none, 'italic')
+elseif s:configuration.current_word ==# 'grey background'
+ call s:HL('CocHighlightText', s:palette.none, s:palette.bg2)
+endif
+highlight! link CocErrorSign RedSign
+highlight! link CocWarningSign YellowSign
+highlight! link CocInfoSign BlueSign
+highlight! link CocHintSign CyanSign
+highlight! link CocErrorHighlight ALEError
+highlight! link CocWarningHighlight ALEWarning
+highlight! link CocInfoHighlight ALEInfo
+highlight! link CocWarningVirtualText Grey
+highlight! link CocErrorVirtualText Grey
+highlight! link CocInfoVirtualText Grey
+highlight! link CocHintVirtualText Grey
+highlight! link CocCodeLens Grey
+highlight! link HighlightedyankRegion Visual
+highlight! link CocGitAddedSign GreenSign
+highlight! link CocGitChangeRemovedSign PurpleSign
+highlight! link CocGitChangedSign BlueSign
+highlight! link CocGitRemovedSign RedSign
+highlight! link CocGitTopRemovedSign RedSign
+highlight! link CocExplorerBufferRoot Orange
+highlight! link CocExplorerBufferExpandIcon Cyan
+highlight! link CocExplorerBufferBufnr Purple
+highlight! link CocExplorerBufferModified Red
+highlight! link CocExplorerBufferBufname Grey
+highlight! link CocExplorerBufferFullpath Grey
+highlight! link CocExplorerFileRoot Orange
+highlight! link CocExplorerFileExpandIcon Cyan
+highlight! link CocExplorerFileFullpath Grey
+highlight! link CocExplorerFileDirectory Green
+highlight! link CocExplorerFileGitStage Purple
+highlight! link CocExplorerFileGitUnstage Yellow
+highlight! link CocExplorerFileSize Blue
+highlight! link CocExplorerTimeAccessed Cyan
+highlight! link CocExplorerTimeCreated Cyan
+highlight! link CocExplorerTimeModified Cyan
+" }}}
+" dense-analysis/ale{{{
+call s:HL('ALEError', s:palette.none, s:palette.none, 'undercurl', s:palette.red)
+call s:HL('ALEWarning', s:palette.none, s:palette.none, 'undercurl', s:palette.yellow)
+call s:HL('ALEInfo', s:palette.none, s:palette.none, 'undercurl', s:palette.blue)
+highlight! link ALEErrorSign RedSign
+highlight! link ALEWarningSign YellowSign
+highlight! link ALEInfoSign BlueSign
+highlight! link ALEVirtualTextError Grey
+highlight! link ALEVirtualTextWarning Grey
+highlight! link ALEVirtualTextInfo Grey
+highlight! link ALEVirtualTextStyleError Grey
+highlight! link ALEVirtualTextStyleWarning Grey
+" }}}
+" neomake/neomake{{{
+highlight! link NeomakeError ALEError
+highlight! link NeomakeErrorSign RedSign
+highlight! link NeomakeWarning ALEWarning
+highlight! link NeomakeWarningSign YellowSign
+highlight! link NeomakeInfo ALEInfo
+highlight! link NeomakeInfoSign BlueSign
+highlight! link NeomakeMessage Cyan
+highlight! link NeomakeMessageSign CyanSign
+highlight! link NeomakeVirtualtextError Grey
+highlight! link NeomakeVirtualtextWarning Grey
+highlight! link NeomakeVirtualtextInfo Grey
+highlight! link NeomakeVirtualtextMessag Grey
+" }}}
+" vim-syntastic/syntastic{{{
+highlight! link SyntasticError ALEError
+highlight! link SyntasticWarning ALEWarning
+highlight! link SyntasticErrorSign RedSign
+highlight! link SyntasticWarningSign YellowSign
+" }}}
+" Yggdroot/LeaderF{{{
+call s:HL('Lf_hl_match', s:palette.green, s:palette.none, 'bold')
+call s:HL('Lf_hl_match0', s:palette.green, s:palette.none, 'bold')
+call s:HL('Lf_hl_match1', s:palette.cyan, s:palette.none, 'bold')
+call s:HL('Lf_hl_match2', s:palette.blue, s:palette.none, 'bold')
+call s:HL('Lf_hl_match3', s:palette.purple, s:palette.none, 'bold')
+call s:HL('Lf_hl_match4', s:palette.orange, s:palette.none, 'bold')
+call s:HL('Lf_hl_matchRefine', s:palette.red, s:palette.none, 'bold')
+highlight! link Lf_hl_cursorline Fg
+highlight! link Lf_hl_selection DiffAdd
+highlight! link Lf_hl_rgHighlight Visual
+highlight! link Lf_hl_gtagsHighlight Visual
+" }}}
+" junegunn/fzf.vim{{{
+let g:fzf_colors = {
+ \ 'fg': ['fg', 'Normal'],
+ \ 'bg': ['bg', 'Normal'],
+ \ 'hl': ['fg', 'Green'],
+ \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
+ \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
+ \ 'hl+': ['fg', 'Cyan'],
+ \ 'info': ['fg', 'Cyan'],
+ \ 'prompt': ['fg', 'Orange'],
+ \ 'pointer': ['fg', 'Blue'],
+ \ 'marker': ['fg', 'Yellow'],
+ \ 'spinner': ['fg', 'Yellow'],
+ \ 'header': ['fg', 'Grey']
+ \ }
+" }}}
+" Shougo/denite.nvim{{{
+call s:HL('deniteMatchedChar', s:palette.green, s:palette.none, 'bold')
+call s:HL('deniteMatchedRange', s:palette.green, s:palette.none, 'bold,underline')
+call s:HL('deniteInput', s:palette.green, s:palette.bg3, 'bold')
+call s:HL('deniteStatusLineNumber', s:palette.purple, s:palette.bg3)
+call s:HL('deniteStatusLinePath', s:palette.fg, s:palette.bg3)
+highlight! link deniteSelectedLin Green
+" }}}
+" kien/ctrlp.vim{{{
+call s:HL('CtrlPMatch', s:palette.green, s:palette.none, 'bold')
+call s:HL('CtrlPPrtBase', s:palette.bg3, s:palette.none)
+call s:HL('CtrlPLinePre', s:palette.bg3, s:palette.none)
+call s:HL('CtrlPMode1', s:palette.blue, s:palette.bg3, 'bold')
+call s:HL('CtrlPMode2', s:palette.bg0, s:palette.blue, 'bold')
+call s:HL('CtrlPStats', s:palette.grey, s:palette.bg3, 'bold')
+highlight! link CtrlPNoEntries Red
+highlight! link CtrlPPrtCursor Blue
+" }}}
+" majutsushi/tagbar{{{
+highlight! link TagbarFoldIcon Green
+highlight! link TagbarSignature Green
+highlight! link TagbarKind Red
+highlight! link TagbarScope Orange
+highlight! link TagbarNestedKind Cyan
+highlight! link TagbarVisibilityPrivate Red
+highlight! link TagbarVisibilityPublic Blue
+" }}}
+" liuchengxu/vista.vim{{{
+highlight! link VistaBracket Grey
+highlight! link VistaChildrenNr Orange
+highlight! link VistaScope Red
+highlight! link VistaTag Green
+highlight! link VistaPrefix Grey
+highlight! link VistaColon Green
+highlight! link VistaIcon Purple
+highlight! link VistaLineNr Fg
+" }}}
+" airblade/vim-gitgutter{{{
+highlight! link GitGutterAdd GreenSign
+highlight! link GitGutterChange BlueSign
+highlight! link GitGutterDelete RedSign
+highlight! link GitGutterChangeDelete PurpleSign
+" }}}
+" mhinz/vim-signify{{{
+highlight! link SignifySignAdd GreenSign
+highlight! link SignifySignChange BlueSign
+highlight! link SignifySignDelete RedSign
+highlight! link SignifySignChangeDelete PurpleSign
+" }}}
+" scrooloose/nerdtree{{{
+highlight! link NERDTreeDir Green
+highlight! link NERDTreeDirSlash Cyan
+highlight! link NERDTreeOpenable Orange
+highlight! link NERDTreeClosable Orange
+highlight! link NERDTreeFile Fg
+highlight! link NERDTreeExecFile Yellow
+highlight! link NERDTreeUp Grey
+highlight! link NERDTreeCWD Cyan
+highlight! link NERDTreeHelp LightGrey
+highlight! link NERDTreeToggleOn Green
+highlight! link NERDTreeToggleOff Red
+highlight! link NERDTreeFlags Orange
+highlight! link NERDTreeLinkFile Grey
+highlight! link NERDTreeLinkTarget Green
+" }}}
+" justinmk/vim-dirvish{{{
+highlight! link DirvishPathTail Cyan
+highlight! link DirvishArg Yellow
+" }}}
+" vim.org/netrw {{{
+" https://www.vim.org/scripts/script.php?script_id=1075
+highlight! link netrwDir Green
+highlight! link netrwClassify Green
+highlight! link netrwLink Grey
+highlight! link netrwSymLink Fg
+highlight! link netrwExe Yellow
+highlight! link netrwComment Grey
+highlight! link netrwList Cyan
+highlight! link netrwHelpCmd Blue
+highlight! link netrwCmdSep Grey
+highlight! link netrwVersion Orange
+" }}}
+" andymass/vim-matchup{{{
+call s:HL('MatchParenCur', s:palette.none, s:palette.none, 'bold')
+call s:HL('MatchWord', s:palette.none, s:palette.none, 'underline')
+call s:HL('MatchWordCur', s:palette.none, s:palette.none, 'underline')
+" }}}
+" easymotion/vim-easymotion {{{
+highlight! link EasyMotionTarget Search
+highlight! link EasyMotionShade Comment
+" }}}
+" justinmk/vim-sneak {{{
+highlight! link Sneak Cursor
+highlight! link SneakLabel Cursor
+highlight! link SneakScope DiffChange
+" }}}
+" terryma/vim-multiple-cursors{{{
+highlight! link multiple_cursors_cursor Cursor
+highlight! link multiple_cursors_visual Visual
+" }}}
+" mg979/vim-visual-multi{{{
+let g:VM_Mono_hl = 'Cursor'
+let g:VM_Extend_hl = 'Visual'
+let g:VM_Cursor_hl = 'Cursor'
+let g:VM_Insert_hl = 'Cursor'
+" }}}
+" dominikduda/vim_current_word{{{
+highlight! link CurrentWord CocHighlightText
+highlight! link CurrentWordTwins CocHighlightText
+" }}}
+" RRethy/vim-illuminate{{{
+highlight! link illuminatedWord CocHighlightText
+" }}}
+" itchyny/vim-cursorword{{{
+highlight! link CursorWord0 CocHighlightText
+highlight! link CursorWord1 CocHighlightText
+" }}}
+" nathanaelkane/vim-indent-guides{{{
+if get(g:, 'indent_guides_auto_colors', 1) == 0
+ call s:HL('IndentGuidesOdd', s:palette.bg0, s:palette.bg1)
+ call s:HL('IndentGuidesEven', s:palette.bg0, s:palette.bg2)
+endif
+" }}}
+" luochen1990/rainbow{{{
+if !exists('g:rbpt_colorpairs')
+ let g:rbpt_colorpairs = [['blue', s:palette.blue[0]], ['magenta', s:palette.purple[0]],
+ \ ['red', s:palette.red[0]], ['166', s:palette.orange[0]]]
+endif
+
+let g:rainbow_guifgs = [ s:palette.orange[0], s:palette.red[0], s:palette.purple[0], s:palette.blue[0] ]
+let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ]
+
+if !exists('g:rainbow_conf')
+ let g:rainbow_conf = {}
+endif
+if !has_key(g:rainbow_conf, 'guifgs')
+ let g:rainbow_conf['guifgs'] = g:rainbow_guifgs
+endif
+if !has_key(g:rainbow_conf, 'ctermfgs')
+ let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs
+endif
+
+let g:niji_dark_colours = g:rbpt_colorpairs
+let g:niji_light_colours = g:rbpt_colorpairs
+" }}}
+" kshenoy/vim-signature {{{
+highlight! link SignatureMarkText BlueSign
+highlight! link SignatureMarkerText PurpleSign
+" }}}
+" mhinz/vim-startify{{{
+highlight! link StartifyBracket Grey
+highlight! link StartifyFile Fg
+highlight! link StartifyNumber Red
+highlight! link StartifyPath Green
+highlight! link StartifySlash Green
+highlight! link StartifySection Blue
+highlight! link StartifyHeader Orange
+highlight! link StartifySpecial Grey
+highlight! link StartifyFooter Grey
+" }}}
+" ap/vim-buftabline{{{
+highlight! link BufTabLineCurrent TabLineSel
+highlight! link BufTabLineActive TabLine
+highlight! link BufTabLineHidden TabLineFill
+highlight! link BufTabLineFill TabLineFill
+" }}}
+" liuchengxu/vim-which-key{{{
+highlight! link WhichKey Red
+highlight! link WhichKeySeperator Green
+highlight! link WhichKeyGroup Yellow
+highlight! link WhichKeyDesc Blue
+highlight! link WhichKeyFloating SignColumn
+" }}}
+" skywind3000/quickmenu.vim{{{
+highlight! link QuickmenuOption Green
+highlight! link QuickmenuNumber Red
+highlight! link QuickmenuBracket Grey
+highlight! link QuickmenuHelp Green
+highlight! link QuickmenuSpecial Purple
+highlight! link QuickmenuHeader Orange
+" }}}
+" mbbill/undotree{{{
+call s:HL('UndotreeSavedBig', s:palette.purple, s:palette.none, 'bold')
+highlight! link UndotreeNode Orange
+highlight! link UndotreeNodeCurrent Red
+highlight! link UndotreeSeq Green
+highlight! link UndotreeNext Blue
+highlight! link UndotreeTimeStamp Grey
+highlight! link UndotreeHead Yellow
+highlight! link UndotreeBranch Yellow
+highlight! link UndotreeCurrent Cyan
+highlight! link UndotreeSavedSmall Purple
+" }}}
+" unblevable/quick-scope {{{
+call s:HL('QuickScopePrimary', s:palette.cyan, s:palette.none, 'underline')
+call s:HL('QuickScopeSecondary', s:palette.blue, s:palette.none, 'underline')
+" }}}
+" APZelos/blamer.nvim {{{
+highlight! link Blamer Grey
+" }}}
+" }}}
+" Terminal: {{{
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ " Definition
+ let s:terminal = {
+ \ 'black': s:palette.fg,
+ \ 'red': s:palette.red,
+ \ 'yellow': s:palette.yellow,
+ \ 'green': s:palette.green,
+ \ 'cyan': s:palette.cyan,
+ \ 'blue': s:palette.blue,
+ \ 'purple': s:palette.purple,
+ \ 'white': s:palette.grey
+ \ }
+ " Implementation: {{{
+ if !has('nvim')
+ let g:terminal_ansi_colors = [s:terminal.black[0], s:terminal.red[0], s:terminal.green[0], s:terminal.yellow[0],
+ \ s:terminal.blue[0], s:terminal.purple[0], s:terminal.cyan[0], s:terminal.white[0], s:terminal.black[0], s:terminal.red[0],
+ \ s:terminal.green[0], s:terminal.yellow[0], s:terminal.blue[0], s:terminal.purple[0], s:terminal.cyan[0], s:terminal.white[0]]
+ else
+ let g:terminal_color_0 = s:terminal.black[0]
+ let g:terminal_color_1 = s:terminal.red[0]
+ let g:terminal_color_2 = s:terminal.green[0]
+ let g:terminal_color_3 = s:terminal.yellow[0]
+ let g:terminal_color_4 = s:terminal.blue[0]
+ let g:terminal_color_5 = s:terminal.purple[0]
+ let g:terminal_color_6 = s:terminal.cyan[0]
+ let g:terminal_color_7 = s:terminal.white[0]
+ let g:terminal_color_8 = s:terminal.black[0]
+ let g:terminal_color_9 = s:terminal.red[0]
+ let g:terminal_color_10 = s:terminal.green[0]
+ let g:terminal_color_11 = s:terminal.yellow[0]
+ let g:terminal_color_12 = s:terminal.blue[0]
+ let g:terminal_color_13 = s:terminal.purple[0]
+ let g:terminal_color_14 = s:terminal.cyan[0]
+ let g:terminal_color_15 = s:terminal.white[0]
+ endif
+ " }}}
+endif
+" }}}
+
+" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker fmr={{{,}}}:
diff --git a/private_dot_config/nvim/dot_netrwhist b/private_dot_config/nvim/dot_netrwhist
new file mode 100644
index 0000000..987ad58
--- /dev/null
+++ b/private_dot_config/nvim/dot_netrwhist
@@ -0,0 +1,5 @@
+let g:netrw_dirhistmax =10
+let g:netrw_dirhistcnt =3
+let g:netrw_dirhist_3='/var/www/html/riflessi/img/base'
+let g:netrw_dirhist_2='/var/www/html/riflessi/img'
+let g:netrw_dirhist_1='/var/www/html/riflessi/img/base'
diff --git a/.config/nvim/init.lua b/private_dot_config/nvim/init.lua
index 8415c94..6e88b1b 100644
--- a/.config/nvim/init.lua
+++ b/private_dot_config/nvim/init.lua
@@ -47,6 +47,8 @@ require('packer').startup(function(use)
use 'nvim-neotest/nvim-nio'
use 'rcarriga/nvim-dap-ui'
+ use 'koraa/proverif.vim'
+
-- Automatically set up the configuration after cloning packer.nvim
if packer_bootstrap then
require('packer').sync()
@@ -180,7 +182,7 @@ vim.api.nvim_set_keymap('n', ']t', ':tabn<CR>', { noremap = true, silent = true
vim.api.nvim_set_keymap('n', '[t', ':tabp<CR>', { noremap = true, silent = true }) -- Move to the previous tab
vim.api.nvim_set_keymap('n', '<leader>o', ':only<CR>', { noremap = true }) -- Close all other windows
-vim.api.nvim_set_keymap('n', '<C-t>', ':NvimTreeToggle<CR>', { noremap = true }) -- Toggle NvimTree file explorer
+vim.api.nvim_set_keymap('n', '<A-t>', ':NvimTreeToggle<CR>', { noremap = true }) -- Toggle NvimTree file explorer
vim.api.nvim_set_keymap('n', '<leader>pa', ':set paste<CR>', { noremap = true }) -- Enable paste mode
vim.api.nvim_set_keymap('n', '<leader>npa', ':set nopaste<CR>', { noremap = true }) -- Disable paste mode
vim.api.nvim_set_keymap('n', '<leader>cr', ':Cargo run<CR>', { noremap = true }) -- Run `cargo run` for Rust projects
diff --git a/.config/nvim/lua/dap_conf.lua b/private_dot_config/nvim/lua/dap_conf.lua
index b3cee89..b3cee89 100644
--- a/.config/nvim/lua/dap_conf.lua
+++ b/private_dot_config/nvim/lua/dap_conf.lua
diff --git a/.config/nvim/lua/git.lua b/private_dot_config/nvim/lua/git.lua
index da6bbdd..da6bbdd 100644
--- a/.config/nvim/lua/git.lua
+++ b/private_dot_config/nvim/lua/git.lua
diff --git a/.config/nvim/lua/lsp_conf.lua b/private_dot_config/nvim/lua/lsp_conf.lua
index a93dc5b..a93dc5b 100644
--- a/.config/nvim/lua/lsp_conf.lua
+++ b/private_dot_config/nvim/lua/lsp_conf.lua
diff --git a/private_dot_config/nvim/plugin/packer_compiled.lua b/private_dot_config/nvim/plugin/packer_compiled.lua
new file mode 100644
index 0000000..37c8963
--- /dev/null
+++ b/private_dot_config/nvim/plugin/packer_compiled.lua
@@ -0,0 +1,244 @@
+-- Automatically generated packer.nvim plugin loader code
+
+if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
+ vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
+ return
+end
+
+vim.api.nvim_command('packadd packer.nvim')
+
+local no_errors, error_msg = pcall(function()
+
+_G._packer = _G._packer or {}
+_G._packer.inside_compile = true
+
+local time
+local profile_info
+local should_profile = false
+if should_profile then
+ local hrtime = vim.loop.hrtime
+ profile_info = {}
+ time = function(chunk, start)
+ if start then
+ profile_info[chunk] = hrtime()
+ else
+ profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
+ end
+ end
+else
+ time = function(chunk, start) end
+end
+
+local function save_profiles(threshold)
+ local sorted_times = {}
+ for chunk_name, time_taken in pairs(profile_info) do
+ sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
+ end
+ table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
+ local results = {}
+ for i, elem in ipairs(sorted_times) do
+ if not threshold or threshold and elem[2] > threshold then
+ results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
+ end
+ end
+ if threshold then
+ table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
+ end
+
+ _G._packer.profile_output = results
+end
+
+time([[Luarocks path setup]], true)
+local package_path_str = "/home/santo/.cache/nvim/packer_hererocks/2.1.1713484068/share/lua/5.1/?.lua;/home/santo/.cache/nvim/packer_hererocks/2.1.1713484068/share/lua/5.1/?/init.lua;/home/santo/.cache/nvim/packer_hererocks/2.1.1713484068/lib/luarocks/rocks-5.1/?.lua;/home/santo/.cache/nvim/packer_hererocks/2.1.1713484068/lib/luarocks/rocks-5.1/?/init.lua"
+local install_cpath_pattern = "/home/santo/.cache/nvim/packer_hererocks/2.1.1713484068/lib/lua/5.1/?.so"
+if not string.find(package.path, package_path_str, 1, true) then
+ package.path = package.path .. ';' .. package_path_str
+end
+
+if not string.find(package.cpath, install_cpath_pattern, 1, true) then
+ package.cpath = package.cpath .. ';' .. install_cpath_pattern
+end
+
+time([[Luarocks path setup]], false)
+time([[try_loadstring definition]], true)
+local function try_loadstring(s, component, name)
+ local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
+ if not success then
+ vim.schedule(function()
+ vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
+ end)
+ end
+ return result
+end
+
+time([[try_loadstring definition]], false)
+time([[Defining packer_plugins]], true)
+_G.packer_plugins = {
+ ["Comment.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/Comment.nvim",
+ url = "https://github.com/numToStr/Comment.nvim"
+ },
+ LuaSnip = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/LuaSnip",
+ url = "https://github.com/L3MON4D3/LuaSnip"
+ },
+ ["cmp-nvim-lsp"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
+ url = "https://github.com/hrsh7th/cmp-nvim-lsp"
+ },
+ cmp_luasnip = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
+ url = "https://github.com/saadparwaiz1/cmp_luasnip"
+ },
+ ["crates.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/crates.nvim",
+ url = "https://github.com/saecki/crates.nvim"
+ },
+ ["diffview.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/diffview.nvim",
+ url = "https://github.com/sindrets/diffview.nvim"
+ },
+ ["gitsigns.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/gitsigns.nvim",
+ url = "https://github.com/lewis6991/gitsigns.nvim"
+ },
+ ["lsp-colors.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim",
+ url = "https://github.com/folke/lsp-colors.nvim"
+ },
+ ["lsp_signature.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/lsp_signature.nvim",
+ url = "https://github.com/ray-x/lsp_signature.nvim"
+ },
+ ["nvim-cmp"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-cmp",
+ url = "https://github.com/hrsh7th/nvim-cmp"
+ },
+ ["nvim-dap"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-dap",
+ url = "https://github.com/mfussenegger/nvim-dap"
+ },
+ ["nvim-dap-go"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-dap-go",
+ url = "https://github.com/leoluz/nvim-dap-go"
+ },
+ ["nvim-dap-ui"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-dap-ui",
+ url = "https://github.com/rcarriga/nvim-dap-ui"
+ },
+ ["nvim-lspconfig"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
+ url = "https://github.com/neovim/nvim-lspconfig"
+ },
+ ["nvim-nio"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-nio",
+ url = "https://github.com/nvim-neotest/nvim-nio"
+ },
+ ["nvim-tree.lua"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-tree.lua",
+ url = "https://github.com/kyazdani42/nvim-tree.lua"
+ },
+ ["nvim-treesitter"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
+ url = "https://github.com/nvim-treesitter/nvim-treesitter"
+ },
+ ["nvim-web-devicons"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
+ url = "https://github.com/kyazdani42/nvim-web-devicons"
+ },
+ ["packer.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/packer.nvim",
+ url = "https://github.com/wbthomason/packer.nvim"
+ },
+ ["papercolor-theme"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/papercolor-theme",
+ url = "https://github.com/NLKNguyen/papercolor-theme"
+ },
+ ["plenary.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/plenary.nvim",
+ url = "https://github.com/nvim-lua/plenary.nvim"
+ },
+ ["proverif.vim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/proverif.vim",
+ url = "https://github.com/koraa/proverif.vim"
+ },
+ ["rust.vim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/rust.vim",
+ url = "https://github.com/rust-lang/rust.vim"
+ },
+ ["telescope.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/telescope.nvim",
+ url = "https://github.com/nvim-telescope/telescope.nvim"
+ },
+ ["todo-comments.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/todo-comments.nvim",
+ url = "https://github.com/folke/todo-comments.nvim"
+ },
+ ["trouble.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/trouble.nvim",
+ url = "https://github.com/folke/trouble.nvim"
+ },
+ ["vim-css-color"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/vim-css-color",
+ url = "https://github.com/ap/vim-css-color"
+ },
+ ["vim-fugitive"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/vim-fugitive",
+ url = "https://github.com/tpope/vim-fugitive"
+ },
+ ["vim-searchindex"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/vim-searchindex",
+ url = "https://github.com/google/vim-searchindex"
+ },
+ ["vim-visual-multi"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/vim-visual-multi",
+ url = "https://github.com/mg979/vim-visual-multi"
+ }
+}
+
+time([[Defining packer_plugins]], false)
+
+_G._packer.inside_compile = false
+if _G._packer.needs_bufread == true then
+ vim.cmd("doautocmd BufRead")
+end
+_G._packer.needs_bufread = false
+
+if should_profile then save_profiles() end
+
+end)
+
+if not no_errors then
+ error_msg = error_msg:gsub('"', '\\"')
+ vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
+end
diff --git a/.config/redshift.conf b/private_dot_config/redshift.conf
index 7d76847..7d76847 100644
--- a/.config/redshift.conf
+++ b/private_dot_config/redshift.conf
diff --git a/.config/rofi/config.rasi b/private_dot_config/rofi/config.rasi
index 55fb62d..55fb62d 100644
--- a/.config/rofi/config.rasi
+++ b/private_dot_config/rofi/config.rasi
diff --git a/private_dot_config/starship.toml b/private_dot_config/starship.toml
new file mode 100644
index 0000000..328ae61
--- /dev/null
+++ b/private_dot_config/starship.toml
@@ -0,0 +1,40 @@
+add_newline = false
+
+[character]
+success_symbol = '[\$](bold green)'
+error_symbol = '[\$](bold red)'
+
+[directory]
+truncation_length = 4
+style = "cyan"
+
+[line_break]
+disabled = true
+
+[custom.ssh_keys]
+disabled = true
+description = "SSH key count"
+when = "ssh-add -l | grep -v -q 'no identities'"
+command = "ssh-add -l | grep -v 'no identities' | wc -l"
+format = "$symbol[$output]($style) "
+shell = ["bash", "--noprofile", "--norc"]
+symbol = "🔑"
+style = "bold fg:green"
+
+[gcloud]
+disabled = true
+
+[username]
+style_user = 'fg:11 bold'
+style_root = 'cyan bold'
+format = '[$user]($style)'
+disabled = false
+show_always = true
+
+[hostname]
+ssh_only = false
+format = '[$ssh_symbol](bold blue)@[$hostname](bold red) '
+disabled = false
+
+[package]
+disabled = true
diff --git a/private_dot_config/zellij/config.kdl b/private_dot_config/zellij/config.kdl
new file mode 100644
index 0000000..8c34541
--- /dev/null
+++ b/private_dot_config/zellij/config.kdl
@@ -0,0 +1,415 @@
+// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
+ui {
+ pane_frames {
+ hide_session_name true
+ }
+}
+
+keybinds {
+ normal {
+ // uncomment this and adjust key if using copy_on_select=false
+ // bind "Alt c" { Copy; }
+ }
+ locked {
+ bind "Ctrl g" { SwitchToMode "Normal"; }
+ }
+ resize {
+ bind "Ctrl n" { SwitchToMode "Normal"; }
+ bind "h" "Left" { Resize "Increase Left"; }
+ bind "j" "Down" { Resize "Increase Down"; }
+ bind "k" "Up" { Resize "Increase Up"; }
+ bind "l" "Right" { Resize "Increase Right"; }
+ bind "H" { Resize "Decrease Left"; }
+ bind "J" { Resize "Decrease Down"; }
+ bind "K" { Resize "Decrease Up"; }
+ bind "L" { Resize "Decrease Right"; }
+ bind "=" "+" { Resize "Increase"; }
+ bind "-" { Resize "Decrease"; }
+ }
+ pane {
+ bind "Ctrl p" { SwitchToMode "Normal"; }
+ bind "h" "Left" { MoveFocus "Left"; }
+ bind "l" "Right" { MoveFocus "Right"; }
+ bind "j" "Down" { MoveFocus "Down"; }
+ bind "k" "Up" { MoveFocus "Up"; }
+ bind "p" { SwitchFocus; }
+ bind "n" { NewPane; SwitchToMode "Normal"; }
+ bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
+ bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
+ bind "x" { CloseFocus; SwitchToMode "Normal"; }
+ bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
+ bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
+ bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
+ bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
+ bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
+ }
+ move {
+ bind "Ctrl h" { SwitchToMode "Normal"; }
+ bind "n" "Tab" { MovePane; }
+ bind "p" { MovePaneBackwards; }
+ bind "h" "Left" { MovePane "Left"; }
+ bind "j" "Down" { MovePane "Down"; }
+ bind "k" "Up" { MovePane "Up"; }
+ bind "l" "Right" { MovePane "Right"; }
+ }
+ tab {
+ bind "Ctrl t" { SwitchToMode "Normal"; }
+ bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
+ bind "h" "Left" "Up" "k" { GoToPreviousTab; }
+ bind "l" "Right" "Down" "j" { GoToNextTab; }
+ bind "n" { NewTab; SwitchToMode "Normal"; }
+ bind "x" { CloseTab; SwitchToMode "Normal"; }
+ bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
+ bind "b" { BreakPane; SwitchToMode "Normal"; }
+ bind "]" { BreakPaneRight; SwitchToMode "Normal"; }
+ bind "[" { BreakPaneLeft; SwitchToMode "Normal"; }
+ bind "1" { GoToTab 1; SwitchToMode "Normal"; }
+ bind "2" { GoToTab 2; SwitchToMode "Normal"; }
+ bind "3" { GoToTab 3; SwitchToMode "Normal"; }
+ bind "4" { GoToTab 4; SwitchToMode "Normal"; }
+ bind "5" { GoToTab 5; SwitchToMode "Normal"; }
+ bind "6" { GoToTab 6; SwitchToMode "Normal"; }
+ bind "7" { GoToTab 7; SwitchToMode "Normal"; }
+ bind "8" { GoToTab 8; SwitchToMode "Normal"; }
+ bind "9" { GoToTab 9; SwitchToMode "Normal"; }
+ bind "Tab" { ToggleTab; }
+ }
+ scroll {
+ bind "Ctrl s" { SwitchToMode "Normal"; }
+ bind "e" { EditScrollback; SwitchToMode "Normal"; }
+ bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
+ bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
+ bind "j" "Down" { ScrollDown; }
+ bind "k" "Up" { ScrollUp; }
+ bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
+ bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
+ bind "d" { HalfPageScrollDown; }
+ bind "u" { HalfPageScrollUp; }
+ // uncomment this and adjust key if using copy_on_select=false
+ // bind "Alt c" { Copy; }
+ }
+ search {
+ bind "Ctrl s" { SwitchToMode "Normal"; }
+ bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
+ bind "j" "Down" { ScrollDown; }
+ bind "k" "Up" { ScrollUp; }
+ bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
+ bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
+ bind "d" { HalfPageScrollDown; }
+ bind "u" { HalfPageScrollUp; }
+ bind "n" { Search "down"; }
+ bind "p" { Search "up"; }
+ bind "c" { SearchToggleOption "CaseSensitivity"; }
+ bind "w" { SearchToggleOption "Wrap"; }
+ bind "o" { SearchToggleOption "WholeWord"; }
+ }
+ entersearch {
+ bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; }
+ bind "Enter" { SwitchToMode "Search"; }
+ }
+ renametab {
+ bind "Ctrl c" { SwitchToMode "Normal"; }
+ bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
+ }
+ renamepane {
+ bind "Ctrl c" { SwitchToMode "Normal"; }
+ bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
+ }
+ session {
+ bind "Ctrl o" { SwitchToMode "Normal"; }
+ bind "Ctrl s" { SwitchToMode "Scroll"; }
+ bind "d" { Detach; }
+ bind "w" {
+ LaunchOrFocusPlugin "session-manager" {
+ floating true
+ move_to_focused_tab true
+ };
+ SwitchToMode "Normal"
+ }
+ bind "c" {
+ LaunchOrFocusPlugin "configuration" {
+ floating true
+ move_to_focused_tab true
+ };
+ SwitchToMode "Normal"
+ }
+ bind "p" {
+ LaunchOrFocusPlugin "plugin-manager" {
+ floating true
+ move_to_focused_tab true
+ };
+ SwitchToMode "Normal"
+ }
+ }
+ tmux {
+ bind "[" { SwitchToMode "Scroll"; }
+ bind "Ctrl b" { Write 2; SwitchToMode "Normal"; }
+ bind "\"" { NewPane "Down"; SwitchToMode "Normal"; }
+ bind "%" { NewPane "Right"; SwitchToMode "Normal"; }
+ bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
+ bind "c" { NewTab; SwitchToMode "Normal"; }
+ bind "," { SwitchToMode "RenameTab"; }
+ bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
+ bind "n" { GoToNextTab; SwitchToMode "Normal"; }
+ bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; }
+ bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; }
+ bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; }
+ bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; }
+ bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; }
+ bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; }
+ bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; }
+ bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; }
+ bind "o" { FocusNextPane; }
+ bind "d" { Detach; }
+ bind "Space" { NextSwapLayout; }
+ bind "x" { CloseFocus; SwitchToMode "Normal"; }
+ }
+ shared_except "locked" {
+ bind "Ctrl g" { SwitchToMode "Locked"; }
+ bind "Ctrl q" { Quit; }
+ bind "Alt f" { ToggleFloatingPanes; }
+ bind "Alt n" { NewPane; }
+ bind "Alt i" { MoveTab "Left"; }
+ bind "Alt o" { MoveTab "Right"; }
+ bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
+ bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
+ bind "Alt j" "Alt Down" { MoveFocus "Down"; }
+ bind "Alt k" "Alt Up" { MoveFocus "Up"; }
+ bind "Alt =" "Alt +" { Resize "Increase"; }
+ bind "Alt -" { Resize "Decrease"; }
+ bind "Alt [" { PreviousSwapLayout; }
+ bind "Alt ]" { NextSwapLayout; }
+ }
+ shared_except "normal" "locked" {
+ bind "Enter" "Esc" { SwitchToMode "Normal"; }
+ }
+ shared_except "pane" "locked" {
+ bind "Ctrl p" { SwitchToMode "Pane"; }
+ }
+ shared_except "resize" "locked" {
+ bind "Ctrl n" { SwitchToMode "Resize"; }
+ }
+ shared_except "scroll" "locked" {
+ bind "Ctrl s" { SwitchToMode "Scroll"; }
+ }
+ shared_except "session" "locked" {
+ bind "Ctrl o" { SwitchToMode "Session"; }
+ }
+ shared_except "tab" "locked" {
+ bind "Ctrl t" { SwitchToMode "Tab"; }
+ }
+ shared_except "move" "locked" {
+ bind "Ctrl h" { SwitchToMode "Move"; }
+ }
+ shared_except "tmux" "locked" {
+ bind "Ctrl b" { SwitchToMode "Tmux"; }
+ }
+}
+
+// Plugin aliases - can be used to change the implementation of Zellij
+// changing these requires a restart to take effect
+plugins {
+ tab-bar location="zellij:tab-bar"
+ status-bar location="zellij:status-bar"
+ strider location="zellij:strider"
+ compact-bar location="zellij:compact-bar"
+ session-manager location="zellij:session-manager"
+ welcome-screen location="zellij:session-manager" {
+ welcome_screen true
+ }
+ filepicker location="zellij:strider" {
+ cwd "/"
+ }
+ configuration location="zellij:configuration"
+ plugin-manager location="zellij:plugin-manager"
+}
+
+// Plugins to load in the background when a new session starts
+load_plugins {
+ // "file:/path/to/my-plugin.wasm"
+ // "https://example.com/my-plugin.wasm"
+}
+
+// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
+// eg. when terminal window with an active zellij session is closed
+// (Requires restart)
+// Options:
+// - detach (Default)
+// - quit
+//
+// on_force_close "quit"
+
+// Send a request for a simplified ui (without arrow fonts) to plugins
+// Options:
+// - true
+// - false (Default)
+//
+simplified_ui true
+
+// Choose the path to the default shell that zellij will use for opening new panes
+// Default: $SHELL
+//
+// default_shell "fish"
+
+// Choose the path to override cwd that zellij will use for opening new panes
+//
+// default_cwd ""
+
+// Toggle between having pane frames around the panes
+// Options:
+// - true (default)
+// - false
+//
+pane_frames true
+
+// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
+// Options:
+// - true (default)
+// - false
+//
+// auto_layout true
+
+// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
+// (Requires restart)
+// Options:
+// - true (default)
+// - false
+//
+// session_serialization false
+
+// Whether pane viewports are serialized along with the session, default is false
+// (Requires restart)
+// Options:
+// - true
+// - false (default)
+//
+// serialize_pane_viewport true
+
+// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
+// defaults to the scrollback size. If this number is higher than the scrollback size, it will
+// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
+// (Requires restart)
+//
+// scrollback_lines_to_serialize 10000
+
+// Define color themes for Zellij
+// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
+// Once these themes are defined, one of them should to be selected in the "theme" section of this file
+//
+// themes {
+// dracula {
+// fg 248 248 242
+// bg 40 42 54
+// red 255 85 85
+// green 80 250 123
+// yellow 241 250 140
+// blue 98 114 164
+// magenta 255 121 198
+// orange 255 184 108
+// cyan 139 233 253
+// black 0 0 0
+// white 255 255 255
+// }
+// }
+
+// Choose the theme that is specified in the themes section.
+// Default: default
+//
+theme "default"
+
+// The name of the default layout to load on startup
+// Default: "default"
+// (Requires restart)
+//
+default_layout "compact"
+
+// Choose the mode that zellij uses when starting up.
+// Default: normal
+//
+// default_mode "locked"
+
+// Toggle enabling the mouse mode.
+// On certain configurations, or terminals this could
+// potentially interfere with copying text.
+// (Requires restart)
+// Options:
+// - true (default)
+// - false
+//
+// mouse_mode false
+
+// Configure the scroll back buffer size
+// This is the number of lines zellij stores for each pane in the scroll back
+// buffer. Excess number of lines are discarded in a FIFO fashion.
+// (Requires restart)
+// Valid values: positive integers
+// Default value: 10000
+//
+// scroll_buffer_size 10000
+
+// Provide a command to execute when copying text. The text will be piped to
+// the stdin of the program to perform the copy. This can be used with
+// terminal emulators which do not support the OSC 52 ANSI control sequence
+// that will be used by default if this option is not set.
+// Examples:
+//
+// copy_command "xclip -selection clipboard" // x11
+// copy_command "wl-copy" // wayland
+// copy_command "pbcopy" // osx
+
+// Choose the destination for copied text
+// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
+// Does not apply when using copy_command.
+// Options:
+// - system (default)
+// - primary
+//
+// copy_clipboard "primary"
+
+// Enable or disable automatic copy (and clear) of selection when releasing mouse
+// Default: true
+//
+// copy_on_select false
+
+// Path to the default editor to use to edit pane scrollbuffer
+// Default: $EDITOR or $VISUAL
+//
+// scrollback_editor "/usr/bin/vim"
+
+// When attaching to an existing session with other users,
+// should the session be mirrored (true)
+// or should each user have their own cursor (false)
+// (Requires restart)
+// Default: false
+//
+// mirror_session true
+
+// The folder in which Zellij will look for layouts
+// (Requires restart)
+//
+// layout_dir "/path/to/my/layout_dir"
+
+// The folder in which Zellij will look for themes
+// (Requires restart)
+//
+// theme_dir "/path/to/my/theme_dir"
+
+// Enable or disable the rendering of styled and colored underlines (undercurl).
+// May need to be disabled for certain unsupported terminals
+// (Requires restart)
+// Default: true
+//
+// styled_underlines false
+
+// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
+// metadata info on this session)
+// (Requires restart)
+// Default: false
+//
+// disable_session_metadata true
+
+// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
+// (Requires restart)
+// Default: true (if the host terminal supports it)
+//
+// support_kitty_keyboard_protocol false
diff --git a/scripts/update-all-cargo-deps b/scripts/update-all-cargo-deps
deleted file mode 100755
index 9d245c0..0000000
--- a/scripts/update-all-cargo-deps
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-
-cargo install `cargo install --list | egrep '^[a-z0-9_-]+ v[0-9.]+:$' | cut -f1 -d' '`
diff --git a/zsh/.zshrc b/zsh/.zshrc
deleted file mode 100644
index 557ff07..0000000
--- a/zsh/.zshrc
+++ /dev/null
@@ -1,40 +0,0 @@
-# now use Starship instead of oh-my-zsh theme
-export ZSH="/home/dcariotti/.oh-my-zsh"
-#ZSH_THEME="essembeh"
-ZSH_THEME="lukerandall-d"
-plugins=(
- git
- zsh-autosuggestions
- zsh-syntax-highlighting
-)
-
-source $ZSH/oh-my-zsh.sh
-
-#eval "$(starship init zsh)"
-
-export NVM_DIR="$HOME/.nvm"
-[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
-[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
-
-export PATH=$PATH:/usr/local/go/bin
-
-[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
-
-export WORKON_HOME=$HOME/.virtualenvs
-source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
-
-eval "$(direnv hook zsh)"
-eval "$(jump shell)"
-eval "$(mcfly init zsh)"
-
-# Install Ruby Gems to ~/gems
-export GEM_HOME="$HOME/.gems"
-export PATH="$HOME/.gem/ruby/2.7.0/bin:$PATH"
-alias mutt=neomutt
-alias gap="git add -p"
-export TERM=xterm-256color
-
-fpath+=${ZDOTDIR:-~}/.zsh_functions
-
-# Generated for envman. Do not edit.
-[ -s "$HOME/.config/envman/load.sh" ] && source "$HOME/.config/envman/load.sh"
diff --git a/zsh/lukerandall-d.zsh-theme b/zsh/lukerandall-d.zsh-theme
deleted file mode 100644
index 75a7606..0000000
--- a/zsh/lukerandall-d.zsh-theme
+++ /dev/null
@@ -1,28 +0,0 @@
-# ZSH Theme - Preview: https://cl.ly/f701d00760f8059e06dc
-# Thanks to gallifrey, upon whose theme this is based
-
-local return_code="%(?..%{$fg_bold[red]%}%? ↵%{$reset_color%})"
-
-function my_git_prompt_info() {
- ref=$(git symbolic-ref HEAD 2> /dev/null) || return
- GIT_STATUS=$(git_prompt_status)
- [[ -n $GIT_STATUS ]] && GIT_STATUS=" $GIT_STATUS"
- echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$GIT_STATUS$ZSH_THEME_GIT_PROMPT_SUFFIX"
-}
-
-function path() {
- echo ${${:-/${(j:/:)${(M)${(s:/:)${(D)PWD:h}}#(|.)[^.]}}/${PWD:t}}//\/~/\~}
-}
-
-PROMPT='%{$fg_bold[green]%}%n@%m%{$reset_color%} %{$fg_bold[yellow]%}$(path)%{$reset_color%} $(my_git_prompt_info)%{$reset_color%}%B$%b '
-RPS1="${return_code}"
-
-ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[cyan]%}("
-ZSH_THEME_GIT_PROMPT_SUFFIX=") %{$reset_color%}"
-ZSH_THEME_GIT_PROMPT_UNTRACKED="%%"
-ZSH_THEME_GIT_PROMPT_ADDED="+"
-ZSH_THEME_GIT_PROMPT_MODIFIED="*"
-ZSH_THEME_GIT_PROMPT_RENAMED="~"
-ZSH_THEME_GIT_PROMPT_DELETED="!"
-ZSH_THEME_GIT_PROMPT_UNMERGED="?"
-