From f2155314abb0b131617c4a12ce75a7c289b6cedc Mon Sep 17 00:00:00 2001 From: tomit4 Date: Sat, 25 Sep 2021 07:27:36 -0700 Subject: [PATCH] updated nvim --- nvim/colors/gruvbox.vim | 1200 +++++++++++++++++++++++++++++++++++++++ nvim/colors/molokai.vim | 276 +++++++++ nvim/colors/nord.vim | 846 +++++++++++++++++++++++++++ nvim/init.vim | 12 +- 4 files changed, 2332 insertions(+), 2 deletions(-) create mode 100644 nvim/colors/gruvbox.vim create mode 100644 nvim/colors/molokai.vim create mode 100755 nvim/colors/nord.vim diff --git a/nvim/colors/gruvbox.vim b/nvim/colors/gruvbox.vim new file mode 100644 index 00000000..7c34bab5 --- /dev/null +++ b/nvim/colors/gruvbox.vim @@ -0,0 +1,1200 @@ +" ----------------------------------------------------------------------------- +" File: gruvbox.vim +" Description: Retro groove color scheme for Vim +" Author: morhetz +" Source: https://github.com/morhetz/gruvbox +" Last Modified: 01 Sep 2015 +" ----------------------------------------------------------------------------- + +" Supporting code ------------------------------------------------------------- +" Initialisation: {{{ + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name='gruvbox' + +if !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') + let g:gruvbox_contrast='medium' +else + 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 = ['#fdf4c1', 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: {{{ + +" 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 + +" }}} + +" 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:bg4 +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:bg2 +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 + if type(a:fg) == 3 + let fg = a:fg + elseif type(a:fg) == 1 && strlen(a:fg) + let fg = [a:fg, a:fg] + else + let fg = ['NONE', 'NONE'] + endif + + " background + if a:0 >= 1 && type(a:1) == 3 + let bg = a:1 + elseif a:0 >= 1 && type(a:1) == 1 && strlen(a:1) + let bg = [a:1, a:1] + else + let bg = ['NONE', 'NONE'] + endif + + " emphasis + if a:0 >= 2 && strlen(a:2) + let emstr = a:2[:-2] + else + let emstr = 'NONE' + endif + + " special fallback + if a:0 >= 3 && type(a:3) == 3 + if g:gruvbox_guisp_fallback != 'NONE' + let fg = a:3 + endif + + if g:gruvbox_guisp_fallback == 'bg' + " bg fallback mode should invert higlighting + if emstr == 'NONE' + let emstr = 'inverse' + else + let emstr .= ',inverse' + endif + endif + endif + + let histring = ['hi', a:group, + \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], + \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], + \ 'gui=' . emstr, 'cterm=' . emstr + \ ] + + " special + if a:0 >= 3 + if type(a:3) == 3 + let specl = a:3[0] + elseif type(a:3) == 1 && strlen(a:3) + let specl = a:3 + else + let specl = 'NONE' + endif + + call add(histring, 'guisp=' . specl) + endif + + execute join(histring, ' ') +endfunction + +" }}} + +" 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', 'NONE', s:bg1) + " Screen column that the cursor is + call s:HL('CursorColumn', 'NONE', s:bg1) + + " Tab pages line filler + call s:HL('TabLineFill', s:bg4, 'bg', s:invert_tabline) + " Active tab page label + call s:HL('TabLineSel', 'bg', s:bg4, s:bold . s:invert_tabline) + " Not active tab page label + call s:HL('TabLine', s:bg4, 'bg', s:invert_tabline) + + " Match paired bracket under the cursor + call s:HL('MatchParen', 'NONE', s:bg3, s:bold) +endif + +if version >= 703 + " Highlighted screen columns + call s:HL('ColorColumn', 'NONE', s:color_column) + + " Concealed element: \lambda → λ + call s:HL('Conceal', s:blue, 'NONE') + + " Line number of CursorLine + call s:HL('CursorLineNr', s:yellow, s:bg1) +endif + +call s:HL('NonText', s:bg2) +call s:HL('SpecialKey', s:bg2) + +call s:HL('Visual', 'NONE', s:bg3, s:invert_selection) +call s:HL('VisualNOS', 'NONE', s:bg3, s:invert_selection) + +call s:HL('Search', s:bg0, s:yellow) +call s:HL('IncSearch', s:bg0, s:hls_cursor) + +call s:HL('Underlined', s:blue, 'NONE', s:underline) + +call s:HL('StatusLine', s:bg4, s:bg0, s:bold . s:inverse) +call s:HL('StatusLineNC', s:bg2, s:fg4, s:bold . s:inverse) + +" The column separating vertically split windows +call s:HL('VertSplit', s:fg4, s:vert_split) + +" Current match in wildmenu completion +call s:HL('WildMenu', s:blue, s:bg2, s:bold) + +" Directory names, special names in listing +call s:HL('Directory', s:green, 'NONE', s:bold) + +" Titles for output from :set all, :autocmd, etc. +call s:HL('Title', s:green, 'NONE', s:bold) + +" Error messages on the command line +call s:HL('ErrorMsg', 'bg', s:red, s:bold) +" More prompt: -- More -- +call s:HL('MoreMsg', s:yellow, 'NONE', s:bold) +" Current mode message: -- INSERT -- +call s:HL('ModeMsg', s:yellow, 'NONE', s:bold) +" 'Press enter' prompt and yes/no questions +call s:HL('Question', s:orange, 'NONE', s:bold) +" Warning messages +call s:HL('WarningMsg', s:red, 'NONE', s:bold) + +" }}} +" Gutter: {{{ + +" Line number for :number and :# commands +call s:HL('LineNr', s:number_column) + +" Column where signs are displayed +call s:HL('SignColumn', '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', 'NONE', 'NONE', s:inverse) +" Visual mode cursor, selection +call s:HL('vCursor', 'NONE', 'NONE', s:inverse) +" Input moder cursor +call s:HL('iCursor', 'NONE', 'NONE', s:inverse) +" Language mapping cursor +call s:HL('lCursor', 'NONE', 'NONE', s:inverse) + +" }}} +" Syntax Highlighting: {{{ + +if g:gruvbox_improved_strings == 0 + call s:HL('Special', s:orange) +else + call s:HL('Special', s:bg1, s:orange, s:italic) +endif + +call s:HL('Comment', s:gray, 'NONE', s:italicize_comments) +call s:HL('Todo', 'fg', 'bg', s:bold . s:italic) +call s:HL('Error', s:red, 'bg', s:bold . s:inverse) + +" Generic statement +call s:HL('Statement', s:red) +" if, then, else, endif, swicth, etc. +call s:HL('Conditional', s:red) +" for, do, while, etc. +call s:HL('Repeat', s:red) +" case, default, etc. +call s:HL('Label', s:red) +" try, catch, throw +call s:HL('Exception', s:red) +" sizeof, "+", "*", etc. +hi! link Operator Normal +" Any other keyword +call s:HL('Keyword', s:red) + +" Variable name +call s:HL('Identifier', s:blue) +" Function name +call s:HL('Function', s:green, 'NONE', s:bold) + +" Generic preprocessor +call s:HL('PreProc', s:aqua) +" Preprocessor #include +call s:HL('Include', s:aqua) +" Preprocessor #define +call s:HL('Define', s:aqua) +" Same as Define +call s:HL('Macro', s:aqua) +" Preprocessor #if, #else, #endif, etc. +call s:HL('PreCondit', s:aqua) + +" Generic constant +call s:HL('Constant', s:purple) +" Character constant: 'c', '/n' +call s:HL('Character', s:purple) +" String constant: "this is a string" +if g:gruvbox_improved_strings == 0 + call s:HL('String', s:green, 'NONE', s:italicize_strings) +else + call s:HL('String', s:bg1, s:fg1, s:italicize_strings) +endif +" Boolean constant: TRUE, false +call s:HL('Boolean', s:purple) +" Number constant: 234, 0xff +call s:HL('Number', s:purple) +" Floating point constant: 2.3e10 +call s:HL('Float', s:purple) + +" Generic type +call s:HL('Type', s:yellow) +" static, register, volatile, etc +call s:HL('StorageClass', s:orange) +" struct, union, enum, etc. +call s:HL('Structure', s:aqua) +" typedef +call s:HL('Typedef', s:yellow) + +" }}} +" 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', 'NONE', s:bg2) + " Popup menu: scrollbar thumb + call s:HL('PmenuThumb', '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', 'NONE', 'NONE', s:undercurl, s:red) + else + call s:HL('SpellCap', s:green, 'NONE', s:bold . s:italic) + endif + " Not recognized word + call s:HL('SpellBad', 'NONE', 'NONE', s:undercurl, s:blue) + " Wrong spelling for selected region + call s:HL('SpellLocal', 'NONE', 'NONE', s:undercurl, s:aqua) + " Rare word + call s:HL('SpellRare', 'NONE', 'NONE', s:undercurl, s:purple) +endif + +" }}} + +" Plugin specific ------------------------------------------------------------- +" EasyMotion: {{{ + +hi! link EasyMotionTarget Search +hi! link EasyMotionShade Comment + +" }}} +" Sneak: {{{ + +hi! link SneakPluginTarget Search +hi! link SneakStreakTarget Search +call s:HL('SneakStreakMask', s:yellow, s:yellow) +hi! link SneakStreakStatusLine 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', 'bg', s:bg2) + call s:HL('IndentGuidesEven', 'bg', s:bg1) + else + call s:HL('IndentGuidesOdd', 'bg', s:bg2, s:inverse) + call s:HL('IndentGuidesEven', '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: {{{ + +call s:HL('GitGutterAdd', s:green, s:sign_column, s:invert_signs) +call s:HL('GitGutterChange', s:aqua, s:sign_column, s:invert_signs) +call s:HL('GitGutterDelete', s:red, s:sign_column, s:invert_signs) +call s:HL('GitGutterChangeDelete', s:aqua, s:sign_column, s:invert_signs) + +" }}} +" GitCommit: "{{{ + +call s:HL('gitcommitSelectedFile', s:green) +call s:HL('gitcommitDiscardedFile', s:red) + +" }}} +" Signify: {{{ + +call s:HL('SignifySignAdd', s:green, s:sign_column, s:invert_signs) +call s:HL('SignifySignChange ', s:aqua, s:sign_column, s:invert_signs) +call s:HL('SignifySignDelete', s:red, s:sign_column, s:invert_signs) + +" }}} +" Syntastic: {{{ + +call s:HL('SyntasticError', 'NONE', 'NONE', s:undercurl, s:red) +call s:HL('SyntasticWarning', 'NONE', 'NONE', s:undercurl, s:yellow) + +call s:HL('SyntasticErrorSign', s:red, s:sign_column, s:invert_signs) +call s:HL('SyntasticWarningSign', s:yellow, s:sign_column, s:invert_signs) + +" }}} +" Signature: {{{ + +call s:HL('SignatureMarkerText', s:purple, s:sign_column, s:invert_signs) +call s:HL('SignatureMarkText', s:blue, s:sign_column, s:invert_signs) + +let g:SignatureMarkerTextHL='"SignatureMarkerText"' +let g:SignatureMarkTextHL='"SignatureMarkText"' + +" }}} +" ShowMarks: {{{ + +call s:HL('ShowMarksHLl', s:blue, s:sign_column, s:invert_signs) +call s:HL('ShowMarksHLu', s:blue, s:sign_column, s:invert_signs) +call s:HL('ShowMarksHLo', s:blue, s:sign_column, s:invert_signs) +call s:HL('ShowMarksHLm', s:blue, s:sign_column, s:invert_signs) + +" }}} +" CtrlP: {{{ + +call s:HL('CtrlPMatch', s:yellow) +call s:HL('CtrlPNoEntries', s:red) +call s:HL('CtrlPPrtBase', s:bg2) +call s:HL('CtrlPPrtCursor', s:blue) +call s:HL('CtrlPLinePre', s:bg2) + +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: {{{ + +call s:HL('StartifyBracket', s:fg3) +call s:HL('StartifyFile', s:fg0) +call s:HL('StartifyNumber', s:blue) +call s:HL('StartifyPath', s:gray) +call s:HL('StartifySlash', s:gray) +call s:HL('StartifySection', s:yellow) +call s:HL('StartifySpecial', s:bg2) +call s:HL('StartifyHeader', s:orange) +call s:HL('StartifyFooter', s:bg2) + +" }}} +" 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] + \ ] + +" }}} + +" Filetype specific ----------------------------------------------------------- +" Diff: {{{ + +call s:HL('diffAdded', s:green) +call s:HL('diffRemoved', s:red) +call s:HL('diffChanged', s:aqua) + +call s:HL('diffFile', s:orange) +call s:HL('diffNewFile', s:yellow) + +call s:HL('diffLine', s:blue) + +" }}} +" Html: {{{ + +call s:HL('htmlTag', s:blue) +call s:HL('htmlEndTag', s:blue) + +call s:HL('htmlTagName', s:aqua, 'NONE', s:bold) +call s:HL('htmlArg', s:aqua) + +call s:HL('htmlScriptTag', s:purple) +call s:HL('htmlTagN', s:fg1) +call s:HL('htmlSpecialTagName', s:aqua, 'NONE', s:bold) + +call s:HL('htmlLink', s:fg4, 'NONE', s:underline) + +call s:HL('htmlSpecialChar', s:orange) + +call s:HL('htmlBold', 'fg', 'bg', s:bold) +call s:HL('htmlBoldUnderline', 'fg', 'bg', s:bold . s:underline) +call s:HL('htmlBoldItalic', 'fg', 'bg', s:bold . s:italic) +call s:HL('htmlBoldUnderlineItalic', 'fg', 'bg', s:bold . s:underline . s:italic) + +call s:HL('htmlUnderline', 'fg', 'bg', s:underline) +call s:HL('htmlUnderlineItalic', 'fg', 'bg', s:underline . s:italic) +call s:HL('htmlItalic', 'fg', 'bg', s:italic) + +" }}} +" Xml: {{{ + +call s:HL('xmlTag', s:blue) +call s:HL('xmlEndTag', s:blue) +call s:HL('xmlTagName', s:blue) +call s:HL('xmlEqual', s:blue) +call s:HL('docbkKeyword', s:aqua, 'NONE', s:bold) + +call s:HL('xmlDocTypeDecl', s:gray) +call s:HL('xmlDocTypeKeyword', s:purple) +call s:HL('xmlCdataStart', s:gray) +call s:HL('xmlCdataCdata', s:purple) +call s:HL('dtdFunction', s:gray) +call s:HL('dtdTagName', s:purple) + +call s:HL('xmlAttrib', s:aqua) +call s:HL('xmlProcessingDelim', s:gray) +call s:HL('dtdParamEntityPunct', s:gray) +call s:HL('dtdParamEntityDPunct', s:gray) +call s:HL('xmlAttribPunct', s:gray) + +call s:HL('xmlEntity', s:orange) +call s:HL('xmlEntityPunct', s:orange) +" }}} +" Vim: {{{ + +call s:HL('vimCommentTitle', s:fg4_256, 'NONE', s:bold . s:italicize_comments) + +call s:HL('vimNotation', s:orange) +call s:HL('vimBracket', s:orange) +call s:HL('vimMapModKey', s:orange) +call s:HL('vimFuncSID', s:fg3) +call s:HL('vimSetSep', s:fg3) +call s:HL('vimSep', s:fg3) +call s:HL('vimContinue', s:fg3) + +" }}} +" Clojure: {{{ + +call s:HL('clojureKeyword', s:blue) +call s:HL('clojureCond', s:orange) +call s:HL('clojureSpecial', s:orange) +call s:HL('clojureDefine', s:orange) + +call s:HL('clojureFunc', s:yellow) +call s:HL('clojureRepeat', s:yellow) +call s:HL('clojureCharacter', s:aqua) +call s:HL('clojureStringEscape', s:aqua) +call s:HL('clojureException', s:red) + +call s:HL('clojureRegexp', s:aqua) +call s:HL('clojureRegexpEscape', s:aqua) +call s:HL('clojureRegexpCharClass', s:fg3, 'NONE', s:bold) +call s:HL('clojureRegexpMod', s:fg3, 'NONE', s:bold) +call s:HL('clojureRegexpQuantifier', s:fg3, 'NONE', s:bold) + +call s:HL('clojureParen', s:fg3) +call s:HL('clojureAnonArg', s:yellow) +call s:HL('clojureVariable', s:blue) +call s:HL('clojureMacro', s:orange) + +call s:HL('clojureMeta', s:yellow) +call s:HL('clojureDeref', s:yellow) +call s:HL('clojureQuote', s:yellow) +call s:HL('clojureUnquote', s:yellow) + +" }}} +" C: {{{ + +call s:HL('cOperator', s:purple) +call s:HL('cStructure', s:orange) + +" }}} +" Python: {{{ + +call s:HL('pythonBuiltin', s:orange) +call s:HL('pythonBuiltinObj', s:orange) +call s:HL('pythonBuiltinFunc', s:orange) +call s:HL('pythonFunction', s:aqua) +call s:HL('pythonDecorator', s:red) +call s:HL('pythonInclude', s:blue) +call s:HL('pythonImport', s:blue) +call s:HL('pythonRun', s:blue) +call s:HL('pythonCoding', s:blue) +call s:HL('pythonOperator', s:red) +call s:HL('pythonExceptions', s:purple) +call s:HL('pythonBoolean', s:purple) +call s:HL('pythonDot', s:fg3) + +" }}} +" CSS: {{{ + +call s:HL('cssBraces', s:blue) +call s:HL('cssFunctionName', s:yellow) +call s:HL('cssIdentifier', s:orange) +call s:HL('cssClassName', s:green) +call s:HL('cssColor', s:blue) +call s:HL('cssSelectorOp', s:blue) +call s:HL('cssSelectorOp2', s:blue) +call s:HL('cssImportant', s:green) +call s:HL('cssVendor', s:fg1) + +call s:HL('cssTextProp', s:aqua) +call s:HL('cssAnimationProp', s:aqua) +call s:HL('cssUIProp', s:yellow) +call s:HL('cssTransformProp', s:aqua) +call s:HL('cssTransitionProp', s:aqua) +call s:HL('cssPrintProp', s:aqua) +call s:HL('cssPositioningProp', s:yellow) +call s:HL('cssBoxProp', s:aqua) +call s:HL('cssFontDescriptorProp', s:aqua) +call s:HL('cssFlexibleBoxProp', s:aqua) +call s:HL('cssBorderOutlineProp', s:aqua) +call s:HL('cssBackgroundProp', s:aqua) +call s:HL('cssMarginProp', s:aqua) +call s:HL('cssListProp', s:aqua) +call s:HL('cssTableProp', s:aqua) +call s:HL('cssFontProp', s:aqua) +call s:HL('cssPaddingProp', s:aqua) +call s:HL('cssDimensionProp', s:aqua) +call s:HL('cssRenderProp', s:aqua) +call s:HL('cssColorProp', s:aqua) +call s:HL('cssGeneratedContentProp', s:aqua) + +" }}} +" JavaScript: {{{ + +call s:HL('javaScriptBraces', s:fg1) +call s:HL('javaScriptFunction', s:aqua) +call s:HL('javaScriptIdentifier', s:red) +call s:HL('javaScriptMember', s:blue) +call s:HL('javaScriptNumber', s:purple) +call s:HL('javaScriptNull', s:purple) +call s:HL('javaScriptParens', s:fg3) + +" }}} +" YAJS: {{{ + +call s:HL('javascriptImport', s:aqua) +call s:HL('javascriptExport', s:aqua) +call s:HL('javascriptClassKeyword', s:aqua) +call s:HL('javascriptClassExtends', s:aqua) +call s:HL('javascriptDefault', s:aqua) + +call s:HL('javascriptClassName', s:yellow) +call s:HL('javascriptClassSuperName', s:yellow) +call s:HL('javascriptGlobal', s:yellow) + +call s:HL('javascriptEndColons', s:fg1) +call s:HL('javascriptFuncArg', s:fg1) +call s:HL('javascriptGlobalMethod', s:fg1) +call s:HL('javascriptNodeGlobal', s:fg1) + +" call s:HL('javascriptVariable', s:orange) +call s:HL('javascriptVariable', s:red) +" call s:HL('javascriptIdentifier', s:orange) +" call s:HL('javascriptClassSuper', s:orange) +call s:HL('javascriptIdentifier', s:orange) +call s:HL('javascriptClassSuper', s:orange) + +" call s:HL('javascriptFuncKeyword', s:orange) +" call s:HL('javascriptAsyncFunc', s:orange) +call s:HL('javascriptFuncKeyword', s:aqua) +call s:HL('javascriptAsyncFunc', s:aqua) +call s:HL('javascriptClassStatic', s:orange) + +call s:HL('javascriptOperator', s:red) +call s:HL('javascriptForOperator', s:red) +call s:HL('javascriptYield', s:red) +call s:HL('javascriptExceptions', s:red) +call s:HL('javascriptMessage', s:red) + +call s:HL('javascriptTemplateSB', s:aqua) +call s:HL('javascriptTemplateSubstitution', s:fg1) + +" call s:HL('javascriptLabel', s:blue) +" call s:HL('javascriptObjectLabel', s:blue) +" call s:HL('javascriptPropertyName', s:blue) +call s:HL('javascriptLabel', s:fg1) +call s:HL('javascriptObjectLabel', s:fg1) +call s:HL('javascriptPropertyName', s:fg1) + +call s:HL('javascriptLogicSymbols', s:fg1) +call s:HL('javascriptArrowFunc', s:fg1) + +call s:HL('javascriptDocParamName', s:fg4) +call s:HL('javascriptDocTags', s:fg4) +call s:HL('javascriptDocNotation', s:fg4) +call s:HL('javascriptDocParamType', s:fg4) +call s:HL('javascriptDocNamedParamType', s:fg4) + +" }}} +" CoffeeScript: {{{ + +call s:HL('coffeeExtendedOp', s:fg3) +call s:HL('coffeeSpecialOp', s:fg3) +call s:HL('coffeeCurly', s:orange) +call s:HL('coffeeParen', s:fg3) +call s:HL('coffeeBracket', s:orange) + +" }}} +" Ruby: {{{ + +call s:HL('rubyStringDelimiter', s:green) +call s:HL('rubyInterpolationDelimiter', s:aqua) + +" }}} +" ObjectiveC: {{{ + +call s:HL('objcTypeModifier', s:red) +call s:HL('objcDirective', s:blue) + +" }}} +" Go: {{{ + +call s:HL('goDirective', s:aqua) +call s:HL('goConstants', s:purple) +call s:HL('goDeclaration', s:red) +call s:HL('goDeclType', s:blue) +call s:HL('goBuiltins', s:orange) + +" }}} +" Lua: {{{ + +call s:HL('luaIn', s:red) +call s:HL('luaFunction', s:aqua) +call s:HL('luaTable', s:orange) + +" }}} +" MoonScript: {{{ + +call s:HL('moonSpecialOp', s:fg3) +call s:HL('moonExtendedOp', s:fg3) +call s:HL('moonFunction', s:fg3) +call s:HL('moonObject', s:yellow) + +" }}} +" Java: {{{ + +call s:HL('javaAnnotation', s:blue) +call s:HL('javaDocTags', s:aqua) +hi! link javaCommentTitle vimCommentTitle +call s:HL('javaParen', s:fg3) +call s:HL('javaParen1', s:fg3) +call s:HL('javaParen2', s:fg3) +call s:HL('javaParen3', s:fg3) +call s:HL('javaParen4', s:fg3) +call s:HL('javaParen5', s:fg3) +call s:HL('javaOperator', s:orange) + +call s:HL('javaVarArg', s:green) + +" }}} +" Elixir: {{{ + +hi! link elixirDocString Comment + +call s:HL('elixirStringDelimiter', s:green) +call s:HL('elixirInterpolationDelimiter', s:aqua) + +" }}} +" Scala: {{{ + +" NB: scala vim syntax file is kinda horrible +call s:HL('scalaNameDefinition', s:fg1) +call s:HL('scalaCaseFollowing', s:fg1) +call s:HL('scalaCapitalWord', s:fg1) +call s:HL('scalaTypeExtension', s:fg1) + +call s:HL('scalaKeyword', s:red) +call s:HL('scalaKeywordModifier', s:red) + +call s:HL('scalaSpecial', s:aqua) +call s:HL('scalaOperator', s:fg1) + +call s:HL('scalaTypeDeclaration', s:yellow) +call s:HL('scalaTypeTypePostDeclaration', s:yellow) + +call s:HL('scalaInstanceDeclaration', s:fg1) +call s:HL('scalaInterpolation', s:aqua) + +" }}} +" Markdown: {{{ + +call s:HL('markdownItalic', s:fg3, 'NONE', s:italic) + +call s:HL('markdownH1', s:green, 'NONE', s:bold) +call s:HL('markdownH2', s:green, 'NONE', s:bold) +call s:HL('markdownH3', s:yellow, 'NONE', s:bold) +call s:HL('markdownH4', s:yellow, 'NONE', s:bold) +call s:HL('markdownH5', s:yellow) +call s:HL('markdownH6', s:yellow) + +call s:HL('markdownCode', s:aqua) +call s:HL('markdownCodeBlock', s:aqua) +call s:HL('markdownCodeDelimiter', s:aqua) + +call s:HL('markdownBlockquote', s:gray) +call s:HL('markdownListMarker', s:gray) +call s:HL('markdownOrderedListMarker', s:gray) +call s:HL('markdownRule', s:gray) +call s:HL('markdownHeadingRule', s:gray) + +call s:HL('markdownUrlDelimiter', s:fg3) +call s:HL('markdownLinkDelimiter', s:fg3) +call s:HL('markdownLinkTextDelimiter', s:fg3) + +call s:HL('markdownHeadingDelimiter', s:orange) +call s:HL('markdownUrl', s:purple) +call s:HL('markdownUrlTitleDelimiter', s:green) + +call s:HL('markdownLinkText', s:gray, 'NONE', s:underline) +call s:HL('markdownIdDeclaration', s:gray, 'NONE', s:underline) + +" }}} +" Haskell: {{{ + +" call s:HL('haskellType', s:yellow) +" call s:HL('haskellOperators', s:orange) +" call s:HL('haskellConditional', s:aqua) +" call s:HL('haskellLet', s:orange) +" +call s:HL('haskellType', s:fg1) +call s:HL('haskellIdentifier', s:fg1) +call s:HL('haskellSeparator', s:fg1) +call s:HL('haskellDelimiter', s:fg4) +call s:HL('haskellOperators', s:blue) +" +call s:HL('haskellBacktick', s:orange) +call s:HL('haskellStatement', s:orange) +call s:HL('haskellConditional', s:orange) + +call s:HL('haskellLet', s:aqua) +call s:HL('haskellDefault', s:aqua) +call s:HL('haskellWhere', s:aqua) +call s:HL('haskellBottom', s:aqua) +call s:HL('haskellBlockKeywords', s:aqua) +call s:HL('haskellImportKeywords', s:aqua) +call s:HL('haskellDeclKeyword', s:aqua) +call s:HL('haskellDeriving', s:aqua) +call s:HL('haskellAssocType', s:aqua) + +call s:HL('haskellNumber', s:purple) +call s:HL('haskellPragma', s:purple) + +call s:HL('haskellString', s:green) +call s:HL('haskellChar', s:green) + +" }}} +" Json: {{{ + +call s:HL('jsonKeyword', s:green) +call s:HL('jsonQuote', s:green) +call s:HL('jsonBraces', s:fg1) +call s:HL('jsonString', s:fg1) + +" }}} + + +" Functions ------------------------------------------------------------------- +" Search Highlighting Cursor {{{ + +function! GruvboxHlsShowCursor() + call s:HL('Cursor', s:bg0, s:hls_cursor) + call s:HL('vCursor', s:bg0, s:hls_cursor) + call s:HL('iCursor', s:bg0, s:hls_cursor) + call s:HL('lCursor', s:bg0, s:hls_cursor) +endfunction + +function! GruvboxHlsHideCursor() + call s:HL('Cursor', 'NONE', 'NONE', s:inverse) + call s:HL('vCursor', 'NONE', 'NONE', s:inverse) + call s:HL('iCursor', 'NONE', 'NONE', s:inverse) + call s:HL('lCursor', 'NONE', 'NONE', s:inverse) +endfunction + +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/nvim/colors/molokai.vim b/nvim/colors/molokai.vim new file mode 100644 index 00000000..6d970539 --- /dev/null +++ b/nvim/colors/molokai.vim @@ -0,0 +1,276 @@ +" Vim color file +" +" Author: Tomas Restrepo +" https://github.com/tomasr/molokai +" +" Note: Based on the Monokai theme for TextMate +" by Wimer Hazenberg and its darker variant +" by Hamish Stuart Macpherson +" + +hi clear + +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="molokai" + +if exists("g:molokai_original") + let s:molokai_original = g:molokai_original +else + let s:molokai_original = 0 +endif + + +hi Boolean guifg=#AE81FF +hi Character guifg=#E6DB74 +hi Number guifg=#AE81FF +hi String guifg=#E6DB74 +hi Conditional guifg=#F92672 gui=bold +hi Constant guifg=#AE81FF gui=bold +hi Cursor guifg=#000000 guibg=#F8F8F0 +hi iCursor guifg=#000000 guibg=#F8F8F0 +hi Debug guifg=#BCA3A3 gui=bold +hi Define guifg=#66D9EF +hi Delimiter guifg=#8F8F8F +hi DiffAdd guibg=#13354A +hi DiffChange guifg=#89807D guibg=#4C4745 +hi DiffDelete guifg=#960050 guibg=#1E0010 +hi DiffText guibg=#4C4745 gui=italic,bold + +hi Directory guifg=#A6E22E gui=bold +hi Error guifg=#E6DB74 guibg=#1E0010 +hi ErrorMsg guifg=#F92672 guibg=#232526 gui=bold +hi Exception guifg=#A6E22E gui=bold +hi Float guifg=#AE81FF +hi FoldColumn guifg=#465457 guibg=#000000 +hi Folded guifg=#465457 guibg=#000000 +hi Function guifg=#A6E22E +hi Identifier guifg=#FD971F +hi Ignore guifg=#808080 guibg=bg +hi IncSearch guifg=#C4BE89 guibg=#000000 + +hi Keyword guifg=#F92672 gui=bold +hi Label guifg=#E6DB74 gui=none +hi Macro guifg=#C4BE89 gui=italic +hi SpecialKey guifg=#66D9EF gui=italic + +hi MatchParen guifg=#000000 guibg=#FD971F gui=bold +hi ModeMsg guifg=#E6DB74 +hi MoreMsg guifg=#E6DB74 +hi Operator guifg=#F92672 + +" complete menu +hi Pmenu guifg=#66D9EF guibg=#000000 +hi PmenuSel guibg=#808080 +hi PmenuSbar guibg=#080808 +hi PmenuThumb guifg=#66D9EF + +hi PreCondit guifg=#A6E22E gui=bold +hi PreProc guifg=#A6E22E +hi Question guifg=#66D9EF +hi Repeat guifg=#F92672 gui=bold +hi Search guifg=#000000 guibg=#FFE792 +" marks +hi SignColumn guifg=#A6E22E guibg=#232526 +hi SpecialChar guifg=#F92672 gui=bold +hi SpecialComment guifg=#7E8E91 gui=bold +hi Special guifg=#66D9EF guibg=bg gui=italic +if has("spell") + hi SpellBad guisp=#FF0000 gui=undercurl + hi SpellCap guisp=#7070F0 gui=undercurl + hi SpellLocal guisp=#70F0F0 gui=undercurl + hi SpellRare guisp=#FFFFFF gui=undercurl +endif +hi Statement guifg=#F92672 gui=bold +hi StatusLine guifg=#455354 guibg=fg +hi StatusLineNC guifg=#808080 guibg=#080808 +hi StorageClass guifg=#FD971F gui=italic +hi Structure guifg=#66D9EF +hi Tag guifg=#F92672 gui=italic +hi Title guifg=#ef5939 +hi Todo guifg=#FFFFFF guibg=bg gui=bold + +hi Typedef guifg=#66D9EF +hi Type guifg=#66D9EF gui=none +hi Underlined guifg=#808080 gui=underline + +hi VertSplit guifg=#808080 guibg=#080808 gui=bold +hi VisualNOS guibg=#403D3D +hi Visual guibg=#403D3D +hi WarningMsg guifg=#FFFFFF guibg=#333333 gui=bold +hi WildMenu guifg=#66D9EF guibg=#000000 + +hi TabLineFill guifg=#1B1D1E guibg=#1B1D1E +hi TabLine guibg=#1B1D1E guifg=#808080 gui=none + +if s:molokai_original == 1 + hi Normal guifg=#F8F8F2 guibg=#272822 + hi Comment guifg=#75715E + hi CursorLine guibg=#3E3D32 + hi CursorLineNr guifg=#FD971F gui=none + hi CursorColumn guibg=#3E3D32 + hi ColorColumn guibg=#3B3A32 + hi LineNr guifg=#BCBCBC guibg=#3B3A32 + hi NonText guifg=#75715E + hi SpecialKey guifg=#75715E +else + hi Normal guifg=#F8F8F2 guibg=#1B1D1E + hi Comment guifg=#7E8E91 + hi CursorLine guibg=#293739 + hi CursorLineNr guifg=#FD971F gui=none + hi CursorColumn guibg=#293739 + hi ColorColumn guibg=#232526 + hi LineNr guifg=#465457 guibg=#232526 + hi NonText guifg=#465457 + hi SpecialKey guifg=#465457 +end + +" +" Support for 256-color terminal +" +if &t_Co > 255 + if s:molokai_original == 1 + hi Normal ctermbg=234 + hi CursorLine ctermbg=235 cterm=none + hi CursorLineNr ctermfg=208 cterm=none + else + hi Normal ctermfg=252 ctermbg=233 + hi CursorLine ctermbg=234 cterm=none + hi CursorLineNr ctermfg=208 cterm=none + endif + hi Boolean ctermfg=135 + hi Character ctermfg=144 + hi Number ctermfg=135 + hi String ctermfg=144 + hi Conditional ctermfg=161 cterm=bold + hi Constant ctermfg=135 cterm=bold + hi Cursor ctermfg=16 ctermbg=253 + hi Debug ctermfg=225 cterm=bold + hi Define ctermfg=81 + hi Delimiter ctermfg=241 + + hi DiffAdd ctermbg=24 + hi DiffChange ctermfg=181 ctermbg=239 + hi DiffDelete ctermfg=162 ctermbg=53 + hi DiffText ctermbg=102 cterm=bold + + hi Directory ctermfg=118 cterm=bold + hi Error ctermfg=219 ctermbg=89 + hi ErrorMsg ctermfg=199 ctermbg=16 cterm=bold + hi Exception ctermfg=118 cterm=bold + hi Float ctermfg=135 + hi FoldColumn ctermfg=67 ctermbg=16 + hi Folded ctermfg=67 ctermbg=16 + hi Function ctermfg=118 + hi Identifier ctermfg=208 cterm=none + hi Ignore ctermfg=244 ctermbg=232 + hi IncSearch ctermfg=193 ctermbg=16 + + hi keyword ctermfg=161 cterm=bold + hi Label ctermfg=229 cterm=none + hi Macro ctermfg=193 + hi SpecialKey ctermfg=81 + + hi MatchParen ctermfg=233 ctermbg=208 cterm=bold + hi ModeMsg ctermfg=229 + hi MoreMsg ctermfg=229 + hi Operator ctermfg=161 + + " complete menu + hi Pmenu ctermfg=81 ctermbg=16 + hi PmenuSel ctermfg=255 ctermbg=242 + hi PmenuSbar ctermbg=232 + hi PmenuThumb ctermfg=81 + + hi PreCondit ctermfg=118 cterm=bold + hi PreProc ctermfg=118 + hi Question ctermfg=81 + hi Repeat ctermfg=161 cterm=bold + hi Search ctermfg=0 ctermbg=222 cterm=NONE + + " marks column + hi SignColumn ctermfg=118 ctermbg=235 + hi SpecialChar ctermfg=161 cterm=bold + hi SpecialComment ctermfg=245 cterm=bold + hi Special ctermfg=81 + if has("spell") + hi SpellBad ctermbg=52 + hi SpellCap ctermbg=17 + hi SpellLocal ctermbg=17 + hi SpellRare ctermfg=none ctermbg=none cterm=reverse + endif + hi Statement ctermfg=161 cterm=bold + hi StatusLine ctermfg=238 ctermbg=253 + hi StatusLineNC ctermfg=244 ctermbg=232 + hi StorageClass ctermfg=208 + hi Structure ctermfg=81 + hi Tag ctermfg=161 + hi Title ctermfg=166 + hi Todo ctermfg=231 ctermbg=232 cterm=bold + + hi Typedef ctermfg=81 + hi Type ctermfg=81 cterm=none + hi Underlined ctermfg=244 cterm=underline + + hi VertSplit ctermfg=244 ctermbg=232 cterm=bold + hi VisualNOS ctermbg=238 + hi Visual ctermbg=235 + hi WarningMsg ctermfg=231 ctermbg=238 cterm=bold + hi WildMenu ctermfg=81 ctermbg=16 + + hi Comment ctermfg=59 + hi CursorColumn ctermbg=236 + hi ColorColumn ctermbg=236 + hi LineNr ctermfg=250 ctermbg=236 + hi NonText ctermfg=59 + + hi SpecialKey ctermfg=59 + + if exists("g:rehash256") && g:rehash256 == 1 + hi Normal ctermfg=252 ctermbg=234 + hi CursorLine ctermbg=236 cterm=none + hi CursorLineNr ctermfg=208 cterm=none + + hi Boolean ctermfg=141 + hi Character ctermfg=222 + hi Number ctermfg=141 + hi String ctermfg=222 + hi Conditional ctermfg=197 cterm=bold + hi Constant ctermfg=141 cterm=bold + + hi DiffDelete ctermfg=125 ctermbg=233 + + hi Directory ctermfg=154 cterm=bold + hi Error ctermfg=222 ctermbg=233 + hi Exception ctermfg=154 cterm=bold + hi Float ctermfg=141 + hi Function ctermfg=154 + hi Identifier ctermfg=208 + + hi Keyword ctermfg=197 cterm=bold + hi Operator ctermfg=197 + hi PreCondit ctermfg=154 cterm=bold + hi PreProc ctermfg=154 + hi Repeat ctermfg=197 cterm=bold + + hi Statement ctermfg=197 cterm=bold + hi Tag ctermfg=197 + hi Title ctermfg=203 + hi Visual ctermbg=238 + + hi Comment ctermfg=244 + hi LineNr ctermfg=239 ctermbg=235 + hi NonText ctermfg=239 + hi SpecialKey ctermfg=239 + endif +end + +" 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/nvim/colors/nord.vim b/nvim/colors/nord.vim new file mode 100755 index 00000000..bfcfb064 --- /dev/null +++ b/nvim/colors/nord.vim @@ -0,0 +1,846 @@ +" Copyright (C) 2016-present Arctic Ice Studio +" Copyright (C) 2016-present Sven Greb + +" Project: Nord Vim +" Repository: https://github.com/arcticicestudio/nord-vim +" License: MIT + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name = "nord" +let s:nord_vim_version="0.18.0" +set background=dark + +let s:nord0_gui = "#2E3440" +let s:nord1_gui = "#3B4252" +let s:nord2_gui = "#434C5E" +let s:nord3_gui = "#4C566A" +let s:nord3_gui_bright = "#616E88" +let s:nord4_gui = "#D8DEE9" +let s:nord5_gui = "#E5E9F0" +let s:nord6_gui = "#ECEFF4" +let s:nord7_gui = "#8FBCBB" +let s:nord8_gui = "#88C0D0" +let s:nord9_gui = "#81A1C1" +let s:nord10_gui = "#5E81AC" +let s:nord11_gui = "#BF616A" +let s:nord12_gui = "#D08770" +let s:nord13_gui = "#EBCB8B" +let s:nord14_gui = "#A3BE8C" +let s:nord15_gui = "#B48EAD" + +let s:nord1_term = "0" +let s:nord3_term = "8" +let s:nord5_term = "7" +let s:nord6_term = "15" +let s:nord7_term = "14" +let s:nord8_term = "6" +let s:nord9_term = "4" +let s:nord10_term = "12" +let s:nord11_term = "1" +let s:nord12_term = "11" +let s:nord13_term = "3" +let s:nord14_term = "2" +let s:nord15_term = "5" + +let s:nord3_gui_brightened = [ + \ s:nord3_gui, + \ "#4e586d", + \ "#505b70", + \ "#525d73", + \ "#556076", + \ "#576279", + \ "#59647c", + \ "#5b677f", + \ "#5d6982", + \ "#5f6c85", + \ "#616e88", + \ "#63718b", + \ "#66738e", + \ "#687591", + \ "#6a7894", + \ "#6d7a96", + \ "#6f7d98", + \ "#72809a", + \ "#75829c", + \ "#78859e", + \ "#7b88a1", +\ ] + +if !exists("g:nord_bold") + let g:nord_bold = 1 +endif + +let s:bold = "bold," +if g:nord_bold == 0 + let s:bold = "" +endif + +if !exists("g:nord_italic") + if has("gui_running") || $TERM_ITALICS == "true" + let g:nord_italic = 1 + else + let g:nord_italic = 0 + endif +endif + +let s:italic = "italic," +if g:nord_italic == 0 + let s:italic = "" +endif + +let s:underline = "underline," +if ! get(g:, "nord_underline", 1) + let s:underline = "NONE," +endif + +let s:italicize_comments = "" +if exists("g:nord_italic_comments") + if g:nord_italic_comments == 1 + let s:italicize_comments = s:italic + endif +endif + +if !exists('g:nord_uniform_status_lines') + let g:nord_uniform_status_lines = 0 +endif + +function! s:logWarning(msg) + echohl WarningMsg + echomsg 'nord: warning: ' . a:msg + echohl None +endfunction + +if exists("g:nord_comment_brightness") + call s:logWarning('Variable g:nord_comment_brightness has been deprecated and will be removed in version 1.0.0!' . + \' The comment color brightness has been increased by 10% by default.' . + \' Please see https://github.com/arcticicestudio/nord-vim/issues/145 for more details.') + let g:nord_comment_brightness = 10 +endif + +if !exists("g:nord_uniform_diff_background") + let g:nord_uniform_diff_background = 0 +endif + +if !exists("g:nord_cursor_line_number_background") + let g:nord_cursor_line_number_background = 0 +endif + +if !exists("g:nord_bold_vertical_split_line") + let g:nord_bold_vertical_split_line = 0 +endif + +function! s:hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + if a:guifg != "" + exec "hi " . a:group . " guifg=" . a:guifg + endif + if a:guibg != "" + exec "hi " . a:group . " guibg=" . a:guibg + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . substitute(a:attr, "undercurl", s:underline, "") + endif + if a:guisp != "" + exec "hi " . a:group . " guisp=" . a:guisp + endif +endfunction + +"+---------------+ +"+ UI Components + +"+---------------+ +"+--- Attributes ---+ +call s:hi("Bold", "", "", "", "", s:bold, "") +call s:hi("Italic", "", "", "", "", s:italic, "") +call s:hi("Underline", "", "", "", "", s:underline, "") + +"+--- Editor ---+ +call s:hi("ColorColumn", "", s:nord1_gui, "NONE", s:nord1_term, "", "") +call s:hi("Cursor", s:nord0_gui, s:nord4_gui, "", "NONE", "", "") +call s:hi("CursorLine", "", s:nord1_gui, "NONE", s:nord1_term, "NONE", "") +call s:hi("Error", s:nord4_gui, s:nord11_gui, "", s:nord11_term, "", "") +call s:hi("iCursor", s:nord0_gui, s:nord4_gui, "", "NONE", "", "") +call s:hi("LineNr", s:nord3_gui, "NONE", s:nord3_term, "NONE", "", "") +call s:hi("MatchParen", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "", "") +call s:hi("NonText", s:nord2_gui, "", s:nord3_term, "", "", "") +call s:hi("Normal", s:nord4_gui, s:nord0_gui, "NONE", "NONE", "", "") +call s:hi("Pmenu", s:nord4_gui, s:nord2_gui, "NONE", s:nord1_term, "NONE", "") +call s:hi("PmenuSbar", s:nord4_gui, s:nord2_gui, "NONE", s:nord1_term, "", "") +call s:hi("PmenuSel", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "", "") +call s:hi("PmenuThumb", s:nord8_gui, s:nord3_gui, "NONE", s:nord3_term, "", "") +call s:hi("SpecialKey", s:nord3_gui, "", s:nord3_term, "", "", "") +call s:hi("SpellBad", s:nord11_gui, s:nord0_gui, s:nord11_term, "NONE", "undercurl", s:nord11_gui) +call s:hi("SpellCap", s:nord13_gui, s:nord0_gui, s:nord13_term, "NONE", "undercurl", s:nord13_gui) +call s:hi("SpellLocal", s:nord5_gui, s:nord0_gui, s:nord5_term, "NONE", "undercurl", s:nord5_gui) +call s:hi("SpellRare", s:nord6_gui, s:nord0_gui, s:nord6_term, "NONE", "undercurl", s:nord6_gui) +call s:hi("Visual", "", s:nord2_gui, "", s:nord1_term, "", "") +call s:hi("VisualNOS", "", s:nord2_gui, "", s:nord1_term, "", "") +"+- Neovim Support -+ +call s:hi("healthError", s:nord11_gui, s:nord1_gui, s:nord11_term, s:nord1_term, "", "") +call s:hi("healthSuccess", s:nord14_gui, s:nord1_gui, s:nord14_term, s:nord1_term, "", "") +call s:hi("healthWarning", s:nord13_gui, s:nord1_gui, s:nord13_term, s:nord1_term, "", "") +call s:hi("TermCursorNC", "", s:nord1_gui, "", s:nord1_term, "", "") + +"+- Vim 8 Terminal Colors -+ +if has('terminal') + let g:terminal_ansi_colors = [s:nord1_gui, s:nord11_gui, s:nord14_gui, s:nord13_gui, s:nord9_gui, s:nord15_gui, s:nord8_gui, s:nord5_gui, s:nord3_gui, s:nord11_gui, s:nord14_gui, s:nord13_gui, s:nord9_gui, s:nord15_gui, s:nord7_gui, s:nord6_gui] +endif + +"+- Neovim Terminal Colors -+ +if has('nvim') + let g:terminal_color_0 = s:nord1_gui + let g:terminal_color_1 = s:nord11_gui + let g:terminal_color_2 = s:nord14_gui + let g:terminal_color_3 = s:nord13_gui + let g:terminal_color_4 = s:nord9_gui + let g:terminal_color_5 = s:nord15_gui + let g:terminal_color_6 = s:nord8_gui + let g:terminal_color_7 = s:nord5_gui + let g:terminal_color_8 = s:nord3_gui + let g:terminal_color_9 = s:nord11_gui + let g:terminal_color_10 = s:nord14_gui + let g:terminal_color_11 = s:nord13_gui + let g:terminal_color_12 = s:nord9_gui + let g:terminal_color_13 = s:nord15_gui + let g:terminal_color_14 = s:nord7_gui + let g:terminal_color_15 = s:nord6_gui +endif + +"+--- Gutter ---+ +call s:hi("CursorColumn", "", s:nord1_gui, "NONE", s:nord1_term, "", "") +if g:nord_cursor_line_number_background == 0 + call s:hi("CursorLineNr", s:nord4_gui, "", "NONE", "", "NONE", "") +else + call s:hi("CursorLineNr", s:nord4_gui, s:nord1_gui, "NONE", s:nord1_term, "NONE", "") +endif +call s:hi("Folded", s:nord3_gui, s:nord1_gui, s:nord3_term, s:nord1_term, s:bold, "") +call s:hi("FoldColumn", s:nord3_gui, s:nord0_gui, s:nord3_term, "NONE", "", "") +call s:hi("SignColumn", s:nord1_gui, s:nord0_gui, s:nord1_term, "NONE", "", "") + +"+--- Navigation ---+ +call s:hi("Directory", s:nord8_gui, "", s:nord8_term, "NONE", "", "") + +"+--- Prompt/Status ---+ +call s:hi("EndOfBuffer", s:nord1_gui, "", s:nord1_term, "NONE", "", "") +call s:hi("ErrorMsg", s:nord4_gui, s:nord11_gui, "NONE", s:nord11_term, "", "") +call s:hi("ModeMsg", s:nord4_gui, "", "", "", "", "") +call s:hi("MoreMsg", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("Question", s:nord4_gui, "", "NONE", "", "", "") +if g:nord_uniform_status_lines == 0 + call s:hi("StatusLine", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "NONE", "") + call s:hi("StatusLineNC", s:nord4_gui, s:nord1_gui, "NONE", s:nord1_term, "NONE", "") + call s:hi("StatusLineTerm", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "NONE", "") + call s:hi("StatusLineTermNC", s:nord4_gui, s:nord1_gui, "NONE", s:nord1_term, "NONE", "") +else + call s:hi("StatusLine", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "NONE", "") + call s:hi("StatusLineNC", s:nord4_gui, s:nord3_gui, "NONE", s:nord3_term, "NONE", "") + call s:hi("StatusLineTerm", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "NONE", "") + call s:hi("StatusLineTermNC", s:nord4_gui, s:nord3_gui, "NONE", s:nord3_term, "NONE", "") +endif +call s:hi("WarningMsg", s:nord0_gui, s:nord13_gui, s:nord1_term, s:nord13_term, "", "") +call s:hi("WildMenu", s:nord8_gui, s:nord1_gui, s:nord8_term, s:nord1_term, "", "") + +"+--- Search ---+ +call s:hi("IncSearch", s:nord6_gui, s:nord10_gui, s:nord6_term, s:nord10_term, s:underline, "") +call s:hi("Search", s:nord1_gui, s:nord8_gui, s:nord1_term, s:nord8_term, "NONE", "") + +"+--- Tabs ---+ +call s:hi("TabLine", s:nord4_gui, s:nord1_gui, "NONE", s:nord1_term, "NONE", "") +call s:hi("TabLineFill", s:nord4_gui, s:nord1_gui, "NONE", s:nord1_term, "NONE", "") +call s:hi("TabLineSel", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "NONE", "") + +"+--- Window ---+ +call s:hi("Title", s:nord4_gui, "", "NONE", "", "NONE", "") + +if g:nord_bold_vertical_split_line == 0 + call s:hi("VertSplit", s:nord2_gui, s:nord0_gui, s:nord3_term, "NONE", "NONE", "") +else + call s:hi("VertSplit", s:nord2_gui, s:nord1_gui, s:nord3_term, s:nord1_term, "NONE", "") +endif + +"+----------------------+ +"+ Language Base Groups + +"+----------------------+ +call s:hi("Boolean", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Character", s:nord14_gui, "", s:nord14_term, "", "", "") +call s:hi("Comment", s:nord3_gui_bright, "", s:nord3_term, "", s:italicize_comments, "") +call s:hi("Conceal", "", "NONE", "", "NONE", "", "") +call s:hi("Conditional", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Constant", s:nord4_gui, "", "NONE", "", "", "") +call s:hi("Decorator", s:nord12_gui, "", s:nord12_term, "", "", "") +call s:hi("Define", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Delimiter", s:nord6_gui, "", s:nord6_term, "", "", "") +call s:hi("Exception", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Float", s:nord15_gui, "", s:nord15_term, "", "", "") +call s:hi("Function", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("Identifier", s:nord4_gui, "", "NONE", "", "NONE", "") +call s:hi("Include", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Keyword", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Label", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Number", s:nord15_gui, "", s:nord15_term, "", "", "") +call s:hi("Operator", s:nord9_gui, "", s:nord9_term, "", "NONE", "") +call s:hi("PreProc", s:nord9_gui, "", s:nord9_term, "", "NONE", "") +call s:hi("Repeat", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Special", s:nord4_gui, "", "NONE", "", "", "") +call s:hi("SpecialChar", s:nord13_gui, "", s:nord13_term, "", "", "") +call s:hi("SpecialComment", s:nord8_gui, "", s:nord8_term, "", s:italicize_comments, "") +call s:hi("Statement", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("StorageClass", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("String", s:nord14_gui, "", s:nord14_term, "", "", "") +call s:hi("Structure", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("Tag", s:nord4_gui, "", "", "", "", "") +call s:hi("Todo", s:nord13_gui, "NONE", s:nord13_term, "NONE", "", "") +call s:hi("Type", s:nord9_gui, "", s:nord9_term, "", "NONE", "") +call s:hi("Typedef", s:nord9_gui, "", s:nord9_term, "", "", "") +hi! link Annotation Decorator +hi! link Macro Define +hi! link PreCondit PreProc +hi! link Variable Identifier + +"+-----------+ +"+ Languages + +"+-----------+ +call s:hi("asciidocAttributeEntry", s:nord10_gui, "", s:nord10_term, "", "", "") +call s:hi("asciidocAttributeList", s:nord10_gui, "", s:nord10_term, "", "", "") +call s:hi("asciidocAttributeRef", s:nord10_gui, "", s:nord10_term, "", "", "") +call s:hi("asciidocHLabel", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("asciidocListingBlock", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("asciidocMacroAttributes", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("asciidocOneLineTitle", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("asciidocPassthroughBlock", s:nord9_gui, "", s:nord9_term, "", "", "") +call s:hi("asciidocQuotedMonospaced", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("asciidocTriplePlusPassthrough", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link asciidocAdmonition Keyword +hi! link asciidocAttributeRef markdownH1 +hi! link asciidocBackslash Keyword +hi! link asciidocMacro Keyword +hi! link asciidocQuotedBold Bold +hi! link asciidocQuotedEmphasized Italic +hi! link asciidocQuotedMonospaced2 asciidocQuotedMonospaced +hi! link asciidocQuotedUnconstrainedBold asciidocQuotedBold +hi! link asciidocQuotedUnconstrainedEmphasized asciidocQuotedEmphasized +hi! link asciidocURL markdownLinkText + +call s:hi("awkCharClass", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("awkPatterns", s:nord9_gui, "", s:nord9_term, "", s:bold, "") +hi! link awkArrayElement Identifier +hi! link awkBoolLogic Keyword +hi! link awkBrktRegExp SpecialChar +hi! link awkComma Delimiter +hi! link awkExpression Keyword +hi! link awkFieldVars Identifier +hi! link awkLineSkip Keyword +hi! link awkOperator Operator +hi! link awkRegExp SpecialChar +hi! link awkSearch Keyword +hi! link awkSemicolon Delimiter +hi! link awkSpecialCharacter SpecialChar +hi! link awkSpecialPrintf SpecialChar +hi! link awkVariables Identifier + +call s:hi("cIncluded", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link cOperator Operator +hi! link cPreCondit PreCondit + +call s:hi("cmakeGeneratorExpression", s:nord10_gui, "", s:nord10_term, "", "", "") + +hi! link csPreCondit PreCondit +hi! link csType Type +hi! link csXmlTag SpecialComment + +call s:hi("cssAttributeSelector", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("cssDefinition", s:nord7_gui, "", s:nord7_term, "", "NONE", "") +call s:hi("cssIdentifier", s:nord7_gui, "", s:nord7_term, "", s:underline, "") +call s:hi("cssStringQ", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link cssAttr Keyword +hi! link cssBraces Delimiter +hi! link cssClassName cssDefinition +hi! link cssColor Number +hi! link cssProp cssDefinition +hi! link cssPseudoClass cssDefinition +hi! link cssPseudoClassId cssPseudoClass +hi! link cssVendor Keyword + +call s:hi("dosiniHeader", s:nord8_gui, "", s:nord8_term, "", "", "") +hi! link dosiniLabel Type + +call s:hi("dtBooleanKey", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("dtExecKey", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("dtLocaleKey", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("dtNumericKey", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("dtTypeKey", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link dtDelim Delimiter +hi! link dtLocaleValue Keyword +hi! link dtTypeValue Keyword + +if g:nord_uniform_diff_background == 0 + call s:hi("DiffAdd", s:nord14_gui, s:nord0_gui, s:nord14_term, "NONE", "inverse", "") + call s:hi("DiffChange", s:nord13_gui, s:nord0_gui, s:nord13_term, "NONE", "inverse", "") + call s:hi("DiffDelete", s:nord11_gui, s:nord0_gui, s:nord11_term, "NONE", "inverse", "") + call s:hi("DiffText", s:nord9_gui, s:nord0_gui, s:nord9_term, "NONE", "inverse", "") +else + call s:hi("DiffAdd", s:nord14_gui, s:nord1_gui, s:nord14_term, s:nord1_term, "", "") + call s:hi("DiffChange", s:nord13_gui, s:nord1_gui, s:nord13_term, s:nord1_term, "", "") + call s:hi("DiffDelete", s:nord11_gui, s:nord1_gui, s:nord11_term, s:nord1_term, "", "") + call s:hi("DiffText", s:nord9_gui, s:nord1_gui, s:nord9_term, s:nord1_term, "", "") +endif +" Legacy groups for official git.vim and diff.vim syntax +hi! link diffAdded DiffAdd +hi! link diffChanged DiffChange +hi! link diffRemoved DiffDelete + +call s:hi("gitconfigVariable", s:nord7_gui, "", s:nord7_term, "", "", "") + +call s:hi("goBuiltins", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link goConstants Keyword + +call s:hi("helpBar", s:nord3_gui, "", s:nord3_term, "", "", "") +call s:hi("helpHyperTextJump", s:nord8_gui, "", s:nord8_term, "", s:underline, "") + +call s:hi("htmlArg", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("htmlLink", s:nord4_gui, "", "", "", "NONE", "NONE") +hi! link htmlBold Bold +hi! link htmlEndTag htmlTag +hi! link htmlItalic Italic +hi! link htmlH1 markdownH1 +hi! link htmlH2 markdownH1 +hi! link htmlH3 markdownH1 +hi! link htmlH4 markdownH1 +hi! link htmlH5 markdownH1 +hi! link htmlH6 markdownH1 +hi! link htmlSpecialChar SpecialChar +hi! link htmlTag Keyword +hi! link htmlTagN htmlTag + +call s:hi("javaDocTags", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link javaCommentTitle Comment +hi! link javaScriptBraces Delimiter +hi! link javaScriptIdentifier Keyword +hi! link javaScriptNumber Number + +call s:hi("jsonKeyword", s:nord7_gui, "", s:nord7_term, "", "", "") + +call s:hi("lessClass", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link lessAmpersand Keyword +hi! link lessCssAttribute Delimiter +hi! link lessFunction Function +hi! link cssSelectorOp Keyword + +hi! link lispAtomBarSymbol SpecialChar +hi! link lispAtomList SpecialChar +hi! link lispAtomMark Keyword +hi! link lispBarSymbol SpecialChar +hi! link lispFunc Function + +hi! link luaFunc Function + +call s:hi("markdownBlockquote", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("markdownCode", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("markdownCodeDelimiter", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("markdownFootnote", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("markdownId", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("markdownIdDeclaration", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("markdownH1", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("markdownLinkText", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("markdownUrl", s:nord4_gui, "", "NONE", "", "NONE", "") +hi! link markdownBold Bold +hi! link markdownBoldDelimiter Keyword +hi! link markdownFootnoteDefinition markdownFootnote +hi! link markdownH2 markdownH1 +hi! link markdownH3 markdownH1 +hi! link markdownH4 markdownH1 +hi! link markdownH5 markdownH1 +hi! link markdownH6 markdownH1 +hi! link markdownIdDelimiter Keyword +hi! link markdownItalic Italic +hi! link markdownItalicDelimiter Keyword +hi! link markdownLinkDelimiter Keyword +hi! link markdownLinkTextDelimiter Keyword +hi! link markdownListMarker Keyword +hi! link markdownRule Keyword +hi! link markdownHeadingDelimiter Keyword + +call s:hi("perlPackageDecl", s:nord7_gui, "", s:nord7_term, "", "", "") + +call s:hi("phpClasses", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("phpDocTags", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link phpDocCustomTags phpDocTags +hi! link phpMemberSelector Keyword + +call s:hi("podCmdText", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("podVerbatimLine", s:nord4_gui, "", "NONE", "", "", "") +hi! link podFormat Keyword + +hi! link pythonBuiltin Type +hi! link pythonEscape SpecialChar + +call s:hi("rubyConstant", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("rubySymbol", s:nord6_gui, "", s:nord6_term, "", s:bold, "") +hi! link rubyAttribute Identifier +hi! link rubyBlockParameterList Operator +hi! link rubyInterpolationDelimiter Keyword +hi! link rubyKeywordAsMethod Function +hi! link rubyLocalVariableOrMethod Function +hi! link rubyPseudoVariable Keyword +hi! link rubyRegexp SpecialChar + +call s:hi("rustAttribute", s:nord10_gui, "", s:nord10_term, "", "", "") +call s:hi("rustEnum", s:nord7_gui, "", s:nord7_term, "", s:bold, "") +call s:hi("rustMacro", s:nord8_gui, "", s:nord8_term, "", s:bold, "") +call s:hi("rustModPath", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("rustPanic", s:nord9_gui, "", s:nord9_term, "", s:bold, "") +call s:hi("rustTrait", s:nord7_gui, "", s:nord7_term, "", s:italic, "") +hi! link rustCommentLineDoc Comment +hi! link rustDerive rustAttribute +hi! link rustEnumVariant rustEnum +hi! link rustEscape SpecialChar +hi! link rustQuestionMark Keyword + +call s:hi("sassClass", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("sassId", s:nord7_gui, "", s:nord7_term, "", s:underline, "") +hi! link sassAmpersand Keyword +hi! link sassClassChar Delimiter +hi! link sassControl Keyword +hi! link sassControlLine Keyword +hi! link sassExtend Keyword +hi! link sassFor Keyword +hi! link sassFunctionDecl Keyword +hi! link sassFunctionName Function +hi! link sassidChar sassId +hi! link sassInclude SpecialChar +hi! link sassMixinName Function +hi! link sassMixing SpecialChar +hi! link sassReturn Keyword + +hi! link shCmdParenRegion Delimiter +hi! link shCmdSubRegion Delimiter +hi! link shDerefSimple Identifier +hi! link shDerefVar Identifier + +hi! link sqlKeyword Keyword +hi! link sqlSpecial Keyword + +call s:hi("vimAugroup", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("vimMapRhs", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("vimNotation", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link vimFunc Function +hi! link vimFunction Function +hi! link vimUserFunc Function + +call s:hi("xmlAttrib", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("xmlCdataStart", s:nord3_gui_bright, "", s:nord3_term, "", s:bold, "") +call s:hi("xmlNamespace", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link xmlAttribPunct Delimiter +hi! link xmlCdata Comment +hi! link xmlCdataCdata xmlCdataStart +hi! link xmlCdataEnd xmlCdataStart +hi! link xmlEndTag xmlTagName +hi! link xmlProcessingDelim Keyword +hi! link xmlTagName Keyword + +call s:hi("yamlBlockMappingKey", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link yamlBool Keyword +hi! link yamlDocumentStart Keyword + +"+----------------+ +"+ Plugin Support + +"+----------------+ +"+--- UI ---+ +" ALE +" > w0rp/ale +call s:hi("ALEWarningSign", s:nord13_gui, "", s:nord13_term, "", "", "") +call s:hi("ALEErrorSign" , s:nord11_gui, "", s:nord11_term, "", "", "") +call s:hi("ALEWarning" , s:nord13_gui, "", s:nord13_term, "", "undercurl", "") +call s:hi("ALEError" , s:nord11_gui, "", s:nord11_term, "", "undercurl", "") + +" Coc +" > neoclide/coc +call s:hi("CocWarningHighlight" , s:nord13_gui, "", s:nord13_term, "", "undercurl", "") +call s:hi("CocErrorHighlight" , s:nord11_gui, "", s:nord11_term, "", "undercurl", "") +call s:hi("CocWarningSign", s:nord13_gui, "", s:nord13_term, "", "", "") +call s:hi("CocErrorSign" , s:nord11_gui, "", s:nord11_term, "", "", "") +call s:hi("CocInfoSign" , s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("CocHintSign" , s:nord10_gui, "", s:nord10_term, "", "", "") + +" Neovim LSP +" > neovim/nvim-lspconfig +call s:hi("LspCodeLens", s:nord3_gui_bright, "", s:nord3_term, "", "", "") +call s:hi("LspDiagnosticsDefaultWarning", s:nord13_gui, "", s:nord13_term, "", "", "") +call s:hi("LspDiagnosticsDefaultError" , s:nord11_gui, "", s:nord11_term, "", "", "") +call s:hi("LspDiagnosticsDefaultInformation" , s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("LspDiagnosticsDefaultHint" , s:nord10_gui, "", s:nord10_term, "", "", "") +call s:hi("LspDiagnosticsUnderlineWarning" , s:nord13_gui, "", s:nord13_term, "", "undercurl", "") +call s:hi("LspDiagnosticsUnderlineError" , s:nord11_gui, "", s:nord11_term, "", "undercurl", "") +call s:hi("LspDiagnosticsUnderlineInformation" , s:nord8_gui, "", s:nord8_term, "", "undercurl", "") +call s:hi("LspDiagnosticsUnderlineHint" , s:nord10_gui, "", s:nord10_term, "", "undercurl", "") + +" GitGutter +" > airblade/vim-gitgutter +call s:hi("GitGutterAdd", s:nord14_gui, "", s:nord14_term, "", "", "") +call s:hi("GitGutterChange", s:nord13_gui, "", s:nord13_term, "", "", "") +call s:hi("GitGutterChangeDelete", s:nord11_gui, "", s:nord11_term, "", "", "") +call s:hi("GitGutterDelete", s:nord11_gui, "", s:nord11_term, "", "", "") + +" Signify +" > mhinz/vim-signify +call s:hi("SignifySignAdd", s:nord14_gui, "", s:nord14_term, "", "", "") +call s:hi("SignifySignChange", s:nord13_gui, "", s:nord13_term, "", "", "") +call s:hi("SignifySignChangeDelete", s:nord11_gui, "", s:nord11_term, "", "", "") +call s:hi("SignifySignDelete", s:nord11_gui, "", s:nord11_term, "", "", "") + +" fugitive.vim +" > tpope/vim-fugitive +call s:hi("gitcommitDiscardedFile", s:nord11_gui, "", s:nord11_term, "", "", "") +call s:hi("gitcommitUntrackedFile", s:nord11_gui, "", s:nord11_term, "", "", "") +call s:hi("gitcommitSelectedFile", s:nord14_gui, "", s:nord14_term, "", "", "") + +" davidhalter/jedi-vim +call s:hi("jediFunction", s:nord4_gui, s:nord3_gui, "", s:nord3_term, "", "") +call s:hi("jediFat", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, s:underline.s:bold, "") + +" NERDTree +" > scrooloose/nerdtree +call s:hi("NERDTreeExecFile", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link NERDTreeDirSlash Keyword +hi! link NERDTreeHelp Comment + +" CtrlP +" > ctrlpvim/ctrlp.vim +hi! link CtrlPMatch Keyword +hi! link CtrlPBufferHid Normal + +" vim-clap +" > liuchengxu/vim-clap +call s:hi("ClapDir", s:nord4_gui, "", "", "", "", "") +call s:hi("ClapDisplay", s:nord4_gui, s:nord1_gui, "", s:nord1_term, "", "") +call s:hi("ClapFile", s:nord4_gui, "", "", "NONE", "", "") +call s:hi("ClapMatches", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("ClapNoMatchesFound", s:nord13_gui, "", s:nord13_term, "", "", "") +call s:hi("ClapSelected", s:nord7_gui, "", s:nord7_term, "", s:bold, "") +call s:hi("ClapSelectedSign", s:nord9_gui, "", s:nord9_term, "", "", "") + +let s:clap_matches = [ + \ [s:nord8_gui, s:nord8_term] , + \ [s:nord9_gui, s:nord9_term] , + \ [s:nord10_gui, s:nord10_term] , + \ ] +for s:nord_clap_match_i in range(1,12) + let clap_match_color = s:clap_matches[s:nord_clap_match_i % len(s:clap_matches) - 1] + call s:hi("ClapMatches" . s:nord_clap_match_i, clap_match_color[0], "", clap_match_color[1], "", "", "") + call s:hi("ClapFuzzyMatches" . s:nord_clap_match_i, clap_match_color[0], "", clap_match_color[1], "", "", "") +endfor +unlet s:nord_clap_match_i + +hi! link ClapCurrentSelection PmenuSel +hi! link ClapCurrentSelectionSign ClapSelectedSign +hi! link ClapInput Pmenu +hi! link ClapPreview Pmenu +hi! link ClapProviderAbout ClapDisplay +hi! link ClapProviderColon Type +hi! link ClapProviderId Type + +" vim-indent-guides +" > nathanaelkane/vim-indent-guides +call s:hi("IndentGuidesEven", "", s:nord1_gui, "", s:nord1_term, "", "") +call s:hi("IndentGuidesOdd", "", s:nord2_gui, "", s:nord3_term, "", "") + +" vim-plug +" > junegunn/vim-plug +call s:hi("plugDeleted", s:nord11_gui, "", "", s:nord11_term, "", "") + +" vim-signature +" > kshenoy/vim-signature +call s:hi("SignatureMarkText", s:nord8_gui, "", s:nord8_term, "", "", "") + +" vim-startify +" > mhinz/vim-startify +call s:hi("StartifyFile", s:nord6_gui, "", s:nord6_term, "", "", "") +call s:hi("StartifyFooter", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("StartifyHeader", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("StartifyNumber", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("StartifyPath", s:nord8_gui, "", s:nord8_term, "", "", "") +hi! link StartifyBracket Delimiter +hi! link StartifySlash Normal +hi! link StartifySpecial Comment + +"+--- Languages ---+ +" Haskell +" > neovimhaskell/haskell-vim +call s:hi("haskellPreProc", s:nord10_gui, "", s:nord10_term, "", "", "") +call s:hi("haskellType", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link haskellPragma haskellPreProc + +" JavaScript +" > pangloss/vim-javascript +call s:hi("jsGlobalNodeObjects", s:nord8_gui, "", s:nord8_term, "", s:italic, "") +hi! link jsBrackets Delimiter +hi! link jsFuncCall Function +hi! link jsFuncParens Delimiter +hi! link jsThis Keyword +hi! link jsNoise Delimiter +hi! link jsPrototype Keyword +hi! link jsRegexpString SpecialChar + +" Pandoc +" > vim-pandoc/vim-pandoc-syntax +call s:hi("pandocDefinitionBlockTerm", s:nord7_gui, "", s:nord7_term, "", s:italic, "") +call s:hi("pandocTableDelims", s:nord3_gui, "", s:nord3_term, "", "", "") +hi! link pandocAtxHeader markdownH1 +hi! link pandocBlockQuote markdownBlockquote +hi! link pandocCiteAnchor Operator +hi! link pandocCiteKey pandocReferenceLabel +hi! link pandocDefinitionBlockMark Operator +hi! link pandocEmphasis markdownItalic +hi! link pandocFootnoteID pandocReferenceLabel +hi! link pandocFootnoteIDHead markdownLinkDelimiter +hi! link pandocFootnoteIDTail pandocFootnoteIDHead +hi! link pandocGridTableDelims pandocTableDelims +hi! link pandocGridTableHeader pandocTableDelims +hi! link pandocOperator Operator +hi! link pandocPipeTableDelims pandocTableDelims +hi! link pandocReferenceDefinition pandocReferenceLabel +hi! link pandocReferenceLabel markdownLinkText +hi! link pandocReferenceURL markdownUrl +hi! link pandocSimpleTableHeader pandocAtxHeader +hi! link pandocStrong markdownBold +hi! link pandocTableHeaderWord pandocAtxHeader +hi! link pandocUListItemBullet Operator + +" tree-sitter +" > nvim-treesitter/nvim-treesitter +if has("nvim") + hi! link TSAnnotation Annotation + hi! link TSConstBuiltin Constant + hi! link TSConstructor Function + hi! link TSEmphasis Italic + hi! link TSFuncBuiltin Function + hi! link TSFuncMacro Function + hi! link TSStringRegex SpecialChar + hi! link TSStrong Bold + hi! link TSStructure Structure + hi! link TSTagDelimiter TSTag + hi! link TSUnderline Underline + hi! link TSVariable Variable + hi! link TSVariableBuiltin Keyword +endif + +" TypeScript +" > HerringtonDarkholme/yats.vim +call s:hi("typescriptBOMWindowMethod", s:nord8_gui, "", s:nord8_term, "", s:italic, "") +call s:hi("typescriptClassName", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("typescriptDecorator", s:nord12_gui, "", s:nord12_term, "", "", "") +call s:hi("typescriptInterfaceName", s:nord7_gui, "", s:nord7_term, "", s:bold, "") +call s:hi("typescriptRegexpString", s:nord13_gui, "", s:nord13_term, "", "", "") +" TypeScript JSX + call s:hi("tsxAttrib", s:nord7_gui, "", s:nord7_term, "", "", "") +hi! link typescriptOperator Operator +hi! link typescriptBinaryOp Operator +hi! link typescriptAssign Operator +hi! link typescriptMember Identifier +hi! link typescriptDOMStorageMethod Identifier +hi! link typescriptArrowFuncArg Identifier +hi! link typescriptGlobal typescriptClassName +hi! link typescriptBOMWindowProp Function +hi! link typescriptArrowFuncDef Function +hi! link typescriptAliasDeclaration Function +hi! link typescriptPredefinedType Type +hi! link typescriptTypeReference typescriptClassName +hi! link typescriptTypeAnnotation Structure +hi! link typescriptDocNamedParamType SpecialComment +hi! link typescriptDocNotation Keyword +hi! link typescriptDocTags Keyword +hi! link typescriptImport Keyword +hi! link typescriptExport Keyword +hi! link typescriptTry Keyword +hi! link typescriptVariable Keyword +hi! link typescriptBraces Normal +hi! link typescriptObjectLabel Normal +hi! link typescriptCall Normal +hi! link typescriptClassHeritage typescriptClassName +hi! link typescriptFuncTypeArrow Structure +hi! link typescriptMemberOptionality Structure +hi! link typescriptNodeGlobal typescriptGlobal +hi! link typescriptTypeBrackets Structure +hi! link tsxEqual Operator +hi! link tsxIntrinsicTagName htmlTag +hi! link tsxTagName tsxIntrinsicTagName + +" Markdown +" > plasticboy/vim-markdown +call s:hi("mkdCode", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("mkdFootnote", s:nord8_gui, "", s:nord8_term, "", "", "") +call s:hi("mkdRule", s:nord10_gui, "", s:nord10_term, "", "", "") +call s:hi("mkdLineBreak", s:nord9_gui, "", s:nord9_term, "", "", "") +hi! link mkdBold Bold +hi! link mkdItalic Italic +hi! link mkdString Keyword +hi! link mkdCodeStart mkdCode +hi! link mkdCodeEnd mkdCode +hi! link mkdBlockquote Comment +hi! link mkdListItem Keyword +hi! link mkdListItemLine Normal +hi! link mkdFootnotes mkdFootnote +hi! link mkdLink markdownLinkText +hi! link mkdURL markdownUrl +hi! link mkdInlineURL mkdURL +hi! link mkdID Identifier +hi! link mkdLinkDef mkdLink +hi! link mkdLinkDefTarget mkdURL +hi! link mkdLinkTitle mkdInlineURL +hi! link mkdDelimiter Keyword + +" PHP +" > StanAngeloff/php.vim +call s:hi("phpClass", s:nord7_gui, "", s:nord7_term, "", "", "") +call s:hi("phpClassImplements", s:nord7_gui, "", s:nord7_term, "", s:bold, "") +hi! link phpClassExtends phpClass +hi! link phpFunction Function +hi! link phpMethod Function +hi! link phpUseClass phpClass + +" Vimwiki +" > vimwiki/vimwiki +if !exists("g:vimwiki_hl_headers") || g:vimwiki_hl_headers == 0 + for s:i in range(1,6) + call s:hi("VimwikiHeader".s:i, s:nord8_gui, "", s:nord8_term, "", s:bold, "") + endfor +else + let s:vimwiki_hcolor_guifg = [s:nord7_gui, s:nord8_gui, s:nord9_gui, s:nord10_gui, s:nord14_gui, s:nord15_gui] + let s:vimwiki_hcolor_ctermfg = [s:nord7_term, s:nord8_term, s:nord9_term, s:nord10_term, s:nord14_term, s:nord15_term] + for s:i in range(1,6) + call s:hi("VimwikiHeader".s:i, s:vimwiki_hcolor_guifg[s:i-1] , "", s:vimwiki_hcolor_ctermfg[s:i-1], "", s:bold, "") + endfor +endif + +call s:hi("VimwikiLink", s:nord8_gui, "", s:nord8_term, "", s:underline, "") +hi! link VimwikiHeaderChar markdownHeadingDelimiter +hi! link VimwikiHR Keyword +hi! link VimwikiList markdownListMarker + +" YAML +" > stephpy/vim-yaml +call s:hi("yamlKey", s:nord7_gui, "", s:nord7_term, "", "", "") + +"+------------+ +"+ Public API + +"+------------+ +"+--- Functions ---+ + +function! NordPalette() abort + let ret = {} + for color in range(16) + execute 'let ret["nord'.color.'"] = s:nord'.color.'_gui' + endfor + let ret["nord3_bright"] = s:nord3_gui_bright + return ret +endfunction diff --git a/nvim/init.vim b/nvim/init.vim index d011f5b4..5d8c927b 100644 --- a/nvim/init.vim +++ b/nvim/init.vim @@ -12,12 +12,11 @@ Plug 'ryanoasis/vim-devicons' Plug 'airblade/vim-gitgutter' Plug 'ctrlpvim/ctrlp.vim' " fuzzy find files Plug 'scrooloose/nerdcommenter' +Plug 'luochen1990/rainbow' "Plug 'prettier/vim-prettier', { 'do': 'yarn install' } "Plug 'christoomey/vim-tmux-navigator' -Plug 'morhetz/gruvbox' - Plug 'HerringtonDarkholme/yats.vim' " TS Syntax " Initialize plugin system @@ -32,6 +31,9 @@ nmap ++ plug>NERDCommenterToggle autocmd StdinReadPre * let s:std_in=1 autocmd VimEnter * NERDTree +"set colored brackets via rainbow" +let g:rainbow_active = 1 "set to 0 if you want to enable it later via :RainbowToggle" + let g:webdevicons_enable = 1 let g:webdevicons_enable_nerdtree = 1 @@ -81,8 +83,14 @@ set shiftwidth=2 " always uses spaces instead of tab characters set expandtab +if(has("termguicolors")) + set termguicolors +endif + syntax enable colorscheme gruvbox +"colorscheme nord +"colorscheme molokai " sync open file with NERDTree " " Check if NERDTree is open or active