Files
nix-config/.config/nvim/colors/thermopylae.vim
2020-07-15 09:28:34 -04:00

216 lines
9.7 KiB
VimL

set background=dark
highlight clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name="thermopylae"
" === Color Palette ===
let bg1 = '#2F2D2D' " #2F2D2D
let fg1 = '#928374' " #928374
let green1 = '#596254' " #596254
let gray1 = '#3C3836' " #3C3836
let purple1 = '#625462' " #625462
let blue1 = '#3286BA' " #3286BA
let blue2 = '#025362' " #025362
let yellow1 = '#D79921' " #D79921
let red1 = '#9D0006' " #9D0006
function! s:HL(item, guiFgColor, guiBgColor, style)
execute 'hi ' . a:item . ' guifg=' . a:guiFgColor . ' guibg=' . a:guiBgColor . ' cterm=' . a:style
endfunction
call s:HL('Normal', fg1, bg1, 'NONE') " Normal text
call s:HL('Cursor', bg1, fg1, 'NONE') " The character under the cursor, has no effect in the terminal
call s:HL('CursorLine', 'NONE', gray1, 'NONE') " Line the cursor is on when 'cursorcolumn' set used in quickfix / unite
call s:HL('CursorColumn', 'NONE', gray1, 'NONE') " The screen column that the cursor is in when 'cursorcolumn' is set
call s:HL('SignColumn', blue1, gray1, 'NONE') " The gutter where signs are displayed
call s:HL('Folded', fg1, gray1, 'NONE') " The coloring used for folded lines
call s:HL('VertSplit', gray1, gray1, 'NONE') " The column separating vertically split windows
call s:HL('Search', blue1, 'NONE', 'underline') " The highlighting for the last search pattern
call s:HL('IncSearch', gray1, blue1, 'underline') " The highlighting for in criminal searching and for find and replace
call s:HL('WildMenu', gray1, green1, 'NONE') " The current match in wildmenu completion
call s:HL('MatchParen', gray1, green1, 'bold') " The opening or closing sibling of the currently highlighted bracket
call s:HL('Visual', bg1, blue2, 'NONE') " The visual mode selection
call s:HL('NonText', gray1, 'NONE', 'NONE') " For characters that did not really exist in the text
call s:HL('Todo', yellow1, bg1, 'bold') " Keywords like; TODO, FIXME, XXX
call s:HL('Underlined', 'NONE', 'NONE', 'underline') " HTML anchor tag
call s:HL('Error', bg1, red1, 'NONE') " Error highlighting
call s:HL('ErrorMsg', bg1, red1, 'NONE') " Error messages on the command line
call s:HL('WarningMsg', bg1, red1, 'NONE') " Warning message used in status line
call s:HL('SpecialKey', gray1, 'NONE', 'NONE') " More for non- printable text tabs and such
call s:HL('LineNr', fg1, 'NONE', 'NONE') " Line number used in quick fix window
" :help group-name
call s:HL('String', green1, 'NONE', 'NONE')
call s:HL('Character', 'NONE', 'NONE', 'NONE')
call s:HL('Number', 'NONE', 'NONE', 'NONE')
call s:HL('Boolean', 'NONE', 'NONE', 'NONE')
call s:HL('Float', 'NONE', 'NONE', 'NONE')
call s:HL('Identifier', 'NONE', 'NONE', 'NONE')
call s:HL('Function', 'NONE', 'NONE', 'NONE')
call s:HL('Statement', 'NONE', 'NONE', 'NONE')
call s:HL('Conditional', 'NONE', 'NONE', 'NONE')
call s:HL('Repeat', 'NONE', 'NONE', 'NONE')
call s:HL('Label', 'NONE', 'NONE', 'NONE')
call s:HL('Operator', 'NONE', 'NONE', 'NONE')
call s:HL('Keyword', 'NONE', 'NONE', 'NONE')
call s:HL('Exception', 'NONE', 'NONE', 'NONE')
call s:HL('Special', 'NONE', 'NONE', 'NONE')
call s:HL('SpecialChar', 'NONE', 'NONE', 'NONE')
call s:HL('Tag', 'NONE', 'NONE', 'NONE')
call s:HL('Delimiter', 'NONE', 'NONE', 'NONE')
call s:HL('SpecialComment', 'NONE', 'NONE', 'NONE')
call s:HL('Debug', 'NONE', 'NONE', 'NONE')
call s:HL('Directory', purple1, 'NONE', 'NONE')
call s:HL('Comment', purple1, 'NONE', 'NONE')
call s:HL('PreProc', 'NONE', 'NONE', 'NONE')
call s:HL('Constant', 'NONE', 'NONE', 'NONE')
call s:HL('Type', fg1, 'NONE', 'NONE')
" Placeholder characters substituted for concealed text
call s:HL('Conceal', fg1, bg1, 'NONE')
" Highlighting for VimDiff
call s:HL('DiffAdd', blue2, gray1, 'bold')
call s:HL('DiffChange', 'NONE', gray1, 'NONE')
call s:HL('DiffDelete', gray1, fg1, 'NONE')
call s:HL('DiffText', red1, gray1, 'bold')
" Popup menu styles
call s:HL('Pmenu', fg1, gray1, 'NONE')
call s:HL('PmenuSel', blue2, fg1, 'reverse')
call s:HL('PmenuSbar', fg1, 'NONE', 'NONE')
call s:HL('PmenuThumb', red1, 'NONE', 'NONE')
" Python specific highlighting
call s:HL('pythonStatement', fg1, bg1, 'NONE')
call s:HL('pythonFunction', fg1, bg1, 'NONE')
call s:HL('pythonConditional', fg1, bg1, 'NONE')
call s:HL('pythonRepeat', fg1, bg1, 'NONE')
call s:HL('pythonException', fg1, bg1, 'NONE')
call s:HL('pythonInclude', fg1, bg1, 'NONE')
call s:HL('pythonPreCondit', fg1, bg1, 'NONE')
call s:HL('pythonExClass', fg1, bg1, 'NONE')
call s:HL('pythonDecorator', fg1, bg1, 'NONE')
" Javascript specific highlighting
call s:HL('jsFunction', fg1, bg1, 'NONE')
call s:HL('jsFuncCall', fg1, bg1, 'NONE')
call s:HL('jsConditional', fg1, bg1, 'NONE')
call s:HL('jsRepeat', fg1, bg1, 'NONE')
call s:HL('jsNumber', fg1, bg1, 'NONE')
call s:HL('jsMember', fg1, bg1, 'NONE')
call s:HL('jsModules', fg1, bg1, 'NONE')
call s:HL('jsModuleWords', fg1, bg1, 'NONE')
" Html specific highlighting
call s:HL('htmlTag', fg1, bg1, 'NONE')
call s:HL('htmlTagName', fg1, bg1, 'NONE')
call s:HL('htmlArg', fg1, bg1, 'NONE')
call s:HL('htmlScriptTag', fg1, bg1, 'NONE')
call s:HL('htmlH', fg1, bg1, 'NONE')
call s:HL('htmlH1', fg1, bg1, 'NONE')
call s:HL('htmlH2', fg1, bg1, 'NONE')
call s:HL('htmlH3', fg1, bg1, 'NONE')
call s:HL('htmlH4', fg1, bg1, 'NONE')
call s:HL('htmlHead', fg1, bg1, 'NONE')
call s:HL('htmlTitle', fg1, bg1, 'NONE')
" CSS specific highlighting
call s:HL('cssDefinition', fg1, bg1, 'NONE')
call s:HL('cssAttrRegion', fg1, bg1, 'NONE')
call s:HL('cssCommonAttr', fg1, bg1, 'NONE')
call s:HL('cssAttr', fg1, bg1, 'NONE')
call s:HL('lessDefinition', fg1, bg1, 'NONE')
call s:HL('lessNestedSelector', fg1, bg1, 'NONE')
call s:HL('lessClass', fg1, bg1, 'NONE')
call s:HL('cssPseudoClass', fg1, bg1, 'NONE')
call s:HL('cssPseudoClassId', fg1, bg1, 'NONE')
call s:HL('cssColor', fg1, bg1, 'NONE')
call s:HL('lessVariableValue', fg1, bg1, 'NONE')
call s:HL('cssInclude', fg1, bg1, 'NONE')
call s:HL('cssIncludeKeyword', fg1, bg1, 'NONE')
call s:HL('cssVendor', fg1, bg1, 'NONE')
" Clojure specific highlighting
call s:HL('clojureBoolean', fg1, bg1, 'NONE')
call s:HL('clojureCharacter', fg1, bg1, 'NONE')
call s:HL('clojureKeyword', fg1, bg1, 'NONE')
call s:HL('clojureNumber', fg1, bg1, 'NONE')
call s:HL('clojureString', green1, bg1, 'NONE')
call s:HL('clojureRegexp', green1, bg1, 'NONE')
call s:HL('clojureParen', fg1, bg1, 'NONE')
call s:HL('clojureVariable', fg1, bg1, 'NONE')
call s:HL('clojureCond', fg1, bg1, 'NONE')
call s:HL('clojureException', fg1, bg1, 'NONE')
call s:HL('clojureFunc', fg1, bg1, 'NONE')
call s:HL('clojureMacro', fg1, bg1, 'NONE')
call s:HL('clojureRepeat', fg1, bg1, 'NONE')
call s:HL('clojureSpecial', fg1, bg1, 'NONE')
call s:HL('clojureQuote', fg1, bg1, 'NONE')
call s:HL('clojureUnquote', fg1, bg1, 'NONE')
call s:HL('clojureMeta', fg1, bg1, 'NONE')
call s:HL('clojureAnonArg', fg1, bg1, 'NONE')
call s:HL('clojureConstant', fg1, bg1, 'NONE')
call s:HL('clojureDefine', fg1, bg1, 'NONE')
" Ruby specific highlighting
call s:HL('rubyClass', fg1, bg1, 'NONE')
call s:HL('rubyKeyword', fg1, bg1, 'NONE')
call s:HL('rubyOperator', fg1, bg1, 'NONE')
call s:HL('rubyDefine', fg1, bg1, 'NONE')
call s:HL('rubyIdentifier', fg1, bg1, 'NONE')
call s:HL('rubyInclude', fg1, bg1, 'NONE')
call s:HL('rubySymbol', fg1, bg1, 'NONE')
call s:HL('rubyKeyword', fg1, bg1, 'NONE')
" SQL specific highlighting
call s:HL('sqlKeyword', fg1, bg1, 'NONE')
call s:HL('sqlFunction', fg1, bg1, 'NONE')
call s:HL('sqlStatement', fg1, bg1, 'NONE')
call s:HL('sqlSpecial', fg1, bg1, 'NONE')
" Bash specific highlighting
call s:HL('shIf', fg1, bg1, 'NONE')
call s:HL('shDerefSimple', fg1, bg1, 'NONE')
call s:HL('shDeref', fg1, bg1, 'NONE')
call s:HL('zshDeref', fg1, bg1, 'NONE')
call s:HL('shShellVariables', fg1, bg1, 'NONE')
call s:HL('zshString', fg1, bg1, 'NONE')
call s:HL('zshSubst', fg1, bg1, 'NONE')
call s:HL('zshSubstDelim', fg1, bg1, 'NONE')
" Used for wiki plugin
call s:HL('WikiLink', blue2, 'NONE', 'underline')
call s:HL('markdownLinkText', red1, 'NONE', 'underline')
" Markdown
call s:HL('markdownH1', blue2, 'NONE', 'NONE')
call s:HL('markdownH2', blue2, 'NONE', 'NONE')
call s:HL('markdownH3', blue2, 'NONE', 'NONE')
call s:HL('markdownH4', blue2, 'NONE', 'NONE')
call s:HL('markdownH5', blue2, 'NONE', 'NONE')
call s:HL('markdownH6', blue2, 'NONE', 'NONE')
" Vimfiler
call s:HL('vimfilerOpenedFile', purple1, 'NONE', 'NONE')
call s:HL('vimfilerClosedFile', purple1, 'NONE', 'NONE')
call s:HL('uniteExrenameModified', fg1, bg1, 'NONE')
" Sneak plugin specific highlighting
call s:HL('SneakPluginTarget', blue2, bg1, 'underline')
call s:HL('SneakStreakTarget', gray1, blue2, 'NONE')
call s:HL('SneakStreakMask', blue2, blue2, 'NONE')
" Spelling
call s:HL('SpellBad', red1, 'NONE', 'underline')
call s:HL('SpellCap', yellow1, 'NONE', 'underline')
call s:HL('SpellLocal', yellow1, 'NONE', 'underline')
call s:HL('SpellRare', yellow1, 'NONE', 'underline')
" Sneak plugin specific highlighting
call s:HL('SneakPluginTarget', yellow1, green1, 'underline')
call s:HL('SneakStreakTarget', yellow1, green1, 'none')
call s:HL('SneakStreakMask', green1, green1, 'none')