diff options
author | Santo Cariotti <santo@dcariotti.me> | 2024-12-11 20:46:32 +0100 |
---|---|---|
committer | Santo Cariotti <santo@dcariotti.me> | 2024-12-11 20:47:59 +0100 |
commit | f22f1723c01b56da14ae1de3491a78af1bc4c464 (patch) | |
tree | 030411c811d3474c4b322eca29d1bf8e96b7511f | |
parent | d8713792f93473fe14e01d151529fb6ef139448f (diff) |
Dot files with `chezmoi`
-rw-r--r-- | .config/starship.toml | 23 | ||||
-rw-r--r-- | dot_alacritty.toml (renamed from .config/.alacritty.toml) | 10 | ||||
-rw-r--r-- | dot_clang-format | 10 | ||||
-rw-r--r--[-rwxr-xr-x] | dot_gitconfig (renamed from git/.gitconfig) | 0 | ||||
-rw-r--r-- | dot_gitignore | 1 | ||||
-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_zshrc | 98 | ||||
-rw-r--r-- | newsboat/config | 27 | ||||
-rw-r--r-- | private_dot_config/atuin/config.toml | 92 | ||||
-rw-r--r-- | private_dot_config/gh/config.yml | 12 | ||||
-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.old | 1418 | ||||
-rw-r--r-- | private_dot_config/nvim/colors/miramare.vim | 1753 | ||||
-rw-r--r-- | private_dot_config/nvim/dot_netrwhist | 5 | ||||
-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.lua | 244 | ||||
-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.toml | 40 | ||||
-rw-r--r-- | private_dot_config/zellij/config.kdl | 415 | ||||
-rwxr-xr-x | scripts/update-all-cargo-deps | 3 | ||||
-rw-r--r-- | zsh/.zshrc | 40 | ||||
-rw-r--r-- | zsh/lukerandall-d.zsh-theme | 28 |
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" - @@ -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="?" - |