From 7b1b3aeb3d383ebcefa61dbad83386da187cbaee Mon Sep 17 00:00:00 2001 From: Andrew Stowell Date: Thu, 22 May 2025 15:55:29 -0400 Subject: [PATCH] update vim config, a few colorschemes to choose from --- setup/2-config.sh | 3 +- setup/config/vim-autoload/everforest.vim | 300 ++ setup/config/vim-autoload/gruvbox.vim | 41 + setup/config/vim-colorful256.vim | 89 - setup/config/vim-colors/colorful256.vim | 88 + setup/config/vim-colors/desertink.vim | 388 +++ setup/config/vim-colors/everforest.vim | 3219 ++++++++++++++++++++ setup/config/vim-colors/gruvbox.vim | 1418 +++++++++ setup/config/vim-colors/jellybeans.vim | 733 +++++ setup/config/vim-colors/space-vim-dark.vim | 441 +++ setup/config/vim-vimrc | 30 +- 11 files changed, 6658 insertions(+), 92 deletions(-) create mode 100644 setup/config/vim-autoload/everforest.vim create mode 100644 setup/config/vim-autoload/gruvbox.vim delete mode 100644 setup/config/vim-colorful256.vim create mode 100644 setup/config/vim-colors/colorful256.vim create mode 100644 setup/config/vim-colors/desertink.vim create mode 100644 setup/config/vim-colors/everforest.vim create mode 100644 setup/config/vim-colors/gruvbox.vim create mode 100644 setup/config/vim-colors/jellybeans.vim create mode 100644 setup/config/vim-colors/space-vim-dark.vim diff --git a/setup/2-config.sh b/setup/2-config.sh index 0dc0c1b..9ae9f55 100755 --- a/setup/2-config.sh +++ b/setup/2-config.sh @@ -274,7 +274,8 @@ BASHRC curl --output "${HOME}/.vim/autoload/plug.vim" --silent "https://raw.githubusercontent.com/junegunn/vim-plug/${version}/plug.vim" cp "${script_dir}/config/vim-vimrc" "${HOME}/.vimrc" - cp "${script_dir}/config/vim-colorful256.vim" "${HOME}/.vim/colors/colorful256.vim" + cp "${script_dir}/config/vim-colors/*" "${HOME}/.vim/colors/" + cp "${script_dir}/config/vim-autoload/*" "${HOME}/.vim/autoload/" vim +'PlugInstall --sync' +quitall ;; diff --git a/setup/config/vim-autoload/everforest.vim b/setup/config/vim-autoload/everforest.vim new file mode 100644 index 0000000..988e9b2 --- /dev/null +++ b/setup/config/vim-autoload/everforest.vim @@ -0,0 +1,300 @@ +" ============================================================================= +" URL: https://github.com/sainnhe/everforest +" Filename: autoload/everforest.vim +" Author: sainnhe +" Email: i@sainnhe.dev +" License: MIT License +" ============================================================================= + +function! everforest#get_configuration() "{{{ + return { + \ 'background': get(g:, 'everforest_background', 'medium'), + \ 'transparent_background': get(g:, 'everforest_transparent_background', 0), + \ 'dim_inactive_windows': get(g:, 'everforest_dim_inactive_windows', 0), + \ 'disable_italic_comment': get(g:, 'everforest_disable_italic_comment', 0), + \ 'enable_italic': get(g:, 'everforest_enable_italic', 0), + \ 'cursor': get(g:, 'everforest_cursor', 'auto'), + \ 'sign_column_background': get(g:, 'everforest_sign_column_background', 'none'), + \ 'spell_foreground': get(g:, 'everforest_spell_foreground', 'none'), + \ 'ui_contrast': get(g:, 'everforest_ui_contrast', 'low'), + \ 'show_eob': get(g:, 'everforest_show_eob', 1), + \ 'float_style': get(g:, 'everforest_float_style', 'bright'), + \ 'current_word': get(g:, 'everforest_current_word', get(g:, 'everforest_transparent_background', 0) == 0 ? 'grey background' : 'bold'), + \ 'inlay_hints_background': get(g:, 'everforest_inlay_hints_background', 'none'), + \ 'lightline_disable_bold': get(g:, 'everforest_lightline_disable_bold', 0), + \ 'diagnostic_text_highlight': get(g:, 'everforest_diagnostic_text_highlight', 0), + \ 'diagnostic_line_highlight': get(g:, 'everforest_diagnostic_line_highlight', 0), + \ 'diagnostic_virtual_text': get(g:, 'everforest_diagnostic_virtual_text', 'grey'), + \ 'disable_terminal_colors': get(g:, 'everforest_disable_terminal_colors', 0), + \ 'better_performance': get(g:, 'everforest_better_performance', 0), + \ 'colors_override': get(g:, 'everforest_colors_override', {}), + \ } +endfunction "}}} +function! everforest#get_palette(background, colors_override) "{{{ + if a:background ==# 'hard' "{{{ + if &background ==# 'dark' + let palette1 = { + \ 'bg_dim': ['#1e2326', '233'], + \ 'bg0': ['#272e33', '235'], + \ 'bg1': ['#2e383c', '236'], + \ 'bg2': ['#374145', '237'], + \ 'bg3': ['#414b50', '238'], + \ 'bg4': ['#495156', '239'], + \ 'bg5': ['#4f5b58', '240'], + \ 'bg_visual': ['#4c3743', '52'], + \ 'bg_red': ['#493b40', '52'], + \ 'bg_green': ['#3c4841', '22'], + \ 'bg_blue': ['#384b55', '17'], + \ 'bg_yellow': ['#45443c', '136'], + \ } + else + let palette1 = { + \ 'bg_dim': ['#f2efdf', '223'], + \ 'bg0': ['#fffbef', '230'], + \ 'bg1': ['#f8f5e4', '228'], + \ 'bg2': ['#f2efdf', '223'], + \ 'bg3': ['#edeada', '223'], + \ 'bg4': ['#e8e5d5', '223'], + \ 'bg5': ['#bec5b2', '223'], + \ 'bg_visual': ['#f0f2d4', '194'], + \ 'bg_red': ['#ffe7de', '217'], + \ 'bg_green': ['#f3f5d9', '194'], + \ 'bg_blue': ['#ecf5ed', '117'], + \ 'bg_yellow': ['#fef2d5', '226'], + \ } + endif "}}} + elseif a:background ==# 'medium' "{{{ + if &background ==# 'dark' + let palette1 = { + \ 'bg_dim': ['#232a2e', '233'], + \ 'bg0': ['#2d353b', '235'], + \ 'bg1': ['#343f44', '236'], + \ 'bg2': ['#3d484d', '237'], + \ 'bg3': ['#475258', '238'], + \ 'bg4': ['#4f585e', '239'], + \ 'bg5': ['#56635f', '240'], + \ 'bg_visual': ['#543a48', '52'], + \ 'bg_red': ['#514045', '52'], + \ 'bg_green': ['#425047', '22'], + \ 'bg_blue': ['#3a515d', '17'], + \ 'bg_yellow': ['#4d4c43', '136'], + \ } + else + let palette1 = { + \ 'bg_dim': ['#efebd4', '223'], + \ 'bg0': ['#fdf6e3', '230'], + \ 'bg1': ['#f4f0d9', '228'], + \ 'bg2': ['#efebd4', '223'], + \ 'bg3': ['#e6e2cc', '223'], + \ 'bg4': ['#e0dcc7', '223'], + \ 'bg5': ['#bdc3af', '223'], + \ 'bg_visual': ['#eaedc8', '194'], + \ 'bg_red': ['#fbe3da', '217'], + \ 'bg_green': ['#f0f1d2', '194'], + \ 'bg_blue': ['#e9f0e9', '117'], + \ 'bg_yellow': ['#faedcd', '226'], + \ } + endif "}}} + else "{{{ + if &background ==# 'dark' + let palette1 = { + \ 'bg_dim': ['#293136', '233'], + \ 'bg0': ['#333c43', '235'], + \ 'bg1': ['#3a464c', '236'], + \ 'bg2': ['#434f55', '237'], + \ 'bg3': ['#4d5960', '238'], + \ 'bg4': ['#555f66', '239'], + \ 'bg5': ['#5d6b66', '240'], + \ 'bg_visual': ['#5c3f4f', '52'], + \ 'bg_red': ['#59464c', '52'], + \ 'bg_green': ['#48584e', '22'], + \ 'bg_blue': ['#3f5865', '17'], + \ 'bg_yellow': ['#55544a', '136'], + \ } + else + let palette1 = { + \ 'bg_dim': ['#e5dfc5', '223'], + \ 'bg0': ['#f3ead3', '230'], + \ 'bg1': ['#eae4ca', '228'], + \ 'bg2': ['#e5dfc5', '223'], + \ 'bg3': ['#ddd8be', '223'], + \ 'bg4': ['#d8d3ba', '223'], + \ 'bg5': ['#b9c0ab', '223'], + \ 'bg_visual': ['#e1e4bd', '194'], + \ 'bg_red': ['#f4dbd0', '217'], + \ 'bg_green': ['#e5e6c5', '194'], + \ 'bg_blue': ['#e1e7dd', '117'], + \ 'bg_yellow': ['#f1e4c5', '226'], + \ } + endif + endif "}}} + if &background ==# 'dark' "{{{ + let palette2 = { + \ 'fg': ['#d3c6aa', '223'], + \ 'red': ['#e67e80', '167'], + \ 'orange': ['#e69875', '208'], + \ 'yellow': ['#dbbc7f', '214'], + \ 'green': ['#a7c080', '142'], + \ 'aqua': ['#83c092', '108'], + \ 'blue': ['#7fbbb3', '109'], + \ 'purple': ['#d699b6', '175'], + \ 'grey0': ['#7a8478', '243'], + \ 'grey1': ['#859289', '245'], + \ 'grey2': ['#9da9a0', '247'], + \ 'statusline1':['#a7c080', '142'], + \ 'statusline2':['#d3c6aa', '223'], + \ 'statusline3':['#e67e80', '167'], + \ 'none': ['NONE', 'NONE'] + \ } "}}} + else "{{{ + let palette2 = { + \ 'fg': ['#5c6a72', '242'], + \ 'red': ['#f85552', '160'], + \ 'orange': ['#f57d26', '116'], + \ 'yellow': ['#dfa000', '136'], + \ 'green': ['#8da101', '106'], + \ 'aqua': ['#35a77c', '37'], + \ 'blue': ['#3a94c5', '32'], + \ 'purple': ['#df69ba', '162'], + \ 'grey0': ['#a6b0a0', '247'], + \ 'grey1': ['#939f91', '247'], + \ 'grey2': ['#829181', '247'], + \ 'statusline1':['#93b259', '106'], + \ 'statusline2':['#708089', '242'], + \ 'statusline3':['#e66868', '160'], + \ 'none': ['NONE', 'NONE'] + \ } + endif "}}} + return extend(extend(palette1, palette2), a:colors_override) +endfunction "}}} +function! everforest#highlight(group, fg, bg, ...) "{{{ + execute 'highlight' a:group + \ 'guifg=' . a:fg[0] + \ 'guibg=' . a:bg[0] + \ 'ctermfg=' . a:fg[1] + \ 'ctermbg=' . a:bg[1] + \ 'gui=' . (a:0 >= 1 ? + \ a:1 : + \ 'NONE') + \ 'cterm=' . (a:0 >= 1 ? + \ a:1 : + \ 'NONE') + \ 'guisp=' . (a:0 >= 2 ? + \ a:2[0] : + \ 'NONE') +endfunction "}}} +function! everforest#syn_gen(path, last_modified, msg) "{{{ + " Generate the `after/syntax` directory. + let full_content = join(readfile(a:path), "\n") " Get the content of `colors/everforest.vim` + let syn_conent = [] + let rootpath = everforest#syn_rootpath(a:path) " Get the path to place the `after/syntax` directory. + call substitute(full_content, '" syn_begin.\{-}syn_end', '\=add(syn_conent, submatch(0))', 'g') " Search for 'syn_begin.\{-}syn_end' (non-greedy) and put all the search results into a list. + for content in syn_conent + let syn_list = [] + call substitute(matchstr(matchstr(content, 'syn_begin:.\{-}{{{'), ':.\{-}{{{'), '\(\w\|-\)\+', '\=add(syn_list, submatch(0))', 'g') " Get the file types. }}}}}} + for syn in syn_list + call everforest#syn_write(rootpath, syn, content) " Write the content. + endfor + endfor + call everforest#syn_write(rootpath, 'text', "let g:everforest_last_modified = '" . a:last_modified . "'") " Write the last modified time to `after/syntax/text/everforest.vim` + let syntax_relative_path = has('win32') ? '\after\syntax' : '/after/syntax' + if a:msg ==# 'update' + echohl WarningMsg | echom '[everforest] Updated ' . rootpath . syntax_relative_path | echohl None + call everforest#ftplugin_detect(a:path) + else + echohl WarningMsg | echom '[everforest] Generated ' . rootpath . syntax_relative_path | echohl None + execute 'set runtimepath+=' . fnameescape(fnamemodify(rootpath, ':p')) . 'after' + endif +endfunction "}}} +function! everforest#syn_write(rootpath, syn, content) "{{{ + " Write the content. + let syn_path = a:rootpath . '/after/syntax/' . a:syn . '/everforest.vim' " The path of a syntax file. + " create a new file if it doesn't exist + if !filereadable(syn_path) + call mkdir(a:rootpath . '/after/syntax/' . a:syn, 'p') + call writefile([ + \ "if !exists('g:colors_name') || g:colors_name !=# 'everforest'", + \ ' finish', + \ 'endif' + \ ], syn_path, 'a') " Abort if the current color scheme is not everforest. + call writefile([ + \ "if index(g:everforest_loaded_file_types, '" . a:syn . "') ==# -1", + \ " call add(g:everforest_loaded_file_types, '" . a:syn . "')", + \ 'else', + \ ' finish', + \ 'endif' + \ ], syn_path, 'a') " Abort if this file type has already been loaded. + endif + " If there is something like `call everforest#highlight()`, then add + " code to initialize the palette and configuration. + if matchstr(a:content, 'everforest#highlight') !=# '' + call writefile([ + \ 'let s:configuration = everforest#get_configuration()', + \ 'let s:palette = everforest#get_palette(s:configuration.background, s:configuration.colors_override)' + \ ], syn_path, 'a') + endif + " Append the content. + call writefile(split(a:content, "\n"), syn_path, 'a') + " Add modeline. + call writefile(['" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker fmr={{{,}}}:'], syn_path, 'a') +endfunction "}}} +function! everforest#syn_rootpath(path) "{{{ + let plugin_path = fnamemodify(a:path, ':p:h:h') + " Get the directory where `after/syntax` is generated. + if (matchstr(a:path, '^/usr/share') ==# '' && filewritable(plugin_path) == 2) " Return the plugin directory. The `after/syntax` directory should never be generated in `/usr/share`, even if you are a root user. + return plugin_path + else " Use vim home directory. + if has('nvim') + return stdpath('config') + else + return expand('~') . '/.vim' + endif + endif +endfunction "}}} +function! everforest#syn_newest(path, last_modified) "{{{ + " Determine whether the current syntax files are up to date by comparing the last modified time in `colors/everforest.vim` and `after/syntax/text/everforest.vim`. + let rootpath = everforest#syn_rootpath(a:path) + execute 'source ' . rootpath . '/after/syntax/text/everforest.vim' + return a:last_modified ==# g:everforest_last_modified ? 1 : 0 +endfunction "}}} +function! everforest#syn_clean(path, msg) "{{{ + " Clean the `after/syntax` directory. + let rootpath = everforest#syn_rootpath(a:path) + " Remove `after/syntax/**/everforest.vim`. + let file_list = split(globpath(rootpath, 'after/syntax/**/everforest.vim'), "\n") + for file in file_list + call delete(file) + endfor + " Remove empty directories. + let dir_list = split(globpath(rootpath, 'after/syntax/*'), "\n") + for dir in dir_list + if globpath(dir, '*') ==# '' + call delete(dir, 'd') + endif + endfor + if globpath(rootpath . '/after/syntax', '*') ==# '' + call delete(rootpath . '/after/syntax', 'd') + endif + if globpath(rootpath . '/after', '*') ==# '' + call delete(rootpath . '/after', 'd') + endif + if a:msg + let syntax_relative_path = has('win32') ? '\after\syntax' : '/after/syntax' + echohl WarningMsg | echom '[everforest] Cleaned ' . rootpath . syntax_relative_path | echohl None + endif +endfunction "}}} +function! everforest#syn_exists(path) "{{{ + return filereadable(everforest#syn_rootpath(a:path) . '/after/syntax/text/everforest.vim') +endfunction "}}} +function! everforest#ftplugin_detect(path) "{{{ + " Check if /after/ftplugin exists. + " This directory is generated in earlier versions, users may need to manually clean it. + let rootpath = everforest#syn_rootpath(a:path) + if filereadable(everforest#syn_rootpath(a:path) . '/after/ftplugin/text/everforest.vim') + let ftplugin_relative_path = has('win32') ? '\after\ftplugin' : '/after/ftplugin' + echohl WarningMsg | echom '[everforest] Detected ' . rootpath . ftplugin_relative_path | echohl None + echohl WarningMsg | echom '[everforest] This directory is no longer used, you may need to manually delete it.' | echohl None + endif +endfunction "}}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker fmr={{{,}}}: diff --git a/setup/config/vim-autoload/gruvbox.vim b/setup/config/vim-autoload/gruvbox.vim new file mode 100644 index 0000000..44bec6e --- /dev/null +++ b/setup/config/vim-autoload/gruvbox.vim @@ -0,0 +1,41 @@ +" ----------------------------------------------------------------------------- +" File: gruvbox.vim +" Description: Retro groove color scheme for Vim +" Author: morhetz +" Source: https://github.com/morhetz/gruvbox +" Last Modified: 09 Apr 2014 +" ----------------------------------------------------------------------------- + +function! gruvbox#invert_signs_toggle() + if g:gruvbox_invert_signs == 0 + let g:gruvbox_invert_signs=1 + else + let g:gruvbox_invert_signs=0 + endif + + colorscheme gruvbox +endfunction + +" Search Highlighting {{{ + +function! gruvbox#hls_show() + set hlsearch + call GruvboxHlsShowCursor() +endfunction + +function! gruvbox#hls_hide() + set nohlsearch + call GruvboxHlsHideCursor() +endfunction + +function! gruvbox#hls_toggle() + if &hlsearch + call gruvbox#hls_hide() + else + call gruvbox#hls_show() + endif +endfunction + +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/setup/config/vim-colorful256.vim b/setup/config/vim-colorful256.vim deleted file mode 100644 index 5c917bb..0000000 --- a/setup/config/vim-colorful256.vim +++ /dev/null @@ -1,89 +0,0 @@ -" Vim color file: colorful256.vim -" Last Change: 03 Oct, 2007 -" License: public domain -" Maintainer:: Jagpreet -" -" for a 256 color capable terminal -" "{{{ -" You must set t_Co=256 before calling this colorscheme -" -" Color numbers (0-255) see: -" http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html -" -" Added gui colors -" - -if &t_Co != 256 && ! has("gui_running") - echomsg "" - echomsg "colors not loaded first please set t_Co=256 in your .vimrc" - echomsg "" - finish -endif - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "colorful256" - - highlight Normal cterm=none ctermfg=249 ctermbg=none gui=none guifg=#b2b2b2 guibg=#000000 - highlight Special cterm=none ctermfg=105 ctermbg=none gui=none guifg=#8787ff guibg=#000000 - highlight Comment cterm=none ctermfg=3 ctermbg=none gui=none guifg=#808000 guibg=#000000 - highlight Constant cterm=none ctermfg=9 ctermbg=none gui=none guifg=#ff0000 guibg=#000000 - highlight LineNr cterm=none ctermfg=48 ctermbg=none gui=none guifg=#00ff87 guibg=#000000 - highlight Number cterm=none ctermfg=209 ctermbg=none gui=none guifg=#ff875f guibg=#000000 - highlight PreProc cterm=none ctermfg=10 ctermbg=none gui=none guifg=#ff00ff guibg=#000000 - highlight Statement cterm=none ctermfg=51 ctermbg=none gui=none guifg=#00ffff guibg=#000000 - highlight Type cterm=none ctermfg=39 ctermbg=none gui=none guifg=#00afff guibg=#000000 - highlight Error cterm=none ctermfg=9 ctermbg=none gui=none guifg=#ff0000 guibg=#000000 - highlight Identifier cterm=none ctermfg=207 ctermbg=none gui=none guifg=#ff5fff guibg=#000000 - highlight SpecialKey cterm=none ctermfg=36 ctermbg=none gui=none guifg=#00af87 guibg=#000000 - highlight NonText cterm=none ctermfg=164 ctermbg=none gui=none guifg=#df00df guibg=#000000 - highlight Directory cterm=none ctermfg=34 ctermbg=none gui=none guifg=#00af00 guibg=#000000 - highlight ErrorMsg cterm=none ctermfg=9 ctermbg=none gui=none guifg=#ff0000 guibg=#000000 - highlight MoreMsg cterm=none ctermfg=34 ctermbg=none gui=none guifg=#00af00 guibg=#000000 - highlight Title cterm=none ctermfg=199 ctermbg=none gui=none guifg=#ff00af guibg=#000000 - highlight WarningMsg cterm=none ctermfg=9 ctermbg=none gui=none guifg=#ff0000 guibg=#000000 - highlight DiffDelete cterm=none ctermfg=207 ctermbg=none gui=none guifg=#ff5fff guibg=#000000 - highlight Search cterm=none ctermfg=15 ctermbg=160 gui=none guifg=#ffffff guibg=#df0000 - highlight Visual cterm=none ctermfg=16 ctermbg=50 gui=none guifg=#000000 guibg=#00ffdf - highlight Cursor cterm=none ctermfg=16 ctermbg=33 gui=none guifg=#000000 guibg=#0087ff - highlight StatusLine cterm=reverse ctermfg=58 ctermbg=15 gui=reverse guifg=#5f5f00 guibg=#ffffff - highlight Question cterm=none ctermfg=16 ctermbg=226 gui=none guifg=#000000 guibg=#ffff00 - highlight Todo cterm=none ctermfg=160 ctermbg=184 gui=none guifg=#df0000 guibg=#dfdf00 - highlight Folded cterm=none ctermfg=15 ctermbg=58 gui=none guifg=#ffffff guibg=#5f5f00 - highlight ModeMsg cterm=none ctermfg=16 ctermbg=46 gui=none guifg=#000000 guibg=#00ff00 - highlight VisualNOS cterm=none ctermfg=16 ctermbg=28 gui=none guifg=#000000 guibg=#008700 - highlight WildMenu cterm=none ctermfg=16 ctermbg=226 gui=none guifg=#000000 guibg=#ffff00 - highlight FoldColumn cterm=none ctermfg=15 ctermbg=58 gui=none guifg=#ffffff guibg=#5f5f00 - highlight SignColumn cterm=none ctermfg=16 ctermbg=28 gui=none guifg=#000000 guibg=#008700 - highlight DiffText cterm=none ctermfg=16 ctermbg=34 gui=none guifg=#000000 guibg=#00af00 - highlight StatusLineNC cterm=reverse ctermfg=131 ctermbg=15 gui=reverse guifg=#af5f5f guibg=#ffffff - highlight VertSplit cterm=reverse ctermfg=172 ctermbg=15 gui=reverse guifg=#df8700 guibg=#ffffff - highlight User1 cterm=none ctermbg=20 ctermfg=15 gui=none guibg=#0000df guifg=#ffffff - highlight User2 cterm=none ctermbg=20 ctermfg=46 gui=none guibg=#0000df guifg=#00ff00 - highlight User3 cterm=none ctermbg=20 ctermfg=46 gui=none guibg=#0000df guifg=#00ff00 - highlight User4 cterm=none ctermbg=20 ctermfg=50 gui=none guibg=#0000df guifg=#00ffdf - highlight User5 cterm=none ctermbg=20 ctermfg=46 gui=none guibg=#0000df guifg=#00ff00 - -" for groups introduced in version 7 -if v:version >= 700 - highlight Pmenu cterm=none ctermfg=16 ctermbg=165 gui=none guifg=#000000 guibg=#df00ff - highlight PmenuSel cterm=none ctermfg=16 ctermbg=220 gui=none guifg=#000000 guibg=#ffdf00 - highlight tablinesel cterm=none ctermfg=15 ctermbg=58 gui=none guifg=#ffffff guibg=#5f5f00 - highlight tabline cterm=none ctermfg=7 ctermbg=58 gui=none guifg=#c0c0c0 guibg=#5f5f00 - highlight tablinefill cterm=none ctermfg=58 ctermbg=58 gui=none guifg=#5f5f00 guibg=#5f5f00 -endif - -"for taglist plugin -" -if exists('loaded_taglist') - highlight TagListTagName cterm=none ctermfg=16 ctermbg=28 gui=none guifg=#000000 guibg=#008700 - highlight TagListTagScope cterm=none ctermfg=16 ctermbg=28 gui=none guifg=#000000 guibg=#008700 - highlight TagListTitle cterm=none ctermfg=199 ctermbg=none gui=none guifg=#ff00af guibg=#000000 - highlight TagListComment cterm=none ctermfg=16 ctermbg=28 gui=none guifg=#000000 guibg=#008700 - highlight TagListFileName cterm=none ctermfg=15 ctermbg=90 gui=none guifg=#ffffff guibg=#870087 -endif - diff --git a/setup/config/vim-colors/colorful256.vim b/setup/config/vim-colors/colorful256.vim new file mode 100644 index 0000000..86fa476 --- /dev/null +++ b/setup/config/vim-colors/colorful256.vim @@ -0,0 +1,88 @@ +" Vim color file: colorful256.vim +" Last Change: 03 Oct, 2007 +" License: public domain +" Maintainer:: Jagpreet +" +" for a 256 color capable terminal +" "{{{ +" You must set t_Co=256 before calling this colorscheme +" +" Color numbers (0-255) see: +" http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html +" +" Added gui colors +" + +if &t_Co != 256 && ! has("gui_running") + echomsg "" + echomsg "colors not loaded first please set t_Co=256 in your .vimrc" + echomsg "" + finish +endif + +set background=dark +hi clear +if exists("syntax_on") + syntax reset +endif + +let g:colors_name = "colorful256" + + highlight Normal cterm=none ctermfg=249 ctermbg=16 gui=none guifg=#b2b2b2 guibg=#000000 + highlight Special cterm=none ctermfg=105 ctermbg=16 gui=none guifg=#8787ff guibg=#000000 + highlight Comment cterm=none ctermfg=3 ctermbg=16 gui=none guifg=#808000 guibg=#000000 + highlight Constant cterm=none ctermfg=9 ctermbg=16 gui=none guifg=#ff0000 guibg=#000000 + highlight LineNr cterm=none ctermfg=48 ctermbg=16 gui=none guifg=#00ff87 guibg=#000000 + highlight Number cterm=none ctermfg=209 ctermbg=16 gui=none guifg=#ff875f guibg=#000000 + highlight PreProc cterm=none ctermfg=10 ctermbg=16 gui=none guifg=#ff00ff guibg=#000000 + highlight Statement cterm=none ctermfg=51 ctermbg=16 gui=none guifg=#00ffff guibg=#000000 + highlight Type cterm=none ctermfg=39 ctermbg=16 gui=none guifg=#00afff guibg=#000000 + highlight Error cterm=none ctermfg=9 ctermbg=16 gui=none guifg=#ff0000 guibg=#000000 + highlight Identifier cterm=none ctermfg=207 ctermbg=16 gui=none guifg=#ff5fff guibg=#000000 + highlight SpecialKey cterm=none ctermfg=36 ctermbg=16 gui=none guifg=#00af87 guibg=#000000 + highlight NonText cterm=none ctermfg=164 ctermbg=16 gui=none guifg=#df00df guibg=#000000 + highlight Directory cterm=none ctermfg=34 ctermbg=16 gui=none guifg=#00af00 guibg=#000000 + highlight ErrorMsg cterm=none ctermfg=9 ctermbg=16 gui=none guifg=#ff0000 guibg=#000000 + highlight MoreMsg cterm=none ctermfg=34 ctermbg=16 gui=none guifg=#00af00 guibg=#000000 + highlight Title cterm=none ctermfg=199 ctermbg=16 gui=none guifg=#ff00af guibg=#000000 + highlight WarningMsg cterm=none ctermfg=9 ctermbg=16 gui=none guifg=#ff0000 guibg=#000000 + highlight DiffDelete cterm=none ctermfg=207 ctermbg=16 gui=none guifg=#ff5fff guibg=#000000 + highlight Search cterm=none ctermfg=15 ctermbg=160 gui=none guifg=#ffffff guibg=#df0000 + highlight Visual cterm=none ctermfg=16 ctermbg=50 gui=none guifg=#000000 guibg=#00ffdf + highlight Cursor cterm=none ctermfg=16 ctermbg=33 gui=none guifg=#000000 guibg=#0087ff + highlight StatusLine cterm=reverse ctermfg=58 ctermbg=15 gui=reverse guifg=#5f5f00 guibg=#ffffff + highlight Question cterm=none ctermfg=16 ctermbg=226 gui=none guifg=#000000 guibg=#ffff00 + highlight Todo cterm=none ctermfg=160 ctermbg=184 gui=none guifg=#df0000 guibg=#dfdf00 + highlight Folded cterm=none ctermfg=15 ctermbg=58 gui=none guifg=#ffffff guibg=#5f5f00 + highlight ModeMsg cterm=none ctermfg=16 ctermbg=46 gui=none guifg=#000000 guibg=#00ff00 + highlight VisualNOS cterm=none ctermfg=16 ctermbg=28 gui=none guifg=#000000 guibg=#008700 + highlight WildMenu cterm=none ctermfg=16 ctermbg=226 gui=none guifg=#000000 guibg=#ffff00 + highlight FoldColumn cterm=none ctermfg=15 ctermbg=58 gui=none guifg=#ffffff guibg=#5f5f00 + highlight SignColumn cterm=none ctermfg=16 ctermbg=28 gui=none guifg=#000000 guibg=#008700 + highlight DiffText cterm=none ctermfg=16 ctermbg=34 gui=none guifg=#000000 guibg=#00af00 + highlight StatusLineNC cterm=reverse ctermfg=131 ctermbg=15 gui=reverse guifg=#af5f5f guibg=#ffffff + highlight VertSplit cterm=reverse ctermfg=172 ctermbg=15 gui=reverse guifg=#df8700 guibg=#ffffff + highlight User1 cterm=none ctermbg=20 ctermfg=15 gui=none guibg=#0000df guifg=#ffffff + highlight User2 cterm=none ctermbg=20 ctermfg=46 gui=none guibg=#0000df guifg=#00ff00 + highlight User3 cterm=none ctermbg=20 ctermfg=46 gui=none guibg=#0000df guifg=#00ff00 + highlight User4 cterm=none ctermbg=20 ctermfg=50 gui=none guibg=#0000df guifg=#00ffdf + highlight User5 cterm=none ctermbg=20 ctermfg=46 gui=none guibg=#0000df guifg=#00ff00 + +" for groups introduced in version 7 +if v:version >= 700 + highlight Pmenu cterm=none ctermfg=16 ctermbg=165 gui=none guifg=#000000 guibg=#df00ff + highlight PmenuSel cterm=none ctermfg=16 ctermbg=220 gui=none guifg=#000000 guibg=#ffdf00 + highlight tablinesel cterm=none ctermfg=15 ctermbg=58 gui=none guifg=#ffffff guibg=#5f5f00 + highlight tabline cterm=none ctermfg=7 ctermbg=58 gui=none guifg=#c0c0c0 guibg=#5f5f00 + highlight tablinefill cterm=none ctermfg=58 ctermbg=58 gui=none guifg=#5f5f00 guibg=#5f5f00 +endif + +"for taglist plugin +" +if exists('loaded_taglist') + highlight TagListTagName cterm=none ctermfg=16 ctermbg=28 gui=none guifg=#000000 guibg=#008700 + highlight TagListTagScope cterm=none ctermfg=16 ctermbg=28 gui=none guifg=#000000 guibg=#008700 + highlight TagListTitle cterm=none ctermfg=199 ctermbg=16 gui=none guifg=#ff00af guibg=#000000 + highlight TagListComment cterm=none ctermfg=16 ctermbg=28 gui=none guifg=#000000 guibg=#008700 + highlight TagListFileName cterm=none ctermfg=15 ctermbg=90 gui=none guifg=#ffffff guibg=#870087 +endif diff --git a/setup/config/vim-colors/desertink.vim b/setup/config/vim-colors/desertink.vim new file mode 100644 index 0000000..f8a7a70 --- /dev/null +++ b/setup/config/vim-colors/desertink.vim @@ -0,0 +1,388 @@ +" Vim color file +" +" Name: desertink.vim +" Version: 1.2 +" Author: Markus Koller +" +" Note: Only works in GUI and 88/256 color terminals +" +" This is a version of the default desert colorscheme with a +" darker background and more colorful foreground colors. +" +" It also adds highlighting for folds, diffs, line numbers, +" signcolumn, completion menus, and cursor line/column. + +" The colors are automatically converted for 88/256 color terminals, +" adapted from http://www.vim.org/scripts/script.php?script_id=1243 +" +" You can find the latest version at https://github.com/toupeira/desertink.vim +" + +set background=dark +if version > 580 + " no guarantees for version 5.8 and below, but this makes it stop + " complaining + hi clear + if exists("syntax_on") + syntax reset + endif +endif +let g:colors_name="desertink" + +if has("gui_running") || &t_Co >= 88 + " functions {{{ + " returns an approximate grey index for the given grey level + fun! grey_number(x) + if &t_Co == 88 + if a:x < 23 + return 0 + elseif a:x < 69 + return 1 + elseif a:x < 103 + return 2 + elseif a:x < 127 + return 3 + elseif a:x < 150 + return 4 + elseif a:x < 173 + return 5 + elseif a:x < 196 + return 6 + elseif a:x < 219 + return 7 + elseif a:x < 243 + return 8 + else + return 9 + endif + else + if a:x < 14 + return 0 + else + let l:n = (a:x - 8) / 10 + let l:m = (a:x - 8) % 10 + if l:m < 5 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " returns the actual grey level represented by the grey index + fun! grey_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 46 + elseif a:n == 2 + return 92 + elseif a:n == 3 + return 115 + elseif a:n == 4 + return 139 + elseif a:n == 5 + return 162 + elseif a:n == 6 + return 185 + elseif a:n == 7 + return 208 + elseif a:n == 8 + return 231 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 8 + (a:n * 10) + endif + endif + endfun + + " returns the palette index for the given grey index + fun! grey_color(n) + if &t_Co == 88 + if a:n == 0 + return 16 + elseif a:n == 9 + return 79 + else + return 79 + a:n + endif + else + if a:n == 0 + return 16 + elseif a:n == 25 + return 231 + else + return 231 + a:n + endif + endif + endfun + + " returns an approximate color index for the given color level + fun! rgb_number(x) + if &t_Co == 88 + if a:x < 69 + return 0 + elseif a:x < 172 + return 1 + elseif a:x < 230 + return 2 + else + return 3 + endif + else + if a:x < 75 + return 0 + else + let l:n = (a:x - 55) / 40 + let l:m = (a:x - 55) % 40 + if l:m < 20 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " returns the actual color level for the given color index + fun! rgb_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 139 + elseif a:n == 2 + return 205 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 55 + (a:n * 40) + endif + endif + endfun + + " returns the palette index for the given R/G/B color indices + fun! rgb_color(x, y, z) + if &t_Co == 88 + return 16 + (a:x * 16) + (a:y * 4) + a:z + else + return 16 + (a:x * 36) + (a:y * 6) + a:z + endif + endfun + + " returns the palette index to approximate the given R/G/B color levels + fun! color(r, g, b) + " get the closest grey + let l:gx = grey_number(a:r) + let l:gy = grey_number(a:g) + let l:gz = grey_number(a:b) + + " get the closest color + let l:x = rgb_number(a:r) + let l:y = rgb_number(a:g) + let l:z = rgb_number(a:b) + + if l:gx == l:gy && l:gy == l:gz + " there are two possibilities + let l:dgr = grey_level(l:gx) - a:r + let l:dgg = grey_level(l:gy) - a:g + let l:dgb = grey_level(l:gz) - a:b + let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) + let l:dr = rgb_level(l:gx) - a:r + let l:dg = rgb_level(l:gy) - a:g + let l:db = rgb_level(l:gz) - a:b + let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) + if l:dgrey < l:drgb + " use the grey + return grey_color(l:gx) + else + " use the color + return rgb_color(l:x, l:y, l:z) + endif + else + " only one possibility + return rgb_color(l:x, l:y, l:z) + endif + endfun + + " returns the palette index to approximate the 'rrggbb' hex string + fun! rgb(rgb) + if a:rgb == "ffffff" + return 15 + endif + + let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 + let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 + let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 + + return color(l:r, l:g, l:b) + endfun + + " sets the highlighting for the given group, add optional fg, bg and attr + " values to override the terminal settings + if has('gui_running') || (has('termguicolors') && &termguicolors) + fun! X(group, fg, bg, attr, ...) + if a:fg != "" + exec "hi " . a:group . " guifg=#" . a:fg + endif + if a:bg != "" + exec "hi " . a:group . " guibg=#" . a:bg + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr + endif + endfun + else + fun! X(group, fg, bg, attr, ...) + let l:ctermfg = (a:0 > 0 && a:1 != "") ? a:1 : rgb(a:fg) + let l:ctermbg = (a:0 > 1 && a:2 != "") ? a:2 : rgb(a:bg) + let l:ctermattr = (a:0 > 2 && a:3 != "") ? a:3 : a:attr + + if a:fg != "" + exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . l:ctermfg + endif + if a:bg != "" + exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . l:ctermbg + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr + endif + if l:ctermattr != "" + exec "hi " . a:group . " cterm=" . l:ctermattr + endif + endfun + endif + " }}} + + call X("Normal", "ffffff", "121212", "", "", "233") + call X("NonText", "addbe7", "262626", "bold", "", "235") + + highlight! link TabLineFill Normal + + " highlight groups + "CursorIM + "Directory + "WildMenu + "Menu + "Scrollbar + "Tooltip + + call X("Cursor", "708090", "f0e68c", "") + + " setting a background color for the cursor line can hide + " other background colors such as Error and ErrorMsg + call X("CursorLine", "", "1a1a1a", "", "", "235", "none") + call X("CursorColumn", "", "1a1a1a", "", "", "235") + + " use only bold for the cursorline to avoid covering the background + "highlight clear CursorLine + "highlight clear CursorColumn + "highlight CursorLine cterm=bold gui=bold + "highlight CursorColumn cterm=bold gui=bold + + call X("ColorColumn", "", "222222", "", "") + + call X("StatusLine", "262626", "ffffff", "reverse", "", "", "reverse") + call X("StatusLineNC", "262626", "808080", "reverse", "") + + call X("Question", "00ff7f", "", "bold") + call X("Error", "ffffff", "913d3b", "bold") + call X("ErrorMsg", "ffffff", "913d3b", "bold") + call X("ModeMsg", "daa520", "", "") + call X("MoreMsg", "00ff7f", "", "bold") + call X("Ignore", "666666", "", "") + call X("Todo", "f9f747", "d75f00", "bold") + call X("SpellBad", "", "913d3b", "") + + "call X("VertSplit", "c2bfa5", "7f7f7f", "reverse") + highlight! link VertSplit LineNr + + call X("LineNr", "3e3e3e", "080808", "", "239") + "call X("CursorLineNr", "aaaaaa", "080808", "", "253") + highlight! link CursorLineNr CursorLine + + call X("Folded", "ffa500", "262626", "bold") + call X("FoldColumn", "d2b48c", "121212", "") + call X("SignColumn", "", "121212", "", "", "233") + + call X("Search", "ffffff", "6b8e23", "bold") + call X("IncSearch", "ffffff", "3a663a", "bold") + + call X("SpecialKey", "9acd32", "", "") + + call X("Title", "cd5c5c", "", "") + call X("Visual", "", "005F87", "bold") + call X("WarningMsg", "fa8072", "", "") + call X("MatchParen", "", "606060", "bold") + + call X("DiffAdd", "d7ffaf", "5f875f", "") + call X("DiffChange", "d7d7ff", "5f5f87", "") + call X("DiffDelete", "ff8080", "cc6666", "") + call X("DiffText", "5f5f87", "81a2be", "") + + call X("Pmenu", "eeeeee", "444444", "") + call X("PmenuSel", "ffffff", "555555", "bold") + call X("PmenuSbar", "", "666666", "") + call X("PmenuThumb", "", "606060", "") + + " syntax highlighting groups + call X("Comment", "87ceeb", "", "") + call X("Constant", "ff8080", "", "") + call X("Identifier", "98fb98", "", "none") + call X("Statement", "f0e260", "", "bold") + call X("PreProc", "cd5c5c", "", "bold") + call X("Type", "91b365", "", "bold") + call X("Special", "ffc266", "", "") + "Underlined + + " delete functions {{{ + delf X + delf rgb + delf color + delf rgb_color + delf rgb_level + delf rgb_number + delf grey_color + delf grey_level + delf grey_number + " }}} +else + " basic colorscheme for 16-color terminals + highlight Statement ctermfg=Yellow + highlight Identifier ctermfg=Green + highlight Type ctermfg=DarkGreen + highlight Comment ctermfg=Cyan + highlight PreProc ctermfg=Blue + highlight LineNr ctermfg=DarkGray + highlight Special ctermfg=Brown + highlight Constant ctermfg=Red + + highlight Search ctermfg=Black ctermbg=Green + highlight IncSearch ctermfg=DarkGray ctermbg=White + highlight Visual ctermfg=White ctermbg=Blue + highlight Folded cterm=bold,reverse ctermfg=DarkGray ctermbg=Brown + + highlight Pmenu cterm=reverse ctermfg=DarkGray ctermbg=White + highlight PmenuSel ctermfg=Black ctermbg=White + highlight PmenuSbar ctermbg=Black + highlight PmenuThumb ctermfg=White + + " use only bold for the cursorline to avoid covering the background + highlight clear CursorLine + highlight clear CursorColumn + highlight CursorLine cterm=bold gui=bold + highlight CursorColumn cterm=bold gui=bold +endif + +" vim: set fdl=0 fdm=marker: diff --git a/setup/config/vim-colors/everforest.vim b/setup/config/vim-colors/everforest.vim new file mode 100644 index 0000000..65bc919 --- /dev/null +++ b/setup/config/vim-colors/everforest.vim @@ -0,0 +1,3219 @@ +" ----------------------------------------------------------------------------- +" Name: Everforest +" Description: Comfortable & Pleasant Color Scheme for Vim +" Author: sainnhe +" Website: https://github.com/sainnhe/everforest +" License: MIT +" ----------------------------------------------------------------------------- + +" Initialization: {{{ +let s:configuration = everforest#get_configuration() +let s:palette = everforest#get_palette(s:configuration.background, s:configuration.colors_override) +let s:path = expand(':p') " the path of this script +let s:last_modified = 'Wed Apr 16 19:25:23 UTC 2025' +let g:everforest_loaded_file_types = [] + +if !(exists('g:colors_name') && g:colors_name ==# 'everforest' && s:configuration.better_performance) + highlight clear + if exists('syntax_on') + syntax reset + endif +endif + +let g:colors_name = 'everforest' + +if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256 + finish +endif +" }}} +" Common Highlight Groups: {{{ +" UI: {{{ +if s:configuration.transparent_background >= 1 + call everforest#highlight('Normal', s:palette.fg, s:palette.none) + call everforest#highlight('NormalNC', s:palette.fg, s:palette.none) + call everforest#highlight('Terminal', s:palette.fg, s:palette.none) + if s:configuration.show_eob + call everforest#highlight('EndOfBuffer', s:palette.bg4, s:palette.none) + else + call everforest#highlight('EndOfBuffer', s:palette.bg0, s:palette.none) + endif + if s:configuration.ui_contrast ==# 'low' + call everforest#highlight('FoldColumn', s:palette.bg5, s:palette.none) + else + call everforest#highlight('FoldColumn', s:palette.grey0, s:palette.none) + endif + call everforest#highlight('Folded', s:palette.grey1, s:palette.none) + call everforest#highlight('SignColumn', s:palette.fg, s:palette.none) + call everforest#highlight('ToolbarLine', s:palette.fg, s:palette.none) +else + call everforest#highlight('Normal', s:palette.fg, s:palette.bg0) + if s:configuration.dim_inactive_windows + call everforest#highlight('NormalNC', s:palette.fg, s:palette.bg_dim) + else + call everforest#highlight('NormalNC', s:palette.fg, s:palette.bg0) + endif + call everforest#highlight('Terminal', s:palette.fg, s:palette.bg0) + if s:configuration.show_eob + call everforest#highlight('EndOfBuffer', s:palette.bg4, s:palette.none) + else + call everforest#highlight('EndOfBuffer', s:palette.bg0, s:palette.none) + endif + call everforest#highlight('Folded', s:palette.grey1, s:palette.bg1) + call everforest#highlight('ToolbarLine', s:palette.fg, s:palette.bg2) + if s:configuration.sign_column_background ==# 'grey' + call everforest#highlight('SignColumn', s:palette.fg, s:palette.bg1) + call everforest#highlight('FoldColumn', s:palette.grey2, s:palette.bg1) + else + call everforest#highlight('SignColumn', s:palette.fg, s:palette.none) + if s:configuration.ui_contrast ==# 'low' + call everforest#highlight('FoldColumn', s:palette.bg5, s:palette.none) + else + call everforest#highlight('FoldColumn', s:palette.grey0, s:palette.none) + endif + endif +endif +if has('nvim') + call everforest#highlight('IncSearch', s:palette.bg0, s:palette.red) + call everforest#highlight('Search', s:palette.bg0, s:palette.green) +else + call everforest#highlight('IncSearch', s:palette.red, s:palette.bg0, 'reverse') + call everforest#highlight('Search', s:palette.green, s:palette.bg0, 'reverse') +endif +highlight! link CurSearch IncSearch +call everforest#highlight('ColorColumn', s:palette.none, s:palette.bg1) +if s:configuration.ui_contrast ==# 'low' + call everforest#highlight('Conceal', s:palette.bg5, s:palette.none) +else + call everforest#highlight('Conceal', s:palette.grey0, s:palette.none) +endif +if s:configuration.cursor ==# 'auto' + call everforest#highlight('Cursor', s:palette.none, s:palette.none, 'reverse') +else + call everforest#highlight('Cursor', s:palette.bg0, s:palette[s:configuration.cursor]) +endif +highlight! link vCursor Cursor +highlight! link iCursor Cursor +highlight! link lCursor Cursor +highlight! link CursorIM Cursor +if &diff + call everforest#highlight('CursorLine', s:palette.none, s:palette.none, 'underline') + call everforest#highlight('CursorColumn', s:palette.none, s:palette.none, 'bold') +else + call everforest#highlight('CursorLine', s:palette.none, s:palette.bg1) + call everforest#highlight('CursorColumn', s:palette.none, s:palette.bg1) +endif +if s:configuration.ui_contrast ==# 'low' + call everforest#highlight('LineNr', s:palette.bg5, s:palette.none) + if &diff + call everforest#highlight('CursorLineNr', s:palette.grey1, s:palette.none, 'underline') + elseif (&relativenumber == 1 && &cursorline == 0) || s:configuration.sign_column_background ==# 'none' + call everforest#highlight('CursorLineNr', s:palette.grey1, s:palette.none) + else + call everforest#highlight('CursorLineNr', s:palette.grey1, s:palette.bg1) + endif +else + call everforest#highlight('LineNr', s:palette.grey0, s:palette.none) + if &diff + call everforest#highlight('CursorLineNr', s:palette.grey2, s:palette.none, 'underline') + elseif (&relativenumber == 1 && &cursorline == 0) || s:configuration.sign_column_background ==# 'none' + call everforest#highlight('CursorLineNr', s:palette.grey2, s:palette.none) + else + call everforest#highlight('CursorLineNr', s:palette.grey2, s:palette.bg1) + endif +endif +call everforest#highlight('DiffAdd', s:palette.none, s:palette.bg_green) +call everforest#highlight('DiffChange', s:palette.none, s:palette.bg_blue) +call everforest#highlight('DiffDelete', s:palette.none, s:palette.bg_red) +if has('nvim') + call everforest#highlight('DiffText', s:palette.bg0, s:palette.blue) +else + call everforest#highlight('DiffText', s:palette.blue, s:palette.bg0, 'reverse') +endif +call everforest#highlight('Directory', s:palette.green, s:palette.none) +call everforest#highlight('ErrorMsg', s:palette.red, s:palette.none, 'bold,underline') +call everforest#highlight('WarningMsg', s:palette.yellow, s:palette.none, 'bold') +call everforest#highlight('ModeMsg', s:palette.fg, s:palette.none, 'bold') +call everforest#highlight('MoreMsg', s:palette.yellow, s:palette.none, 'bold') +call everforest#highlight('MatchParen', s:palette.none, s:palette.bg4) +call everforest#highlight('NonText', s:palette.bg4, s:palette.none) +if has('nvim') + call everforest#highlight('Whitespace', s:palette.bg4, s:palette.none) + call everforest#highlight('SpecialKey', s:palette.yellow, s:palette.none) +else + call everforest#highlight('SpecialKey', s:palette.bg3, s:palette.none) +endif +call everforest#highlight('Pmenu', s:palette.fg, s:palette.bg2) +call everforest#highlight('PmenuSbar', s:palette.none, s:palette.bg2) +call everforest#highlight('PmenuSel', s:palette.bg0, s:palette.statusline1) +call everforest#highlight('PmenuKind', s:palette.green, s:palette.bg2) +call everforest#highlight('PmenuExtra', s:palette.grey2, s:palette.bg2) +highlight! link WildMenu PmenuSel +call everforest#highlight('PmenuThumb', s:palette.none, s:palette.grey0) +if s:configuration.float_style ==# 'dim' + call everforest#highlight('NormalFloat', s:palette.fg, s:palette.bg_dim) + call everforest#highlight('FloatBorder', s:palette.grey1, s:palette.bg_dim) + call everforest#highlight('FloatTitle', s:palette.fg, s:palette.bg_dim, 'bold') +else + call everforest#highlight('NormalFloat', s:palette.fg, s:palette.bg2) + call everforest#highlight('FloatBorder', s:palette.grey1, s:palette.bg2) + call everforest#highlight('FloatTitle', s:palette.fg, s:palette.bg2, 'bold') +endif +call everforest#highlight('Question', s:palette.yellow, s:palette.none) +if s:configuration.spell_foreground ==# 'none' + call everforest#highlight('SpellBad', s:palette.none, s:palette.none, 'undercurl', s:palette.red) + call everforest#highlight('SpellCap', s:palette.none, s:palette.none, 'undercurl', s:palette.blue) + call everforest#highlight('SpellLocal', s:palette.none, s:palette.none, 'undercurl', s:palette.aqua) + call everforest#highlight('SpellRare', s:palette.none, s:palette.none, 'undercurl', s:palette.purple) +else + call everforest#highlight('SpellBad', s:palette.red, s:palette.none, 'undercurl', s:palette.red) + call everforest#highlight('SpellCap', s:palette.blue, s:palette.none, 'undercurl', s:palette.blue) + call everforest#highlight('SpellLocal', s:palette.aqua, s:palette.none, 'undercurl', s:palette.aqua) + call everforest#highlight('SpellRare', s:palette.purple, s:palette.none, 'undercurl', s:palette.purple) +endif +if s:configuration.transparent_background == 2 + call everforest#highlight('StatusLine', s:palette.grey1, s:palette.none) + call everforest#highlight('StatusLineTerm', s:palette.grey1, s:palette.none) + call everforest#highlight('StatusLineNC', s:palette.grey0, s:palette.none) + call everforest#highlight('StatusLineTermNC', s:palette.grey0, s:palette.none) + call everforest#highlight('TabLine', s:palette.grey2, s:palette.bg3) + call everforest#highlight('TabLineFill', s:palette.grey1, s:palette.none) + call everforest#highlight('TabLineSel', s:palette.bg0, s:palette.statusline1) + if has('nvim') + call everforest#highlight('WinBar', s:palette.grey1, s:palette.none, 'bold') + call everforest#highlight('WinBarNC', s:palette.grey0, s:palette.none) + endif +else + call everforest#highlight('StatusLine', s:palette.grey1, s:palette.bg2) + call everforest#highlight('StatusLineTerm', s:palette.grey1, s:palette.bg1) + call everforest#highlight('StatusLineNC', s:palette.grey1, s:palette.bg1) + call everforest#highlight('StatusLineTermNC', s:palette.grey1, s:palette.bg0) + call everforest#highlight('TabLine', s:palette.grey2, s:palette.bg3) + call everforest#highlight('TabLineFill', s:palette.grey1, s:palette.bg1) + call everforest#highlight('TabLineSel', s:palette.bg0, s:palette.statusline1) + if has('nvim') + call everforest#highlight('WinBar', s:palette.grey1, s:palette.bg2, 'bold') + call everforest#highlight('WinBarNC', s:palette.grey1, s:palette.bg1) + endif +endif +if s:configuration.dim_inactive_windows + call everforest#highlight('VertSplit', s:palette.bg4, s:palette.bg_dim) +else + call everforest#highlight('VertSplit', s:palette.bg4, s:palette.none) +endif +highlight! link WinSeparator VertSplit +call everforest#highlight('Visual', s:palette.none, s:palette.bg_visual) +call everforest#highlight('VisualNOS', s:palette.none, s:palette.bg_visual) +call everforest#highlight('QuickFixLine', s:palette.purple, s:palette.none, 'bold') +call everforest#highlight('Debug', s:palette.orange, s:palette.none) +call everforest#highlight('debugPC', s:palette.bg0, s:palette.green) +call everforest#highlight('debugBreakpoint', s:palette.bg0, s:palette.red) +call everforest#highlight('ToolbarButton', s:palette.bg0, s:palette.green) +if has('nvim') + call everforest#highlight('Substitute', s:palette.bg0, s:palette.yellow) + if s:configuration.diagnostic_text_highlight + call everforest#highlight('DiagnosticError', s:palette.red, s:palette.bg_red) + call everforest#highlight('DiagnosticUnderlineError', s:palette.none, s:palette.bg_red, 'undercurl', s:palette.red) + call everforest#highlight('DiagnosticWarn', s:palette.yellow, s:palette.bg_yellow) + call everforest#highlight('DiagnosticUnderlineWarn', s:palette.none, s:palette.bg_yellow, 'undercurl', s:palette.yellow) + call everforest#highlight('DiagnosticInfo', s:palette.blue, s:palette.bg_blue) + call everforest#highlight('DiagnosticUnderlineInfo', s:palette.none, s:palette.bg_blue, 'undercurl', s:palette.blue) + call everforest#highlight('DiagnosticHint', s:palette.green, s:palette.bg_green) + call everforest#highlight('DiagnosticUnderlineHint', s:palette.none, s:palette.bg_green, 'undercurl', s:palette.green) + else + call everforest#highlight('DiagnosticError', s:palette.red, s:palette.none) + call everforest#highlight('DiagnosticUnderlineError', s:palette.none, s:palette.none, 'undercurl', s:palette.red) + call everforest#highlight('DiagnosticWarn', s:palette.yellow, s:palette.none) + call everforest#highlight('DiagnosticUnderlineWarn', s:palette.none, s:palette.none, 'undercurl', s:palette.yellow) + call everforest#highlight('DiagnosticInfo', s:palette.blue, s:palette.none) + call everforest#highlight('DiagnosticUnderlineInfo', s:palette.none, s:palette.none, 'undercurl', s:palette.blue) + call everforest#highlight('DiagnosticHint', s:palette.green, s:palette.none) + call everforest#highlight('DiagnosticUnderlineHint', s:palette.none, s:palette.none, 'undercurl', s:palette.green) + endif + highlight! link DiagnosticFloatingError ErrorFloat + highlight! link DiagnosticFloatingWarn WarningFloat + highlight! link DiagnosticFloatingInfo InfoFloat + highlight! link DiagnosticFloatingHint HintFloat + highlight! link DiagnosticVirtualTextError VirtualTextError + highlight! link DiagnosticVirtualTextWarn VirtualTextWarning + highlight! link DiagnosticVirtualTextInfo VirtualTextInfo + highlight! link DiagnosticVirtualTextHint VirtualTextHint + highlight! link DiagnosticSignError RedSign + highlight! link DiagnosticSignWarn YellowSign + highlight! link DiagnosticSignInfo BlueSign + highlight! link DiagnosticSignHint GreenSign + highlight! link LspDiagnosticsFloatingError DiagnosticFloatingError + highlight! link LspDiagnosticsFloatingWarning DiagnosticFloatingWarn + highlight! link LspDiagnosticsFloatingInformation DiagnosticFloatingInfo + highlight! link LspDiagnosticsFloatingHint DiagnosticFloatingHint + highlight! link LspDiagnosticsDefaultError DiagnosticError + highlight! link LspDiagnosticsDefaultWarning DiagnosticWarn + highlight! link LspDiagnosticsDefaultInformation DiagnosticInfo + highlight! link LspDiagnosticsDefaultHint DiagnosticHint + highlight! link LspDiagnosticsVirtualTextError DiagnosticVirtualTextError + highlight! link LspDiagnosticsVirtualTextWarning DiagnosticVirtualTextWarn + highlight! link LspDiagnosticsVirtualTextInformation DiagnosticVirtualTextInfo + highlight! link LspDiagnosticsVirtualTextHint DiagnosticVirtualTextHint + highlight! link LspDiagnosticsUnderlineError DiagnosticUnderlineError + highlight! link LspDiagnosticsUnderlineWarning DiagnosticUnderlineWarn + highlight! link LspDiagnosticsUnderlineInformation DiagnosticUnderlineInfo + highlight! link LspDiagnosticsUnderlineHint DiagnosticUnderlineHint + highlight! link LspDiagnosticsSignError DiagnosticSignError + highlight! link LspDiagnosticsSignWarning DiagnosticSignWarn + highlight! link LspDiagnosticsSignInformation DiagnosticSignInfo + highlight! link LspDiagnosticsSignHint DiagnosticSignHint + highlight! link LspReferenceText CurrentWord + highlight! link LspReferenceRead CurrentWord + highlight! link LspReferenceWrite CurrentWord + highlight! link LspInlayHint InlayHints + highlight! link LspCodeLens VirtualTextInfo + highlight! link LspCodeLensSeparator VirtualTextHint + highlight! link LspSignatureActiveParameter Search + highlight! link TermCursor Cursor + highlight! link healthError Red + highlight! link healthSuccess Green + highlight! link healthWarning Yellow +endif +" }}} +" Syntax: {{{ +call everforest#highlight('Boolean', s:palette.purple, s:palette.none) +call everforest#highlight('Number', s:palette.purple, s:palette.none) +call everforest#highlight('Float', s:palette.purple, s:palette.none) +if s:configuration.enable_italic + call everforest#highlight('PreProc', s:palette.purple, s:palette.none, 'italic') + call everforest#highlight('PreCondit', s:palette.purple, s:palette.none, 'italic') + call everforest#highlight('Include', s:palette.purple, s:palette.none, 'italic') + call everforest#highlight('Define', s:palette.purple, s:palette.none, 'italic') + call everforest#highlight('Conditional', s:palette.red, s:palette.none, 'italic') + call everforest#highlight('Repeat', s:palette.red, s:palette.none, 'italic') + call everforest#highlight('Keyword', s:palette.red, s:palette.none, 'italic') + call everforest#highlight('Typedef', s:palette.red, s:palette.none, 'italic') + call everforest#highlight('Exception', s:palette.red, s:palette.none, 'italic') + call everforest#highlight('Statement', s:palette.red, s:palette.none, 'italic') +else + call everforest#highlight('PreProc', s:palette.purple, s:palette.none) + call everforest#highlight('PreCondit', s:palette.purple, s:palette.none) + call everforest#highlight('Include', s:palette.purple, s:palette.none) + call everforest#highlight('Define', s:palette.purple, s:palette.none) + call everforest#highlight('Conditional', s:palette.red, s:palette.none) + call everforest#highlight('Repeat', s:palette.red, s:palette.none) + call everforest#highlight('Keyword', s:palette.red, s:palette.none) + call everforest#highlight('Typedef', s:palette.red, s:palette.none) + call everforest#highlight('Exception', s:palette.red, s:palette.none) + call everforest#highlight('Statement', s:palette.red, s:palette.none) +endif +call everforest#highlight('Error', s:palette.red, s:palette.none) +call everforest#highlight('StorageClass', s:palette.orange, s:palette.none) +call everforest#highlight('Tag', s:palette.orange, s:palette.none) +call everforest#highlight('Label', s:palette.orange, s:palette.none) +call everforest#highlight('Structure', s:palette.orange, s:palette.none) +call everforest#highlight('Operator', s:palette.orange, s:palette.none) +call everforest#highlight('Title', s:palette.orange, s:palette.none, 'bold') +call everforest#highlight('Special', s:palette.yellow, s:palette.none) +call everforest#highlight('SpecialChar', s:palette.yellow, s:palette.none) +call everforest#highlight('Type', s:palette.yellow, s:palette.none) +call everforest#highlight('Function', s:palette.green, s:palette.none) +call everforest#highlight('String', s:palette.green, s:palette.none) +call everforest#highlight('Character', s:palette.green, s:palette.none) +call everforest#highlight('Constant', s:palette.aqua, s:palette.none) +call everforest#highlight('Macro', s:palette.aqua, s:palette.none) +call everforest#highlight('Identifier', s:palette.blue, s:palette.none) +call everforest#highlight('Todo', s:palette.bg0, s:palette.blue, 'bold') +if s:configuration.disable_italic_comment + call everforest#highlight('Comment', s:palette.grey1, s:palette.none) + call everforest#highlight('SpecialComment', s:palette.grey1, s:palette.none) +else + call everforest#highlight('Comment', s:palette.grey1, s:palette.none, 'italic') + call everforest#highlight('SpecialComment', s:palette.grey1, s:palette.none, 'italic') +endif +call everforest#highlight('Delimiter', s:palette.fg, s:palette.none) +call everforest#highlight('Ignore', s:palette.grey1, s:palette.none) +call everforest#highlight('Underlined', s:palette.none, s:palette.none, 'underline') +" }}} +" Predefined Highlight Groups: {{{ +call everforest#highlight('Fg', s:palette.fg, s:palette.none) +call everforest#highlight('Grey', s:palette.grey1, s:palette.none) +call everforest#highlight('Red', s:palette.red, s:palette.none) +call everforest#highlight('Orange', s:palette.orange, s:palette.none) +call everforest#highlight('Yellow', s:palette.yellow, s:palette.none) +call everforest#highlight('Green', s:palette.green, s:palette.none) +call everforest#highlight('Aqua', s:palette.aqua, s:palette.none) +call everforest#highlight('Blue', s:palette.blue, s:palette.none) +call everforest#highlight('Purple', s:palette.purple, s:palette.none) +if s:configuration.enable_italic + call everforest#highlight('RedItalic', s:palette.red, s:palette.none, 'italic') + call everforest#highlight('OrangeItalic', s:palette.orange, s:palette.none, 'italic') + call everforest#highlight('YellowItalic', s:palette.yellow, s:palette.none, 'italic') + call everforest#highlight('GreenItalic', s:palette.green, s:palette.none, 'italic') + call everforest#highlight('AquaItalic', s:palette.aqua, s:palette.none, 'italic') + call everforest#highlight('BlueItalic', s:palette.blue, s:palette.none, 'italic') + call everforest#highlight('PurpleItalic', s:palette.purple, s:palette.none, 'italic') +else + call everforest#highlight('RedItalic', s:palette.red, s:palette.none) + call everforest#highlight('OrangeItalic', s:palette.orange, s:palette.none) + call everforest#highlight('YellowItalic', s:palette.yellow, s:palette.none) + call everforest#highlight('GreenItalic', s:palette.green, s:palette.none) + call everforest#highlight('AquaItalic', s:palette.aqua, s:palette.none) + call everforest#highlight('BlueItalic', s:palette.blue, s:palette.none) + call everforest#highlight('PurpleItalic', s:palette.purple, s:palette.none) +endif +if s:configuration.transparent_background || s:configuration.sign_column_background ==# 'none' + call everforest#highlight('RedSign', s:palette.red, s:palette.none) + call everforest#highlight('OrangeSign', s:palette.orange, s:palette.none) + call everforest#highlight('YellowSign', s:palette.yellow, s:palette.none) + call everforest#highlight('GreenSign', s:palette.green, s:palette.none) + call everforest#highlight('AquaSign', s:palette.aqua, s:palette.none) + call everforest#highlight('BlueSign', s:palette.blue, s:palette.none) + call everforest#highlight('PurpleSign', s:palette.purple, s:palette.none) +else + call everforest#highlight('RedSign', s:palette.red, s:palette.bg1) + call everforest#highlight('OrangeSign', s:palette.orange, s:palette.bg1) + call everforest#highlight('YellowSign', s:palette.yellow, s:palette.bg1) + call everforest#highlight('GreenSign', s:palette.green, s:palette.bg1) + call everforest#highlight('AquaSign', s:palette.aqua, s:palette.bg1) + call everforest#highlight('BlueSign', s:palette.blue, s:palette.bg1) + call everforest#highlight('PurpleSign', s:palette.purple, s:palette.bg1) +endif +highlight! link Added Green +highlight! link Removed Red +highlight! link Changed Blue +if s:configuration.diagnostic_text_highlight + call everforest#highlight('ErrorText', s:palette.none, s:palette.bg_red, 'undercurl', s:palette.red) + call everforest#highlight('WarningText', s:palette.none, s:palette.bg_yellow, 'undercurl', s:palette.yellow) + call everforest#highlight('InfoText', s:palette.none, s:palette.bg_blue, 'undercurl', s:palette.blue) + call everforest#highlight('HintText', s:palette.none, s:palette.bg_green, 'undercurl', s:palette.green) +else + call everforest#highlight('ErrorText', s:palette.none, s:palette.none, 'undercurl', s:palette.red) + call everforest#highlight('WarningText', s:palette.none, s:palette.none, 'undercurl', s:palette.yellow) + call everforest#highlight('InfoText', s:palette.none, s:palette.none, 'undercurl', s:palette.blue) + call everforest#highlight('HintText', s:palette.none, s:palette.none, 'undercurl', s:palette.green) +endif +if s:configuration.diagnostic_line_highlight + call everforest#highlight('ErrorLine', s:palette.none, s:palette.bg_red) + call everforest#highlight('WarningLine', s:palette.none, s:palette.bg_yellow) + call everforest#highlight('InfoLine', s:palette.none, s:palette.bg_blue) + call everforest#highlight('HintLine', s:palette.none, s:palette.bg_green) +else + highlight clear ErrorLine + highlight clear WarningLine + highlight clear InfoLine + highlight clear HintLine +endif +if s:configuration.diagnostic_virtual_text ==# 'grey' + highlight! link VirtualTextWarning Grey + highlight! link VirtualTextError Grey + highlight! link VirtualTextInfo Grey + highlight! link VirtualTextHint Grey +elseif s:configuration.diagnostic_virtual_text ==# 'colored' + highlight! link VirtualTextWarning Yellow + highlight! link VirtualTextError Red + highlight! link VirtualTextInfo Blue + highlight! link VirtualTextHint Green +else + call everforest#highlight('VirtualTextWarning', s:palette.yellow, s:palette.bg_yellow) + call everforest#highlight('VirtualTextError', s:palette.red, s:palette.bg_red) + call everforest#highlight('VirtualTextInfo', s:palette.blue, s:palette.bg_blue) + call everforest#highlight('VirtualTextHint', s:palette.green, s:palette.bg_green) +endif +call everforest#highlight('ErrorFloat', s:palette.red, s:palette.none) +call everforest#highlight('WarningFloat', s:palette.yellow, s:palette.none) +call everforest#highlight('InfoFloat', s:palette.blue, s:palette.none) +call everforest#highlight('HintFloat', s:palette.green, s:palette.none) +if &diff + call everforest#highlight('CurrentWord', s:palette.bg0, s:palette.green) +elseif s:configuration.current_word ==# 'grey background' + call everforest#highlight('CurrentWord', s:palette.none, s:palette.bg2) +elseif s:configuration.current_word ==# 'high contrast background' + call everforest#highlight('CurrentWord', s:palette.none, s:palette.bg3) +else + call everforest#highlight('CurrentWord', s:palette.none, s:palette.none, s:configuration.current_word) +endif +if s:configuration.inlay_hints_background ==# 'none' + highlight! link InlayHints LineNr +else + call everforest#highlight('InlayHints', s:palette.grey1, s:palette.bg_dim) +endif +" Define a color for each LSP item kind to create highlights for nvim-cmp, aerial.nvim, nvim-navic and coc.nvim +let g:everforest_lsp_kind_color = [ + \ ["Array", "Aqua"], + \ ["Boolean", "Aqua"], + \ ["Class", "Red"], + \ ["Class", "Yellow"], + \ ["Color", "Aqua"], + \ ["Constant", "Blue"], + \ ["Constructor", "Green"], + \ ["Default", "Aqua"], + \ ["Enum", "Yellow"], + \ ["EnumMember", "Purple"], + \ ["Event", "Orange"], + \ ["Field", "Green"], + \ ["File", "Green"], + \ ["Folder", "Aqua"], + \ ["Function", "Green"], + \ ["Interface", "Yellow"], + \ ["Key", "Red"], + \ ["Keyword", "Red"], + \ ["Method", "Green"], + \ ["Module", "Yellow"], + \ ["Namespace", "Purple"], + \ ["Null", "Aqua"], + \ ["Number", "Aqua"], + \ ["Object", "Aqua"], + \ ["Operator", "Orange"], + \ ["Package", "Purple"], + \ ["Property", "Blue"], + \ ["Reference", "Aqua"], + \ ["Snippet", "Aqua"], + \ ["String", "Aqua"], + \ ["Struct", "Yellow"], + \ ["Text", "Fg"], + \ ["TypeParameter", "Yellow"], + \ ["Unit", "Purple"], + \ ["Value", "Purple"], + \ ["Variable", "Blue"], + \ ] +" }}} +" }}} +" Terminal: {{{ +if ((has('termguicolors') && &termguicolors) || has('gui_running')) && !s:configuration.disable_terminal_colors + " Definition + let s:terminal = { + \ 'black': &background ==# 'dark' ? s:palette.bg3 : s:palette.fg, + \ 'red': s:palette.red, + \ 'yellow': s:palette.yellow, + \ 'green': s:palette.green, + \ 'cyan': s:palette.aqua, + \ 'blue': s:palette.blue, + \ 'purple': s:palette.purple, + \ 'white': &background ==# 'dark' ? s:palette.fg : s:palette.bg3, + \ } + " 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 +" }}} +" Plugins: {{{ +" nvim-treesitter/nvim-treesitter {{{ +call everforest#highlight('TSStrong', s:palette.none, s:palette.none, 'bold') +call everforest#highlight('TSEmphasis', s:palette.none, s:palette.none, 'italic') +call everforest#highlight('TSUnderline', s:palette.none, s:palette.none, 'underline') +call everforest#highlight('TSNote', s:palette.bg0, s:palette.green, 'bold') +call everforest#highlight('TSWarning', s:palette.bg0, s:palette.yellow, 'bold') +call everforest#highlight('TSDanger', s:palette.bg0, s:palette.red, 'bold') +highlight! link TSAnnotation Purple +highlight! link TSAttribute Purple +highlight! link TSBoolean Purple +highlight! link TSCharacter Aqua +highlight! link TSCharacterSpecial SpecialChar +highlight! link TSComment Comment +highlight! link TSConditional Red +highlight! link TSConstBuiltin PurpleItalic +highlight! link TSConstMacro PurpleItalic +highlight! link TSConstant Fg +highlight! link TSConstructor Green +highlight! link TSDebug Debug +highlight! link TSDefine Define +highlight! link TSEnvironment Macro +highlight! link TSEnvironmentName Type +highlight! link TSError Error +highlight! link TSException Red +highlight! link TSField Blue +highlight! link TSFloat Purple +highlight! link TSFuncBuiltin Green +highlight! link TSFuncMacro Green +highlight! link TSFunction Green +highlight! link TSFunctionCall Green +highlight! link TSInclude Red +highlight! link TSKeyword Red +highlight! link TSKeywordFunction Red +highlight! link TSKeywordOperator Orange +highlight! link TSKeywordReturn Red +highlight! link TSLabel Orange +highlight! link TSLiteral String +highlight! link TSMath Blue +highlight! link TSMethod Green +highlight! link TSMethodCall Green +highlight! link TSNamespace YellowItalic +highlight! link TSNone Fg +highlight! link TSNumber Purple +highlight! link TSOperator Orange +highlight! link TSParameter Fg +highlight! link TSParameterReference Fg +highlight! link TSPreProc PreProc +highlight! link TSProperty Blue +highlight! link TSPunctBracket Fg +highlight! link TSPunctDelimiter Grey +highlight! link TSPunctSpecial Blue +highlight! link TSRepeat Red +highlight! link TSStorageClass Orange +highlight! link TSStorageClassLifetime Orange +highlight! link TSStrike Grey +highlight! link TSString Aqua +highlight! link TSStringEscape Green +highlight! link TSStringRegex Green +highlight! link TSStringSpecial SpecialChar +highlight! link TSSymbol Fg +highlight! link TSTag Orange +highlight! link TSTagAttribute Green +highlight! link TSTagDelimiter Green +highlight! link TSText Green +highlight! link TSTextReference Constant +highlight! link TSTitle Title +highlight! link TSTodo Todo +highlight! link TSType YellowItalic +highlight! link TSTypeBuiltin YellowItalic +highlight! link TSTypeDefinition YellowItalic +highlight! link TSTypeQualifier Orange +call everforest#highlight('TSURI', s:palette.blue, s:palette.none, 'underline') +highlight! link TSVariable Fg +highlight! link TSVariableBuiltin PurpleItalic +if has('nvim-0.8') + highlight! link @annotation TSAnnotation + highlight! link @attribute TSAttribute + highlight! link @boolean TSBoolean + highlight! link @character TSCharacter + highlight! link @character.special TSCharacterSpecial + highlight! link @comment TSComment + highlight! link @comment.error TSDanger + highlight! link @comment.note TSNote + highlight! link @comment.todo TSTodo + highlight! link @comment.warning TSWarning + highlight! link @conceal Grey + highlight! link @conditional TSConditional + highlight! link @constant TSConstant + highlight! link @constant.builtin TSConstBuiltin + highlight! link @constant.macro TSConstMacro + highlight! link @constructor TSConstructor + highlight! link @debug TSDebug + highlight! link @define TSDefine + highlight! link @diff.delta diffChanged + highlight! link @diff.minus diffRemoved + highlight! link @diff.plus diffAdded + highlight! link @error TSError " This has been removed from nvim-treesitter + highlight! link @exception TSException + highlight! link @field TSField + highlight! link @float TSFloat + highlight! link @function TSFunction + highlight! link @function.builtin TSFuncBuiltin + highlight! link @function.call TSFunctionCall + highlight! link @function.macro TSFuncMacro + highlight! link @function.method TSMethod + highlight! link @function.method.call TSMethodCall + highlight! link @include TSInclude + highlight! link @keyword TSKeyword + highlight! link @keyword.conditional TSConditional + highlight! link @keyword.debug TSDebug + highlight! link @keyword.directive TSPreProc + highlight! link @keyword.directive.define TSDefine + highlight! link @keyword.exception TSException + highlight! link @keyword.function TSKeywordFunction + highlight! link @keyword.import TSInclude + highlight! link @keyword.operator TSKeywordOperator + highlight! link @keyword.repeat TSRepeat + highlight! link @keyword.return TSKeywordReturn + highlight! link @keyword.storage TSStorageClass + highlight! link @label TSLabel + highlight! link @markup.emphasis TSEmphasis + highlight! link @markup.environment TSEnvironment + highlight! link @markup.environment.name TSEnvironmentName + highlight! link @markup.heading TSTitle + highlight! link @markup.link TSTextReference + highlight! link @markup.link.label TSStringSpecial + highlight! link @markup.link.url TSURI + highlight! link @markup.list TSPunctSpecial + highlight! link @markup.list.checked Green + highlight! link @markup.list.unchecked Ignore + highlight! link @markup.math TSMath + highlight! link @markup.note TSNote + highlight! link @markup.quote Grey + highlight! link @markup.raw TSLiteral + highlight! link @markup.strike TSStrike + highlight! link @markup.strong TSStrong + highlight! link @markup.underline TSUnderline + highlight! link @math TSMath + highlight! link @method TSMethod + highlight! link @method.call TSMethodCall + highlight! link @module TSNamespace + highlight! link @namespace TSNamespace + highlight! link @none TSNone + highlight! link @number TSNumber + highlight! link @number.float TSFloat + highlight! link @operator TSOperator + highlight! link @parameter TSParameter + highlight! link @parameter.reference TSParameterReference + highlight! link @preproc TSPreProc + highlight! link @property TSProperty + highlight! link @punctuation.bracket TSPunctBracket + highlight! link @punctuation.delimiter TSPunctDelimiter + highlight! link @punctuation.special TSPunctSpecial + highlight! link @repeat TSRepeat + highlight! link @storageclass TSStorageClass + highlight! link @storageclass.lifetime TSStorageClassLifetime + highlight! link @strike TSStrike + highlight! link @string TSString + highlight! link @string.escape TSStringEscape + highlight! link @string.regex TSStringRegex + highlight! link @string.regexp TSStringRegex + highlight! link @string.special TSStringSpecial + highlight! link @string.special.symbol TSSymbol + highlight! link @string.special.uri TSURI + highlight! link @symbol TSSymbol + highlight! link @tag TSTag + highlight! link @tag.attribute TSTagAttribute + highlight! link @tag.delimiter TSTagDelimiter + highlight! link @text TSText + highlight! link @text.danger TSDanger + highlight! link @text.diff.add diffAdded + highlight! link @text.diff.delete diffRemoved + highlight! link @text.emphasis TSEmphasis + highlight! link @text.environment TSEnvironment + highlight! link @text.environment.name TSEnvironmentName + highlight! link @text.literal TSLiteral + highlight! link @text.math TSMath + highlight! link @text.note TSNote + highlight! link @text.reference TSTextReference + highlight! link @text.strike TSStrike + highlight! link @text.strong TSStrong + highlight! link @text.title TSTitle + highlight! link @text.todo TSTodo + highlight! link @text.todo.checked Green + highlight! link @text.todo.unchecked Ignore + highlight! link @text.underline TSUnderline + highlight! link @text.uri TSURI + highlight! link @text.warning TSWarning + highlight! link @todo TSTodo + highlight! link @type TSType + highlight! link @type.builtin TSTypeBuiltin + highlight! link @type.definition TSTypeDefinition + highlight! link @type.qualifier TSTypeQualifier + highlight! link @uri TSURI + highlight! link @variable TSVariable + highlight! link @variable.builtin TSVariableBuiltin + highlight! link @variable.member TSField + highlight! link @variable.parameter TSParameter +endif +if has('nvim-0.9') + highlight! link @lsp.type.class TSType + highlight! link @lsp.type.comment TSComment + highlight! link @lsp.type.decorator TSFunction + highlight! link @lsp.type.enum TSType + highlight! link @lsp.type.enumMember TSProperty + highlight! link @lsp.type.events TSLabel + highlight! link @lsp.type.function TSFunction + highlight! link @lsp.type.interface TSType + highlight! link @lsp.type.keyword TSKeyword + highlight! link @lsp.type.macro TSConstMacro + highlight! link @lsp.type.method TSMethod + highlight! link @lsp.type.modifier TSTypeQualifier + highlight! link @lsp.type.namespace TSNamespace + highlight! link @lsp.type.number TSNumber + highlight! link @lsp.type.operator TSOperator + highlight! link @lsp.type.parameter TSParameter + highlight! link @lsp.type.property TSProperty + highlight! link @lsp.type.regexp TSStringRegex + highlight! link @lsp.type.string TSString + highlight! link @lsp.type.struct TSType + highlight! link @lsp.type.type TSType + highlight! link @lsp.type.typeParameter TSTypeDefinition + highlight! link @lsp.type.variable TSVariable + call everforest#highlight('DiagnosticUnnecessary', s:palette.grey1, s:palette.none) +endif +highlight! link TSModuleInfoGood Green +highlight! link TSModuleInfoBad Red +" }}} +" github/copilot.vim {{{ +highlight! link CopilotSuggestion Grey +" }}} +" neoclide/coc.nvim {{{ +call everforest#highlight('CocHoverRange', s:palette.none, s:palette.none, 'bold,underline') +call everforest#highlight('CocSearch', s:palette.green, s:palette.none, 'bold') +call everforest#highlight('CocPumSearch', s:palette.green, s:palette.none, 'bold') +call everforest#highlight('CocMarkdownHeader', s:palette.orange, s:palette.none, 'bold') +call everforest#highlight('CocMarkdownLink', s:palette.green, s:palette.none, 'underline') +highlight! link CocMarkdownCode Green +highlight! link CocPumShortcut Grey +highlight! link CocPumVirtualText Grey +highlight! link CocPumMenu Pmenu +highlight! link CocMenuSel PmenuSel +highlight! link CocDisabled Grey +highlight! link CocSnippetVisual DiffAdd +highlight! link CocInlayHint InlayHints +highlight! link CocNotificationProgress Green +highlight! link CocNotificationButton PmenuSel +highlight! link CocSemClass TSType +highlight! link CocSemEnum TSType +highlight! link CocSemInterface TSType +highlight! link CocSemStruct TSType +highlight! link CocSemTypeParameter TSType +highlight! link CocSemVariable TSVariable +highlight! link CocSemEnumMember TSProperty +highlight! link CocSemEvent TSLabel +highlight! link CocSemModifier TSOperator +highlight! link CocErrorFloat ErrorFloat +highlight! link CocWarningFloat WarningFloat +highlight! link CocInfoFloat InfoFloat +highlight! link CocHintFloat HintFloat +highlight! link CocFloating NormalFloat +highlight! link CocFloatDividingLine Grey +highlight! link CocErrorHighlight ErrorText +highlight! link CocWarningHighlight WarningText +highlight! link CocInfoHighlight InfoText +highlight! link CocHintHighlight HintText +highlight! link CocHighlightText CurrentWord +highlight! link CocHoverRange CurrentWord +highlight! link CocErrorSign RedSign +highlight! link CocWarningSign YellowSign +highlight! link CocInfoSign BlueSign +highlight! link CocHintSign GreenSign +highlight! link CocWarningVirtualText VirtualTextWarning +highlight! link CocErrorVirtualText VirtualTextError +highlight! link CocInfoVirtualText VirtualTextInfo +highlight! link CocHintVirtualText VirtualTextHint +highlight! link CocErrorLine ErrorLine +highlight! link CocWarningLine WarningLine +highlight! link CocInfoLine InfoLine +highlight! link CocHintLine HintLine +highlight! link CocCodeLens Grey +highlight! link CocFadeOut Grey +highlight! link CocStrikeThrough Grey +highlight! link CocListMode StatusLine +highlight! link CocListPath StatusLine +highlight! link CocSelectedText Orange +highlight! link CocListsLine Fg +highlight! link CocListsDesc 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 +" }}} +" prabirshrestha/vim-lsp {{{ +highlight! link LspErrorVirtualText VirtualTextError +highlight! link LspWarningVirtualText VirtualTextWarning +highlight! link LspInformationVirtualText VirtualTextInfo +highlight! link LspHintVirtualText VirtualTextHint +highlight! link LspErrorHighlight ErrorText +highlight! link LspWarningHighlight WarningText +highlight! link LspInformationHighlight InfoText +highlight! link LspHintHighlight HintText +highlight! link lspReference CurrentWord +highlight! link lspInlayHintsType InlayHints +highlight! link lspInlayHintsParameter InlayHints +highlight! link LspSemanticType TSType +highlight! link LspSemanticClass TSType +highlight! link LspSemanticEnum TSType +highlight! link LspSemanticInterface TSType +highlight! link LspSemanticStruct TSType +highlight! link LspSemanticTypeParameter TSType +highlight! link LspSemanticParameter TSParameter +highlight! link LspSemanticVariable TSVariable +highlight! link LspSemanticProperty TSProperty +highlight! link LspSemanticEnumMember TSProperty +highlight! link LspSemanticEvents TSLabel +highlight! link LspSemanticFunction TSFunction +highlight! link LspSemanticMethod TSMethod +highlight! link LspSemanticKeyword TSKeyword +highlight! link LspSemanticModifier TSOperator +highlight! link LspSemanticComment TSComment +highlight! link LspSemanticString TSString +highlight! link LspSemanticNumber TSNumber +highlight! link LspSemanticRegexp TSStringRegex +highlight! link LspSemanticOperator TSOperator +" }}} +" yegappan/lsp {{{ +highlight! link LspDiagInlineError ErrorText +highlight! link LspDiagInlineWarning WarningText +highlight! link LspDiagInlineInfo InfoText +highlight! link LspDiagInlineHint HintText +highlight! link LspDiagSignErrorText RedSign +highlight! link LspDiagSignWarningText YellowSign +highlight! link LspDiagSignInfoText BlueSign +highlight! link LspDiagSignHintText GreenSign +highlight! link LspDiagVirtualTextError VirtualTextError +highlight! link LspDiagVirtualTextWarning VirtualTextWarning +highlight! link LspDiagVirtualTextInfo VirtualTextInfo +highlight! link LspDiagVirtualTextHint VirtualTextHint +highlight! link LspInlayHintsParam InlayHints +highlight! link LspSigActiveParameter DiffAdd +" }}} +" ycm-core/YouCompleteMe {{{ +highlight! link YcmErrorSign RedSign +highlight! link YcmWarningSign YellowSign +highlight! link YcmErrorLine ErrorLine +highlight! link YcmWarningLine WarningLine +highlight! link YcmErrorSection ErrorText +highlight! link YcmWarningSection WarningText +highlight! link YcmInlayHint InlayHints +highlight! link YcmErrorText VirtualTextError +highlight! link YcmWarningText VirtualTextWarning +if !has('nvim') && has('textprop') && !exists('g:YCM_HIGHLIGHT_GROUP') + let g:YCM_HIGHLIGHT_GROUP = { + \ 'typeParameter': 'TSType', + \ 'parameter': 'TSParameter', + \ 'variable': 'TSVariable', + \ 'property': 'TSProperty', + \ 'enumMember': 'TSVariableBuiltin', + \ 'event': 'TSLabel', + \ 'member': 'TSVariable', + \ 'method': 'TSMethod', + \ 'class': 'TSType', + \ 'namespace': 'TSNamespace', + \ } + for tokenType in keys( g:YCM_HIGHLIGHT_GROUP ) + try + call prop_type_add( 'YCM_HL_' . tokenType, + \ { 'highlight': g:YCM_HIGHLIGHT_GROUP[ tokenType ] } ) + catch + endtry + endfor +endif +" }}} +" dense-analysis/ale {{{ +highlight! link ALEError ErrorText +highlight! link ALEWarning WarningText +highlight! link ALEInfo InfoText +highlight! link ALEErrorSign RedSign +highlight! link ALEWarningSign YellowSign +highlight! link ALEInfoSign BlueSign +highlight! link ALEErrorLine ErrorLine +highlight! link ALEWarningLine WarningLine +highlight! link ALEInfoLine InfoLine +highlight! link ALEVirtualTextError VirtualTextError +highlight! link ALEVirtualTextWarning VirtualTextWarning +highlight! link ALEVirtualTextInfo VirtualTextInfo +highlight! link ALEVirtualTextStyleError VirtualTextHint +highlight! link ALEVirtualTextStyleWarning VirtualTextHint +" }}} +" neomake/neomake {{{ +highlight! link NeomakeError ErrorText +highlight! link NeomakeWarning WarningText +highlight! link NeomakeInfo InfoText +highlight! link NeomakeMessage HintText +highlight! link NeomakeErrorSign RedSign +highlight! link NeomakeWarningSign YellowSign +highlight! link NeomakeInfoSign BlueSign +highlight! link NeomakeMessageSign AquaSign +highlight! link NeomakeVirtualtextError VirtualTextError +highlight! link NeomakeVirtualtextWarning VirtualTextWarning +highlight! link NeomakeVirtualtextInfo VirtualTextInfo +highlight! link NeomakeVirtualtextMessag VirtualTextHint +" }}} +" vim-syntastic/syntastic {{{ +highlight! link SyntasticError ErrorText +highlight! link SyntasticWarning WarningText +highlight! link SyntasticErrorSign RedSign +highlight! link SyntasticWarningSign YellowSign +highlight! link SyntasticErrorLine ErrorLine +highlight! link SyntasticWarningLine WarningLine +" }}} +" Yggdroot/LeaderF {{{ +if !exists('g:Lf_StlColorscheme') + let g:Lf_StlColorscheme = 'everforest' +endif +if !exists('g:Lf_PopupColorscheme') + let g:Lf_PopupColorscheme = 'everforest' +endif +call everforest#highlight('Lf_hl_match', s:palette.green, s:palette.none, 'bold') +call everforest#highlight('Lf_hl_match0', s:palette.green, s:palette.none, 'bold') +call everforest#highlight('Lf_hl_match1', s:palette.aqua, s:palette.none, 'bold') +call everforest#highlight('Lf_hl_match2', s:palette.blue, s:palette.none, 'bold') +call everforest#highlight('Lf_hl_match3', s:palette.purple, s:palette.none, 'bold') +call everforest#highlight('Lf_hl_match4', s:palette.orange, s:palette.none, 'bold') +call everforest#highlight('Lf_hl_matchRefine', s:palette.red, s:palette.none, 'bold') +call everforest#highlight('Lf_hl_popup_normalMode', s:palette.bg0, s:palette.red, 'bold') +call everforest#highlight('Lf_hl_popup_inputMode', s:palette.bg0, s:palette.green, 'bold') +call everforest#highlight('Lf_hl_popup_category', s:palette.fg, s:palette.bg4) +call everforest#highlight('Lf_hl_popup_nameOnlyMode', s:palette.fg, s:palette.bg3) +call everforest#highlight('Lf_hl_popup_fullPathMode', s:palette.fg, s:palette.bg3) +call everforest#highlight('Lf_hl_popup_fuzzyMode', s:palette.fg, s:palette.bg3) +call everforest#highlight('Lf_hl_popup_regexMode', s:palette.fg, s:palette.bg3) +call everforest#highlight('Lf_hl_popup_lineInfo', s:palette.yellow, s:palette.bg4) +call everforest#highlight('Lf_hl_popup_total', s:palette.bg0, s:palette.orange) +call everforest#highlight('Lf_hl_popup_cursor', s:palette.bg0, s:palette.green) +highlight! link Lf_hl_cursorline Fg +highlight! link Lf_hl_selection DiffAdd +highlight! link Lf_hl_rgHighlight Visual +highlight! link Lf_hl_gtagsHighlight Visual +highlight! link Lf_hl_popup_inputText Pmenu +highlight! link Lf_hl_popup_window Pmenu +highlight! link Lf_hl_popup_prompt Green +highlight! link Lf_hl_popup_cwd Pmenu +highlight! link Lf_hl_popup_blank Lf_hl_popup_window +highlight! link Lf_hl_popup_spin Red +" }}} +" liuchengxu/vim-clap {{{ +call everforest#highlight('ClapSelected', s:palette.red, s:palette.none, 'bold') +call everforest#highlight('ClapCurrentSelection', s:palette.none, s:palette.bg1, 'bold') +call everforest#highlight('ClapSpinner', s:palette.orange, s:palette.bg2, 'bold') +call everforest#highlight('ClapBlines', s:palette.fg, s:palette.none) +call everforest#highlight('ClapProviderId', s:palette.fg, s:palette.none, 'bold') +call everforest#highlight('ClapMatches1', s:palette.red, s:palette.none, 'bold') +call everforest#highlight('ClapMatches2', s:palette.orange, s:palette.none, 'bold') +call everforest#highlight('ClapMatches3', s:palette.yellow, s:palette.none, 'bold') +call everforest#highlight('ClapMatches4', s:palette.aqua, s:palette.none, 'bold') +call everforest#highlight('ClapMatches5', s:palette.blue, s:palette.none, 'bold') +call everforest#highlight('ClapMatches6', s:palette.purple, s:palette.none, 'bold') +call everforest#highlight('ClapFuzzyMatches', s:palette.green, s:palette.none, 'bold') +call everforest#highlight('ClapNoMatchesFound', s:palette.red, s:palette.none, 'bold') +highlight! link ClapInput Pmenu +highlight! link ClapDisplay Pmenu +highlight! link ClapPreview Pmenu +highlight! link ClapFuzzyMatches1 ClapFuzzyMatches +highlight! link ClapFuzzyMatches2 ClapFuzzyMatches +highlight! link ClapFuzzyMatches3 ClapFuzzyMatches +highlight! link ClapFuzzyMatches4 ClapFuzzyMatches +highlight! link ClapFuzzyMatches5 ClapFuzzyMatches +highlight! link ClapFuzzyMatches6 ClapFuzzyMatches +highlight! link ClapFuzzyMatches7 ClapFuzzyMatches +highlight! link ClapFuzzyMatches8 ClapFuzzyMatches +highlight! link ClapFuzzyMatches9 ClapFuzzyMatches +highlight! link ClapFuzzyMatches10 ClapFuzzyMatches +highlight! link ClapFuzzyMatches11 ClapFuzzyMatches +highlight! link ClapFuzzyMatches12 ClapFuzzyMatches +highlight! link ClapBlinesLineNr Grey +highlight! link ClapProviderColon ClapBlines +highlight! link ClapProviderAbout ClapBlines +highlight! link ClapFile Fg +highlight! link ClapSearchText ClapFuzzyMatches +" }}} +" 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', 'Aqua'], + \ 'info': ['fg', 'Aqua'], + \ 'border': ['fg', 'Grey'], + \ 'prompt': ['fg', 'Orange'], + \ 'pointer': ['fg', 'Blue'], + \ 'marker': ['fg', 'Yellow'], + \ 'spinner': ['fg', 'Yellow'], + \ 'header': ['fg', 'Grey'] + \ } +" }}} +" Shougo/denite.nvim {{{ +call everforest#highlight('deniteMatchedChar', s:palette.green, s:palette.none, 'bold') +call everforest#highlight('deniteMatchedRange', s:palette.green, s:palette.none, 'bold,underline') +call everforest#highlight('deniteInput', s:palette.green, s:palette.bg3, 'bold') +call everforest#highlight('deniteStatusLineNumber', s:palette.purple, s:palette.bg3) +call everforest#highlight('deniteStatusLinePath', s:palette.fg, s:palette.bg3) +highlight! link deniteSelectedLin Green +" }}} +" kien/ctrlp.vim {{{ +call everforest#highlight('CtrlPMatch', s:palette.green, s:palette.none, 'bold') +call everforest#highlight('CtrlPPrtBase', s:palette.bg3, s:palette.none) +call everforest#highlight('CtrlPLinePre', s:palette.bg3, s:palette.none) +call everforest#highlight('CtrlPMode1', s:palette.blue, s:palette.bg3, 'bold') +call everforest#highlight('CtrlPMode2', s:palette.bg0, s:palette.blue, 'bold') +call everforest#highlight('CtrlPStats', s:palette.grey1, s:palette.bg3, 'bold') +highlight! link CtrlPNoEntries Red +highlight! link CtrlPPrtCursor Blue +" }}} +" airblade/vim-gitgutter {{{ +highlight! link GitGutterAdd GreenSign +highlight! link GitGutterChange BlueSign +highlight! link GitGutterDelete RedSign +highlight! link GitGutterChangeDelete PurpleSign +highlight! link GitGutterAddLine DiffAdd +highlight! link GitGutterChangeLine DiffChange +highlight! link GitGutterDeleteLine DiffDelete +highlight! link GitGutterChangeDeleteLine DiffChange +highlight! link GitGutterAddLineNr Green +highlight! link GitGutterChangeLineNr Blue +highlight! link GitGutterDeleteLineNr Red +highlight! link GitGutterChangeDeleteLineNr Purple +" }}} +" mhinz/vim-signify {{{ +highlight! link SignifySignAdd GreenSign +highlight! link SignifySignChange BlueSign +highlight! link SignifySignDelete RedSign +highlight! link SignifySignChangeDelete PurpleSign +highlight! link SignifyLineAdd DiffAdd +highlight! link SignifyLineChange DiffChange +highlight! link SignifyLineChangeDelete DiffChange +highlight! link SignifyLineDelete DiffDelete +" }}} +" andymass/vim-matchup {{{ +call everforest#highlight('MatchParenCur', s:palette.none, s:palette.none, 'bold') +call everforest#highlight('MatchWord', s:palette.none, s:palette.none, 'underline') +call everforest#highlight('MatchWordCur', s:palette.none, s:palette.none, 'underline') +" }}} +" easymotion/vim-easymotion {{{ +highlight! link EasyMotionTarget Search +highlight! link EasyMotionShade Grey +" }}} +" justinmk/vim-sneak {{{ +call everforest#highlight('SneakLabelMask', s:palette.orange, s:palette.orange) +highlight! link Sneak Search +highlight! link SneakLabel Search +highlight! link SneakScope DiffText +" }}} +" rhysd/clever-f.vim {{{ +highlight! link CleverFDefaultLabel Search +" }}} +" terryma/vim-multiple-cursors {{{ +highlight! link multiple_cursors_cursor Cursor +highlight! link multiple_cursors_visual Visual +" }}} +" mg979/vim-visual-multi {{{ +call everforest#highlight('VMCursor', s:palette.blue, s:palette.bg_blue) +let g:VM_Mono_hl = 'VMCursor' +let g:VM_Extend_hl = 'Visual' +let g:VM_Cursor_hl = 'VMCursor' +let g:VM_Insert_hl = 'VMCursor' +" }}} +" dominikduda/vim_current_word {{{ +highlight! link CurrentWordTwins CurrentWord +" }}} +" RRethy/vim-illuminate {{{ +highlight! link illuminatedWord CurrentWord +highlight! link IlluminatedWordText CurrentWord +highlight! link IlluminatedWordRead CurrentWord +highlight! link IlluminatedWordWrite CurrentWord +" }}} +" itchyny/vim-cursorword {{{ +highlight! link CursorWord0 CurrentWord +highlight! link CursorWord1 CurrentWord +" }}} +" Yggdroot/indentLine {{{ +if s:configuration.ui_contrast ==# 'low' + let g:indentLine_color_gui = s:palette.bg5[0] + let g:indentLine_color_term = s:palette.bg5[1] +else + let g:indentLine_color_gui = s:palette.grey0[0] + let g:indentLine_color_term = s:palette.grey0[1] +endif +" }}} +" nathanaelkane/vim-indent-guides {{{ +if get(g:, 'indent_guides_auto_colors', 1) == 0 + call everforest#highlight('IndentGuidesOdd', s:palette.bg0, s:palette.bg1) + call everforest#highlight('IndentGuidesEven', s:palette.bg0, s:palette.bg2) +endif +" }}} +" thiagoalessio/rainbow_levels.vim {{{ +highlight! link RainbowLevel0 Red +highlight! link RainbowLevel1 Orange +highlight! link RainbowLevel2 Yellow +highlight! link RainbowLevel3 Green +highlight! link RainbowLevel4 Aqua +highlight! link RainbowLevel5 Blue +highlight! link RainbowLevel6 Purple +highlight! link RainbowLevel7 Yellow +highlight! link RainbowLevel8 Green +" }}} +" 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 +" }}} +" 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 +" }}} +" junegunn/limelight.vim {{{ +let g:limelight_conceal_ctermfg = s:palette.grey0[1] +let g:limelight_conceal_guifg = s:palette.grey0[0] +" }}} +" unblevable/quick-scope {{{ +call everforest#highlight('QuickScopePrimary', s:palette.aqua, s:palette.none, 'underline') +call everforest#highlight('QuickScopeSecondary', s:palette.blue, s:palette.none, 'underline') +" }}} +" APZelos/blamer.nvim {{{ +highlight! link Blamer Grey +" }}} +" cohama/agit.vim {{{ +highlight! link agitTree Grey +highlight! link agitDate Green +highlight! link agitRemote Red +highlight! link agitHead Orange +highlight! link agitRef Aqua +highlight! link agitTag Orange +highlight! link agitStatFile Blue +highlight! link agitStatRemoved Red +highlight! link agitStatAdded Green +highlight! link agitStatMessage Orange +highlight! link agitDiffRemove Red +highlight! link agitDiffAdd Green +highlight! link agitDiffHeader Purple +" }}} +" voldikss/vim-floaterm {{{ +highlight! link FloatermBorder Grey +" }}} +" MattesGroeger/vim-bookmarks {{{ +highlight! link BookmarkSign BlueSign +highlight! link BookmarkAnnotationSign GreenSign +highlight! link BookmarkLine DiffChange +highlight! link BookmarkAnnotationLine DiffAdd +" }}} +if has('nvim') +" hrsh7th/nvim-cmp {{{ +call everforest#highlight('CmpItemAbbrMatch', s:palette.green, s:palette.none, 'bold') +call everforest#highlight('CmpItemAbbrMatchFuzzy', s:palette.green, s:palette.none, 'bold') +highlight! link CmpItemAbbr Fg +highlight! link CmpItemAbbrDeprecated Grey +highlight! link CmpItemMenu Fg +highlight! link CmpItemKind Yellow +for kind in g:everforest_lsp_kind_color + execute "highlight! link CmpItemKind" . kind[0] . " " . kind[1] +endfor +" }}} +" Saghen/blink.cmp {{{ +call everforest#highlight('BlinkCmpLabelMatch', s:palette.green, s:palette.none, 'bold') +for kind in g:everforest_lsp_kind_color + execute "highlight! link BlinkCmpKind" . kind[0] . " " . kind[1] +endfor +" }}} +" SmiteshP/nvim-navic {{{ +highlight! link NavicText Fg +highlight! link NavicSeparator Grey +for kind in g:everforest_lsp_kind_color + execute "highlight! link NavicIcons" . kind[0] . " " . kind[1] +endfor +" }}} +" folke/trouble.nvim {{{ +highlight! link TroubleText Fg +highlight! link TroubleSource Grey +highlight! link TroubleCode Grey +" }}} +" nvim-telescope/telescope.nvim {{{ +call everforest#highlight('TelescopeMatching', s:palette.green, s:palette.none, 'bold') +highlight! link TelescopeBorder Grey +highlight! link TelescopePromptPrefix Orange +highlight! link TelescopeSelection DiffAdd +" }}} +" ibhagwan/fzf-lua {{{ +highlight! link FzfLuaBorder Grey +" }}} +" folke/snacks.nvim {{{ +highlight! link SnacksPicker Normal +highlight! link SnacksPickerBorder Grey +highlight! link SnacksPickerTitle Title +highlight! link SnacksPickerFooter SnacksPickerTitle +highlight! link SnacksPickerPrompt Orange +highlight! link SnacksPickerInputCursorLine Normal +highlight! link SnacksPickerListCursorLine DiffAdd +call everforest#highlight('SnacksPickerMatch', s:palette.green, s:palette.none, 'bold') +highlight! link SnacksPickerToggle CursorLine +highlight! link SnacksPickerDir Comment +highlight! link SnacksPickerBufFlags Grey +highlight! link SnacksPickerSelected Aqua +highlight! link SnacksPickerKeymapRhs Grey +" }}} +" lewis6991/gitsigns.nvim {{{ +highlight! link GitSignsAdd GreenSign +highlight! link GitSignsChange BlueSign +highlight! link GitSignsDelete RedSign +highlight! link GitSignsAddNr Green +highlight! link GitSignsChangeNr Blue +highlight! link GitSignsDeleteNr Red +highlight! link GitSignsAddLn DiffAdd +highlight! link GitSignsChangeLn DiffChange +highlight! link GitSignsDeleteLn DiffDelete +highlight! link GitSignsCurrentLineBlame Grey +" }}} +" phaazon/hop.nvim {{{ +call everforest#highlight('HopNextKey', s:palette.orange, s:palette.none, 'bold') +call everforest#highlight('HopNextKey1', s:palette.green, s:palette.none, 'bold') +highlight! link HopNextKey2 Green +highlight! link HopUnmatched Grey +" }}} +" lukas-reineke/indent-blankline.nvim {{{ +call everforest#highlight('IblScope', s:palette.grey1, s:palette.none, 'nocombine') +call everforest#highlight('IblIndent', s:palette.bg4, s:palette.none, 'nocombine') +call everforest#highlight('IndentBlanklineContextStart', s:palette.none, s:palette.bg2) +highlight! link IndentBlanklineContextChar IblScope +highlight! link IndentBlanklineChar IblIndent +highlight! link IndentBlanklineSpaceChar IndentBlanklineChar +highlight! link IndentBlanklineSpaceCharBlankline IndentBlanklineChar +" }}} +" HiPhish/rainbow-delimiters.nvim {{{ +highlight! link RainbowDelimiterRed Red +highlight! link RainbowDelimiterOrange Orange +highlight! link RainbowDelimiterYellow Yellow +highlight! link RainbowDelimiterGreen Green +highlight! link RainbowDelimiterCyan Aqua +highlight! link RainbowDelimiterBlue Blue +highlight! link RainbowDelimiterViolet Purple +" }}} +" romgrk/barbar.nvim {{{ +call everforest#highlight('BufferCurrent', s:palette.fg, s:palette.bg0) +call everforest#highlight('BufferCurrentIndex', s:palette.fg, s:palette.bg0) +call everforest#highlight('BufferCurrentMod', s:palette.blue, s:palette.bg0) +call everforest#highlight('BufferCurrentTarget', s:palette.red, s:palette.bg0, 'bold') +call everforest#highlight('BufferCurrentSign', s:palette.statusline1, s:palette.bg0) +call everforest#highlight('BufferCurrentADDED', s:palette.green, s:palette.bg0) +call everforest#highlight('BufferCurrentDELETED', s:palette.red, s:palette.bg0) +call everforest#highlight('BufferCurrentCHANGED', s:palette.blue, s:palette.bg0) +call everforest#highlight('BufferVisible', s:palette.fg, s:palette.bg_dim) +call everforest#highlight('BufferVisibleIndex', s:palette.fg, s:palette.bg_dim) +call everforest#highlight('BufferVisibleMod', s:palette.blue, s:palette.bg_dim) +call everforest#highlight('BufferVisibleSign', s:palette.statusline1, s:palette.bg_dim) +call everforest#highlight('BufferVisibleTarget', s:palette.yellow, s:palette.bg_dim, 'bold') +call everforest#highlight('BufferInactive', s:palette.grey1, s:palette.bg_dim) +call everforest#highlight('BufferInactiveIndex', s:palette.grey1, s:palette.bg_dim) +call everforest#highlight('BufferInactiveMod', s:palette.grey1, s:palette.bg_dim) +call everforest#highlight('BufferInactiveTarget', s:palette.yellow, s:palette.bg_dim, 'bold') +call everforest#highlight('BufferInactiveSign', s:palette.grey0, s:palette.bg_dim) +highlight! link BufferInactiveADDED BufferInactiveSign +highlight! link BufferInactiveDELETED BufferInactiveSign +highlight! link BufferInactiveCHANGED BufferInactiveSign +call everforest#highlight('BufferTabpages', s:palette.grey1, s:palette.bg_dim, 'bold') +call everforest#highlight('BufferTabpagesSep', s:palette.grey0, s:palette.bg_dim, 'bold') +call everforest#highlight('BufferTabpageFill', s:palette.bg_dim, s:palette.bg_dim) +" }}} +" rcarriga/nvim-notify {{{ +call everforest#highlight('NotifyBackground', s:palette.none, s:palette.bg0) +highlight! link NotifyERRORBorder Red +highlight! link NotifyWARNBorder Yellow +highlight! link NotifyINFOBorder Green +highlight! link NotifyDEBUGBorder Grey +highlight! link NotifyTRACEBorder Purple +highlight! link NotifyERRORIcon Red +highlight! link NotifyWARNIcon Yellow +highlight! link NotifyINFOIcon Green +highlight! link NotifyDEBUGIcon Grey +highlight! link NotifyTRACEIcon Purple +highlight! link NotifyERRORTitle Red +highlight! link NotifyWARNTitle Yellow +highlight! link NotifyINFOTitle Green +highlight! link NotifyDEBUGTitle Grey +highlight! link NotifyTRACETitle Purple +" }}} +" rcarriga/nvim-dap-ui {{{ +call everforest#highlight('DapUIModifiedValue', s:palette.blue, s:palette.none, 'bold') +call everforest#highlight('DapUIBreakpointsCurrentLine', s:palette.blue, s:palette.none, 'bold') +call everforest#highlight('DapUIPlayPause', s:palette.green, s:palette.bg2) +call everforest#highlight('DapUIRestart', s:palette.green, s:palette.bg2) +call everforest#highlight('DapUIStop', s:palette.red, s:palette.bg2) +call everforest#highlight('DapUIUnavailable', s:palette.grey1, s:palette.bg2) +call everforest#highlight('DapUIStepOver', s:palette.blue, s:palette.bg2) +call everforest#highlight('DapUIStepInto', s:palette.blue, s:palette.bg2) +call everforest#highlight('DapUIStepBack', s:palette.blue, s:palette.bg2) +call everforest#highlight('DapUIStepOut', s:palette.blue, s:palette.bg2) +highlight! link DapUIScope Blue +highlight! link DapUIType Purple +highlight! link DapUIDecoration Blue +highlight! link DapUIThread Green +highlight! link DapUIStoppedThread Blue +highlight! link DapUISource Purple +highlight! link DapUILineNumber Blue +highlight! link DapUIFloatBorder Blue +highlight! link DapUIWatchesEmpty Red +highlight! link DapUIWatchesValue Green +highlight! link DapUIWatchesError Red +highlight! link DapUIBreakpointsPath Blue +highlight! link DapUIBreakpointsInfo Green +" }}} +" glepnir/lspsaga.nvim {{{ +call everforest#highlight('LspFloatWinBorder', s:palette.bg0, s:palette.bg0) +call everforest#highlight('LspSagaDiagnosticHeader', s:palette.orange, s:palette.none, 'bold') +call everforest#highlight('LspSagaCodeActionTitle', s:palette.purple, s:palette.none, 'bold') +call everforest#highlight('DefinitionPreviewTitle', s:palette.blue, s:palette.none, 'bold') +highlight! link LspSagaDiagnosticError Red +highlight! link LspSagaDiagnosticWarn Yellow +highlight! link LspSagaDiagnosticInfo Blue +highlight! link LspSagaDiagnosticHint Green +highlight! link LspSagaErrorTrunCateLine LspSagaDiagnosticError +highlight! link LspSagaWarnTrunCateLine LspSagaDiagnosticWarn +highlight! link LspSagaInfoTrunCateLine LspSagaDiagnosticInfo +highlight! link LspSagaHintTrunCateLine LspSagaDiagnosticHint +highlight! link LspSagaDiagnosticSource Orange +highlight! link LspSagaDiagnosticBorder Orange +highlight! link LspSagaRenameBorder Purple +highlight! link LspSagaRenamePromptPrefix Blue +highlight! link LspSagaCodeActionBorder Purple +highlight! link LspSagaCodeActionTruncateLine Purple +highlight! link LspSagaCodeActionContent Green +highlight! link LspSagaHoverBorder Green +highlight! link LspSagaDocTruncateLine Green +highlight! link LspSagaSignatureHelpBorder Green +highlight! link LspSagaShTruncateLine Green +highlight! link LspSagaDefPreviewBorder Blue +highlight! link DefinitionIcon Blue +highlight! link LspLinesDiagBorder Yellow +highlight! link LineDiagTuncateLine Yellow +highlight! link LspSagaAutoPreview Green +highlight! link LspSagaFinderSelection Fg +highlight! link DiagnosticWarning DiagnosticWarn +highlight! link DiagnosticInformation DiagnosticInfo +highlight! link ReferencesCount Grey +highlight! link DefinitionCount Grey +highlight! link TargetFileName Grey +" }}} +" b0o/incline.nvim {{{ +call everforest#highlight('InclineNormalNC', s:palette.grey1, s:palette.bg2) +" }}} +" echasnovski/mini.nvim {{{ +call everforest#highlight('MiniAnimateCursor', s:palette.none, s:palette.none, 'reverse,nocombine') +call everforest#highlight('MiniFilesFile', s:palette.fg, s:palette.none) +if s:configuration.float_style ==# 'dim' + call everforest#highlight('MiniFilesTitleFocused', s:palette.green, s:palette.bg_dim, 'bold') +else + call everforest#highlight('MiniFilesTitleFocused', s:palette.green, s:palette.bg2, 'bold') +endif +call everforest#highlight('MiniHipatternsFixme', s:palette.bg0, s:palette.red, 'bold') +call everforest#highlight('MiniHipatternsHack', s:palette.bg0, s:palette.yellow, 'bold') +call everforest#highlight('MiniHipatternsNote', s:palette.bg0, s:palette.blue, 'bold') +call everforest#highlight('MiniHipatternsTodo', s:palette.bg0, s:palette.green, 'bold') +call everforest#highlight('MiniIconsAzure', s:palette.blue, s:palette.none) +call everforest#highlight('MiniIconsBlue', s:palette.blue, s:palette.none) +call everforest#highlight('MiniIconsCyan', s:palette.aqua, s:palette.none) +call everforest#highlight('MiniIconsGreen', s:palette.green, s:palette.none) +call everforest#highlight('MiniIconsGrey', s:palette.grey2, s:palette.none) +call everforest#highlight('MiniIconsOrange', s:palette.orange, s:palette.none) +call everforest#highlight('MiniIconsPurple', s:palette.purple, s:palette.none) +call everforest#highlight('MiniIconsRed', s:palette.red, s:palette.none) +call everforest#highlight('MiniIconsYellow', s:palette.yellow, s:palette.none) +call everforest#highlight('MiniIndentscopePrefix', s:palette.none, s:palette.none, 'nocombine') +call everforest#highlight('MiniJump2dSpot', s:palette.orange, s:palette.none, 'bold,nocombine') +call everforest#highlight('MiniJump2dSpotAhead', s:palette.aqua, s:palette.none, 'nocombine') +call everforest#highlight('MiniJump2dSpotUnique', s:palette.yellow, s:palette.none, 'bold,nocombine') +if s:configuration.float_style ==# 'dim' + call everforest#highlight('MiniPickPrompt', s:palette.blue, s:palette.bg_dim) +else + call everforest#highlight('MiniPickPrompt', s:palette.blue, s:palette.bg2) +endif +call everforest#highlight('MiniStarterCurrent', s:palette.none, s:palette.none, 'nocombine') +call everforest#highlight('MiniStatuslineDevinfo', s:palette.grey2, s:palette.bg3) +call everforest#highlight('MiniStatuslineFilename', s:palette.grey1, s:palette.bg1) +call everforest#highlight('MiniStatuslineModeCommand', s:palette.bg0, s:palette.aqua, 'bold') +call everforest#highlight('MiniStatuslineModeInsert', s:palette.bg0, s:palette.statusline2, 'bold') +call everforest#highlight('MiniStatuslineModeNormal', s:palette.bg0, s:palette.statusline1, 'bold') +call everforest#highlight('MiniStatuslineModeOther', s:palette.bg0, s:palette.purple, 'bold') +call everforest#highlight('MiniStatuslineModeReplace', s:palette.bg0, s:palette.orange, 'bold') +call everforest#highlight('MiniStatuslineModeVisual', s:palette.bg0, s:palette.statusline3, 'bold') +call everforest#highlight('MiniTablineCurrent', s:palette.fg, s:palette.bg4) +call everforest#highlight('MiniTablineHidden', s:palette.grey1, s:palette.bg2) +call everforest#highlight('MiniTablineModifiedCurrent', s:palette.blue, s:palette.bg4) +call everforest#highlight('MiniTablineModifiedHidden', s:palette.grey1, s:palette.bg2) +call everforest#highlight('MiniTablineModifiedVisible', s:palette.blue, s:palette.bg2) +call everforest#highlight('MiniTablineTabpagesection', s:palette.bg0, s:palette.statusline1, 'bold') +call everforest#highlight('MiniTablineVisible', s:palette.fg, s:palette.bg2) +call everforest#highlight('MiniTestEmphasis', s:palette.none, s:palette.none, 'bold') +call everforest#highlight('MiniTestFail', s:palette.red, s:palette.none, 'bold') +call everforest#highlight('MiniTestPass', s:palette.green, s:palette.none, 'bold') +call everforest#highlight('MiniTrailspace', s:palette.none, s:palette.red) +highlight! link MiniAnimateNormalFloat NormalFloat +highlight! link MiniClueBorder FloatBorder +highlight! link MiniClueDescGroup DiagnosticFloatingWarn +highlight! link MiniClueDescSingle NormalFloat +highlight! link MiniClueNextKey DiagnosticFloatingHint +highlight! link MiniClueNextKeyWithPostkeys DiagnosticFloatingError +highlight! link MiniClueSeparator DiagnosticFloatingInfo +highlight! link MiniClueTitle FloatTitle +highlight! link MiniCompletionActiveParameter LspSignatureActiveParameter +highlight! link MiniCursorword CurrentWord +highlight! link MiniCursorwordCurrent CurrentWord +highlight! link MiniDepsChangeAdded Added +highlight! link MiniDepsChangeRemoved Removed +highlight! link MiniDepsHint DiagnosticHint +highlight! link MiniDepsInfo DiagnosticInfo +highlight! link MiniDepsMsgBreaking DiagnosticWarn +highlight! link MiniDepsPlaceholder Comment +highlight! link MiniDepsTitle Title +highlight! link MiniDepsTitleError DiffDelete +highlight! link MiniDepsTitleSame DiffChange +highlight! link MiniDepsTitleUpdate DiffAdd +highlight! link MiniDiffOverAdd DiffAdd +highlight! link MiniDiffOverChange DiffText +highlight! link MiniDiffOverContext DiffChange +highlight! link MiniDiffOverDelete DiffDelete +highlight! link MiniDiffSignAdd GreenSign +highlight! link MiniDiffSignChange BlueSign +highlight! link MiniDiffSignDelete RedSign +highlight! link MiniFilesBorder FloatBorder +highlight! link MiniFilesBorderModified DiagnosticFloatingWarn +highlight! link MiniFilesCursorLine CursorLine +highlight! link MiniFilesDirectory Directory +highlight! link MiniFilesNormal NormalFloat +highlight! link MiniFilesTitle FloatTitle +highlight! link MiniIndentscopeSymbol Grey +highlight! link MiniJump Search +highlight! link MiniJump2dDim Comment +highlight! link MiniMapNormal NormalFloat +highlight! link MiniMapSymbolCount Special +highlight! link MiniMapSymbolLine Title +highlight! link MiniMapSymbolView Delimiter +highlight! link MiniNotifyBorder FloatBorder +highlight! link MiniNotifyNormal NormalFloat +highlight! link MiniNotifyTitle FloatTitle +highlight! link MiniOperatorsExchangeFrom IncSearch +highlight! link MiniPickBorder FloatBorder +highlight! link MiniPickBorderBusy DiagnosticFloatingWarn +highlight! link MiniPickBorderText FloatTitle +highlight! link MiniPickHeader DiagnosticFloatingHint +highlight! link MiniPickIconDirectory Directory +highlight! link MiniPickIconFile MiniPickNormal +highlight! link MiniPickMatchCurrent CursorLine +highlight! link MiniPickMatchMarked Visual +highlight! link MiniPickMatchRanges DiagnosticFloatingHint +highlight! link MiniPickNormal NormalFloat +highlight! link MiniPickPreviewLine CursorLine +highlight! link MiniPickPreviewRegion IncSearch +highlight! link MiniStarterFooter Orange +highlight! link MiniStarterHeader Yellow +highlight! link MiniStarterInactive Comment +highlight! link MiniStarterItem Normal +highlight! link MiniStarterItemBullet Grey +highlight! link MiniStarterItemPrefix Yellow +highlight! link MiniStarterQuery Blue +highlight! link MiniStarterSection Title +highlight! link MiniStatuslineFileinfo MiniStatuslineDevinfo +highlight! link MiniStatuslineInactive Grey +highlight! link MiniSurround IncSearch +highlight! link MiniTablineFill TabLineFill +" }}} +" ggandor/lightspeed.nvim {{{ +call everforest#highlight('LightspeedLabel', s:palette.red, s:palette.none, 'bold,underline') +call everforest#highlight('LightspeedLabelDistant', s:palette.blue, s:palette.none, 'bold,underline') +call everforest#highlight('LightspeedShortcut', s:palette.bg0, s:palette.red, 'bold') +call everforest#highlight('LightspeedUnlabeledMatch', s:palette.fg, s:palette.none, 'bold') +call everforest#highlight('LightspeedPendingOpArea', s:palette.bg0, s:palette.green) +highlight! link LightspeedMaskedChar Purple +highlight! link LightspeedGreyWash Grey +" }}} +" nvim-neotest/neotest {{{ +highlight! link NeotestPassed GreenSign +highlight! link NeotestFailed RedSign +highlight! link NeotestRunning YellowSign +highlight! link NeotestSkipped BlueSign +" }}} +endif +" }}} +" Extended File Types: {{{ +" Whitelist: {{{ File type optimizations that will always be loaded. +" diff {{{ +highlight! link diffAdded Added +highlight! link diffRemoved Removed +highlight! link diffChanged Changed +highlight! link diffOldFile Yellow +highlight! link diffNewFile Orange +highlight! link diffFile Aqua +highlight! link diffLine Grey +highlight! link diffIndexLine Purple +" }}} +" }}} +" Generate the `after/syntax` directory based on the comment tags in this file. +" For example, the content between `syn_begin: sh/zsh` and `syn_end` will be placed in `after/syntax/sh/everforest.vim` and `after/syntax/zsh/everforest.vim`. +if everforest#syn_exists(s:path) " If the syntax files exist. + if s:configuration.better_performance + if !everforest#syn_newest(s:path, s:last_modified) " Regenerate if it's not up to date. + call everforest#syn_clean(s:path, 0) + call everforest#syn_gen(s:path, s:last_modified, 'update') + endif + finish + else + call everforest#syn_clean(s:path, 1) + endif +else + if s:configuration.better_performance + call everforest#syn_gen(s:path, s:last_modified, 'generate') + finish + endif +endif +" syn_begin: vim-plug {{{ +" https://github.com/junegunn/vim-plug +call everforest#highlight('plug1', s:palette.orange, s:palette.none, 'bold') +call everforest#highlight('plugNumber', s:palette.yellow, s:palette.none, 'bold') +highlight! link plug2 Green +highlight! link plugBracket Grey +highlight! link plugName Aqua +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 +" syn_end }}} +" syn_begin: packer {{{ +" https://github.com/wbthomason/packer.nvim +highlight! link packerSuccess Aqua +highlight! link packerFail Red +highlight! link packerStatusSuccess Fg +highlight! link packerStatusFail Fg +highlight! link packerWorking Yellow +highlight! link packerString Yellow +highlight! link packerPackageNotLoaded Grey +highlight! link packerRelDate Grey +highlight! link packerPackageName Green +highlight! link packerOutput Orange +highlight! link packerHash Green +highlight! link packerTimeTrivial Blue +highlight! link packerTimeHigh Red +highlight! link packerTimeMedium Yellow +highlight! link packerTimeLow Green +" syn_end }}} +" syn_begin: coctree {{{ +" https://github.com/neoclide/coc.nvim +highlight! link CocTreeOpenClose Aqua +highlight! link CocTreeDescription Grey +for kind in g:everforest_lsp_kind_color + execute "highlight! link CocSymbol" . kind[0] . " " . kind[1] +endfor +" syn_end }}} +" syn_begin: coc-explorer {{{ +" https://github.com/weirongxu/coc-explorer +highlight! link CocExplorerBufferRoot Orange +highlight! link CocExplorerBufferExpandIcon Aqua +highlight! link CocExplorerBufferBufnr Purple +highlight! link CocExplorerBufferModified Yellow +highlight! link CocExplorerBufferReadonly Red +highlight! link CocExplorerBufferBufname Grey +highlight! link CocExplorerBufferFullpath Grey +highlight! link CocExplorerFileRoot Orange +highlight! link CocExplorerFileRootName Green +highlight! link CocExplorerFileExpandIcon Aqua +highlight! link CocExplorerFileFullpath Grey +highlight! link CocExplorerFileDirectory Green +highlight! link CocExplorerFileGitStaged Purple +highlight! link CocExplorerFileGitUnstaged Yellow +highlight! link CocExplorerFileGitRootStaged Purple +highlight! link CocExplorerFileGitRootUnstaged Yellow +highlight! link CocExplorerGitPathChange Fg +highlight! link CocExplorerGitContentChange Fg +highlight! link CocExplorerGitRenamed Purple +highlight! link CocExplorerGitCopied Fg +highlight! link CocExplorerGitAdded Green +highlight! link CocExplorerGitUntracked Blue +highlight! link CocExplorerGitUnmodified Fg +highlight! link CocExplorerGitUnmerged Orange +highlight! link CocExplorerGitMixed Aqua +highlight! link CocExplorerGitModified Yellow +highlight! link CocExplorerGitDeleted Red +highlight! link CocExplorerGitIgnored Grey +highlight! link CocExplorerFileSize Blue +highlight! link CocExplorerTimeAccessed Aqua +highlight! link CocExplorerTimeCreated Aqua +highlight! link CocExplorerTimeModified Aqua +highlight! link CocExplorerIndentLine Conceal +highlight! link CocExplorerHelpDescription Grey +highlight! link CocExplorerHelpHint Grey +highlight! link CocExplorerDiagnosticError Red +highlight! link CocExplorerDiagnosticWarning Yellow +highlight! link CocExplorerFileHidden Grey +" syn_end }}} +" syn_begin: tagbar {{{ +" https://github.com/majutsushi/tagbar +highlight! link TagbarFoldIcon Green +highlight! link TagbarSignature Green +highlight! link TagbarKind Red +highlight! link TagbarScope Orange +highlight! link TagbarNestedKind Aqua +highlight! link TagbarVisibilityPrivate Red +highlight! link TagbarVisibilityPublic Blue +" syn_end }}} +" syn_begin: vista/vista_kind/vista_markdown {{{ +" https://github.com/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 VistaIcon Orange +highlight! link VistaScopeKind Yellow +highlight! link VistaColon Grey +highlight! link VistaLineNr Grey +highlight! link VistaHeadNr Fg +highlight! link VistaPublic Green +highlight! link VistaProtected Yellow +highlight! link VistaPrivate Red +" syn_end }}} +" syn_begin: Outline {{{ +" https://github.com/simrat39/symbols-outline.nvim +highlight! link FocusedSymbol NormalFloat +" syn_end }}} +" syn_begin: aerial {{{ +" https://github.com/stevearc/aerial.nvim +highlight! link AerialLine CursorLine +highlight! link AerialGuide LineNr +for kind in g:everforest_lsp_kind_color + execute "highlight! link Aerial" . kind[0] . "Icon " . kind[1] +endfor +" syn_end }}} +" syn_begin: nerdtree {{{ +" https://github.com/preservim/nerdtree +highlight! link NERDTreeDir Green +highlight! link NERDTreeDirSlash Aqua +highlight! link NERDTreeOpenable Orange +highlight! link NERDTreeClosable Orange +highlight! link NERDTreeFile Fg +highlight! link NERDTreeExecFile Yellow +highlight! link NERDTreeUp Grey +highlight! link NERDTreeCWD Aqua +highlight! link NERDTreeHelp LightGrey +highlight! link NERDTreeToggleOn Green +highlight! link NERDTreeToggleOff Red +highlight! link NERDTreeFlags Orange +highlight! link NERDTreeLinkFile Grey +highlight! link NERDTreeLinkTarget Green +" syn_end }}} +" syn_begin: dirvish {{{ +" https://github.com/justinmk/vim-dirvish +highlight! link DirvishPathTail Aqua +highlight! link DirvishArg Yellow +" syn_end }}} +" syn_begin: NvimTree {{{ +" https://github.com/kyazdani42/nvim-tree.lua +if !s:configuration.transparent_background + call everforest#highlight('NvimTreeNormal', s:palette.fg, s:palette.bg_dim) + call everforest#highlight('NvimTreeEndOfBuffer', s:palette.bg_dim, s:palette.bg_dim) + call everforest#highlight('NvimTreeVertSplit', s:palette.bg0, s:palette.bg0) + call everforest#highlight('NvimTreeCursorLine', s:palette.none, s:palette.bg0) +endif +highlight! link NvimTreeSymlink Fg +highlight! link NvimTreeFolderName Green +highlight! link NvimTreeRootFolder Grey +highlight! link NvimTreeFolderIcon Orange +highlight! link NvimTreeEmptyFolderName Green +highlight! link NvimTreeOpenedFolderName Green +highlight! link NvimTreeExecFile Fg +highlight! link NvimTreeOpenedFile Fg +highlight! link NvimTreeSpecialFile Fg +highlight! link NvimTreeImageFile Fg +highlight! link NvimTreeMarkdownFile Fg +highlight! link NvimTreeIndentMarker Grey +highlight! link NvimTreeGitDirty Yellow +highlight! link NvimTreeGitStaged Blue +highlight! link NvimTreeGitMerge Orange +highlight! link NvimTreeGitRenamed Purple +highlight! link NvimTreeGitNew Aqua +highlight! link NvimTreeGitDeleted Red +highlight! link NvimTreeLspDiagnosticsError RedSign +highlight! link NvimTreeLspDiagnosticsWarning YellowSign +highlight! link NvimTreeLspDiagnosticsInformation BlueSign +highlight! link NvimTreeLspDiagnosticsHint GreenSign +" syn_end }}} +" syn_begin: fern {{{ +" https://github.com/lambdalisue/fern.vim +highlight! link FernMarkedLine Purple +highlight! link FernMarkedText Purple +highlight! link FernRootSymbol FernRootText +highlight! link FernRootText Orange +highlight! link FernLeafSymbol FernLeafText +highlight! link FernLeafText Fg +highlight! link FernBranchSymbol FernBranchText +highlight! link FernBranchText Green +highlight! link FernWindowSelectIndicator TabLineSel +highlight! link FernWindowSelectStatusLine TabLine +" syn_end }}} +" syn_begin: neo-tree {{{ +" https://github.com/nvim-neo-tree/neo-tree.nvim +if !s:configuration.transparent_background + call everforest#highlight('NeoTreeNormal', s:palette.fg, s:palette.bg_dim) + call everforest#highlight('NeoTreeEndOfBuffer', s:palette.bg_dim, s:palette.bg_dim) + call everforest#highlight('NeoTreeVertSplit', s:palette.bg0, s:palette.bg0) +endif +highlight! link NeoTreeDirectoryIcon Orange +highlight! link NeoTreeGitAdded Green +highlight! link NeoTreeGitConflict Yellow +highlight! link NeoTreeGitDeleted Red +highlight! link NeoTreeGitIgnored Grey +highlight! link NeoTreeGitModified Blue +highlight! link NeoTreeGitUnstaged Purple +highlight! link NeoTreeGitUntracked Fg +highlight! link NeoTreeGitStaged Purple +highlight! link NeoTreeDimText Grey +highlight! link NeoTreeIndentMarker NonText +highlight! link NeoTreeNormalNC NeoTreeNormal +highlight! link NeoTreeSignColumn NeoTreeNormal +highlight! link NeoTreeRootName Title +if &background ==# 'light' + call everforest#highlight('NeoTreeCursorLine', s:palette.none, s:palette.bg0) +endif +" syn_end }}} +" syn_begin: octo {{{ +" https://github.com/pwntester/octo.nvim +call everforest#highlight('OctoViewer', s:palette.bg0, s:palette.blue) +call everforest#highlight('OctoGreenFloat', s:palette.green, s:palette.bg2) +call everforest#highlight('OctoRedFloat', s:palette.red, s:palette.bg2) +call everforest#highlight('OctoPurpleFloat', s:palette.purple, s:palette.bg2) +call everforest#highlight('OctoYellowFloat', s:palette.yellow, s:palette.bg2) +call everforest#highlight('OctoBlueFloat', s:palette.blue, s:palette.bg2) +call everforest#highlight('OctoGreyFloat', s:palette.grey1, s:palette.bg2) +call everforest#highlight('OctoBubbleGreen', s:palette.bg0, s:palette.green) +call everforest#highlight('OctoBubbleRed', s:palette.bg0, s:palette.red) +call everforest#highlight('OctoBubblePurple', s:palette.bg0, s:palette.purple) +call everforest#highlight('OctoBubbleYellow', s:palette.bg0, s:palette.yellow) +call everforest#highlight('OctoBubbleBlue', s:palette.bg0, s:palette.blue) +call everforest#highlight('OctoBubbleGrey', s:palette.bg0, s:palette.grey1) +highlight! link OctoGreen Green +highlight! link OctoRed Red +highlight! link OctoPurple Purple +highlight! link OctoYellow Yellow +highlight! link OctoBlue Blue +highlight! link OctoGrey Grey +highlight! link OctoBubbleDelimiterGreen Green +highlight! link OctoBubbleDelimiterRed Red +highlight! link OctoBubbleDelimiterPurple Purple +highlight! link OctoBubbleDelimiterYellow Yellow +highlight! link OctoBubbleDelimiterBlue Blue +highlight! link OctoBubbleDelimiterGrey Grey +" syn_end }}} +" syn_begin: 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 Aqua +highlight! link netrwHelpCmd Blue +highlight! link netrwCmdSep Grey +highlight! link netrwVersion Orange +" syn_end }}} +" syn_begin: startify/quickmenu {{{ +" https://github.com/mhinz/vim-startify +" https://github.com/skywind3000/quickmenu.vim +highlight! link StartifyBracket Grey +highlight! link StartifyFile Fg +highlight! link StartifyNumber Orange +highlight! link StartifyPath Green +highlight! link StartifySlash Green +highlight! link StartifySection Yellow +highlight! link StartifyHeader Aqua +highlight! link StartifySpecial Grey +highlight! link StartifyFooter Grey +" syn_end }}} +" syn_begin: quickmenu {{{ +" https://github.com/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 +" syn_end }}} +" syn_begin: undotree {{{ +" https://github.com/mbbill/undotree +call everforest#highlight('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 Aqua +highlight! link UndotreeSavedSmall Purple +" syn_end }}} +" syn_begin: NeogitStatus/NeogitCommitView {{{ +" https://github.com/TimUntersberger/neogit +highlight! link NeogitNotificationInfo Blue +highlight! link NeogitNotificationWarning Yellow +highlight! link NeogitNotificationError Red +highlight! link NeogitDiffAdd Green +highlight! link NeogitDiffDelete Red +highlight! link NeogitDiffContextHighlight CursorLine +highlight! link NeogitHunkHeaderHighlight TabLine +highlight! link NeogitHunkHeader TabLineFill +highlight! link NeogitCommandCodeNormal Green +highlight! link NeogitCommandCodeError Red +highlight! link NeogitCommitViewHeader diffIndexLine +highlight! link NeogitFilePath diffFile +" syn_end }}} +" syn_begin: dashboard {{{ +" https://github.com/glepnir/dashboard-nvim +highlight! link DashboardHeader Yellow +highlight! link DashboardCenter Green +highlight! link DashboardShortcut Red +highlight! link DashboardFooter Orange +" syn_end }}} +" syn_begin: markdown {{{ +" builtin: {{{ +call everforest#highlight('markdownH1', s:palette.red, s:palette.none, 'bold') +call everforest#highlight('markdownH2', s:palette.orange, s:palette.none, 'bold') +call everforest#highlight('markdownH3', s:palette.yellow, s:palette.none, 'bold') +call everforest#highlight('markdownH4', s:palette.green, s:palette.none, 'bold') +call everforest#highlight('markdownH5', s:palette.blue, s:palette.none, 'bold') +call everforest#highlight('markdownH6', s:palette.purple, s:palette.none, 'bold') +call everforest#highlight('markdownItalic', s:palette.none, s:palette.none, 'italic') +call everforest#highlight('markdownBold', s:palette.none, s:palette.none, 'bold') +call everforest#highlight('markdownItalicDelimiter', s:palette.grey1, s:palette.none, 'italic') +highlight! link markdownUrl TSURI +highlight! link markdownCode Green +highlight! link markdownCodeBlock Aqua +highlight! link markdownCodeDelimiter Aqua +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 everforest#highlight('mkdURL', s:palette.blue, s:palette.none, 'underline') +call everforest#highlight('mkdInlineURL', s:palette.purple, s:palette.none, 'underline') +call everforest#highlight('mkdItalic', s:palette.grey1, s:palette.none, 'italic') +highlight! link mkdCodeDelimiter Aqua +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 +" }}} +" nvim-treesitter/nvim-treesitter {{{ +if has('nvim-0.8') + highlight! link @markup.heading.1.markdown markdownH1 + highlight! link @markup.heading.2.markdown markdownH2 + highlight! link @markup.heading.3.markdown markdownH3 + highlight! link @markup.heading.4.markdown markdownH4 + highlight! link @markup.heading.5.markdown markdownH5 + highlight! link @markup.heading.6.markdown markdownH6 + highlight! link @markup.heading.1.marker.markdown @conceal + highlight! link @markup.heading.2.marker.markdown @conceal + highlight! link @markup.heading.3.marker.markdown @conceal + highlight! link @markup.heading.4.marker.markdown @conceal + highlight! link @markup.heading.5.marker.markdown @conceal + highlight! link @markup.heading.6.marker.markdown @conceal + if !has('nvim-0.10') + call everforest#highlight('@markup.italic', s:palette.none, s:palette.none, 'italic') + call everforest#highlight('@markup.strikethrough', s:palette.none, s:palette.none, 'strikethrough') + endif +endif +" }}} +" syn_end }}} +" syn_begin: vimwiki {{{ +call everforest#highlight('VimwikiHeader1', s:palette.red, s:palette.none, 'bold') +call everforest#highlight('VimwikiHeader2', s:palette.orange, s:palette.none, 'bold') +call everforest#highlight('VimwikiHeader3', s:palette.yellow, s:palette.none, 'bold') +call everforest#highlight('VimwikiHeader4', s:palette.green, s:palette.none, 'bold') +call everforest#highlight('VimwikiHeader5', s:palette.blue, s:palette.none, 'bold') +call everforest#highlight('VimwikiHeader6', s:palette.purple, s:palette.none, 'bold') +call everforest#highlight('VimwikiLink', s:palette.blue, s:palette.none, 'underline') +call everforest#highlight('VimwikiItalic', s:palette.none, s:palette.none, 'italic') +call everforest#highlight('VimwikiBold', s:palette.none, s:palette.none, 'bold') +call everforest#highlight('VimwikiUnderline', s:palette.none, s:palette.none, 'underline') +highlight! link VimwikiList Red +highlight! link VimwikiTag Aqua +highlight! link VimwikiCode Green +highlight! link VimwikiHR Yellow +highlight! link VimwikiHeaderChar Grey +highlight! link VimwikiMarkers Grey +highlight! link VimwikiPre Green +highlight! link VimwikiPreDelim Green +highlight! link VimwikiNoExistsLink Red +" syn_end }}} +" syn_begin: rst {{{ +" builtin: https://github.com/marshallward/vim-restructuredtext {{{ +call everforest#highlight('rstStandaloneHyperlink', s:palette.purple, s:palette.none, 'underline') +highlight! link rstSubstitutionReference Blue +highlight! link rstInterpretedTextOrHyperlinkReference Aqua +highlight! link rstTableLines Grey +" }}} +" syn_end }}} +" syn_begin: tex {{{ +" 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 +" }}} +" vimtex: https://github.com/lervag/vimtex {{{ +highlight! link texCmd Green +highlight! link texCmdClass Purple +highlight! link texCmdTitle Purple +highlight! link texCmdAuthor Purple +highlight! link texCmdPart Purple +highlight! link texCmdBib Purple +highlight! link texCmdPackage Yellow +highlight! link texCmdNew Yellow +highlight! link texArgNew Orange +highlight! link texPartArgTitle BlueItalic +highlight! link texFileArg BlueItalic +highlight! link texEnvArgName BlueItalic +highlight! link texMathEnvArgName BlueItalic +highlight! link texTitleArg BlueItalic +highlight! link texAuthorArg BlueItalic +" }}} +" syn_end }}} +" syn_begin: html/markdown/javascriptreact/typescriptreact {{{ +" builtin: https://notabug.org/jorgesumle/vim-html-syntax {{{ +call everforest#highlight('htmlH1', s:palette.red, s:palette.none, 'bold') +call everforest#highlight('htmlH2', s:palette.orange, s:palette.none, 'bold') +call everforest#highlight('htmlH3', s:palette.yellow, s:palette.none, 'bold') +call everforest#highlight('htmlH4', s:palette.green, s:palette.none, 'bold') +call everforest#highlight('htmlH5', s:palette.blue, s:palette.none, 'bold') +call everforest#highlight('htmlH6', s:palette.purple, s:palette.none, 'bold') +call everforest#highlight('htmlLink', s:palette.none, s:palette.none, 'underline') +call everforest#highlight('htmlBold', s:palette.none, s:palette.none, 'bold') +call everforest#highlight('htmlBoldUnderline', s:palette.none, s:palette.none, 'bold,underline') +call everforest#highlight('htmlBoldItalic', s:palette.none, s:palette.none, 'bold,italic') +call everforest#highlight('htmlBoldUnderlineItalic', s:palette.none, s:palette.none, 'bold,underline,italic') +call everforest#highlight('htmlUnderline', s:palette.none, s:palette.none, 'underline') +call everforest#highlight('htmlUnderlineItalic', s:palette.none, s:palette.none, 'underline,italic') +call everforest#highlight('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 Aqua +highlight! link htmlScriptTag Purple +highlight! link htmlSpecialTagName RedItalic +" }}} +" nvim-treesitter/nvim-treesitter {{{ +highlight! link htmlTSText TSNone +if has('nvim-0.8') + highlight! link @text.html htmlTSText +endif +" }}} +" syn_end }}} +" syn_begin: 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 Aqua +highlight! link xmlEntity Red +highlight! link xmlEntityPunct Red +highlight! link xmlDocTypeDecl Grey +highlight! link xmlDocTypeKeyword PurpleItalic +highlight! link xmlCdataStart Grey +highlight! link xmlCdataCdata Purple +" }}} +" syn_end }}} +" syn_begin: css/scss/sass/less {{{ +" 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 Aqua +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 Aqua +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 +" }}} +" syn_end }}} +" syn_begin: scss {{{ +" 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 +" }}} +" syn_end }}} +" syn_begin: sass {{{ +" builtin: {{{ +highlight! link sassProperty Aqua +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 +" }}} +" syn_end }}} +" syn_begin: 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 +" }}} +" syn_end }}} +" syn_begin: javascript/javascriptreact {{{ +" builtin: http://www.fleiner.com/vim/syntax/javascript.vim {{{ +highlight! link javaScriptNull Aqua +highlight! link javaScriptNumber Number +highlight! link javaScriptIdentifier Orange +highlight! link javaScriptGlobal Purple +highlight! link javaScriptMessage Yellow +highlight! link javaScriptFunction Keyword +highlight! link javaScriptOperator Orange +highlight! link javaScriptMember Aqua +" }}} +" vim-javascript: https://github.com/pangloss/vim-javascript {{{ +highlight! link jsString Aqua +highlight! link jsTemplateString jsString +highlight! link jsThis Purple +highlight! link jsUndefined Aqua +highlight! link jsNull Aqua +highlight! link jsNan Aqua +highlight! link jsSuper Purple +highlight! link jsPrototype Purple +highlight! link jsFunction Keyword +highlight! link jsGlobalNodeObjects Include +highlight! link jsGlobalObjects Yellow +highlight! link jsArrowFunction Purple +highlight! link jsArrowFuncArgs Blue +highlight! link jsFuncArgs Identifier +highlight! link jsBlockLabel Aqua +highlight! link jsClassDefinition Type +highlight! link jsClassStringKey Aqua +highlight! link jsDot Grey +highlight! link jsObjectColon Grey +highlight! link jsDestructuringBlock Blue +highlight! link jsModuleKeyword Yellow +highlight! link jsTemplateExpression Yellow +highlight! link jsTemplateBraces Yellow +highlight! link jsClassMethodType Orange +" }}} +" nvim-treesitter/nvim-treesitter {{{ +highlight! link javascriptTSInclude Purple +if has('nvim-0.8') + highlight! link @include.javascript javascriptTSInclude + highlight! link @keyword.import.javascript javascriptTSInclude +endif +if has('nvim-0.9') + highlight! link @lsp.typemod.variable.defaultLibrary.javascript TSConstBuiltin + highlight! link @lsp.typemod.variable.defaultLibrary.javascriptreact TSConstBuiltin +endif +" }}} +" yajs: https://github.com/othree/yajs.vim {{{ +highlight! link javascriptEndColons Fg +highlight! link javascriptOpSymbol Orange +highlight! link javascriptOpSymbols Orange +highlight! link javascriptVariable Orange +highlight! link javascriptObjectLabel Fg +highlight! link javascriptObjectLabelColon Grey +highlight! link javascriptPropertyNameString Aqua +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 Aqua +highlight! link javascriptBOMWindowProp Aqua +highlight! link javascriptDOMStorageProp Aqua +highlight! link javascriptFileReaderProp Aqua +highlight! link javascriptURLUtilsProp Aqua +highlight! link javascriptNumberStaticProp Aqua +highlight! link javascriptDOMNodeProp Aqua +highlight! link javascriptRequestProp Aqua +highlight! link javascriptResponseProp Aqua +highlight! link javascriptES6SetProp Aqua +highlight! link javascriptPaymentProp Aqua +highlight! link javascriptPaymentResponseProp Aqua +highlight! link javascriptPaymentAddressProp Aqua +highlight! link javascriptPaymentShippingOptionProp Aqua +highlight! link javascriptTypedArrayStaticProp Aqua +highlight! link javascriptServiceWorkerProp Aqua +highlight! link javascriptES6MapProp Aqua +highlight! link javascriptRegExpStaticProp Aqua +highlight! link javascriptRegExpProp Aqua +highlight! link javascriptXHRProp Aqua +highlight! link javascriptBOMNavigatorProp Green +highlight! link javascriptDOMEventProp Aqua +highlight! link javascriptBOMNetworkProp Aqua +highlight! link javascriptDOMDocProp Aqua +highlight! link javascriptSymbolStaticProp Aqua +highlight! link javascriptSymbolProp Aqua +highlight! link javascriptBOMLocationProp Aqua +highlight! link javascriptEncodingProp Aqua +highlight! link javascriptCryptoProp Aqua +highlight! link javascriptBOMHistoryProp Aqua +highlight! link javascriptDOMFormProp Aqua +highlight! link javascriptDataViewProp Aqua +highlight! link javascriptBroadcastProp Aqua +highlight! link javascriptMathStaticProp Aqua +" }}} +" 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 Aqua +" }}} +" syn_end }}} +" syn_begin: typescript/typescriptreact {{{ +" vim-typescript: https://github.com/leafgarland/typescript-vim {{{ +highlight! link typescriptSource PurpleItalic +highlight! link typescriptMessage Yellow +highlight! link typescriptGlobalObjects Aqua +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 Aqua +highlight! link typescriptProp Aqua +highlight! link typescriptCall Blue +highlight! link typescriptInterfaceName Yellow +highlight! link typescriptEndColons Fg +highlight! link typescriptMember Aqua +highlight! link typescriptMemberOptionality Orange +highlight! link typescriptObjectLabel Aqua +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 Aqua +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 Aqua +highlight! link typescriptDOMStorageProp Aqua +highlight! link typescriptFileReaderProp Aqua +highlight! link typescriptURLUtilsProp Aqua +highlight! link typescriptNumberStaticProp Aqua +highlight! link typescriptDOMNodeProp Aqua +highlight! link typescriptBOMWindowProp Aqua +highlight! link typescriptRequestProp Aqua +highlight! link typescriptResponseProp Aqua +highlight! link typescriptPaymentProp Aqua +highlight! link typescriptPaymentResponseProp Aqua +highlight! link typescriptPaymentAddressProp Aqua +highlight! link typescriptPaymentShippingOptionProp Aqua +highlight! link typescriptES6SetProp Aqua +highlight! link typescriptServiceWorkerProp Aqua +highlight! link typescriptES6MapProp Aqua +highlight! link typescriptRegExpStaticProp Aqua +highlight! link typescriptRegExpProp Aqua +highlight! link typescriptBOMNavigatorProp Green +highlight! link typescriptXHRProp Aqua +highlight! link typescriptDOMEventProp Aqua +highlight! link typescriptDOMDocProp Aqua +highlight! link typescriptBOMNetworkProp Aqua +highlight! link typescriptSymbolStaticProp Aqua +highlight! link typescriptEncodingProp Aqua +highlight! link typescriptBOMLocationProp Aqua +highlight! link typescriptCryptoProp Aqua +highlight! link typescriptDOMFormProp Aqua +highlight! link typescriptBOMHistoryProp Aqua +highlight! link typescriptMathStaticProp Aqua +" }}} +" nvim-treesitter/nvim-treesitter {{{ +highlight! link typescriptTSInclude Purple +highlight! link tsxTSConstructor TSType +if has('nvim-0.8') + highlight! link @include.typescript typescriptTSInclude + highlight! link @keyword.import.typescript typescriptTSInclude + highlight! link @keyword.import.tsx typescriptTSInclude + highlight! link @constructor.tsx tsxTSConstructor + highlight! link @punctuation.special.typescript TSOperator + highlight! link @punctuation.special.tsx TSOperator +endif +if has('nvim-0.9') + highlight! link @lsp.typemod.variable.defaultLibrary.typescript TSConstBuiltin + highlight! link @lsp.typemod.variable.defaultLibrary.typescriptreact TSConstBuiltin +endif +" }}} +" syn_end }}} +" syn_begin: dart {{{ +" dart-lang: https://github.com/dart-lang/dart-vim-plugin {{{ +highlight! link dartCoreClasses Aqua +highlight! link dartTypeName Aqua +highlight! link dartInterpolation Blue +highlight! link dartTypeDef RedItalic +highlight! link dartClassDecl RedItalic +highlight! link dartLibrary PurpleItalic +highlight! link dartMetadata Blue +" }}} +" syn_end }}} +" syn_begin: coffee {{{ +" 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 Aqua +" }}} +" syn_end }}} +" syn_begin: purescript {{{ +" purescript-vim: https://github.com/purescript-contrib/purescript-vim {{{ +highlight! link purescriptModuleKeyword PurpleItalic +highlight! link purescriptModule Aqua +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 Aqua +" }}} +" syn_end }}} +" syn_begin: c/cpp/objc/objcpp {{{ +" 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 Aqua +highlight! link cppSTLiterator PurpleItalic +highlight! link cppSTLexception Purple +" }}} +" vim-cpp-modern: https://github.com/bfrg/vim-cpp-modern {{{ +highlight! link cppSTLVariable Aqua +" }}} +" chromatica: https://github.com/arakashic/chromatica.nvim {{{ +highlight! link Member TSVariable +highlight! link Variable TSVariable +highlight! link Namespace TSNamespace +highlight! link EnumConstant TSNumber +highlight! link chromaticaException TSException +highlight! link chromaticaCast TSLabel +highlight! link OperatorOverload TSOperator +highlight! link AccessQual TSOperator +highlight! link Linkage TSOperator +highlight! link AutoType TSType +" }}} +" vim-lsp-cxx-highlight https://github.com/jackguo380/vim-lsp-cxx-highlight {{{ +highlight! link LspCxxHlSkippedRegion Grey +highlight! link LspCxxHlSkippedRegionBeginEnd TSKeyword +highlight! link LspCxxHlGroupEnumConstant BlueItalic +highlight! link LspCxxHlGroupNamespace TSNamespace +highlight! link LspCxxHlGroupMemberVariable TSVariable +" }}} +" syn_end }}} +" syn_begin: objc {{{ +" builtin: {{{ +highlight! link objcModuleImport PurpleItalic +highlight! link objcException RedItalic +highlight! link objcProtocolList Aqua +highlight! link objcObjDef PurpleItalic +highlight! link objcDirective RedItalic +highlight! link objcPropertyAttribute Orange +highlight! link objcHiddenArgument Aqua +" }}} +" syn_end }}} +" syn_begin: cs {{{ +" builtin: https://github.com/nickspoons/vim-cs {{{ +highlight! link csUnspecifiedStatement PurpleItalic +highlight! link csStorage RedItalic +highlight! link csClass RedItalic +highlight! link csNewType Aqua +highlight! link csContextualStatement PurpleItalic +highlight! link csInterpolationDelimiter Yellow +highlight! link csInterpolation Yellow +highlight! link csEndColon Fg +" }}} +" syn_end }}} +" syn_begin: 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 Aqua +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 Aqua +highlight! link pythonDot Grey +" }}} +" semshi: https://github.com/numirias/semshi {{{ +call everforest#highlight('semshiUnresolved', s:palette.yellow, s:palette.none, 'undercurl') +highlight! link semshiImported TSInclude +highlight! link semshiParameter TSParameter +highlight! link semshiParameterUnused Grey +highlight! link semshiSelf TSVariableBuiltin +highlight! link semshiGlobal TSType +highlight! link semshiBuiltin TSTypeBuiltin +highlight! link semshiAttribute TSAttribute +highlight! link semshiLocal TSKeyword +highlight! link semshiFree TSKeyword +highlight! link semshiSelected CurrentWord +highlight! link semshiErrorSign RedSign +highlight! link semshiErrorChar RedSign +" }}} +" syn_end }}} +" syn_begin: lua {{{ +" builtin: {{{ +highlight! link luaFunc Green +highlight! link luaFunction Aqua +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 +" }}} +" nvim-treesitter/nvim-treesitter {{{ +highlight! link luaTSConstructor luaBraces +if has('nvim-0.8') + highlight! link @constructor.lua luaTSConstructor +endif +if has('nvim-0.9') + call everforest#highlight('@lsp.type.variable.lua', s:palette.none, s:palette.none) +endif +" }}} +" syn_end }}} +" syn_begin: moon {{{ +" moonscript-vim: https://github.com/leafo/moonscript-vim {{{ +highlight! link moonInterpDelim Yellow +highlight! link moonInterp Blue +highlight! link moonFunction Green +highlight! link moonLuaFunc Aqua +highlight! link moonSpecialVar Purple +highlight! link moonObject Yellow +highlight! link moonDotAccess Grey +" }}} +" syn_end }}} +" syn_begin: 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 Aqua +highlight! link javaParen Fg +highlight! link javaParen1 Fg +highlight! link javaParen2 Fg +highlight! link javaParen3 Fg +highlight! link javaParen4 Fg +highlight! link javaParen5 Fg +" }}} +" syn_end }}} +" syn_begin: 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 Aqua +" }}} +" syn_end }}} +" syn_begin: scala {{{ +" builtin: https://github.com/derekwyatt/vim-scala {{{ +highlight! link scalaNameDefinition Aqua +highlight! link scalaInterpolationBoundary Yellow +highlight! link scalaInterpolation Blue +highlight! link scalaTypeOperator Orange +highlight! link scalaOperator Orange +highlight! link scalaKeywordModifier Orange +" }}} +" syn_end }}} +" syn_begin: go {{{ +" builtin: https://github.com/fatih/vim-go {{{ +highlight! link goPackage Define +highlight! link goImport Include +highlight! link goVar OrangeItalic +highlight! link goConst goVar +highlight! link goType Yellow +highlight! link goSignedInts goType +highlight! link goUnsignedInts goType +highlight! link goFloats goType +highlight! link goComplexes goType +highlight! link goVarDefs Aqua +highlight! link goDeclType OrangeItalic +highlight! link goFunctionCall Function +highlight! link goPredefinedIdentifiers Aqua +highlight! link goBuiltins Function +highlight! link goVarArgs Grey +" }}} +" nvim-treesitter/nvim-treesitter {{{ +highlight! link goTSInclude Purple +highlight! link goTSNamespace Fg +highlight! link goTSConstBuiltin AquaItalic +if has('nvim-0.8') + highlight! link @include.go goTSInclude + highlight! link @namespace.go goTSNamespace + highlight! link @module.go goTSNamespace + highlight! link @constant.builtin.go goTSConstBuiltin +endif +if has('nvim-0.9') + highlight! link @lsp.typemod.variable.defaultLibrary.go goTSConstBuiltin + highlight! link @lsp.type.namespace.go goTSNamespace +endif +" }}} +" syn_end }}} +" syn_begin: 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 Aqua +highlight! link rustPanic Aqua +highlight! link rustPubScopeCrate PurpleItalic +" }}} +" coc-rust-analyzer: https://github.com/fannheyward/coc-rust-analyzer {{{ +highlight! link CocRustChainingHint Grey +highlight! link CocRustTypeHint Grey +" }}} +" syn_end }}} +" syn_begin: swift {{{ +" swift.vim: https://github.com/keith/swift.vim {{{ +highlight! link swiftInterpolatedWrapper Yellow +highlight! link swiftInterpolatedString Blue +highlight! link swiftProperty Aqua +highlight! link swiftTypeDeclaration Orange +highlight! link swiftClosureArgument Purple +" }}} +" syn_end }}} +" syn_begin: 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 Aqua +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 +" }}} +" syn_end }}} +" syn_begin: 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 +" }}} +" syn_end }}} +" syn_begin: haskell {{{ +" haskell-vim: https://github.com/neovimhaskell/haskell-vim {{{ +highlight! link haskellBrackets Blue +highlight! link haskellIdentifier Yellow +highlight! link haskellAssocType Aqua +highlight! link haskellQuotedType Aqua +highlight! link haskellType Aqua +highlight! link haskellDeclKeyword RedItalic +highlight! link haskellWhere RedItalic +highlight! link haskellDeriving PurpleItalic +highlight! link haskellForeignKeywords PurpleItalic +" }}} +" syn_end }}} +" syn_begin: perl/pod {{{ +" 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 Aqua +highlight! link perlVarSimpleMember Fg +highlight! link perlMethod Green +highlight! link podVerbatimLine Green +highlight! link podCmdText Yellow +" }}} +" syn_end }}} +" syn_begin: 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 Aqua +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 Aqua +highlight! link ocamlModParam1 Blue +" }}} +" syn_end }}} +" syn_begin: erlang {{{ +" builtin: https://github.com/vim-erlang/vim-erlang-runtime {{{ +highlight! link erlangAtom Aqua +highlight! link erlangLocalFuncRef Green +highlight! link erlangLocalFuncCall Green +highlight! link erlangGlobalFuncRef Green +highlight! link erlangGlobalFuncCall Green +highlight! link erlangAttribute PurpleItalic +highlight! link erlangPipe Orange +" }}} +" syn_end }}} +" syn_begin: 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 +" }}} +" syn_end }}} +" syn_begin: lisp {{{ +" builtin: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_LISP {{{ +highlight! link lispAtomMark Green +highlight! link lispKey Aqua +highlight! link lispFunc OrangeItalic +" }}} +" syn_end }}} +" syn_begin: clojure {{{ +" builtin: https://github.com/guns/vim-clojure-static {{{ +highlight! link clojureMacro PurpleItalic +highlight! link clojureFunc Aqua +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 +" }}} +" syn_end }}} +" syn_begin: matlab {{{ +" builtin: {{{ +highlight! link matlabSemicolon Fg +highlight! link matlabFunction RedItalic +highlight! link matlabImplicit Green +highlight! link matlabDelimiter Fg +highlight! link matlabOperator Green +highlight! link matlabArithmeticOperator Orange +highlight! link matlabArithmeticOperator Orange +highlight! link matlabRelationalOperator Orange +highlight! link matlabRelationalOperator Orange +highlight! link matlabLogicalOperator Orange +" }}} +" syn_end }}} +" syn_begin: octave {{{ +" vim-octave: https://github.com/McSinyx/vim-octave{{{ +highlight! link octaveDelimiter Fg +highlight! link octaveSemicolon Grey +highlight! link octaveOperator Orange +highlight! link octaveVariable YellowItalic +highlight! link octaveVarKeyword YellowItalic +" }}} +" syn_end }}} +" syn_begin: sh/zsh {{{ +" builtin: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH {{{ +highlight! link shRange Fg +highlight! link shTestOpr Orange +highlight! link shOption Aqua +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 shFunction Green +highlight! link shFunctionKey RedItalic +" }}} +" syn_end }}} +" syn_begin: 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 +" }}} +" syn_end }}} +" syn_begin: fish {{{ +" vim-fish: https://github.com/georgewitteman/vim-fish {{{ +highlight! link fishStatement Orange +highlight! link fishLabel RedItalic +highlight! link fishCommandSub Yellow +" }}} +" syn_end }}} +" syn_begin: ps1 {{{ +" vim-ps1: https://github.com/PProvost/vim-ps1 {{{ +highlight! link ps1FunctionInvocation Aqua +highlight! link ps1FunctionDeclaration Aqua +highlight! link ps1InterpolationDelimiter Yellow +highlight! link ps1BuiltIn Yellow +" }}} +" syn_end }}} +" syn_begin: vim {{{ +call everforest#highlight('vimCommentTitle', s:palette.grey1, s:palette.none, 'bold') +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 Aqua +highlight! link vimMapLhs Green +highlight! link vimMapRhs Green +highlight! link vimSetEqual Yellow +highlight! link vimSetSep Fg +highlight! link vimOption Aqua +highlight! link vimUserAttrbKey Yellow +highlight! link vimUserAttrb Green +highlight! link vimAutoCmdSfxList Aqua +highlight! link vimSynType Orange +highlight! link vimHiBang Orange +highlight! link vimSet Yellow +highlight! link vimSetSep Grey +highlight! link vimContinue Grey +" syn_end }}} +" syn_begin: make {{{ +highlight! link makeIdent Aqua +highlight! link makeSpecTarget Yellow +highlight! link makeTarget Blue +highlight! link makeCommands Orange +" syn_end }}} +" syn_begin: cmake {{{ +highlight! link cmakeCommand Orange +highlight! link cmakeKWconfigure_package_config_file Yellow +highlight! link cmakeKWwrite_basic_package_version_file Yellow +highlight! link cmakeKWExternalProject Aqua +highlight! link cmakeKWadd_compile_definitions Aqua +highlight! link cmakeKWadd_compile_options Aqua +highlight! link cmakeKWadd_custom_command Aqua +highlight! link cmakeKWadd_custom_target Aqua +highlight! link cmakeKWadd_definitions Aqua +highlight! link cmakeKWadd_dependencies Aqua +highlight! link cmakeKWadd_executable Aqua +highlight! link cmakeKWadd_library Aqua +highlight! link cmakeKWadd_link_options Aqua +highlight! link cmakeKWadd_subdirectory Aqua +highlight! link cmakeKWadd_test Aqua +highlight! link cmakeKWbuild_command Aqua +highlight! link cmakeKWcmake_host_system_information Aqua +highlight! link cmakeKWcmake_minimum_required Aqua +highlight! link cmakeKWcmake_parse_arguments Aqua +highlight! link cmakeKWcmake_policy Aqua +highlight! link cmakeKWconfigure_file Aqua +highlight! link cmakeKWcreate_test_sourcelist Aqua +highlight! link cmakeKWctest_build Aqua +highlight! link cmakeKWctest_configure Aqua +highlight! link cmakeKWctest_coverage Aqua +highlight! link cmakeKWctest_memcheck Aqua +highlight! link cmakeKWctest_run_script Aqua +highlight! link cmakeKWctest_start Aqua +highlight! link cmakeKWctest_submit Aqua +highlight! link cmakeKWctest_test Aqua +highlight! link cmakeKWctest_update Aqua +highlight! link cmakeKWctest_upload Aqua +highlight! link cmakeKWdefine_property Aqua +highlight! link cmakeKWdoxygen_add_docs Aqua +highlight! link cmakeKWenable_language Aqua +highlight! link cmakeKWenable_testing Aqua +highlight! link cmakeKWexec_program Aqua +highlight! link cmakeKWexecute_process Aqua +highlight! link cmakeKWexport Aqua +highlight! link cmakeKWexport_library_dependencies Aqua +highlight! link cmakeKWfile Aqua +highlight! link cmakeKWfind_file Aqua +highlight! link cmakeKWfind_library Aqua +highlight! link cmakeKWfind_package Aqua +highlight! link cmakeKWfind_path Aqua +highlight! link cmakeKWfind_program Aqua +highlight! link cmakeKWfltk_wrap_ui Aqua +highlight! link cmakeKWforeach Aqua +highlight! link cmakeKWfunction Aqua +highlight! link cmakeKWget_cmake_property Aqua +highlight! link cmakeKWget_directory_property Aqua +highlight! link cmakeKWget_filename_component Aqua +highlight! link cmakeKWget_property Aqua +highlight! link cmakeKWget_source_file_property Aqua +highlight! link cmakeKWget_target_property Aqua +highlight! link cmakeKWget_test_property Aqua +highlight! link cmakeKWif Aqua +highlight! link cmakeKWinclude Aqua +highlight! link cmakeKWinclude_directories Aqua +highlight! link cmakeKWinclude_external_msproject Aqua +highlight! link cmakeKWinclude_guard Aqua +highlight! link cmakeKWinstall Aqua +highlight! link cmakeKWinstall_files Aqua +highlight! link cmakeKWinstall_programs Aqua +highlight! link cmakeKWinstall_targets Aqua +highlight! link cmakeKWlink_directories Aqua +highlight! link cmakeKWlist Aqua +highlight! link cmakeKWload_cache Aqua +highlight! link cmakeKWload_command Aqua +highlight! link cmakeKWmacro Aqua +highlight! link cmakeKWmark_as_advanced Aqua +highlight! link cmakeKWmath Aqua +highlight! link cmakeKWmessage Aqua +highlight! link cmakeKWoption Aqua +highlight! link cmakeKWproject Aqua +highlight! link cmakeKWqt_wrap_cpp Aqua +highlight! link cmakeKWqt_wrap_ui Aqua +highlight! link cmakeKWremove Aqua +highlight! link cmakeKWseparate_arguments Aqua +highlight! link cmakeKWset Aqua +highlight! link cmakeKWset_directory_properties Aqua +highlight! link cmakeKWset_property Aqua +highlight! link cmakeKWset_source_files_properties Aqua +highlight! link cmakeKWset_target_properties Aqua +highlight! link cmakeKWset_tests_properties Aqua +highlight! link cmakeKWsource_group Aqua +highlight! link cmakeKWstring Aqua +highlight! link cmakeKWsubdirs Aqua +highlight! link cmakeKWtarget_compile_definitions Aqua +highlight! link cmakeKWtarget_compile_features Aqua +highlight! link cmakeKWtarget_compile_options Aqua +highlight! link cmakeKWtarget_include_directories Aqua +highlight! link cmakeKWtarget_link_directories Aqua +highlight! link cmakeKWtarget_link_libraries Aqua +highlight! link cmakeKWtarget_link_options Aqua +highlight! link cmakeKWtarget_precompile_headers Aqua +highlight! link cmakeKWtarget_sources Aqua +highlight! link cmakeKWtry_compile Aqua +highlight! link cmakeKWtry_run Aqua +highlight! link cmakeKWunset Aqua +highlight! link cmakeKWuse_mangled_mesa Aqua +highlight! link cmakeKWvariable_requires Aqua +highlight! link cmakeKWvariable_watch Aqua +highlight! link cmakeKWwrite_file Aqua +" syn_end }}} +" syn_begin: json {{{ +" builtin {{{ +highlight! link jsonKeyword Green +highlight! link jsonString Fg +highlight! link jsonQuote Grey +" }}} +" nvim-treesitter/nvim-treesitter {{{ +highlight! link jsonTSLabel jsonKeyword +highlight! link jsonTSString jsonString +highlight! link jsonTSStringEscape SpecialChar +if has('nvim-0.8') + highlight! link @label.json jsonTSLabel + highlight! link @string.json jsonTSString + highlight! link @string.escape.json jsonTSStringEscape +endif +" }}} +" syn_end }}} +" syn_begin: yaml {{{ +" builtin {{{ +highlight! link yamlBlockMappingKey Green +highlight! link yamlString Fg +highlight! link yamlConstant OrangeItalic +highlight! link yamlKeyValueDelimiter Grey +" }}} +" nvim-treesitter/nvim-treesitter {{{ +highlight! link yamlTSField yamlBlockMappingKey +highlight! link yamlTSString yamlString +highlight! link yamlTSStringEscape SpecialChar +highlight! link yamlTSBoolean yamlConstant +highlight! link yamlTSConstBuiltin yamlConstant +if has('nvim-0.8') + highlight! link @field.yaml yamlTSField + highlight! link @string.yaml yamlTSString + highlight! link @string.escape.yaml yamlTSStringEscape + highlight! link @boolean.yaml yamlTSBoolean + highlight! link @constant.builtin.yaml yamlTSConstBuiltin +endif +highlight! link yamlKey yamlBlockMappingKey " stephpy/vim-yaml +" }}} +" syn_end }}} +" syn_begin: toml {{{ +" builtin: https://github.com/cespare/vim-toml {{{ +call everforest#highlight('tomlTable', s:palette.orange, s:palette.none, 'bold') +highlight! link tomlKey Green +highlight! link tomlString Fg +highlight! link tomlDate Special +highlight! link tomlBoolean Aqua +highlight! link tomlTableArray tomlTable +" }}} +" nvim-treesitter/nvim-treesitter {{{ +highlight! link tomlTSProperty tomlKey +highlight! link tomlTSString tomlString +if has('nvim-0.8') + highlight! link @property.toml tomlTSProperty + highlight! link @string.toml tomlTSString +endif +" }}} +" syn_end }}} +" syn_begin: gitcommit {{{ +" builtin {{{ +highlight! link gitcommitSummary Green +highlight! link gitcommitUntracked Grey +highlight! link gitcommitDiscarded Grey +highlight! link gitcommitSelected Grey +highlight! link gitcommitUnmerged Grey +highlight! link gitcommitOnBranch Grey +highlight! link gitcommitArrow Grey +highlight! link gitcommitFile Green +" }}} +" nvim-treesitter/nvim-treesitter {{{ +if has('nvim-0.8') + highlight! link @text.gitcommit TSNone +endif +" }}} +" syn_end }}} +" syn_begin: dosini {{{ +call everforest#highlight('dosiniHeader', s:palette.red, s:palette.none, 'bold') +highlight! link dosiniLabel Yellow +highlight! link dosiniValue Green +highlight! link dosiniNumber Green +" syn_end }}} +" syn_begin: help {{{ +call everforest#highlight('helpNote', s:palette.purple, s:palette.none, 'bold') +call everforest#highlight('helpHeadline', s:palette.red, s:palette.none, 'bold') +call everforest#highlight('helpHeader', s:palette.orange, s:palette.none, 'bold') +call everforest#highlight('helpURL', s:palette.green, s:palette.none, 'underline') +call everforest#highlight('helpHyperTextEntry', s:palette.yellow, s:palette.none, 'bold') +highlight! link helpHyperTextJump Yellow +highlight! link helpCommand Aqua +highlight! link helpExample Green +highlight! link helpSpecial Blue +highlight! link helpSectionDelim Grey +" syn_end }}} +" syn_begin: neotest-summary {{{ +" https://github.com/nvim-neotest/neotest +if has('nvim') +highlight! link NeotestNamespace Purple +highlight! link NeotestFile Aqua +highlight! link NeotestDir Directory +highlight! link NeotestIndent NonText +call everforest#highlight('NeotestExpandMarker', s:palette.bg5, s:palette.none) +highlight! link NeotestAdapterName Title +highlight! link NeotestMarked Orange +highlight! link NeotestTarget Red +endif +" syn_end }}} +" syn_begin: mason {{{ +" https://github.com/williamboman/mason.nvim +call everforest#highlight('MasonHeader', s:palette.bg0, s:palette.green, 'bold') +call everforest#highlight('MasonHeaderSecondary', s:palette.bg0, s:palette.orange, 'bold') +highlight! link MasonHighlight Green +highlight! link MasonHighlightSecondary Yellow +call everforest#highlight('MasonHighlightBlock', s:palette.bg0, s:palette.aqua) +call everforest#highlight('MasonHighlightBlockBold', s:palette.bg0, s:palette.aqua, 'bold') +call everforest#highlight('MasonHighlightBlockSecondary', s:palette.bg0, s:palette.yellow) +call everforest#highlight('MasonHighlightBlockBoldSecondary', s:palette.bg0, s:palette.yellow, 'bold') +call everforest#highlight('MasonMuted', s:palette.grey0, s:palette.none) +call everforest#highlight('MasonMutedBlock', s:palette.bg0, s:palette.grey0) +" syn_end }}} +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker fmr={{{,}}}: diff --git a/setup/config/vim-colors/gruvbox.vim b/setup/config/vim-colors/gruvbox.vim new file mode 100644 index 0000000..66246fb --- /dev/null +++ b/setup/config/vim-colors/gruvbox.vim @@ -0,0 +1,1418 @@ +" ----------------------------------------------------------------------------- +" File: gruvbox.vim +" Description: Retro groove color scheme for Vim +" Author: morhetz +" 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/setup/config/vim-colors/jellybeans.vim b/setup/config/vim-colors/jellybeans.vim new file mode 100644 index 0000000..3b9bfb6 --- /dev/null +++ b/setup/config/vim-colors/jellybeans.vim @@ -0,0 +1,733 @@ +" Vim color file +" +" " __ _ _ _ " +" " \ \ ___| | |_ _| |__ ___ __ _ _ __ ___ " +" " \ \/ _ \ | | | | | _ \ / _ \/ _ | _ \/ __| " +" " /\_/ / __/ | | |_| | |_| | __/ |_| | | | \__ \ " +" " \___/ \___|_|_|\__ |____/ \___|\____|_| |_|___/ " +" " \___/ " +" +" "A colorful, dark color scheme for Vim." +" +" File: jellybeans.vim +" URL: github.com/nanotech/jellybeans.vim +" Scripts URL: vim.org/scripts/script.php?script_id=2555 +" Maintainer: NanoTech (nanotech.nanotechcorp.net) +" Version: 1.7 +" Last Change: June 21st, 2019 +" License: MIT +" Contributors: Andrew Wong (w0ng) +" Benjamin R. Haskell (benizi) +" Brian Marshall (bmars) +" Daniel Herbert (pocketninja) +" David Liang +" Filipe Silva (ninrod) +" Henry So, Jr. +" Ihor Kalnytskyi (ikalnytskyi) +" Joe Doherty (docapotamus) +" Karl Litterfeldt (Litterfeldt) +" Keith Pitt (keithpitt) +" Mike Schreifels (schreifels) +" Philipp Rustemeier (12foo) +" Rafael Bicalho (rbika) +" Rich Healey (richo) +" Siwen Yu (yusiwen) +" Tim Willis (willist) +" Tom McLaughlin (tmcoma) +" +" Copyright (c) 2009-2019 NanoTech +" +" Permission is hereby granted, free of charge, to any per‐ +" son obtaining a copy of this software and associated doc‐ +" umentation files (the “Software”), to deal in the Soft‐ +" ware without restriction, including without limitation +" the rights to use, copy, modify, merge, publish, distrib‐ +" ute, sublicense, and/or sell copies of the Software, and +" to permit persons to whom the Software is furnished to do +" so, subject to the following conditions: +" +" The above copyright notice and this permission notice +" shall be included in all copies or substantial portions +" of the Software. +" +" THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY +" KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +" THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICU‐ +" LAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CON‐ +" TRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON‐ +" NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +" THE SOFTWARE. + +set background=dark + +hi clear + +if exists("syntax_on") + syntax reset +endif + +let colors_name = "jellybeans" + +if has("gui_running") || (has('termguicolors') && &termguicolors) + let s:true_color = 1 +else + let s:true_color = 0 +endif + +if s:true_color || &t_Co >= 88 + let s:low_color = 0 +else + let s:low_color = 1 +endif + +" Configuration Variables: +" - g:jellybeans_overrides (default = {}) +" - g:jellybeans_use_lowcolor_black (default = 0) +" - g:jellybeans_use_gui_italics (default = 1) +" - g:jellybeans_use_term_italics (default = 0) + +let s:background_color = "151515" + +if exists("g:jellybeans_overrides") + let s:overrides = g:jellybeans_overrides +else + let s:overrides = {} +endif + +" Backwards compatibility +if exists("g:jellybeans_background_color") + \ || exists("g:jellybeans_background_color_256") + \ || exists("g:jellybeans_use_term_background_color") + + let s:overrides = deepcopy(s:overrides) + + if !has_key(s:overrides, "background") + let s:overrides["background"] = {} + endif + + if exists("g:jellybeans_background_color") + let s:overrides["background"]["guibg"] = g:jellybeans_background_color + endif + + if exists("g:jellybeans_background_color_256") + let s:overrides["background"]["256ctermbg"] = g:jellybeans_background_color_256 + endif + + if exists("g:jellybeans_use_term_background_color") + \ && g:jellybeans_use_term_background_color + let s:overrides["background"]["ctermbg"] = "NONE" + let s:overrides["background"]["256ctermbg"] = "NONE" + endif +endif + +if exists("g:jellybeans_use_lowcolor_black") && g:jellybeans_use_lowcolor_black + let s:termBlack = "Black" +else + let s:termBlack = "Grey" +endif + +" When `termguicolors` is set, Vim[^1] ignores `hi Normal guibg=NONE` +" after Normal's `guibg` is already set to a color. See: +" +" - https://github.com/vim/vim/issues/981 +" - https://github.com/nanotech/jellybeans.vim/issues/64 +" +" To work around this, ensure we don't set the default background +" color before an override changes it to `NONE` by ensuring that the +" background color isn't set to a value different from its override. +" +" [^1]: Tested on 8.0.567. Does not apply to Neovim. +" +if has_key(s:overrides, "background") && has_key(s:overrides["background"], "guibg") + let s:background_color = s:overrides["background"]["guibg"] +endif + +" Color approximation functions by Henry So, Jr. and David Liang {{{ +" Added to jellybeans.vim by Daniel Herbert + +if &t_Co == 88 + + " returns an approximate grey index for the given grey level + fun! s:grey_number(x) + if a:x < 23 + return 0 + elseif a:x < 69 + return 1 + elseif a:x < 103 + return 2 + elseif a:x < 127 + return 3 + elseif a:x < 150 + return 4 + elseif a:x < 173 + return 5 + elseif a:x < 196 + return 6 + elseif a:x < 219 + return 7 + elseif a:x < 243 + return 8 + else + return 9 + endif + endfun + + " returns the actual grey level represented by the grey index + fun! s:grey_level(n) + if a:n == 0 + return 0 + elseif a:n == 1 + return 46 + elseif a:n == 2 + return 92 + elseif a:n == 3 + return 115 + elseif a:n == 4 + return 139 + elseif a:n == 5 + return 162 + elseif a:n == 6 + return 185 + elseif a:n == 7 + return 208 + elseif a:n == 8 + return 231 + else + return 255 + endif + endfun + + " returns the palette index for the given grey index + fun! s:grey_color(n) + if a:n == 0 + return 16 + elseif a:n == 9 + return 79 + else + return 79 + a:n + endif + endfun + + " returns an approximate color index for the given color level + fun! s:rgb_number(x) + if a:x < 69 + return 0 + elseif a:x < 172 + return 1 + elseif a:x < 230 + return 2 + else + return 3 + endif + endfun + + " returns the actual color level for the given color index + fun! s:rgb_level(n) + if a:n == 0 + return 0 + elseif a:n == 1 + return 139 + elseif a:n == 2 + return 205 + else + return 255 + endif + endfun + + " returns the palette index for the given R/G/B color indices + fun! s:rgb_color(x, y, z) + return 16 + (a:x * 16) + (a:y * 4) + a:z + endfun + +else " assuming &t_Co == 256 + + " returns an approximate grey index for the given grey level + fun! s:grey_number(x) + if a:x < 14 + return 0 + else + let l:n = (a:x - 8) / 10 + let l:m = (a:x - 8) % 10 + if l:m < 5 + return l:n + else + return l:n + 1 + endif + endif + endfun + + " returns the actual grey level represented by the grey index + fun! s:grey_level(n) + if a:n == 0 + return 0 + else + return 8 + (a:n * 10) + endif + endfun + + " returns the palette index for the given grey index + fun! s:grey_color(n) + if a:n == 0 + return 16 + elseif a:n == 25 + return 231 + else + return 231 + a:n + endif + endfun + + " returns an approximate color index for the given color level + fun! s:rgb_number(x) + if a:x < 75 + return 0 + else + let l:n = (a:x - 55) / 40 + let l:m = (a:x - 55) % 40 + if l:m < 20 + return l:n + else + return l:n + 1 + endif + endif + endfun + + " returns the actual color level for the given color index + fun! s:rgb_level(n) + if a:n == 0 + return 0 + else + return 55 + (a:n * 40) + endif + endfun + + " returns the palette index for the given R/G/B color indices + fun! s:rgb_color(x, y, z) + return 16 + (a:x * 36) + (a:y * 6) + a:z + endfun + +endif + +" returns the palette index to approximate the given R/G/B color levels +fun! s:color(r, g, b) + " map greys directly (see xterm's 256colres.pl) + if &t_Co == 256 && a:r == a:g && a:g == a:b && a:r > 3 && a:r < 243 + return (a:r - 8) / 10 + 232 + endif + + " get the closest grey + let l:gx = s:grey_number(a:r) + let l:gy = s:grey_number(a:g) + let l:gz = s:grey_number(a:b) + + " get the closest color + let l:x = s:rgb_number(a:r) + let l:y = s:rgb_number(a:g) + let l:z = s:rgb_number(a:b) + + if l:gx == l:gy && l:gy == l:gz + " there are two possibilities + let l:dgr = s:grey_level(l:gx) - a:r + let l:dgg = s:grey_level(l:gy) - a:g + let l:dgb = s:grey_level(l:gz) - a:b + let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) + let l:dr = s:rgb_level(l:gx) - a:r + let l:dg = s:rgb_level(l:gy) - a:g + let l:db = s:rgb_level(l:gz) - a:b + let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) + if l:dgrey < l:drgb + " use the grey + return s:grey_color(l:gx) + else + " use the color + return s:rgb_color(l:x, l:y, l:z) + endif + else + " only one possibility + return s:rgb_color(l:x, l:y, l:z) + endif +endfun + +fun! s:is_empty_or_none(str) + return empty(a:str) || a:str ==? "NONE" +endfun + +" returns the palette index to approximate the 'rrggbb' hex string +fun! s:rgb(rgb) + if s:is_empty_or_none(a:rgb) + return "NONE" + endif + let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 + let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 + let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 + return s:color(l:r, l:g, l:b) +endfun + +fun! s:prefix_highlight_value_with(prefix, color) + if s:is_empty_or_none(a:color) + return "NONE" + else + return a:prefix . a:color + endif +endfun + +fun! s:remove_italic_attr(attr) + let l:attr = join(filter(split(a:attr, ","), "v:val !=? 'italic'"), ",") + if empty(l:attr) + let l:attr = "NONE" + endif + return l:attr +endfun + +" sets the highlighting for the given group +fun! s:X(group, fg, bg, attr, lcfg, lcbg) + if s:low_color + let l:cmd = "hi ".a:group. + \ " ctermfg=".s:prefix_highlight_value_with("", a:lcfg). + \ " ctermbg=".s:prefix_highlight_value_with("", a:lcbg) + else + let l:cmd = "hi ".a:group. + \ " guifg=".s:prefix_highlight_value_with("#", a:fg). + \ " guibg=".s:prefix_highlight_value_with("#", a:bg) + if !s:true_color + let l:cmd = l:cmd. + \ " ctermfg=".s:rgb(a:fg). + \ " ctermbg=".s:rgb(a:bg) + endif + endif + + let l:attr = s:prefix_highlight_value_with("", a:attr) + + if exists("g:jellybeans_use_term_italics") && g:jellybeans_use_term_italics + let l:cterm_attr = l:attr + else + let l:cterm_attr = s:remove_italic_attr(l:attr) + endif + + if !exists("g:jellybeans_use_gui_italics") || g:jellybeans_use_gui_italics + let l:gui_attr = l:attr + else + let l:gui_attr = s:remove_italic_attr(l:attr) + endif + + let l:cmd = l:cmd." gui=".l:gui_attr." cterm=".l:cterm_attr + exec l:cmd +endfun +" }}} + +call s:X("Normal","e8e8d3",s:background_color,"","White","") +set background=dark + +call s:X("CursorLine","","1c1c1c","","",s:termBlack) +call s:X("CursorColumn","","1c1c1c","","",s:termBlack) + +" Some of Terminal.app's default themes have a cursor color +" too close to Jellybeans' preferred MatchParen background +" color to be easily distinguishable. Other terminals tend +" to use a brighter cursor color. +" +" Use a more distinct color in Terminal.app, and also in +" low-color terminals if the preferred background color is +" not available. +if !has('gui_running') && $TERM_PROGRAM == "Apple_Terminal" + let s:matchParenGuiFg = "dd0093" + let s:matchParenGuiBg = "000000" +else + let s:matchParenGuiFg = "ffffff" + let s:matchParenGuiBg = "556779" +endif +if s:termBlack != "Black" + let s:matchParenTermFg = "Magenta" + let s:matchParenTermBg = "" +else + let s:matchParenTermFg = "" + let s:matchParenTermBg = s:termBlack +endif +call s:X("MatchParen",s:matchParenGuiFg,s:matchParenGuiBg,"bold", +\ s:matchParenTermFg,s:matchParenTermBg) + +call s:X("TabLine","000000","b0b8c0","italic","",s:termBlack) +call s:X("TabLineFill","9098a0","","","",s:termBlack) +call s:X("TabLineSel","000000","f0f0f0","italic,bold",s:termBlack,"White") + +" Auto-completion +call s:X("Pmenu","ffffff","606060","","White",s:termBlack) +call s:X("PmenuSel","101010","eeeeee","",s:termBlack,"White") + +call s:X("Visual","","404040","","",s:termBlack) +call s:X("Cursor",s:background_color,"b0d0f0","","","") + +call s:X("LineNr","605958",s:background_color,"NONE",s:termBlack,"") +call s:X("CursorLineNr","ccc5c4","","NONE","White","") +call s:X("Comment","888888","","italic","Grey","") +call s:X("Todo","c7c7c7","","bold","White",s:termBlack) + +call s:X("StatusLine","000000","dddddd","italic","","White") +call s:X("StatusLineNC","ffffff","403c41","italic","White","Black") +call s:X("VertSplit","777777","403c41","",s:termBlack,s:termBlack) +call s:X("WildMenu","f0a0c0","302028","","Magenta","") + +call s:X("Folded","a0a8b0","384048","italic",s:termBlack,"") +call s:X("FoldColumn","535D66","1f1f1f","","",s:termBlack) +call s:X("SignColumn","777777","333333","","",s:termBlack) +call s:X("ColorColumn","","000000","","",s:termBlack) + +call s:X("Title","70b950","","bold","Green","") + +call s:X("Constant","cf6a4c","","","Red","") +call s:X("Special","799d6a","","","Green","") +call s:X("Delimiter","668799","","","Grey","") + +call s:X("String","99ad6a","","","Green","") +call s:X("StringDelimiter","556633","","","DarkGreen","") + +call s:X("Identifier","c6b6ee","","","LightCyan","") +call s:X("Structure","8fbfdc","","","LightCyan","") +call s:X("Function","fad07a","","","Yellow","") +call s:X("Statement","8197bf","","","DarkBlue","") +call s:X("PreProc","8fbfdc","","","LightBlue","") + +hi! link Operator Structure +hi! link Conceal Operator + +call s:X("Type","ffb964","","","Yellow","") +call s:X("NonText","606060",s:background_color,"",s:termBlack,"") + +call s:X("SpecialKey","444444","1c1c1c","",s:termBlack,"") + +call s:X("Search","f0a0c0","302028","underline","Magenta","") + +call s:X("Directory","dad085","","","Yellow","") +call s:X("ErrorMsg","","902020","","","DarkRed") +hi! link Error ErrorMsg +hi! link MoreMsg Special +call s:X("Question","65C254","","","Green","") + + +" Spell Checking + +call s:X("SpellBad","","902020","underline","","DarkRed") +call s:X("SpellCap","","0000df","underline","","Blue") +call s:X("SpellRare","","540063","underline","","DarkMagenta") +call s:X("SpellLocal","","2D7067","underline","","Green") + +" Diff + +hi! link diffRemoved Constant +hi! link diffAdded String + +" VimDiff + +call s:X("DiffAdd","D2EBBE","437019","","White","DarkGreen") +call s:X("DiffDelete","40000A","700009","","DarkRed","DarkRed") +call s:X("DiffChange","","2B5B77","","White","DarkBlue") +call s:X("DiffText","8fbfdc","000000","reverse","Yellow","") + +" PHP + +hi! link phpFunctions Function +call s:X("StorageClass","c59f6f","","","Red","") +hi! link phpSuperglobal Identifier +hi! link phpQuoteSingle StringDelimiter +hi! link phpQuoteDouble StringDelimiter +hi! link phpBoolean Constant +hi! link phpNull Constant +hi! link phpArrayPair Operator +hi! link phpOperator Normal +hi! link phpRelation Normal +hi! link phpVarSelector Identifier + +" Python + +hi! link pythonOperator Statement + +" Ruby + +hi! link rubySharpBang Comment +call s:X("rubyClass","447799","","","DarkBlue","") +call s:X("rubyIdentifier","c6b6fe","","","Cyan","") +hi! link rubyConstant Type +hi! link rubyFunction Function + +call s:X("rubyInstanceVariable","c6b6fe","","","Cyan","") +call s:X("rubySymbol","7697d6","","","Blue","") +hi! link rubyGlobalVariable rubyInstanceVariable +hi! link rubyModule rubyClass +call s:X("rubyControl","7597c6","","","Blue","") + +hi! link rubyString String +hi! link rubyStringDelimiter StringDelimiter +hi! link rubyInterpolationDelimiter Identifier + +call s:X("rubyRegexpDelimiter","540063","","","Magenta","") +call s:X("rubyRegexp","dd0093","","","DarkMagenta","") +call s:X("rubyRegexpSpecial","a40073","","","Magenta","") + +call s:X("rubyPredefinedIdentifier","de5577","","","Red","") + +" Erlang + +hi! link erlangAtom rubySymbol +hi! link erlangBIF rubyPredefinedIdentifier +hi! link erlangFunction rubyPredefinedIdentifier +hi! link erlangDirective Statement +hi! link erlangNode Identifier + +" Elixir + +hi! link elixirAtom rubySymbol + + +" JavaScript + +hi! link javaScriptValue Constant +hi! link javaScriptRegexpString rubyRegexp +hi! link javaScriptTemplateVar StringDelim +hi! link javaScriptTemplateDelim Identifier +hi! link javaScriptTemplateString String + +" CoffeeScript + +hi! link coffeeRegExp javaScriptRegexpString + +" Lua + +hi! link luaOperator Conditional + +" C + +hi! link cFormat Identifier +hi! link cOperator Constant + +" Objective-C/Cocoa + +hi! link objcClass Type +hi! link cocoaClass objcClass +hi! link objcSubclass objcClass +hi! link objcSuperclass objcClass +hi! link objcDirective rubyClass +hi! link objcStatement Constant +hi! link cocoaFunction Function +hi! link objcMethodName Identifier +hi! link objcMethodArg Normal +hi! link objcMessageName Identifier + +" Vimscript + +hi! link vimOper Normal + +" HTML + +hi! link htmlTag Statement +hi! link htmlEndTag htmlTag +hi! link htmlTagName htmlTag + +" XML + +hi! link xmlTag Statement +hi! link xmlEndTag xmlTag +hi! link xmlTagName xmlTag +hi! link xmlEqual xmlTag +hi! link xmlEntity Special +hi! link xmlEntityPunct xmlEntity +hi! link xmlDocTypeDecl PreProc +hi! link xmlDocTypeKeyword PreProc +hi! link xmlProcessingDelim xmlAttrib + +" Debugger.vim + +call s:X("DbgCurrent","DEEBFE","345FA8","","White","DarkBlue") +call s:X("DbgBreakPt","","4F0037","","","DarkMagenta") + +" vim-indent-guides + +if !exists("g:indent_guides_auto_colors") + let g:indent_guides_auto_colors = 0 +endif +call s:X("IndentGuidesOdd","","232323","","","") +call s:X("IndentGuidesEven","","1b1b1b","","","") + +" Plugins, etc. + +hi! link TagListFileName Directory +call s:X("PreciseJumpTarget","B9ED67","405026","","White","Green") + +" Manual overrides for 256-color terminals. Dark colors auto-map badly. +if !s:low_color + hi StatusLineNC ctermbg=235 + hi Folded ctermbg=236 + hi DiffText ctermfg=81 + hi DbgBreakPt ctermbg=53 + hi IndentGuidesOdd ctermbg=235 + hi IndentGuidesEven ctermbg=234 +endif + +if !empty("s:overrides") + fun! s:current_attr(group) + let l:synid = synIDtrans(hlID(a:group)) + let l:attrs = [] + for l:attr in ["bold", "italic", "reverse", "standout", "underline", "undercurl"] + if synIDattr(l:synid, l:attr, "gui") == 1 + call add(l:attrs, l:attr) + endif + endfor + return join(l:attrs, ",") + endfun + fun! s:current_color(group, what, mode) + let l:color = synIDattr(synIDtrans(hlID(a:group)), a:what, a:mode) + if l:color == -1 + return "" + else + return substitute(l:color, "^#", "", "") + endif + endfun + fun! s:load_color_def(group, def) + call s:X(a:group, get(a:def, "guifg", s:current_color(a:group, "fg", "gui")), + \ get(a:def, "guibg", s:current_color(a:group, "bg", "gui")), + \ get(a:def, "attr", s:current_attr(a:group)), + \ get(a:def, "ctermfg", s:current_color(a:group, "fg", "cterm")), + \ get(a:def, "ctermbg", s:current_color(a:group, "bg", "cterm"))) + if !s:low_color + for l:prop in ["ctermfg", "ctermbg"] + let l:override_key = "256".l:prop + if has_key(a:def, l:override_key) + exec "hi ".a:group." ".l:prop."=".a:def[l:override_key] + endif + endfor + endif + endfun + fun! s:load_colors(defs) + for [l:group, l:def] in items(a:defs) + if l:group == "background" + call s:load_color_def("LineNr", l:def) + call s:load_color_def("NonText", l:def) + call s:load_color_def("Normal", l:def) + else + call s:load_color_def(l:group, l:def) + endif + unlet l:group + unlet l:def + endfor + endfun + call s:load_colors(s:overrides) + delf s:load_colors + delf s:load_color_def + delf s:current_color + delf s:current_attr +endif + +" delete functions {{{ +delf s:X +delf s:remove_italic_attr +delf s:prefix_highlight_value_with +delf s:rgb +delf s:is_empty_or_none +delf s:color +delf s:rgb_color +delf s:rgb_level +delf s:rgb_number +delf s:grey_color +delf s:grey_level +delf s:grey_number +" }}} diff --git a/setup/config/vim-colors/space-vim-dark.vim b/setup/config/vim-colors/space-vim-dark.vim new file mode 100644 index 0000000..ced23d6 --- /dev/null +++ b/setup/config/vim-colors/space-vim-dark.vim @@ -0,0 +1,441 @@ +" Vim color file +" +" Author: Liu-Cheng Xu +" URL: https://github.com/liuchengxu/space-vim-dark +" +" Note: Inspired by spacemacs-dark theme + +hi clear + +if v:version > 580 + " no guarantees for version 5.8 and below, but this makes it stop + " complaining + hi clear + if exists('g:syntax_on') + syntax reset + endif +endif + +let g:colors_name='space-vim-dark' + +" refer to http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html +let s:color256 = { + \ 0 : '#000000', 1 : '#800000', 2 : '#008000', 3 : '#808000', 4 : '#000080', 5 : '#800080', 6 : '#008080' , 7 : '#c0c0c0', + \ 8 : '#808080', 9 : '#ff0000', 10 : '#00ff00', 11 : '#ffff00', 12 : '#0000ff', 13 : '#ff00ff', 14 : '#00ffff', 15 : '#ffffff', + \ 16 : '#000000', 17 : '#00005f', 18 : '#000087', 19 : '#0000af', 20 : '#0000d7', 21 : '#0000ff', + \ 22 : '#005f00', 23 : '#005f5f', 24 : '#005f87', 25 : '#005faf', 26 : '#005fd7', 27 : '#005fff', + \ 28 : '#008700', 29 : '#00875f', 30 : '#008787', 31 : '#0087af', 32 : '#0087d7', 33 : '#0087ff', + \ 34 : '#00af00', 35 : '#00af5f', 36 : '#00af87', 37 : '#00afaf', 38 : '#00afd7', 39 : '#00afff', + \ 40 : '#00d700', 41 : '#00d75f', 42 : '#00d787', 43 : '#00d7af', 44 : '#00d7d7', 45 : '#00d7ff', + \ 46 : '#00ff00', 47 : '#00ff5f', 48 : '#00ff87', 49 : '#00ffaf', 50 : '#00ffd7', 51 : '#00ffff', + \ 52 : '#5f0000', 53 : '#5f005f', 54 : '#5f0087', 55 : '#5f00af', 56 : '#5f00d7', 57 : '#5f00ff', + \ 58 : '#5f5f00', 59 : '#5f5f5f', 60 : '#5f5f87', 61 : '#5f5faf', 62 : '#5f5fd7', 63 : '#5f5fff', + \ 64 : '#5f8700', 65 : '#5f875f', 66 : '#5f8787', 67 : '#5f87af', 68 : '#5f87d7', 69 : '#5f87ff', + \ 70 : '#5faf00', 71 : '#5faf5f', 72 : '#5faf87', 73 : '#5fafaf', 74 : '#5fafd7', 75 : '#5fafff', + \ 76 : '#5fd700', 77 : '#5fd75f', 78 : '#5fd787', 79 : '#5fd7af', 80 : '#5fd7d7', 81 : '#5fd7ff', + \ 82 : '#5fff00', 83 : '#5fff5f', 84 : '#5fff87', 85 : '#5fffaf', 86 : '#5fffd7', 87 : '#5fffff', + \ 88 : '#870000', 89 : '#87005f', 90 : '#870087', 91 : '#8700af', 92 : '#8700d7', 93 : '#8700ff', + \ 94 : '#875f00', 95 : '#875f5f', 96 : '#875f87', 97 : '#875faf', 98 : '#875fd7', 99 : '#875fff', + \ 100 : '#878700', 101 : '#87875f', 102 : '#878787', 103 : '#8787af', 104 : '#8787d7', 105 : '#8787ff', + \ 106 : '#87af00', 107 : '#87af5f', 108 : '#87af87', 109 : '#87afaf', 110 : '#87afd7', 111 : '#87afff', + \ 112 : '#87d700', 113 : '#87d75f', 114 : '#87d787', 115 : '#87d7af', 116 : '#87d7d7', 117 : '#87d7ff', + \ 118 : '#87ff00', 119 : '#87ff5f', 120 : '#87ff87', 121 : '#87ffaf', 122 : '#87ffd7', 123 : '#87ffff', + \ 124 : '#af0000', 125 : '#af005f', 126 : '#af0087', 127 : '#af00af', 128 : '#af00d7', 129 : '#af00ff', + \ 130 : '#af5f00', 131 : '#af5f5f', 132 : '#af5f87', 133 : '#af5faf', 134 : '#af5fd7', 135 : '#af5fff', + \ 136 : '#af8700', 137 : '#af875f', 138 : '#af8787', 139 : '#af87af', 140 : '#af87d7', 141 : '#af87ff', + \ 142 : '#afaf00', 143 : '#afaf5f', 144 : '#afaf87', 145 : '#afafaf', 146 : '#afafd7', 147 : '#afafff', + \ 148 : '#afd700', 149 : '#afd75f', 150 : '#afd787', 151 : '#afd7af', 152 : '#afd7d7', 153 : '#afd7ff', + \ 154 : '#afff00', 155 : '#afff5f', 156 : '#afff87', 157 : '#afffaf', 158 : '#afffd7', 159 : '#afffff', + \ 160 : '#d70000', 161 : '#d7005f', 162 : '#d70087', 163 : '#d700af', 164 : '#d700d7', 165 : '#d700ff', + \ 166 : '#d75f00', 167 : '#d75f5f', 168 : '#d75f87', 169 : '#d75faf', 170 : '#d75fd7', 171 : '#d75fff', + \ 172 : '#d78700', 173 : '#d7875f', 174 : '#d78787', 175 : '#d787af', 176 : '#d787d7', 177 : '#d787ff', + \ 178 : '#d7af00', 179 : '#d7af5f', 180 : '#d7af87', 181 : '#d7afaf', 182 : '#d7afd7', 183 : '#d7afff', + \ 184 : '#d7d700', 185 : '#d7d75f', 186 : '#d7d787', 187 : '#d7d7af', 188 : '#d7d7d7', 189 : '#d7d7ff', + \ 190 : '#d7ff00', 191 : '#d7ff5f', 192 : '#d7ff87', 193 : '#d7ffaf', 194 : '#d7ffd7', 195 : '#d7ffff', + \ 196 : '#ff0000', 197 : '#ff005f', 198 : '#ff0087', 199 : '#ff00af', 200 : '#ff00d7', 201 : '#ff00ff', + \ 202 : '#ff5f00', 203 : '#ff5f5f', 204 : '#ff5f87', 205 : '#ff5faf', 206 : '#ff5fd7', 207 : '#ff5fff', + \ 208 : '#ff8700', 209 : '#ff875f', 210 : '#ff8787', 211 : '#ff87af', 212 : '#ff87d7', 213 : '#ff87ff', + \ 214 : '#ffaf00', 215 : '#ffaf5f', 216 : '#ffaf87', 217 : '#ffafaf', 218 : '#ffafd7', 219 : '#ffafff', + \ 220 : '#ffd700', 221 : '#ffd75f', 222 : '#ffd787', 223 : '#ffd7af', 224 : '#ffd7d7', 225 : '#ffd7ff', + \ 226 : '#ffff00', 227 : '#ffff5f', 228 : '#ffff87', 229 : '#ffffaf', 230 : '#ffffd7', 231 : '#ffffff', + \ + \ 232 : '#080808', 233 : '#121212', 234 : '#1c1c1c', 235 : '#262626', 236 : '#303030', 237 : '#3a3a3a', + \ 238 : '#444444', 239 : '#4e4e4e', 240 : '#585858', 241 : '#606060', 242 : '#666666', 243 : '#767676', + \ 244 : '#808080', 245 : '#8a8a8a', 246 : '#949494', 247 : '#9e9e9e', 248 : '#a8a8a8', 249 : '#b2b2b2', + \ 250 : '#bcbcbc', 251 : '#c6c6c6', 252 : '#d0d0d0', 253 : '#dadada', 254 : '#e4e4e4', 255 : '#eeeeee', + \ } + +" ========|=========== +" Red | 160 168 +" Blue | 67 68 111 +" Yellow | 114 179 +" Orange | 173 178 +" Purple | 140 +" Magenta | 128 +" ========|=========== + +let s:colors = { + \ 16: '#292b2e', 24: '#3C8380', 28: '#c269fe', 30: '#2aa1ae', 36: '#20af81', 40: '#00ff00', + \ 59: '#FF73B9', 68: '#4f97d7', 75: '#FF62B0', 76: '#86dc2f', 81: '#f9bb00', 88: '#330033', + \ 104: '#df90ff', 114: '#67b11d', 128: '#e76a49', 135: '#B7B7FF', 136: '#dc752f', 139: '#d698fe', + \ 140: '#b888e2', 141: '#9a9aba', 151: '#74BAAC', 160: '#e0211d', 161: '#E469FE', 167: '#ce537a', + \ 168: '#ce537a', 169: '#bc6ec5', 170: '#bc6ec5', 171: '#6094DB', 173: '#e18254', 176: '#E697E6', + \ 177: '#D881ED', 178: '#d1951d', 179: '#d4b261', 196: '#e0211d', 204: '#ce537a', 207: '#FF68DD', + \ 214: '#FF4848', 218: '#d19a66', 225: '#FFC8C8', 229: '#fff06a', 233: '#303030', 234: '#212026', + \ 235: '#292b2e', 236: '#34323e', 238: '#544a65', 239: '#44505c', 241: '#534b5d', 243: '#65737e', + \ 244: '#b4d1b6', + \ } + +function! s:hi(item, fg, bg, cterm, gui) + let l:fg = empty(a:fg) ? '' : printf('ctermfg=%d guifg=%s', a:fg, get(s:colors, a:fg, s:color256[a:fg])) + let l:bg = empty(a:bg) ? '' : printf('ctermbg=%d guibg=%s', a:bg, get(s:colors, a:bg, s:color256[a:bg])) + let l:style = printf('cterm=%s gui=%s', a:cterm, a:gui) + execute 'hi '.a:item.' '.l:fg.' '.l:bg.' '.l:style +endfunction + +let s:fg = 249 +let s:bg = get(g:, 'space_vim_dark_background', 235) +let s:bg = max([s:bg, 233]) + +let s:bias = s:bg - 235 +let s:bg0 = s:bg - 1 +let s:bg1 = s:bg + 1 +let s:bg2 = s:bg + 2 +let s:bg3 = s:bg + 3 +let s:bg4 = s:bg + 4 + +" call s:hi(item, fg, bg, cterm, gui) + +call s:hi('Normal' , 249 , s:bg , 'None' , 'None') +call s:hi('Cursor' , 235 , 178 , 'bold' , 'bold') + +call s:hi('LineNr' , 239+s:bias , s:bg0 , 'None' , 'None') + +call s:hi('CursorLine' , '' , s:bg0 , 'None' , 'None') +call s:hi('CursorLineNr' , 170 , s:bg0 , 'None' , 'None') +call s:hi('CursorColumn' , '' , s:bg0 , 'None' , 'None') +call s:hi('ColorColumn' , '' , s:bg0 , 'None' , 'None') + +" bug. opposite here. +call s:hi('StatusLine' , 140 , s:bg2 , 'None' , 'None') +call s:hi('StatusLineNC' , 242 , s:bg1 , 'None' , 'None') + +call s:hi('StatusLineTerm' , 140 , s:bg2 , 'bold' , 'bold') +call s:hi('StatusLineTermNC' , 244 , s:bg1 , 'bold' , 'bold') + +call s:hi('TabLine' , 66 , s:bg3 , 'None' , 'None') +call s:hi('TabLineSel' , 178 , s:bg4 , 'None' , 'None') +call s:hi('TabLineFill' , 145 , s:bg2 , 'None' , 'None') + +call s:hi('WildMenu' , 214 , s:bg3 , 'None' , 'None') + +call s:hi('Boolean' , 178 , '' , 'None' , 'None') +call s:hi('Character' , 75 , '' , 'None' , 'None') +call s:hi('Number' , 176 , '' , 'None' , 'None') +call s:hi('Float' , 135 , '' , 'None' , 'None') +call s:hi('String' , 36 , '' , 'None' , 'None') +call s:hi('Conditional' , 68 , '' , 'bold' , 'bold') +call s:hi('Constant' , 218 , '' , 'None' , 'None') +call s:hi('Debug' , 225 , '' , 'None' , 'None') +call s:hi('Define' , 177 , '' , 'None' , 'None') +call s:hi('Delimiter' , 151 , '' , 'None' , 'None') + +hi DiffAdd term=bold cterm=reverse ctermfg=107 ctermbg=235 gui=reverse guifg=#8ec07c guibg=#32322c +hi DiffChange term=bold cterm=reverse ctermfg=142 ctermbg=235 gui=reverse guifg=#b8bb26 guibg=#29422d +hi DiffDelete term=bold cterm=reverse ctermfg=160 ctermbg=235 gui=reverse guifg=#e0211d guibg=#282828 +hi DiffText term=reverse cterm=reverse ctermfg=214 ctermbg=235 gui=reverse guifg=#fabd2f guibg=#282828 + +call s:hi('Exception' , 204 , '' , 'bold' , 'bold') +call s:hi('Function' , 169 , '' , 'bold' , 'bold') +call s:hi('Identifier' , 167 , '' , 'None' , 'None') +call s:hi('Ignore' , 244 , '' , 'None' , 'None') +call s:hi('Operator' , 111 , '' , 'None' , 'None') +call s:hi('FoldColumn' , 67 , s:bg1 , 'None' , 'None') +call s:hi('Folded' , 133 , s:bg1 , 'bold' , 'bold') + +call s:hi('PreCondit' , 139 , '' , 'None' , 'None') +call s:hi('PreProc' , 176 , '' , 'None' , 'None') +call s:hi('Question' , 81 , '' , 'None' , 'None') + +call s:hi('Directory' , 67 , '' , 'bold' , 'bold') +call s:hi('Repeat' , 68 , '' , 'bold' , 'bold') +call s:hi('Keyword' , 68 , '' , 'bold' , 'bold') +call s:hi('Statement' , 68 , '' , 'None' , 'None') +call s:hi('Structure' , 68 , '' , 'bold' , 'bold') + +call s:hi('Label' , 104 , '' , 'None' , 'None') +call s:hi('Macro' , 140 , '' , 'None' , 'None') + +call s:hi('Type' , 68 , '' , 'None' , 'None') +call s:hi('Typedef' , 68 , '' , 'None' , 'None') +call s:hi('Underlined' , '' , '' , 'underline' , 'underline') + +call s:hi('Search' , 16 , 76 , 'bold' , 'bold') +call s:hi('IncSearch' , 16 , 167 , 'bold' , 'bold') +call s:hi('MatchParen', 40 , s:bg0 , 'bold,underline', 'bold,underline') + +call s:hi('ModeMsg' , 229 , '' , 'None' , 'None') + +" Popup menu +call s:hi('Pmenu' , 141 , s:bg1 , 'None' , 'None') +call s:hi('PmenuSel' , 251 , 97 , 'None' , 'None') +call s:hi('PmenuSbar' , 28 , 233 , 'None' , 'None') +call s:hi('PmenuThumb' , 160 , 97 , 'None' , 'None') + +" SignColumn may relate to ale sign +call s:hi('SignColumn' , 118 , s:bg , 'None' , 'None') +call s:hi('Todo' , 172 , s:bg , 'bold' , 'bold') + +" VertSplit consistent with normal background to hide it +call s:hi('VertSplit' , s:bg0 , '' , 'None' , 'None') + +call s:hi('Warning' , 136 , '' , 'bold' , 'bold') +call s:hi('WarningMsg' , 136 , '' , 'bold' , 'bold') + +call s:hi('Error' , 160 , s:bg , 'bold' , 'bold') +call s:hi('ErrorMsg' , 196 , s:bg , 'bold' , 'bold') + +call s:hi('Special' , 169 , '' , 'None' , 'None') +call s:hi('SpecialKey' , 59 , '' , 'None' , 'None') +call s:hi('SpecialChar' , 171 , '' , 'bold' , 'bold') +call s:hi('SpecialComment' , 243 , '' , 'None' , 'None') + +call s:hi('SpellBad' , 168 , 52 , 'underline' , 'undercurl') +call s:hi('SpellCap' , 110 , 25 , 'underline' , 'undercurl') +call s:hi('SpellLocal' , 253 , '' , 'underline' , 'undercurl') +call s:hi('SpellRare' , 218 , '' , 'underline' , 'undercurl') + +call s:hi('Tag' , 161 , '' , 'None' , 'None') +call s:hi('Title' , 176 , '' , 'None' , 'None') +call s:hi('StorageClass' , 178 , '' , 'bold' , 'bold') + +call s:hi('Comment' , 30 , '' , 'None' , 'italic') +call s:hi('Visual' , '' , s:bg3 , 'None' , 'None') +call s:hi('VisualNOS' , '' , s:bg3 , 'None' , 'None') + +" tilde group +call s:hi('NonText' , 241 , '' , 'None' , 'None') + +call s:hi('Terminal' , 249 , s:bg , 'None' , 'None') + +call s:hi('diffAdded' , 36 , '' , 'None' , 'None') +call s:hi('diffRemoved' , 167 , '' , 'None' , 'None') + +hi MatchParen guibg=NONE +hi SignColumn guibg=NONE + +hi link qfLineNr Type + +""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Language +""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" markdown +call s:hi('markdownH1' , 68 , '' , 'bold' , 'bold') +call s:hi('markdownH2' , 36 , '' , 'bold' , 'bold') +call s:hi('markdownH3' , 114 , '' , 'bold' , 'bold') +call s:hi('markdownH4' , 178 , '' , 'bold' , 'bold') +call s:hi('markdownH5' , 68 , '' , 'None' , 'None') +call s:hi('markdownH6' , 36 , '' , 'None' , 'None') +call s:hi('mkdCode' , 114 , '' , 'None' , 'None') +call s:hi('mkdItalic' , 36 , '' , 'None' , 'italic') + +" c +call s:hi('cConstant' , 178 , '' , 'none' , 'none') +call s:hi('cCustomClass' , 167 , '' , 'bold' , 'bold') + +" cpp +call s:hi('cppSTLexception', 199, '', 'bold', 'bold') +call s:hi('cppSTLnamespace', 178, '', 'bold', 'bold') + +" css +call s:hi('cssTagName' , 68 , '' , 'bold' , 'bold') +call s:hi('cssProp' , 169 , '' , 'bold' , 'bold') + +" dot +call s:hi('dotKeyChar' , 176 , '' , 'none' , 'none') +call s:hi('dotType' , 178 , '' , 'none' , 'none') + +" sh +call s:hi('shSet' , 68 , '' , 'bold' , 'bold') +call s:hi('shLoop' , 68 , '' , 'bold' , 'bold') +call s:hi('shFunctionKey' , 68 , '' , 'bold' , 'bold') +call s:hi('shTestOpr' , 178 , '' , 'none' , 'none') + +" solidity +call s:hi('solContract' , 178 , '' , 'bold' , 'bold') +call s:hi('solContractName' , 168 , '' , 'bold' , 'bold') +call s:hi('solBuiltinType' , 176 , '' , 'none' , 'none') + +" vimL +call s:hi('vimLet' , 68 , '' , 'bold' , 'bold') +call s:hi('vimFuncKey' , 68 , '' , 'bold' , 'bold') +call s:hi('vimCommand' , 68 , '' , 'bold' , 'bold') +call s:hi('vimMap' , 68 , '' , 'none' , 'none') +call s:hi('vimGroup' , 67 , '' , 'bold' , 'bold') +call s:hi('vimHiGroup' , 67 , '' , 'bold' , 'bold') + +" rust +call s:hi('rustKeyword' , 68 , '' , 'bold' , 'bold') +call s:hi('rustModPath' , 68 , '' , 'none' , 'none') +call s:hi('rustTrait' , 168 , '' , 'bold' , 'bold') + +" toml +call s:hi('tomlTable' , 169 , '' , 'bold' , 'bold') +call s:hi('tomlKey' , 68 , '' , 'none' , 'none') +call s:hi('tomlComment' , 30 , '' , 'none' , 'italic') + +" json +call s:hi('jsonStringSQError', 160, '', 'none', 'none') + +" xml +call s:hi('xmlTag' , 167 , '' , 'none' , 'none') +call s:hi('xmlEndTag' , 167 , '' , 'none' , 'none') +call s:hi('xmlTagName' , 167 , '' , 'none' , 'none') + +" js +call s:hi('jsReturn' , 68 , '' , 'bold' , 'bold') +hi link jsObjectKey Type +hi link jsFuncBlock Identifier +hi link jsVariableDef Title + +" go +call s:hi('goType' , 176 , '' , 'none' , 'none') +call s:hi('goFloat' , 135 , '' , 'none' , 'none') +call s:hi('goField' , 68 , '' , 'none' , 'none') +call s:hi('goTypeName' , 169 , '' , 'bold' , 'bold') +call s:hi('goFunction' , 169 , '' , 'bold' , 'bold') +call s:hi('goMethodCall' , 168 , '' , 'bold' , 'bold') +call s:hi('goReceiverType' , 114 , '' , 'none' , 'none') +call s:hi('goFunctionCall' , 169 , '' , 'bold' , 'bold') +call s:hi('goFormatSpecifier' , 68 , '' , 'none' , 'none') +call s:hi('goTypeConstructor' , 178 , '' , 'none' , 'none') +call s:hi('goPredefinedIdentifiers' , 140 , '' , 'none' , 'none') + +" make +call s:hi('makeCommands' , 68 , '' , 'none' , 'none') +call s:hi('makeSpecTarget' , 68 , '' , 'bold' , 'bold') + +" java +call s:hi('rustScopeDecl' , 68 , '' , 'bold' , 'bold') +call s:hi('javaClassDecl' , 168 , '' , 'bold' , 'bold') + +" scala +call s:hi('scalaKeyword' , 68 , '' , 'bold' , 'bold') +call s:hi('scalaNameDefinition' , 68 , '' , 'bold' , 'bold') + +" ruby +call s:hi('rubyClass' , 68 , '' , 'bold' , 'bold') +call s:hi('rubyDefine' , 68 , '' , 'bold' , 'bold') +call s:hi('rubyInterpolationDelimiter' , 176 , '' , 'none' , 'none') + +" html +hi link htmlSpecialTagName Tag +call s:hi('htmlItalic' , 36 , '' , 'None' , 'italic') +hi htmlBold cterm=bold gui=bold + +" python-mode +call s:hi('pythonLambdaExpr' , 105 , '' , 'none' , 'none') +call s:hi('pythonClass' , 207 , '' , 'bold' , 'bold') +call s:hi('pythonParameters' , 147 , '' , 'none' , 'none') +call s:hi('pythonParam' , 108 , '' , 'none' , 'none') +call s:hi('pythonBrackets' , 183 , '' , 'none' , 'none') +call s:hi('pythonClassParameters' , 111 , '' , 'none' , 'none') +call s:hi('pythonBuiltinType' , 68 , '' , 'none' , 'none') +call s:hi('pythonBuiltinObj' , 71 , '' , 'bold' , 'bold') +call s:hi('pythonBuiltinFunc' , 169 , '' , 'bold' , 'bold') +call s:hi('pythonOperator' , 68 , '' , 'bold' , 'bold') +call s:hi('pythonInclude' , 68 , '' , 'bold' , 'bold') +call s:hi('pythonSelf' , 68 , '' , 'bold' , 'bold') +call s:hi('pythonStatement' , 68 , '' , 'bold' , 'bold') +call s:hi('pythonDottedName' , 169 , '' , 'bold' , 'bold') +call s:hi('pythonDecorator' , 169 , '' , 'bold' , 'bold') +call s:hi('pythonException' , 166 , '' , 'bold' , 'bold') +call s:hi('pythonError' , 195 , '' , 'none' , 'none') +call s:hi('pythonIndentError' , 196 , '' , 'none' , 'none') +call s:hi('pythonSpaceError' , 196 , '' , 'none' , 'none') + +""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Plugins +""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" ALE +hi link ALEErrorSign Error +hi link ALEWarningSign Warning + +" vim-easymotion +call s:hi('EasyMotionTarget' , 76 , '' , 'bold' , 'bold') +call s:hi('EasyMotionTarget2First' , 162 , '' , 'bold' , 'bold') +call s:hi('EasyMotionTarget2Second' , 69 , '' , 'bold' , 'bold') + +" vim-markdown +call s:hi('htmlH1' , 68 , '' , 'bold' , 'bold') +call s:hi('htmlH2' , 36 , '' , 'bold' , 'bold') +call s:hi('htmlH3' , 114 , '' , 'bold' , 'bold') +call s:hi('htmlH4' , 178 , '' , 'bold' , 'bold') +call s:hi('htmlH5' , 68 , '' , 'None' , 'None') +call s:hi('htmlH6' , 36 , '' , 'None' , 'None') + +" vim-indent-guides +let g:indent_guides_auto_colors = 0 +call s:hi('IndentGuidesOdd' , '' , 237 , 'none' , 'none') +call s:hi('IndentGuidesEven' , '' , 239 , 'none' , 'none') + +" vim-gitgutter +call s:hi('GitGutterAdd' , 36 , '' , 'none' , 'none') +call s:hi('GitGutterChange' , 178 , '' , 'none' , 'none') +call s:hi('GitGutterDelete' , 160 , '' , 'none' , 'none') +call s:hi('GitGutterChangeDelete' , 140 , '' , 'none' , 'none') + +" vim-signify +call s:hi('SignifySignAdd' , 36 , '' , 'none' , 'none') +call s:hi('SignifySignChange' , 178 , '' , 'none' , 'none') +call s:hi('SignifySignDelete' , 160 , '' , 'none' , 'none') +call s:hi('SignifySignChangeDelete', 140 , '' , 'none' , 'none') + +" vim-startify +hi link StartifyFile Normal +call s:hi('StartifyHeader' , 177 , '' , 'none' , 'none') +call s:hi('startifySection' , 68 , '' , 'bold' , 'bold') + +" YouCompleteMe +call s:hi('YcmErrorSection' , 249 , 5 , 'none' , 'none') +call s:hi('YcmWarningSection' , 249 , 60 , 'none' , 'none') + +" vim-leader-guide +hi link LeaderGuideDesc Normal +call s:hi('LeaderGuideKeys' , 169 , '' , 'bold' , 'bold') +call s:hi('LeaderGuideBrackets' , 36 , '' , 'none' , 'none') + +" NERDTree +call s:hi('NERDTreeCWD' , 169 , '' , 'bold' , 'bold') +call s:hi('NERDTreeUp' , 68 , '' , 'bold' , 'bold') +call s:hi('NERDTreeDir' , 68 , '' , 'bold' , 'bold') +call s:hi('NERDTreeDirSlash' , 68 , '' , 'bold' , 'bold') +call s:hi('NERDTreeOpenable' , 68 , '' , 'bold' , 'bold') +call s:hi('NERDTreeClosable' , 68 , '' , 'bold' , 'bold') +call s:hi('NERDTreeExecFile' , 167 , '' , 'bold' , 'bold') +hi link NERDTreeLinkTarget Macro + +" Tagbar +call s:hi('TagbarKind' , 169 , '' , 'bold' , 'bold') +call s:hi('TagbarScope' , 169 , '' , 'bold' , 'bold') +call s:hi('TagbarHighlight' , 16 , 36 , 'bold' , 'bold') +call s:hi('TagbarNestedKind' , 68 , '' , 'bold' , 'bold') +call s:hi('TagbarVisibilityPublic' , 34 , '' , 'none' , 'none') + +" vim-signature +call s:hi('SignatureMarkText', 178, '', 'bold', 'bold') + +" vim_current_word +call s:hi('CurrentWord' , '' , s:bg1 , 'underline' , 'underline') +call s:hi('CurrentWordTwins' , '' , s:bg1 , 'none' , 'none') + +" quick-scope +call s:hi('QuickScopePrimary' , 155 , '' , 'underline' , 'underline') +call s:hi('QuickScopeSecondary' , 81 , '' , 'underline' , 'underline') + +delf s:hi +unlet s:color256 s:colors s:bg + +" Must be at the end, because of ctermbg=234 bug. +" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ +set background=dark diff --git a/setup/config/vim-vimrc b/setup/config/vim-vimrc index 6b796be..3efdba5 100644 --- a/setup/config/vim-vimrc +++ b/setup/config/vim-vimrc @@ -6,9 +6,35 @@ set softtabstop=4 set expandtab filetype plugin indent on -set t_Co=256 +set background=dark +set termguicolors syntax enable -colorscheme colorful256 + +" https://www.vim.org/scripts/script.php?script_id=2034 +"colorscheme colorful256 + +" https://github.com/toupeira/vim-desertink +colorscheme desertink + +" https://github.com/sainnhe/everforest +"colorscheme everforest + +" https://github.com/morhetz/gruvbox +"colorscheme gruvbox + +" https://github.com/nanotech/jellybeans.vim +"colorscheme jellybeans + +" https://github.com/liuchengxu/space-vim-dark +"colorscheme space-vim-dark + +" force transparent background (not recommended for colorful256) +hi Normal ctermbg=NONE guibg=NONE + +" ignore built-in colors except default +set wildignore+=blue.vim,darkblue.vim,delek.vim,desert.vim,elflord.vim,evening.vim, + \habamax.vim,industry.vim,koehler.vim,lunaperche.vim,morning.vim,murphy.vim, + \pablo.vim,peachpuff.vim,quiet.vim,ron.vim,shine.vim,slate.vim,torte.vim,zellner.vim map OH map OF