" " ▄▄▄▄▄▄ ██ " ██▀▀▀▀█▄ ▀▀ " ██ ██ ▄█████▄ ████ ▄███▄██ ▄████▄ " ██████▀ ▀ ▄▄▄██ ██ ██▀ ▀██ ██▄▄▄▄██ " ██ ▄██▀▀▀██ ██ ██ ██ ██▀▀▀▀▀▀ " ██ ██▄▄▄███ ▄▄▄██▄▄▄ ▀██▄▄███ ▀██▄▄▄▄█ " ▀▀ ▀▀▀▀ ▀▀ ▀▀▀▀▀▀▀▀ ▄▀▀▀ ██ ▀▀▀▀▀ " ▀████▀▀ " File: paige-dark.vim " Maintainer: Leon Henrik Plickat " License: GPLv3 if !has('gui_running') && &t_Co < 256 finish endif highlight clear if exists("syntax_on") syntax reset endif set background=dark let g:colors_name = "paige-dark" if exists("*PaigeHighlight") delf PaigeHighlight endif " Fancy highlight wrapper function, because some highlight groups, like Normal " apparently do not like being linked. It is not perfect, but it solves the " problem. function! PaigeHighlight(group, type) if !empty(a:type[0]) exec "highlight " . a:group . " ctermbg=" . a:type[0] endif if !empty(a:type[1]) exec "highlight " . a:group . " ctermfg=" . a:type[1] endif if !empty(a:type[2]) exec "highlight " . a:group . " cterm=" . a:type[2] endif if !empty(a:type[3]) exec "highlight " . a:group . " guibg=" . a:type[3] endif if !empty(a:type[4]) exec "highlight " . a:group . " guifg=" . a:type[4] endif if !empty(a:type[5]) exec "highlight " . a:group . " gui=" . a:type[5] endif endfunction " Types -> [ ctermbg, ctermfg, cterm, guibg, guifg, gui ] let s:default_text = [ '232', '231', '', '#080808', '#ffffff', '' ] let s:default_text_bold = [ '232', '231', 'bold', '#080808', '#ffffff', 'bold' ] let s:default_text_italic = [ '232', '231', 'italic', '#080808', '#ffffff', 'italic' ] let s:default_text_underline = [ '232', '231', 'underline', '#080808', '#ffffff', 'underline' ] let s:alt_fg_text = [ '232', '238', '', '#080808', '#444444', '' ] let s:alt_fg_text_none = [ '232', '238', 'none', '#080808', '#444444', 'none' ] let s:alt_fg_text_2 = [ '232', '248', '', '#080808', '#a8a8a8', '' ] let s:alt_bg_text = [ '235', '231', '', '#262626', '#ffffff', '' ] let s:alt_bg_text_bold = [ '235', '231', 'bold', '#262626', '#ffffff', 'bold' ] let s:alt_bg_text_italic = [ '235', '231', 'italic', '#262626', '#ffffff', 'italic' ] let s:alt_bg_text_underline = [ '235', '231', 'underline', '#262626', '#ffffff', 'underline' ] let s:alt_bg_text_no_override = [ '235', '', 'none', '#262626', '', 'none' ] let s:alt_bg_text_none = [ '235', '231', 'none', '#262626', '#ffffff', 'none' ] let s:alt_bg_no_fg = [ '235', '235', 'none', '#262626', '#e4e4e4', 'none' ] let s:green_bg_text = [ '106', '231', '', '#87af00', '#ffffff', '' ] let s:red_bg_text = [ '160', '231', '', '#d70000', '#ffffff', '' ] let s:yellow_bg_text = [ '178', '231', '', '#d7af00', '#ffffff', '' ] let s:blue_bg_text = [ '39', '231', '', '#00afff', '#ffffff', '' ] let s:purple_bg_text_none = [ '141', '231', 'none', '#af87ff', '#ffffff', 'none' ] let s:alt_purple_bg_text_none = [ '139', '231', 'none', '#af87af', '#ffffff', 'none' ] let s:red_fg_text = [ '232', '196', '', '#080808', '#ff0000', '' ] let s:green_fg_text = [ '232', '34', '', '#080808', '#00af00', '' ] let s:blue_fg_text = [ '232', '27', '', '#080808', '#005fff', '' ] let s:blue_fg_text_underline = [ '232', '27', 'underline', '#080808', '#005fff', 'underline' ] let s:menu_select = [ '70', '231', 'bold', '#5faf00', '#ffffff', '' ] let s:menu_no_select = [ '240', '231', '', '#585858', '#ffffff', '' ] let s:menu_scroll_bar = [ '240', '240', '', '#585858', '#585858', '' ] let s:menu_scroll_bar_thumb = [ '202', '202', '', '#585858', '#ff5f00', '' ] " UI call PaigeHighlight('Normal', s:default_text) call PaigeHighlight('Folded', s:alt_bg_text) call PaigeHighlight('CursorLine', s:alt_bg_text_no_override) call PaigeHighlight('CursorColumn', s:alt_bg_text_no_override) call PaigeHighlight('ColorColumn', s:alt_bg_text_no_override) call PaigeHighlight('SignColumn', s:alt_bg_text_no_override) call PaigeHighlight('Visual', s:blue_bg_text) call PaigeHighlight('VisualNOS', s:blue_bg_text) call PaigeHighlight('VertSplit', s:alt_bg_text_bold) call PaigeHighlight('Pmenu', s:menu_no_select) call PaigeHighlight('PmenuSel', s:menu_select) call PaigeHighlight('PmenuSbar', s:menu_scroll_bar) call PaigeHighlight('PmenuThumb', s:menu_scroll_bar_thumb) call PaigeHighlight('WildMenu', s:menu_select) call PaigeHighlight('ModeMsg', s:alt_fg_text_none) call PaigeHighlight('StatusLine', s:alt_bg_text_bold) call PaigeHighlight('StatusLineNC', s:alt_bg_text_none) call PaigeHighlight('StatusLineTerm', s:alt_bg_text_bold) call PaigeHighlight('StatusLineTermNC', s:alt_bg_text_none) call PaigeHighlight('Search', s:purple_bg_text_none) call PaigeHighlight('IncSearch', s:alt_purple_bg_text_none) call PaigeHighlight('TabLineFill', s:alt_bg_no_fg) call PaigeHighlight('TabLineSel', s:menu_select) call PaigeHighlight('TabLine', s:alt_bg_text_none) call PaigeHighlight('EndOfBuffer', s:alt_fg_text) call PaigeHighlight('LineNr', s:alt_bg_text) call PaigeHighlight('CursorLineNr', s:alt_bg_text) call PaigeHighlight('MatchParen', s:yellow_bg_text) call PaigeHighlight('Conceal', s:default_text) call PaigeHighlight('Error', s:red_bg_text) call PaigeHighlight('ErrorMsg', s:red_bg_text) call PaigeHighlight('WarningMsg', s:yellow_bg_text) " Diff call PaigeHighlight('DiffChange', s:yellow_bg_text) call PaigeHighlight('DiffAdd', s:green_bg_text) call PaigeHighlight('DiffDelete', s:red_bg_text) call PaigeHighlight('diffAdded', s:green_fg_text) call PaigeHighlight('diffRemoved', s:red_fg_text) call PaigeHighlight('diffLine', s:blue_fg_text) " Spell call PaigeHighlight('SpellBad', s:red_bg_text) call PaigeHighlight('SpellCap', s:yellow_bg_text) call PaigeHighlight('SpellLocal', s:yellow_bg_text) call PaigeHighlight('SpellRare', s:yellow_bg_text) " netrw call PaigeHighlight('netrwDir', s:blue_fg_text) call PaigeHighlight('netrwClassify', s:default_text_bold) call PaigeHighlight('netrwExe', s:green_fg_text) " quickfix call PaigeHighlight('qfLineNr', s:default_text_bold) call PaigeHighlight('qfFilename', s:default_text_bold) " Generic Syntax call PaigeHighlight('Todo', s:yellow_bg_text) call PaigeHighlight('Comment', s:alt_fg_text_2) call PaigeHighlight('Title', s:alt_bg_text_bold) call PaigeHighlight('PreProc', s:default_text_bold) call PaigeHighlight('Identifier', s:default_text_bold) call PaigeHighlight('Statement', s:default_text_bold) call PaigeHighlight('Special', s:default_text_bold) call PaigeHighlight('Type', s:default_text_bold) call PaigeHighlight('NonText', s:alt_fg_text_2) " NonText includes listchars: eol, extends, prescedes call PaigeHighlight('SpecialKey', s:alt_fg_text_2) " SpecialKey includes listchars: tabs, spaces, nbsp call PaigeHighlight('Conditional', s:default_text_bold) call PaigeHighlight('Repeat', s:default_text_bold) call PaigeHighlight('Logical', s:default_text_bold) call PaigeHighlight('Compare', s:default_text_bold) call PaigeHighlight('Label', s:default_text_underline) call PaigeHighlight('Constant', s:default_text) call PaigeHighlight('Pointer', s:default_text) call PaigeHighlight('Delimiter', s:default_text) " HTML call PaigeHighlight('htmlTag', s:default_text_bold) call PaigeHighlight('htmlEndTag', s:default_text_bold) call PaigeHighlight('htmlTagName', s:default_text_bold) call PaigeHighlight('htmlSpecialTagName', s:default_text_bold) call PaigeHighlight('htmlComment', s:alt_fg_text_2) call PaigeHighlight('htmlCommentPart', s:alt_fg_text_2) call PaigeHighlight('htmlArg', s:default_text_bold) call PaigeHighlight('htmlString', s:default_text) call PaigeHighlight('htmlLink', s:blue_fg_text_underline) call PaigeHighlight('htmlBold', s:default_text_bold) call PaigeHighlight('htmlItalic', s:default_text_italic) " CSS call PaigeHighlight('cssBraces', s:default_text) call PaigeHighlight('cssNoise', s:default_text) call PaigeHighlight('cssBoxProp', s:default_text_bold) call PaigeHighlight('cssBoxAttr', s:default_text) call PaigeHighlight('cssTextProp', s:default_text_bold) call PaigeHighlight('cssTextAttr', s:default_text) call PaigeHighlight('cssValueLength', s:default_text) call PaigeHighlight('cssValueNumber', s:default_text) call PaigeHighlight('cssUnitDecorators', s:default_text) call PaigeHighlight('cssAtRule', s:default_text_bold) call PaigeHighlight('cssAtRuleLogical', s:default_text_bold) call PaigeHighlight('cssMediaType', s:default_text_bold) call PaigeHighlight('cssMediaProp', s:default_text_bold) " meson call PaigeHighlight('mesonString', s:default_text) " Vim call PaigeHighlight('vimHiGroup', s:default_text) " C call PaigeHighlight('cErrInParen', s:default_text) " Scheme call PaigeHighlight('schemeSyntax', s:default_text_bold) call PaigeHighlight('schemeFunction', s:default_text_bold) call PaigeHighlight('schemeParentheses', s:default_text) call PaigeHighlight('schemeNumber', s:default_text) call PaigeHighlight('schemeString', s:default_text) " (La)Tex / vimtex call PaigeHighlight('texComment', s:alt_fg_text_2) call PaigeHighlight('texSection', s:default_text_bold) call PaigeHighlight('texParen', s:default_text) call PaigeHighlight('texCmdArgs', s:default_text) call PaigeHighlight('texBeginEnd', s:default_text) call PaigeHighlight('texBeginEndName', s:default_text_bold) " markdown call PaigeHighlight('markdownH1', s:alt_bg_text_bold) call PaigeHighlight('markdownH1Delimiter', s:alt_bg_text_bold) call PaigeHighlight('markdownH2', s:alt_bg_text_bold) call PaigeHighlight('markdownH2Delimiter', s:alt_bg_text_bold) call PaigeHighlight('markdownH3', s:alt_bg_text_bold) call PaigeHighlight('markdownH3Delimiter', s:alt_bg_text_bold) call PaigeHighlight('markdownH4', s:alt_bg_text_bold) call PaigeHighlight('markdownH4Delimiter', s:alt_bg_text_bold) call PaigeHighlight('markdownH5', s:alt_bg_text_bold) call PaigeHighlight('markdownH5Delimiter', s:alt_bg_text_bold) call PaigeHighlight('markdownH6', s:alt_bg_text_bold) call PaigeHighlight('markdownH6Delimiter', s:alt_bg_text_bold) call PaigeHighlight('markdownListMarker', s:default_text_bold) call PaigeHighlight('markdownError', s:default_text) call PaigeHighlight('markdownCodeBlock', s:green_fg_text) " git commit call PaigeHighlight('gitcommitSummary', s:alt_bg_text_bold) call PaigeHighlight('gitcommitFirstLine', s:alt_bg_text_bold) call PaigeHighlight('gitcommitBlank', s:red_bg_text) call PaigeHighlight('gitcommitComment', s:alt_fg_text_2) call PaigeHighlight('gitcommitHeader', s:default_text_bold) " .desktop files call PaigeHighlight('dtGroup', s:alt_bg_text_bold) call PaigeHighlight('dtTypeKey', s:default_text_bold) call PaigeHighlight('dtExecKey', s:default_text_bold) call PaigeHighlight('dtLocaleKey', s:default_text_bold) call PaigeHighlight('dtBooleanKey', s:default_text_bold) call PaigeHighlight('dtStringKey', s:default_text_bold) call PaigeHighlight('dtDelim', s:alt_fg_text_2) " scdoc call PaigeHighlight('scdocHeader', s:alt_bg_text_bold) call PaigeHighlight('scdocPreambleName', s:alt_bg_text_bold) call PaigeHighlight('scdocPreambleExtra', s:alt_bg_text) call PaigeHighlight('scdocBold', s:default_text_bold) " man call PaigeHighlight('manHeader', s:alt_bg_text_bold) call PaigeHighlight('manSectionHeading', s:alt_bg_text_bold) call PaigeHighlight('manReference', s:default_text_bold) call PaigeHighlight('manOptionDesc', s:default_text_bold) call PaigeHighlight('manLongOptionDesc', s:default_text_bold) " ALE call PaigeHighlight('ALEErrorSign', s:red_bg_text) call PaigeHighlight('ALEWarningSign', s:green_fg_text) " quickfix call PaigeHighlight('qfFilename', s:default_text_bold) call PaigeHighlight('qfSeparator', s:default_text) call PaigeHighlight('qfLineNr', s:default_text_bold)