dotfiles

My personal shell configs and stuff
git clone git://git.alex.balgavy.eu/dotfiles.git
Log | Files | Refs | Submodules | README | LICENSE

commit 1554baec5dc062c777b94f0bf1cba625100a8677
parent 7219dd47d509a01e100922371b5900440fb52653
Author: Alex Balgavy <a.balgavy@gmail.com>
Date:   Mon,  9 Mar 2020 12:06:44 +0100

vim colorscheme changes


Former-commit-id: b4234f918935152030a41f866dd4b8c89eec4e8d
Diffstat:
Mvim/colors/jokull.schemer | 12+++++++-----
Mvim/colors/jokull.vim | 39+++++++++++++++++++++++++++++++++++++--
Mvim/colors/junipero.schemer | 146+++++++++++++++++++++++++++++++++++++++++--------------------------------------
Mvim/colors/junipero.vim | 125+++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------
4 files changed, 201 insertions(+), 121 deletions(-)

diff --git a/vim/colors/jokull.schemer b/vim/colors/jokull.schemer @@ -11,7 +11,8 @@ palette: lightgreen #d7f1e0, offwhite #e5e5e5, justblue #0000FF, - justyellow #FFFF00. + justyellow #FFFF00, + softred #ff949b. " group fg_color, bg_color attribute Normal text, bg @@ -33,7 +34,7 @@ Preproc NONE Vertsplit NONE Todo justblue, justyellow Nontext #81A1C1 -Statusline NONE, #7abecd +StatusLine NONE, #7abecd Statuslinenc NONE, lightblue Visual NONE, #a8caff Title #225555. bold @@ -41,7 +42,7 @@ Matchparen lightgreen, lightblue QfFileName #0076ff Delimiter #5f5f00 Comment #5f5f5f. italic - +ErrorMsg text, softred. bold " link group1,group2,... target group link tabline tablinefill @@ -55,12 +56,13 @@ link netrwdir func link netrwexe title link netrwMarkFile incsearch link spellbad todo -link spellocal,spellrare,spellcap,markdownUrl string +link spellocal,spellrare,spellcap,markdownUrl,modemsg string link markdowncode,mkdlink,vimwikilink type link pmenu statuslinenc link pmenusel statusline +link error errormsg Diffadd NONE, #a5ffa5 Diffdelete NONE, #ffa5a5 Diffchange text, #c0beff -Difftext NONE, #a0aeff. bold +Diftext NONE, #a0aeff. bold diff --git a/vim/colors/jokull.vim b/vim/colors/jokull.vim @@ -6,6 +6,7 @@ if version > 580 endif endif let g:colors_name = "jokull" +" Highlight group definitions hi Normal guifg=#2c2625 guibg=#e4e4e4 ctermfg=0 ctermbg=254 cterm=NONE gui=NONE hi Cursorline guifg=NONE guibg=#d0d0d0 ctermfg=NONE ctermbg=252 cterm=NONE gui=NONE hi String guifg=#009051 guibg=NONE ctermfg=29 ctermbg=NONE cterm=italic gui=italic @@ -25,7 +26,7 @@ hi Preproc guifg=NONE guibg=NONE ctermfg=NONE ctermbg=NONE cterm=NONE gui=NONE hi Vertsplit guifg=NONE guibg=NONE ctermfg=NONE ctermbg=NONE cterm=NONE gui=NONE hi Todo guifg=#0000FF guibg=#FFFF00 ctermfg=21 ctermbg=11 cterm=NONE gui=NONE hi Nontext guifg=#81A1C1 guibg=NONE ctermfg=109 ctermbg=NONE cterm=NONE gui=NONE -hi Statusline guifg=NONE guibg=#7abecd ctermfg=NONE ctermbg=110 cterm=NONE gui=NONE +hi StatusLine guifg=NONE guibg=#7abecd ctermfg=NONE ctermbg=110 cterm=NONE gui=NONE hi Statuslinenc guifg=NONE guibg=#a8dbfd ctermfg=NONE ctermbg=153 cterm=NONE gui=NONE hi Visual guifg=NONE guibg=#a8caff ctermfg=NONE ctermbg=153 cterm=NONE gui=NONE hi Title guifg=#225555 guibg=NONE ctermfg=23 ctermbg=NONE cterm=bold gui=bold @@ -33,10 +34,12 @@ hi Matchparen guifg=#d7f1e0 guibg=#a8dbfd ctermfg=194 ctermbg=153 cterm=NONE gui hi QfFileName guifg=#0076ff guibg=NONE ctermfg=33 ctermbg=NONE cterm=NONE gui=NONE hi Delimiter guifg=#5f5f00 guibg=NONE ctermfg=58 ctermbg=NONE cterm=NONE gui=NONE hi Comment guifg=#5f5f5f guibg=NONE ctermfg=59 ctermbg=NONE cterm=italic gui=italic +hi ErrorMsg guifg=#2c2625 guibg=#ff949b ctermfg=0 ctermbg=210 cterm=bold gui=bold hi Diffadd guifg=NONE guibg=#a5ffa5 ctermfg=NONE ctermbg=157 cterm=NONE gui=NONE hi Diffdelete guifg=NONE guibg=#ffa5a5 ctermfg=NONE ctermbg=217 cterm=NONE gui=NONE hi Diffchange guifg=#2c2625 guibg=#c0beff ctermfg=0 ctermbg=147 cterm=NONE gui=NONE -hi Difftext guifg=NONE guibg=#a0aeff ctermfg=NONE ctermbg=147 cterm=bold gui=bold +hi Diftext guifg=NONE guibg=#a0aeff ctermfg=NONE ctermbg=147 cterm=bold gui=bold +" Link definitions hi! link precondit include hi! link tag delimiter hi! link spellocal string @@ -51,6 +54,7 @@ hi! link spellcap string hi! link spellrare string hi! link netrwMarkFile incsearch hi! link markdownUrl string +hi! link error errormsg hi! link spellbad todo hi! link number delimiter hi! link define include @@ -60,6 +64,7 @@ hi! link specialcomment delimiter hi! link pmenu statuslinenc hi! link macro include hi! link pmenusel statusline +hi! link modemsg string hi! link character constant hi! link repeat statement hi! link cursorlinenr delimiter @@ -69,3 +74,33 @@ hi! link label structure hi! link operator statement hi! link vimwikilink type hi! link specialchar delimiter +" Code to clear any groups that are not defined +let s:DefinedColors=['precondit', 'tag', 'spellocal', 'conditional', 'markdowncode', 'netrwdir', 'netrwexe', 'tabline', 'mkdlink', 'signcolumn', 'spellcap', 'spellrare', 'netrwmarkfile', 'markdownurl', 'error', 'spellbad', 'number', 'define', 'typedef', 'storageclass', 'specialcomment', 'pmenu', 'macro', 'pmenusel', 'modemsg', 'character', 'repeat', 'cursorlinenr', 'debug', 'special', 'label', 'operator', 'vimwikilink', 'specialchar', 'normal', 'cursorline', 'string', 'identifier', 'function', 'statement', 'include', 'type', 'search', 'incsearch', 'folded', 'tablinefill', 'tablinesel', 'wildmenu', 'linenr', 'preproc', 'vertsplit', 'todo', 'nontext', 'statusline', 'statuslinenc', 'visual', 'title', 'matchparen', 'qffilename', 'delimiter', 'comment', 'errormsg', 'diffadd', 'diffdelete', 'diffchange', 'diftext'] +function! s:ClearUndefinedColors(colors) + let undefined_groups = filter(a:colors->keys()->map('tolower(v:val)'), 'index(s:DefinedColors, tolower(v:val)) < 0') + call map(undefined_groups, "execute('highlight' . ' ' . v:val . ' ' . 'NONE')") +endfunction +function! s:GetHighlights() + let highlights = execute('highlight') + let highlights = substitute(highlights, '\n\s\+', ' ', 'g') + let highlights = split(highlights, '\n') + call map(highlights, "split(v:val, '\\s\\+xxx\\s\\+')") + call map(highlights, "[copy(v:val)[0], split(copy(v:val)[1])]") + return highlights +endfunction +function! s:GetColors() + let colors = {} + for [group, values] in <SID>GetHighlights() + let attributes = {} + if values[0] ==# 'links' + let attributes['links'] = values[-1] + elseif values[0] !=# 'cleared' + call map(values, "split(v:val, '=')") + call map(values, "len(v:val) == 2 ? {v:val[0]: v:val[1]} : {v:val[0] : v:val[0]}") + call map(values, "extend(attributes, v:val)") + endif + let colors[group] = attributes + endfor + return colors +endfunction +call <SID>ClearUndefinedColors(<SID>GetColors()) diff --git a/vim/colors/junipero.schemer b/vim/colors/junipero.schemer @@ -1,3 +1,6 @@ +" This scheme will have a dark background +background dark + " Set the palette palette: text #969696, @@ -6,75 +9,78 @@ palette: lightblue #2de3e6, whitepink #bebebe, whiteyellow #f0e0b2, - offwhite #f0e2e2. - -" This scheme will have a dark background -background dark + offwhite #f0e2e2, + darkblue #101124. -" Group fg_color, bg_color attribute(s) -Normal text, bg -Cursorline NONE, #222222 -Structure #0490e8, NONE. bold -Constant #5c78f0, NONE. NONE -String lightblue, NONE. italic -Float #4580b4, NONE. NONE -Boolean #fca8ad, NONE. NONE -Identifier #5094c4, NONE. NONE -Function #f9c60e, bg. bold -Number #339aff, NONE. NONE -Conditional #d0688d, bg. NONE -Operator #e8cdc0, bg. NONE -Exception #d0a8ad, bg. bold -Statement #ff6c11, NONE. NONE -Repeat #e06070, bg. NONE -Keyword whitepink, bg. bold -PreProc #ae15eb, NONE. NONE -Include #ba75cf, NONE. NONE -Type #ff3863, NONE. bold -Delimiter #aaaaca, NONE. NONE -Comment #349d58, bg. italic -NonText #382920, bg. NONE -Ignore #666666, NONE. NONE -SpecialKey #90dcb0, NONE. NONE -Underlined #bac5ba, NONE. NONE -Error NONE, #b03452. NONE -Todo #ffd500, #5c0d43. NONE -MatchParen #001122, #7b5a55. NONE -Cursor #0000aa, #cad5c0. NONE -Visual #102030, #80a0f0. NONE -VisualNOS #201a30, #a3a5FF. NONE -LineNr #2069a9, #101124. NONE -Search lightblue, #6b5469. NONE -IncSearch #babeaa, #3a4520. NONE -WildMenu #000000, #804000. NONE -VertSplit #223355, #22253c. NONE -TabLineSel #6079c9, #363649. NONE -Title #fff7fa, NONE. NONE -PmenuSel whiteyellow, #4a85ba. NONE -PmenuThumb NONE, #000000. NONE -PmenuSbar NONE, #0000ff. NONE -Pmenu #bdbdbd, #915623. NONE -Folded whitepink, #171235. NONE -FoldColumn #dbcaa5, #0a0a18. NONE -Directory #bbd0df, NONE. NONE -DiffDelete #300845, #200845. NONE -DiffText #f5f5f5, #423f00. NONE -DiffAdd #e0e3e3, #003802. NONE -DiffChange #fcfcfc, #2e032e. NONE -ModeMsg #00AACC, NONE. NONE -Question #AABBCC, #130445. NONE -MoreMsg #2e8b57, NONE. NONE -ErrorMsg offwhite, #ff4545. NONE -WarningMsg #fa8072, NONE. NONE -StatusLine #4079a9, #101130. bold +" Group fg_color, bg_color attribute(s) +Boolean #fca8ad, NONE. NONE +Comment #349d58, bg. italic +Conditional #d0688d, bg. NONE +Constant #5c78f0, NONE. NONE +Cursor #0000aa, #cad5c0. NONE +CursorLinenr #ffb500, darkblue. bold +Cursorline NONE, #222222. NONE +Delimiter #aaaaca, NONE. NONE +DiffAdd #e0e3e3, #003802. NONE +DiffChange #fcfcfc, #2e032e. NONE +DiffDelete #300845, #200845. NONE +DiffText #f5f5f5, #423f00. NONE +Directory #bbd0df, NONE. NONE +Error NONE, #b03452. NONE +ErrorMsg offwhite, #ff4545. NONE +Exception #d0a8ad, bg. bold +Float #4580b4, NONE. NONE +FoldColumn #dbcaa5, #0a0a18. NONE +Folded whitepink, #171235. NONE +Function #f9c60e, bg. bold +Identifier #5094c4, NONE. NONE +Ignore #666666, NONE. NONE +IncSearch #babeaa, #3a4520. NONE +Include #ba75cf, NONE. NONE +Keyword whitepink, bg. bold +LineNr #2069a9, darkblue. NONE +MatchParen #001122, #7b5a55. NONE +ModeMsg #00AACC, NONE. NONE +MoreMsg #2e8b57, NONE. NONE +NonText #382920, bg. NONE +Normal text, bg +Number #339aff, NONE. NONE +Operator #e8cdc0, bg. NONE +Pmenu #bdbdbd, #915623. NONE +PmenuSbar NONE, #0000ff. NONE +PmenuSel whiteyellow, #4a85ba. NONE +PmenuThumb NONE, #000000. NONE +PreProc #ae15eb, NONE. NONE +Question #AABBCC, #130445. NONE +Repeat #e06070, bg. NONE +Search lightblue, #6b5469. NONE +SpecialKey #90dcb0, NONE. NONE +Statement #ff6c11, NONE. NONE +StatusLine #4079a9, #101130. bold +String lightblue, NONE. italic +Structure #0490e8, NONE. bold +TabLineSel #6079c9, #363649. NONE +Title #fff7fa, NONE. NONE +Todo #ffd500, #5c0d43. NONE +Type #ff3863, NONE. bold +Underlined #bac5ba, NONE. NONE +VertSplit #223355, #22253c. NONE +Visual #102030, #80a0f0. NONE +VisualNOS #201a30, #a3a5FF. NONE +WarningMsg #fa8072, NONE. NONE +WildMenu #000000, #804000. NONE +GitGutterAdd #007822, darkblue. NONE +GitGutterChange #8e830e, darkblue. NONE +GitGutterDelete #6e032e, darkblue. NONE +GitGutterChangeDelete #80537e, darkblue. NONE -link Label,StorageClass,Typedef Structure -link ConId,Character,VimwikiLink Constant -link Define,Macro,PreCondit Include -link Debug,Special,SpecialChar,SpecialComment,Tag Delimiter -link StatusLineNC,TabLine,TabLineFill,SignColumn,netrwDir LineNr -link NetrwExe Title -link SpellBad Todo -link SpelLocal,SpellRare,SpellCap String -link MkdLink Type -link adaBegin,adaEnd Function +link Label,StorageClass,Typedef Structure +link ConId,Character,VimwikiLink Constant +link Define,Macro,PreCondit Include +link Debug,Special,SpecialChar,SpecialComment,Tag Delimiter +link StatusLineNC,TabLine,TabLineFill,SignColumn,netrwDir LineNr +link NetrwExe Title +link SpellBad Todo +link SpelLocal,SpellRare,SpellCap String +link MkdLink Type +link adaBegin,adaEnd Function diff --git a/vim/colors/junipero.vim b/vim/colors/junipero.vim @@ -6,61 +6,68 @@ if version > 580 endif endif let g:colors_name = "junipero" -hi Normal guifg=#969696 guibg=#11121A ctermfg=246 ctermbg=0 cterm=NONE gui=NONE -hi Cursorline guifg=NONE guibg=#222222 ctermfg=NONE ctermbg=234 cterm=NONE gui=NONE -hi Structure guifg=#0490e8 guibg=NONE ctermfg=32 ctermbg=NONE cterm=bold gui=bold +" Highlight group definitions +hi Boolean guifg=#fca8ad guibg=NONE ctermfg=217 ctermbg=NONE cterm=NONE gui=NONE +hi Comment guifg=#349d58 guibg=#11121A ctermfg=71 ctermbg=0 cterm=italic gui=italic +hi Conditional guifg=#d0688d guibg=#11121A ctermfg=168 ctermbg=0 cterm=NONE gui=NONE hi Constant guifg=#5c78f0 guibg=NONE ctermfg=69 ctermbg=NONE cterm=NONE gui=NONE -hi String guifg=#2de3e6 guibg=NONE ctermfg=6 ctermbg=NONE cterm=italic gui=italic +hi Cursor guifg=#0000aa guibg=#cad5c0 ctermfg=19 ctermbg=187 cterm=NONE gui=NONE +hi CursorLinenr guifg=#ffb500 guibg=#101124 ctermfg=214 ctermbg=0 cterm=bold gui=bold +hi Cursorline guifg=NONE guibg=#222222 ctermfg=NONE ctermbg=234 cterm=NONE gui=NONE +hi Delimiter guifg=#aaaaca guibg=NONE ctermfg=146 ctermbg=NONE cterm=NONE gui=NONE +hi DiffAdd guifg=#e0e3e3 guibg=#003802 ctermfg=188 ctermbg=22 cterm=NONE gui=NONE +hi DiffChange guifg=#fcfcfc guibg=#2e032e ctermfg=15 ctermbg=0 cterm=NONE gui=NONE +hi DiffDelete guifg=#300845 guibg=#200845 ctermfg=53 ctermbg=17 cterm=NONE gui=NONE +hi DiffText guifg=#f5f5f5 guibg=#423f00 ctermfg=15 ctermbg=58 cterm=NONE gui=NONE +hi Directory guifg=#bbd0df guibg=NONE ctermfg=152 ctermbg=NONE cterm=NONE gui=NONE +hi Error guifg=NONE guibg=#b03452 ctermfg=NONE ctermbg=131 cterm=NONE gui=NONE +hi ErrorMsg guifg=#f0e2e2 guibg=#ff4545 ctermfg=224 ctermbg=203 cterm=NONE gui=NONE +hi Exception guifg=#d0a8ad guibg=#11121A ctermfg=181 ctermbg=0 cterm=bold gui=bold hi Float guifg=#4580b4 guibg=NONE ctermfg=67 ctermbg=NONE cterm=NONE gui=NONE -hi Boolean guifg=#fca8ad guibg=NONE ctermfg=217 ctermbg=NONE cterm=NONE gui=NONE -hi Identifier guifg=#5094c4 guibg=NONE ctermfg=68 ctermbg=NONE cterm=NONE gui=NONE +hi FoldColumn guifg=#dbcaa5 guibg=#0a0a18 ctermfg=187 ctermbg=0 cterm=NONE gui=NONE +hi Folded guifg=#bebebe guibg=#171235 ctermfg=250 ctermbg=17 cterm=NONE gui=NONE hi Function guifg=#f9c60e guibg=#11121A ctermfg=220 ctermbg=0 cterm=bold gui=bold +hi Identifier guifg=#5094c4 guibg=NONE ctermfg=68 ctermbg=NONE cterm=NONE gui=NONE +hi Ignore guifg=#666666 guibg=NONE ctermfg=241 ctermbg=NONE cterm=NONE gui=NONE +hi IncSearch guifg=#babeaa guibg=#3a4520 ctermfg=145 ctermbg=58 cterm=NONE gui=NONE +hi Include guifg=#ba75cf guibg=NONE ctermfg=140 ctermbg=NONE cterm=NONE gui=NONE +hi Keyword guifg=#bebebe guibg=#11121A ctermfg=250 ctermbg=0 cterm=bold gui=bold +hi LineNr guifg=#2069a9 guibg=#101124 ctermfg=25 ctermbg=0 cterm=NONE gui=NONE +hi MatchParen guifg=#001122 guibg=#7b5a55 ctermfg=0 ctermbg=95 cterm=NONE gui=NONE +hi ModeMsg guifg=#00AACC guibg=NONE ctermfg=38 ctermbg=NONE cterm=NONE gui=NONE +hi MoreMsg guifg=#2e8b57 guibg=NONE ctermfg=29 ctermbg=NONE cterm=NONE gui=NONE +hi NonText guifg=#382920 guibg=#11121A ctermfg=1 ctermbg=0 cterm=NONE gui=NONE +hi Normal guifg=#969696 guibg=#11121A ctermfg=246 ctermbg=0 cterm=NONE gui=NONE hi Number guifg=#339aff guibg=NONE ctermfg=12 ctermbg=NONE cterm=NONE gui=NONE -hi Conditional guifg=#d0688d guibg=#11121A ctermfg=168 ctermbg=0 cterm=NONE gui=NONE hi Operator guifg=#e8cdc0 guibg=#11121A ctermfg=187 ctermbg=0 cterm=NONE gui=NONE -hi Exception guifg=#d0a8ad guibg=#11121A ctermfg=181 ctermbg=0 cterm=bold gui=bold -hi Statement guifg=#ff6c11 guibg=NONE ctermfg=202 ctermbg=NONE cterm=NONE gui=NONE -hi Repeat guifg=#e06070 guibg=#11121A ctermfg=167 ctermbg=0 cterm=NONE gui=NONE -hi Keyword guifg=#bebebe guibg=#11121A ctermfg=250 ctermbg=0 cterm=bold gui=bold +hi Pmenu guifg=#bdbdbd guibg=#915623 ctermfg=250 ctermbg=94 cterm=NONE gui=NONE +hi PmenuSbar guifg=NONE guibg=#0000ff ctermfg=NONE ctermbg=21 cterm=NONE gui=NONE +hi PmenuSel guifg=#f0e0b2 guibg=#4a85ba ctermfg=223 ctermbg=67 cterm=NONE gui=NONE +hi PmenuThumb guifg=NONE guibg=#000000 ctermfg=NONE ctermbg=0 cterm=NONE gui=NONE hi PreProc guifg=#ae15eb guibg=NONE ctermfg=5 ctermbg=NONE cterm=NONE gui=NONE -hi Include guifg=#ba75cf guibg=NONE ctermfg=140 ctermbg=NONE cterm=NONE gui=NONE -hi Type guifg=#ff3863 guibg=NONE ctermfg=203 ctermbg=NONE cterm=bold gui=bold -hi Delimiter guifg=#aaaaca guibg=NONE ctermfg=146 ctermbg=NONE cterm=NONE gui=NONE -hi Comment guifg=#349d58 guibg=#11121A ctermfg=71 ctermbg=0 cterm=italic gui=italic -hi NonText guifg=#382920 guibg=#11121A ctermfg=1 ctermbg=0 cterm=NONE gui=NONE -hi Ignore guifg=#666666 guibg=NONE ctermfg=241 ctermbg=NONE cterm=NONE gui=NONE +hi Question guifg=#AABBCC guibg=#130445 ctermfg=146 ctermbg=17 cterm=NONE gui=NONE +hi Repeat guifg=#e06070 guibg=#11121A ctermfg=167 ctermbg=0 cterm=NONE gui=NONE +hi Search guifg=#2de3e6 guibg=#6b5469 ctermfg=6 ctermbg=59 cterm=NONE gui=NONE hi SpecialKey guifg=#90dcb0 guibg=NONE ctermfg=115 ctermbg=NONE cterm=NONE gui=NONE -hi Underlined guifg=#bac5ba guibg=NONE ctermfg=151 ctermbg=NONE cterm=NONE gui=NONE -hi Error guifg=NONE guibg=#b03452 ctermfg=NONE ctermbg=131 cterm=NONE gui=NONE +hi Statement guifg=#ff6c11 guibg=NONE ctermfg=202 ctermbg=NONE cterm=NONE gui=NONE +hi StatusLine guifg=#4079a9 guibg=#101130 ctermfg=67 ctermbg=17 cterm=bold gui=bold +hi String guifg=#2de3e6 guibg=NONE ctermfg=6 ctermbg=NONE cterm=italic gui=italic +hi Structure guifg=#0490e8 guibg=NONE ctermfg=32 ctermbg=NONE cterm=bold gui=bold +hi TabLineSel guifg=#6079c9 guibg=#363649 ctermfg=68 ctermbg=59 cterm=NONE gui=NONE +hi Title guifg=#fff7fa guibg=NONE ctermfg=15 ctermbg=NONE cterm=NONE gui=NONE hi Todo guifg=#ffd500 guibg=#5c0d43 ctermfg=220 ctermbg=53 cterm=NONE gui=NONE -hi MatchParen guifg=#001122 guibg=#7b5a55 ctermfg=0 ctermbg=95 cterm=NONE gui=NONE -hi Cursor guifg=#0000aa guibg=#cad5c0 ctermfg=19 ctermbg=187 cterm=NONE gui=NONE +hi Type guifg=#ff3863 guibg=NONE ctermfg=203 ctermbg=NONE cterm=bold gui=bold +hi Underlined guifg=#bac5ba guibg=NONE ctermfg=151 ctermbg=NONE cterm=NONE gui=NONE +hi VertSplit guifg=#223355 guibg=#22253c ctermfg=23 ctermbg=17 cterm=NONE gui=NONE hi Visual guifg=#102030 guibg=#80a0f0 ctermfg=17 ctermbg=111 cterm=NONE gui=NONE hi VisualNOS guifg=#201a30 guibg=#a3a5FF ctermfg=17 ctermbg=147 cterm=NONE gui=NONE -hi LineNr guifg=#2069a9 guibg=#101124 ctermfg=25 ctermbg=0 cterm=NONE gui=NONE -hi Search guifg=#2de3e6 guibg=#6b5469 ctermfg=6 ctermbg=59 cterm=NONE gui=NONE -hi IncSearch guifg=#babeaa guibg=#3a4520 ctermfg=145 ctermbg=58 cterm=NONE gui=NONE -hi WildMenu guifg=#000000 guibg=#804000 ctermfg=0 ctermbg=94 cterm=NONE gui=NONE -hi VertSplit guifg=#223355 guibg=#22253c ctermfg=23 ctermbg=17 cterm=NONE gui=NONE -hi TabLineSel guifg=#6079c9 guibg=#363649 ctermfg=68 ctermbg=59 cterm=NONE gui=NONE -hi Title guifg=#fff7fa guibg=NONE ctermfg=15 ctermbg=NONE cterm=NONE gui=NONE -hi PmenuSel guifg=#f0e0b2 guibg=#4a85ba ctermfg=223 ctermbg=67 cterm=NONE gui=NONE -hi PmenuThumb guifg=NONE guibg=#000000 ctermfg=NONE ctermbg=0 cterm=NONE gui=NONE -hi PmenuSbar guifg=NONE guibg=#0000ff ctermfg=NONE ctermbg=21 cterm=NONE gui=NONE -hi Pmenu guifg=#bdbdbd guibg=#915623 ctermfg=250 ctermbg=94 cterm=NONE gui=NONE -hi Folded guifg=#bebebe guibg=#171235 ctermfg=250 ctermbg=17 cterm=NONE gui=NONE -hi FoldColumn guifg=#dbcaa5 guibg=#0a0a18 ctermfg=187 ctermbg=0 cterm=NONE gui=NONE -hi Directory guifg=#bbd0df guibg=NONE ctermfg=152 ctermbg=NONE cterm=NONE gui=NONE -hi DiffDelete guifg=#300845 guibg=#200845 ctermfg=53 ctermbg=17 cterm=NONE gui=NONE -hi DiffText guifg=#f5f5f5 guibg=#423f00 ctermfg=15 ctermbg=58 cterm=NONE gui=NONE -hi DiffAdd guifg=#e0e3e3 guibg=#003802 ctermfg=188 ctermbg=22 cterm=NONE gui=NONE -hi DiffChange guifg=#fcfcfc guibg=#2e032e ctermfg=15 ctermbg=0 cterm=NONE gui=NONE -hi ModeMsg guifg=#00AACC guibg=NONE ctermfg=38 ctermbg=NONE cterm=NONE gui=NONE -hi Question guifg=#AABBCC guibg=#130445 ctermfg=146 ctermbg=17 cterm=NONE gui=NONE -hi MoreMsg guifg=#2e8b57 guibg=NONE ctermfg=29 ctermbg=NONE cterm=NONE gui=NONE -hi ErrorMsg guifg=#f0e2e2 guibg=#ff4545 ctermfg=224 ctermbg=203 cterm=NONE gui=NONE hi WarningMsg guifg=#fa8072 guibg=NONE ctermfg=209 ctermbg=NONE cterm=NONE gui=NONE -hi StatusLine guifg=#4079a9 guibg=#101130 ctermfg=67 ctermbg=17 cterm=bold gui=bold +hi WildMenu guifg=#000000 guibg=#804000 ctermfg=0 ctermbg=94 cterm=NONE gui=NONE +hi GitGutterAdd guifg=#007822 guibg=#101124 ctermfg=28 ctermbg=0 cterm=NONE gui=NONE +hi GitGutterChange guifg=#8e830e guibg=#101124 ctermfg=100 ctermbg=0 cterm=NONE gui=NONE +hi GitGutterDelete guifg=#6e032e guibg=#101124 ctermfg=52 ctermbg=0 cterm=NONE gui=NONE +hi GitGutterChangeDelete guifg=#80537e guibg=#101124 ctermfg=96 ctermbg=0 cterm=NONE gui=NONE +" Link definitions hi! link PreCondit Include hi! link Tag Delimiter hi! link Define Include @@ -88,3 +95,33 @@ hi! link ConId Constant hi! link SpellBad Todo hi! link netrwDir LineNr hi! link SpecialChar Delimiter +" Code to clear any groups that are not defined +let s:DefinedColors=['precondit', 'tag', 'define', 'mkdlink', 'typedef', 'spellocal', 'vimwikilink', 'signcolumn', 'macro', 'tabline', 'character', 'debug', 'spellcap', 'special', 'tablinefill', 'spellrare', 'label', 'statuslinenc', 'adabegin', 'storageclass', 'specialcomment', 'netrwexe', 'adaend', 'conid', 'spellbad', 'netrwdir', 'specialchar', 'boolean', 'comment', 'conditional', 'constant', 'cursor', 'cursorlinenr', 'cursorline', 'delimiter', 'diffadd', 'diffchange', 'diffdelete', 'difftext', 'directory', 'error', 'errormsg', 'exception', 'float', 'foldcolumn', 'folded', 'function', 'identifier', 'ignore', 'incsearch', 'include', 'keyword', 'linenr', 'matchparen', 'modemsg', 'moremsg', 'nontext', 'normal', 'number', 'operator', 'pmenu', 'pmenusbar', 'pmenusel', 'pmenuthumb', 'preproc', 'question', 'repeat', 'search', 'specialkey', 'statement', 'statusline', 'string', 'structure', 'tablinesel', 'title', 'todo', 'type', 'underlined', 'vertsplit', 'visual', 'visualnos', 'warningmsg', 'wildmenu', 'gitgutteradd', 'gitgutterchange', 'gitgutterdelete', 'gitgutterchangedelete'] +function! s:ClearUndefinedColors(colors) + let undefined_groups = filter(a:colors->keys()->map('tolower(v:val)'), 'index(s:DefinedColors, tolower(v:val)) < 0') + call map(undefined_groups, "execute('highlight' . ' ' . v:val . ' ' . 'NONE')") +endfunction +function! s:GetHighlights() + let highlights = execute('highlight') + let highlights = substitute(highlights, '\n\s\+', ' ', 'g') + let highlights = split(highlights, '\n') + call map(highlights, "split(v:val, '\\s\\+xxx\\s\\+')") + call map(highlights, "[copy(v:val)[0], split(copy(v:val)[1])]") + return highlights +endfunction +function! s:GetColors() + let colors = {} + for [group, values] in <SID>GetHighlights() + let attributes = {} + if values[0] ==# 'links' + let attributes['links'] = values[-1] + elseif values[0] !=# 'cleared' + call map(values, "split(v:val, '=')") + call map(values, "len(v:val) == 2 ? {v:val[0]: v:val[1]} : {v:val[0] : v:val[0]}") + call map(values, "extend(attributes, v:val)") + endif + let colors[group] = attributes + endfor + return colors +endfunction +call <SID>ClearUndefinedColors(<SID>GetColors())