aboutsummaryrefslogtreecommitdiff
path: root/nvim/colors
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:40:16 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:40:16 +0000
commitb94eefa6b58f274bb61db4e792105c3959cf2022 (patch)
tree3d2896fb46ebc769e4fea8cf4f02ce3104e1f974 /nvim/colors
init dotfiles and stuffHEADmaster
Diffstat (limited to 'nvim/colors')
-rw-r--r--nvim/colors/bore.vim873
-rw-r--r--nvim/colors/minimal-dark.vim110
-rw-r--r--nvim/colors/paige-dark.vim274
-rw-r--r--nvim/colors/paige-system.vim268
-rw-r--r--nvim/colors/paige.vim268
-rw-r--r--nvim/colors/peachpuff-legacy.vim59
6 files changed, 1852 insertions, 0 deletions
diff --git a/nvim/colors/bore.vim b/nvim/colors/bore.vim
new file mode 100644
index 0000000..436ffeb
--- /dev/null
+++ b/nvim/colors/bore.vim
@@ -0,0 +1,873 @@
+" Vim Color File"
+" Name: bore.vim"
+" Author: Ethan Morgan (@sixfourtwelve)"
+" Maintainer: https://github.com/sixfourtwelve/bore.vim"
+" License: The MIT License (MIT)"
+
+" === Colors ==="
+" --------------------------"
+:let _white = '#ffffff'
+:let _l_white = '#cacadd'
+:let _d_white = '#c8c8db'
+:let _gray_light = '#74778c'
+:let _gray = '#606375'
+:let _gray_dark = '#535560'
+:let _semigray = '#42444b'
+:let _lightblack = '#313e52'
+:let _semiblack = '#262f3e'
+:let _black = '#101010'
+
+:let _aubergine = '#FD98B9'
+:let _marzipan = '#ecc48d'
+:let _d_turquoise = '#7fdbca'
+:let _l_sky = '#9fd4ff'
+:let _sky = '#6cbeff'
+:let _sap = '#ebff00'
+:let _purple = '#c792ea'
+:let _pink = '#f45c7f'
+:let _green = '#addb67'
+
+" Clear any other set colors"
+highlight clear
+
+if exists("syntax_on")
+ syntax reset
+endif
+
+set t_Co=256
+
+let g:colors_name="bore"
+
+" Not all terminals support italics properly. If yours does, opt-in."
+if !exists("g:bore_terminal_italics")
+ let g:bore_terminal_italics = 0
+endif
+
+" === Functions ==="
+" Returns a darkened color using given color and the percent to darken it by."
+" Example: color_helper#hex_color_darken('#FFFFFF', 0.10)"
+" Returns: '#E5E5E5'"
+
+function! s:hex_color_darken(color, percent)
+ let l:rgb = s:hex_color_to_rgb(a:color)
+ let l:rgb_darkened = []
+
+ for i in l:rgb
+ call add(l:rgb_darkened, float2nr(i * (1 - a:percent)))
+ endfor
+
+ return s:rgb_color_to_hex(l:rgb_darkened)
+endfunction
+
+
+function! s:hex_color_to_rgb(hex_color)
+ let l:rgb = []
+
+ let l:red = s:hex_to_dec(strpart(a:hex_color, 1, 2))
+ let l:green = s:hex_to_dec(strpart(a:hex_color, 3, 2))
+ let l:blue = s:hex_to_dec(strpart(a:hex_color, 5, 2))
+ let l:rgb = [l:red, l:green, l:blue]
+
+ return l:rgb
+endfunction
+
+function! s:hex_to_dec(arg)
+ return (a:arg =~? '^0x') ? a:arg + 0 : ('0x'.a:arg) + 0
+endfunction
+
+function! s:dec_to_hex(arg, padding)
+ return toupper(printf('%0' . a:padding . 'x', a:arg + 0))
+endfunction
+
+function! s:rgb_color_to_hex(rgb_color)
+ let l:hex_color = '#'
+ let l:hex_color .= s:dec_to_hex(a:rgb_color[0], 2) " red"
+ let l:hex_color .= s:dec_to_hex(a:rgb_color[1], 2) " green"
+ let l:hex_color .= s:dec_to_hex(a:rgb_color[2], 2) " blue"
+
+ return l:hex_color
+endfunction
+
+let colorgroup = {}
+let colorgroup['Normal'] = {"GUIFG": _l_white, "GUIBG": _black}
+let colorgroup['NormalNC'] = {"GUIFG": _l_white, "GUIBG": _black}
+let colorgroup['NormalSB'] = {"GUIFG": _d_white, "GUIBG": _semiblack}
+let colorgroup['NormalFloat'] = {"GUIFG": _l_white, "GUIBG": _black}
+let colorgroup['FloatBorder'] = {"GUIFG": _lightblack}
+let colorgroup['Darker'] = {"GUIFG": _gray, "GUIBG": _black}
+let colorgroup['ColorColumn'] = {"GUIFG": _black, "GUIBG": _aubergine}
+"let colorgroup['Conceal'] = {"GUIFG": _sap, "GUI": "bold"}
+let colorgroup['Conceal'] = {"GUIFG": _sap }
+let colorgroup['Cursor'] = {"GUIFG": _black, "GUIBG": _aubergine}
+let colorgroup['iCursor'] = {"GUIFG": _black, "GUIBG": _marzipan}
+let colorgroup['CursorLine'] = {"GUIFG": "NONE", "GUIBG": _semiblack}
+let colorgroup['CursorLineNr'] = {"GUIFG": _gray_dark, "GUIBG": _black}
+let colorgroup['Directory'] = {"GUIFG": _marzipan, "GUIBG": _black}
+let colorgroup['ErrorMsg'] = {"GUIFG": _black, "GUIBG": _aubergine}
+let colorgroup['FoldColumn'] = { "GUIBG": _black}
+let colorgroup['Folded'] = {"GUIFG": _l_white, "GUIBG": _semiblack}
+let colorgroup['LineNr'] = {"GUIFG": _lightblack, "GUIBG": _black}
+if &background == "light"
+ let colorgroup['LineNr'] = {"GUIFG": _gray, "GUIBG": _black}
+endif
+let colorgroup['MatchParen'] = {"GUIFG": _black, "GUIBG": _l_white}
+let colorgroup['ModeMsg'] = {"GUIFG": _black, "GUIBG": _marzipan}
+let colorgroup['Whitespace'] = {"GUIFG": _semiblack, "CTERMFG":235}
+
+"Popup menu: normal item"
+let colorgroup['Pmenu'] = {"GUIFG": _l_white, "GUIBG": _semiblack}
+"Popup menu: selected item"
+let colorgroup['PmenuSel'] = {"GUIBG": _gray_dark}
+"Popup menu: scrollbar"
+let colorgroup['PmenuSbar'] = {"GUIBG": _black}
+"Thumb of the scrollbar."
+let colorgroup['PmenuThumb'] = {"GUIBG": _black}
+
+let colorgroup['Search'] = {"GUIBG": _gray_dark, "GUI": "underline"}
+let colorgroup['SignColumn'] = {"GUIBG": _black}
+let colorgroup['StatusLine'] = {"GUIFG": _gray, "GUIBG": _semiblack}
+let colorgroup['StatusLineNC'] = {"GUIFG": _gray_dark, "GUIBG": _semiblack}
+let colorgroup['Tabline'] = {"GUIFG": _gray, "GUIBG": _semiblack}
+let colorgroup['TablineFill'] = {"GUIBG": _black}
+let colorgroup['TabLineSel'] = {"GUIFG": _gray_dark, "GUIBG": _black}
+"let colorgroup['Title'] = {"GUIFG": _marzipan, "GUI": "bold"}
+let colorgroup['Title'] = {"GUIFG": _marzipan}
+let colorgroup['Todo'] = {"GUIFG": _black, "GUIBG": _sky, "GUI": "italic"}
+let colorgroup['VertSplit'] = {"GUIFG": _lightblack}
+let colorgroup['Visual'] = {"GUIBG": _gray_dark}
+let colorgroup['WarningMsg'] = {"GUIFG": _pink, "GUIBG": _black}
+
+" === Other highlighting groups ==="
+"let colorgroup['Access'] = {"GUIFG": _marzipan, "GUI": "bold"}
+let colorgroup['Access'] = {"GUIFG": _marzipan }
+let colorgroup['Character'] = {"GUIFG": _sky}
+let colorgroup['Define'] = {"GUIFG": _gray_light}
+let colorgroup['Function'] = {"GUIFG": _d_turquoise}
+let colorgroup['Label'] = {"GUIFG": _d_turquoise}
+let colorgroup['Module'] = {"GUIFG": _aubergine, "GUI": "underline"}
+let colorgroup['NonText'] = {"GUIFG": _gray_dark}
+let colorgroup['String'] = {"GUIFG": _marzipan}
+let colorgroup['Structure'] = {"GUIFG": _white}
+let colorgroup['Object'] = {"GUIFG": _gray}
+let colorgroup['Xml'] = {"GUIFG": _purple}
+let colorgroup['Punctuation'] = {"GUIFG": _purple}
+let colorgroup['Attr'] = {"GUIFG": _d_turquoise}
+
+" === Syntax ==="
+let colorgroup['Comment'] = {"GUIFG": _gray_light, "CTERMFG":244, "CTERMBG":"NONE", "GUIBG": "NONE", "GUISP":"NONE", "CTERM":"NONE", "GUI":"NONE"}
+"let colorgroup['Constant'] = {"GUIFG": _l_sky, "GUI": "bold"}
+let colorgroup['Constant'] = {"GUIFG": _l_sky}
+let colorgroup['Identifier'] = {"GUIFG": _aubergine}
+let colorgroup['Operator'] = {"GUIFG": _gray_light}
+let colorgroup['Statement'] = {"GUIFG": _l_sky}
+let colorgroup['PreProc'] = {"GUIFG": _white}
+let colorgroup['Type'] = {"GUIFG": _white}
+let colorgroup['Special'] = {"GUIFG": _l_sky}
+let colorgroup['Underlined'] = {"GUIFG": _marzipan, "GUI": "underline"}
+let colorgroup['Error'] = {"GUIFG": _black, "GUIBG": _aubergine}
+let colorgroup['MarkdownH1'] = {"GUIFG": _sky, "GUI": "bold"}
+let colorgroup['MarkdownH2'] = {"GUIFG": _l_sky, "GUI": "bold"}
+let colorgroup['MarkdownLinkText'] = {"GUIFG": _l_sky, "GUI": "underline"}
+
+" === Own highlighting groups ==="
+let colorgroup['UnderlinedBold'] = {"GUIFG": _marzipan, "GUI": "underline,bold"}
+
+" === GitGutter highlighting groups ==="
+let colorgroup['GitGutterAdd'] = {"GUIFG": _green, "GUIBG": _black}
+let colorgroup['GitGutterChange'] = {"GUIFG": _sap, "GUIBG": _black}
+let colorgroup['GitGutterDelete'] = {"GUIFG": _pink, "GUIBG": _black}
+let colorgroup['GitGutterChangeDelete'] = {"GUIFG": _sap, "GUIBG": _black}
+
+" === Git highlighting groups ==="
+let colorgroup['DiffAdd'] = {"GUIFG": _green, "GUIBG": _black, "GUI":"NONE"}
+let colorgroup['DiffChange'] = {"GUIFG": _white, "GUIBG": _black, "GUI":"NONE"}
+let colorgroup['DiffDelete'] = {"GUIFG": _pink, "GUIBG": _black, "GUI":"NONE"}
+let colorgroup['DiffText'] = {"GUIFG": _pink, "GUIBG": _black, "GUI":"NONE"}
+
+" === NvimTree highlighting groups ==="
+let colorgroup['NvimTreeNormal'] = {"GUIFG": _d_white, "GUIBG": _black }
+let colorgroup['NvimTreeNormalNC'] = {"GUIFG": _d_white, "GUIBG": _black }
+let colorgroup['NvimTreeRootFolder'] = {"GUIFG": _gray_light, "GUIBG": _black, "GUI":"bold"}
+let colorgroup['NvimTreeFolderName'] = {"GUIFG": _gray_light, "GUIBG": _black }
+let colorgroup['NvimTreeOpenedFolderName'] = {"GUIFG": _d_white, "GUIBG": _black }
+let colorgroup['NvimTreeGitDirty'] = {"GUIFG": _marzipan, "GUIBG": _black }
+let colorgroup['NvimTreeGitNew'] = {"GUIFG": _green, "GUIBG": _black }
+let colorgroup['NvimTreeGitDeleted'] = {"GUIFG": _pink, "GUIBG": _black }
+let colorgroup['NvimTreeSpecialFile'] = {"GUIFG": _d_turquoise, "GUIBG": _black, "GUI":"underline"}
+let colorgroup['NvimTreeIndentMarker'] = {"GUIFG": _lightblack, "GUIBG": _black}
+let colorgroup['NvimTreeImageFile'] = {"GUIFG": _d_white, "GUIBG": _black }
+let colorgroup['NvimTreeSymlink'] = {"GUIFG": _d_white, "GUIBG": _black }
+let colorgroup['NvimTreeGitStaged'] = {"GUIFG": _d_white, "GUIBG": _black }
+let colorgroup['NvimTreeGitMerge'] = {"GUIFG": _d_white, "GUIBG": _black }
+let colorgroup['NvimTreeGitRenamed'] = {"GUIFG": _d_white, "GUIBG": _black }
+
+" === COMPLETION highlighting groups ==="
+let colorgroup['CmpDocumentation'] = {"GUIFG": _d_white, "GUIBG": _black, "GUI":"NONE" }
+let colorgroup['CmpDocumentationBorder'] = {"GUIFG": _d_white, "GUIBG": _d_white, "GUI":"NONE" }
+"uncompleted item that may be good for completion"
+let colorgroup['CmpItemAbbr'] = {"GUIFG": _d_white, "GUIBG": _black, "GUI":"NONE" }
+let colorgroup['CmpItemAbbrDeprecated'] = {"GUIFG": _d_white, "GUIBG": _black, "GUI":"NONE" }
+"matched item (what you typed until present)"
+let colorgroup['CmpItemAbbrMatch'] = {"GUIFG": _aubergine, "GUIBG": _black, "GUI":"NONE" }
+"fuzzy match for what you typed"
+let colorgroup['CmpItemAbbrMatchFuzzy'] = {"GUIFG": _black, "GUIBG": _black, "GUI":"NONE" }
+let colorgroup['CmpItemKind'] = {"GUIFG": _aubergine, "GUIBG": _black, "GUI":"NONE" }
+let colorgroup['CmpItemMenu'] = {"GUIFG": _d_white, "GUIBG": _black, "GUI":"NONE" }
+
+let colorgroup['LspDiagnosticsDefaultError'] = {"GUIFG": _pink, "GUIBG": _black }
+let colorgroup['LspDiagnosticsDefaultWarning'] = {"GUIFG": _marzipan, "GUIBG": _black }
+let colorgroup['LspDiagnosticsDefaultHint'] = {"GUIFG": _d_white, "GUIBG": _black }
+
+let colorgroup['LspFloatWinNormal'] = {"GUIFG": _d_white, "GUIBG": _black }
+let colorgroup['LspFloatWinBorder'] = {"GUIFG": _black, "GUIBG": _black }
+let colorgroup['LspFloatWinBorder'] = {"GUIFG": _black, "GUIBG": _black }
+let colorgroup['LspFloatWinBorder'] = {"GUIFG": _black, "GUIBG": _black }
+
+ let colorgroup['BufferLineIndicatorSelected'] = {"GUIFG": _l_sky}
+ let colorgroup['BufferLineFill'] = {"GUIBG": _pink}
+
+"used for highlighting the current line in terminal-debug"
+let colorgroup['debugPC'] = {"GUIBG": _black}
+"used for breakpoint colors in terminal-debug"
+let colorgroup['debugBreakpoint'] = {"GUIBG": _semiblack}
+
+"These groups are for the native LSP client. Some other LSP clients may"
+"use these groups, or use their own. Consult your LSP client's"
+"documentation."
+
+"used for highlighting 'text' references"
+let colorgroup['LspReferenceText'] = {"GUIBG": _gray_light }
+"used for highlighting 'read' references"
+let colorgroup['LspReferenceRead'] = {"GUIBG": _gray_light }
+"used for highlighting 'write' references"
+let colorgroup['LspReferenceWrite'] = {"GUIBG": _gray_light }
+
+let colorgroup['DiagnosticError'] = {"GUIFG": _pink, "GUIBG": _black}
+let colorgroup['DiagnosticWarn'] = {"GUIFG": _marzipan, "GUIBG": _black }
+let colorgroup['DiagnosticInfo'] = {"GUIFG": _sky, "GUIBG": _black }
+let colorgroup['DiagnosticHint'] = {"GUIFG": _d_turquoise, "GUIBG": _black }
+
+let colorgroup['DiagnosticVirtualTextError'] = {"GUIFG": _pink, "GUIBG": _black }
+let colorgroup['DiagnosticVirtualTextWarn'] = {"GUIFG": _marzipan, "GUIBG": _black }
+let colorgroup['DiagnosticVirtualTextInfo'] = {"GUIFG": _sky, "GUIBG": _black }
+let colorgroup['DiagnosticVirtualTextHint'] = {"GUIFG": _d_turquoise, "GUIBG": _black }
+
+let colorgroup['DiagnosticUnderlineError'] = {"style": "undercurl", "sp": _pink }
+let colorgroup['DiagnosticUnderlineWarn'] = {"style": "undercurl", "sp": _marzipan }
+let colorgroup['DiagnosticUnderlineInfo'] = {"style": "undercurl", "sp": _sky }
+let colorgroup['DiagnosticUnderlineHint'] = {"style": "undercurl", "sp": _d_turquoise }
+
+" === Highlighting Links ==="
+hi link Boolean Number
+hi link Class Constant
+hi link Delimiter Define
+hi link Debug Special
+hi link Conditional Define
+hi link Exception PreProc
+hi link Float Number
+hi link Include PreProc
+hi link Macro PreProc
+hi link Number Identifier
+hi link Operator Identifier
+hi link PreCondit PreProc
+hi link Repeat Statement
+hi link SpecialChar Special
+hi link SpecialComment Special
+hi link SpecialKey Define
+hi link StorageClass Identifier
+hi link Symbol PreProc
+hi link Tag Normal
+hi link Typedef Type
+
+" === Highlighting Plugins ==="
+
+" CtrlP "
+hi link CtrlPMatch Character
+
+" Git commit "
+hi link gitcommitBranch Constant
+hi link gitcommitSelectedFile Statement
+hi link gitcommitDiscardedFile Structure
+hi link gitcommitUntrackedFile Structure
+hi link gitcommitSummary String
+
+" GitGutter "
+hi link GitGutterAdd GitGutterAdd
+hi link GitGutterChange GitGutterChange
+hi link GitGutterDelete GitGutterDelete
+hi link GitGutterChangeDelete GitGutterChangeDelete
+
+" Signify "
+hi link SignifySignAdd GitGutterAdd
+hi link SignifySignChange GitGutterChange
+hi link SignifySignChangeDelete GitGutterChangeDelete
+hi link SignifySignDelete GitGutterDelete
+hi link SignifySignDeleteFirstLine SignifySignDelete
+
+" NERDtree "
+hi link NerdTreeCWD Character
+hi link NerdTreeHelpKey Character
+hi link NerdTreeHelpTitle Statement
+hi link NerdTreeOpenable NerdTreeCWD
+hi link NerdTreeClosable Statement
+hi link NerdTreeDir Normal
+hi link NerdTreeDirSlash NerdTreeDir
+
+" PlainTasks (.todo) "
+hi link ptCompleteTask Number
+hi link ptContext Type
+hi link ptSection Title
+hi link ptTask Normal
+
+" VimPlug "
+hi link plugName Character
+
+" Startify "
+hi link StartifyNumber Character
+hi link StartifyBracket StartifyNumber
+hi link StartifySection Title
+hi link StartifyPath Define
+hi link StartifySlash StartifyPath
+hi link StartifyFile Normal
+
+" === Highlighting Languages/Tools ==="
+
+" highlight clear ALEErrorSign "
+if exists('g:ale_enabled')
+ hi! link ALEError WarningMsg
+ hi! link ALEWarning WarningMsg
+ hi! link ALEInfo WarningMsg
+
+ hi! link ALEErrorSign WarningMsg
+ hi! link ALEWarningSign WarningMsg
+ hi! link ALEInfoSign WarningMsg
+ hi! link ALEVirtualTextWarning WarningMsg
+ hi! link ALEVirtualTextError WarningMsg
+endif
+
+" Apache "
+hi link apacheDeclaration PreProc
+
+" CoffeeScript "
+hi link coffeeExtendedOp Character
+hi link coffeeObject Statement
+hi link coffeeObjAssign Character
+hi link coffeeParen Character
+
+" CSS "
+hi link cssAttr Identifier
+hi link cssColor Normal
+hi link cssClassName String
+hi link cssProp Function
+hi link cssPseudoClass Character
+hi link cssPseudoClassId Character
+hi link cssSelectorOp Character
+hi link cssTagName Identifier
+hi link cssDefinition Identifier
+hi link cssNoise Punctuation
+hi link cssBraces Punctuation
+hi link cssIdentifier Punctuation
+hi link cssIncludeKeyword Punctuation
+hi link cssUnitDecorators String
+
+" GraphQL "
+hi link graphqlName Function
+hi link graphqlString Comment
+
+" HAML "
+hi link hamlTag Character
+
+" HTML "
+"hi link javaScript Normal"
+hi link htmlTag Label
+hi link htmlEndTag Label
+hi link htmlTagName Label
+hi link htmlScriptTag Label
+hi link htmlArg Attr
+hi link htmlTitle Normal
+hi link htmlH1 Normal
+hi link htmlH2 htmlH1
+hi link htmlH3 htmlH1
+hi link htmlH4 htmlH1
+hi link htmlH5 htmlH1
+hi link htmlH6 htmlH1
+
+" JavaScript "
+hi link javascriptFuncArg Character
+hi link javascriptFuncComma Punctuation
+hi link javascriptFuncDef Statement
+hi link javascriptFuncKeyword Statement
+hi link javascriptOpSymbols Type
+hi link javascriptParens Punctuation
+hi link javascriptEndcolons Character
+hi link jsArrowFuncArgs Normal
+hi link jsArrowFunction Identifier
+hi link jsBraces Punctuation
+hi link jsBrackets Punctuation
+hi link jsClassBraces Punctuation
+hi link jsClassDefinition Class
+hi link jsClassFuncName Function
+hi link jsClassKeyword Identifier
+hi link jsClassProperty Normal
+hi link jsClassBlock Identifier
+hi link jsDecorator Normal
+hi link jsDestructuringBraces Punctuation
+hi link jsExtendsKeyword jsClassKeyword
+hi link jsExport Identifier
+hi link jsImport Module
+hi link jsFrom Identifier
+hi link jsFuncBraces Punctuation
+hi link jsFunction Identifier
+hi link jsFuncCall Function
+hi link jsFuncParens Punctuation
+hi link jsFunctionKey Function
+hi link jsGlobalObjects Identifier
+hi link jsGlobalNodeObjects Identifier
+hi link jsIfElseBraces Punctuation
+hi link jsModuleBraces Normal
+hi link jsModuleKeyword Tag
+hi link jsNoise Delimiter
+hi link jsObjectBraces Punctuation
+hi link jsObjectKey Normal
+hi link jsObjectValue PreProc
+hi link jsObjectProp Function
+hi link jsObjectColon Punctuation
+hi link jsObjectShorthandProp Punctuation
+hi link jsParens Punctuation
+hi link jsReturn Identifier
+hi link jsSpreadOperator Identifier
+hi link jsThis Identifier
+
+" JSON "
+hi link jsonKeyword Attr
+hi link jsonKeywordMatch Punctuation
+hi link jsonQuote Attr
+hi link jsonNoise Punctuation
+hi link jsonString Punctuation
+hi link jsonBraces Normal
+hi link jsonBoolean WarningMsg
+
+hi link jsonNumError Comment
+hi link jsonCommentError Comment
+hi link jsonSemicolonError Comment
+hi link jsonTrailingCommaError Comment
+hi link jsonMissingCommaError Comment
+hi link jsonStringSQError Comment
+hi link jsonNoQuotesError Punctuation
+hi link jsonTripleQuotesError Punctuation
+
+" hi link texSpecialChar Special "
+" Markdown "
+hi link markdownHeadingDelimiter Identifier
+hi link markdownCode Identifier
+hi link markdownIndentCode Identifier
+hi link markdownLineBreak Statement
+hi link markdownH1 MarkdownH1
+hi link markdownH2 MarkdownH2
+hi link markdownLinkText markdownLinkText
+
+" MatchTagAlways "
+hi link MatchTag Identifier
+
+" PHP "
+hi link phpRegion Comment
+hi link phpConstant WarningMsg
+hi link phpCoreConstant WarningMsg
+hi link phpComment Comment
+hi link phpDocTags WarningMsg
+hi link phpDocCustomTags WarningMsg
+hi link phpException WarningMsg
+hi link phpBoolean WarningMsg
+hi link phpClass String
+hi link phpStaticClasses String
+hi link phpClassDelimiter WarningMsg
+hi link phpFunction Label "Custom functions"
+hi link phpFunctions Character "Built-in functions"
+hi link phpSuperglobals Normal "Global functions"
+hi link phpMagicConstants Normal "__CLASS__"
+hi link phpServerVars WarningMsg
+hi link phpMethods WarningMsg
+hi link phpMethodsVar Label
+hi link phpSplatOperator Label
+hi link phpStringDelimiter String "String Quotes"
+hi link phpStructure Label
+hi link phpStringSingle String
+hi link phpStringDouble Identifier
+hi link phpBacktick Identifier
+hi link phpNumber Identifier
+hi link phpFloat WarningMsg
+hi link phpBaselib Identifier
+hi link phpRepeat WarningMsg
+hi link phpStatement Identifier
+hi link phpKeyword Identifier "function"
+hi link phpSCKeyword Identifier
+hi link phpFCKeyword Identifier
+hi link phpYieldFromKeyword Identifier
+hi link phpDocNamespaceSeparator WarningMsg
+hi link phpClassNamespaceSeparator WarningMsg
+hi link phpUseNamespaceSeparator WarningMsg
+hi link phpType Identifier "public, privat, protected"
+hi link phpInclude Identifier
+hi link phpDefine WarningMsg
+hi link phpBackslashSequences WarningMsg
+hi link phpBackslashDoubleQuote WarningMsg
+hi link phpBackslashSingleQuote WarningMsg
+hi link phpParent Punctuation
+hi link phpBrackets Punctuation
+hi link phpIdentifierConst WarningMsg
+hi link phpParentError WarningMsg
+hi link phpOctalError WarningMsg
+hi link phpInterpSimpleError WarningMsg
+hi link phpInterpBogusDollarCurley WarningMsg
+hi link phpInterpDollarCurly1 WarningMsg
+hi link phpInterpDollarCurly2 WarningMsg
+hi link phpInterpSimpleBracketsInner WarningMsg
+hi link phpInterpSimpleCurly WarningMsg
+hi link phpInterpVarname WarningMsg
+hi link phpIntVar Punctuation
+hi link phpVarSelector PreProc "$ sign"
+hi link phpMemberSelector Identifier "->"
+hi link phpIdentifier PreProc
+hi link phpTodo Identifier
+hi link phpDocTodo Identifier
+hi link phpOperator Identifier "+, -, x, *"
+hi link phpRelation WarningMsg
+hi link phpIdentifierSimply WarningMsg
+
+"Pug"
+hi link pugHtmlConditionalComment WarningMsg
+
+" Python "
+hi link pythonMagic Identifier
+hi link pythonBuiltin Identifier
+hi link pythonStatement Identifier
+hi link pythonOperator Punctuation
+hi link pythonFunction Character
+hi link pythonString Label
+hi link pythonImport Identifier
+hi link pythonDef Punctuation
+hi link pythonAs Punctuation
+hi link pythonDocstring Punctuation
+hi link pythonSpecial Punctuation
+hi link pythonDecorator Punctuation
+hi link pythonExceptions Punctuation
+
+" Ruby "
+hi link rubyAccess Access
+hi link rubyBlockParameterList PreProc
+hi link rubyCallback Character
+hi link rubyClass Label
+hi link rubyClassName UnderlinedBold
+hi link rubyControl Statement
+hi link rubyConstant Constant
+hi link rubyEntity Character
+hi link rubyInclude Include
+hi link rubyInterpolation Identifier
+hi link rubyMacro Character
+hi link rubyModule Module
+hi link rubyStringDelimiter rubyString
+hi link rubySymbol Symbol
+hi link rubyRoute Type
+
+" SASS "
+hi link sassClassChar Type
+hi link sassClass Type
+hi link sassIdChar Type
+hi link sassId Type
+hi link sassProperty Type
+hi link scssProperty Identifier
+hi link scssMixin Identifier
+hi link scssVariable Attr
+hi link scssInclude Identifier
+hi link scssExtend Identifier
+hi link scssFunctionDefinition Identifier
+hi link scssReturn Identifier
+hi link scssEachKeyword Identifier
+hi link scssForKeyword Identifier
+hi link scssImport Identifier
+hi link scssSemicolon Punctuation
+hi link scssAtRoot Identifier
+hi link scssSelectorName String
+
+" Slim "
+hi link slimBegin Normal
+hi link slimClass Character
+hi link slimClassChar Character
+hi link slimId Character
+hi link slimIdChar Character
+hi link rubyKeyword PreProc
+hi link slimText Normal
+
+" TypeScript "
+hi link typescriptBOM Normal
+hi link typescriptBraces Punctuation
+hi link typescriptParens Punctuation
+hi link typescriptTypeReference String
+hi link typescriptAsyncFuncKeyword Identifier
+hi link typescriptAsyncFunc Identifier
+hi link typescriptArrowFunc Identifier
+hi link typescriptFuncKeyword Identifier
+hi link typescriptArrowFuncArg Identifier
+hi link typescriptFuncName Function
+hi link typescriptFuncArg Identifier
+hi link typescriptFuncComma Identifier
+hi link typescriptFuncTypeArrow String
+hi link typescriptTemplate Attr
+hi link typescriptTemplateSB Attr
+hi link typescriptObjectLabel Normal
+hi link typescriptDestructureLabel Attr
+hi link typescriptObjectAsyncKeyword Attr
+hi link typescriptInterfaceKeyword Identifier
+hi link typescriptInterfaceExtends Identifier
+hi link typescriptInterfaceName String
+hi link typescriptImport Identifier
+hi link typescriptImportType Normal
+hi link typescriptExport Identifier
+hi link typescriptExportType Normal
+"Types=> key:value"
+hi link typescriptMember Normal
+hi link typescriptPredefinedType Attr
+hi link typescriptStringMember Normal
+hi link typescriptString String
+hi link typescriptConditional Identifier
+hi link typescriptConditionalElse Identifier
+"default"
+hi link typescriptCase Identifier
+hi link typescriptDefault Identifier
+hi link typescriptMethodAccessor String
+hi link typescriptKeywordOp String
+"return"
+hi link typescriptStatementKeyword Identifier
+hi link typescriptNull Attr
+hi link typescriptBoolean Attr
+hi link typescriptConstructorType Attr
+hi link typescriptTypeQuery Attr
+hi link typescriptAccessibilityModifier Attr
+hi link typescriptOptionalMark Attr
+hi link typescriptReadonlyModifier Attr
+hi link typescriptTypeParameter Attr
+
+" VimL "
+hi link vimCmdSep Character
+
+" YAML "
+hi link yamlBlockMappingKey Punctuation
+hi link yamlDocumentStart Punctuation
+hi link yamlKeyValueDelimiter Punctuation
+hi link yamlPlainScalar Punctuation
+
+" XML "
+" hi link xmlAttrib Normal"
+hi link xmlTag Xml
+hi link xmlTagName Identifier
+hi link xmlEndTag Tag
+hi link xmlAttrib Attr
+
+" === Expand colorgroups === "
+
+let s:colors = {}
+" http://choorucode.com/2011/07/29/vim-chart-of-color-names/"
+
+let valid_cterm_colors =
+ \ [
+ \ 'Black', 'DarkBlue', 'DarkGreen', 'DarkCyan',
+ \ 'DarkRed', 'DarkMagenta', 'Brown', 'DarkYellow',
+ \ 'LightGray', 'LightGrey', 'Gray', 'Grey',
+ \ 'DarkGray', 'DarkGrey', 'Blue', 'LightBlue',
+ \ 'Green', 'LightGreen', 'Cyan', 'LightCyan',
+ \ 'Red', 'LightRed', 'Magenta', 'LightMagenta',
+ \ 'Yellow', 'LightYellow', 'White',
+ \ ]
+for key in keys(colorgroup)
+ let s:colors = colorgroup[key]
+ if has_key(s:colors, 'TERM')
+ let term = s:colors['TERM']
+ else
+ let term = 'NONE'
+ endif
+ if has_key(s:colors, 'GUI')
+ let gui = s:colors['GUI']
+ else
+ let gui='NONE'
+ endif
+ if has_key(s:colors, 'GUIFG')
+ let guifg = s:colors['GUIFG']
+ else
+ let guifg='NONE'
+ endif
+ if has_key(s:colors, 'GUIBG')
+ let guibg = s:colors['GUIBG']
+ else
+ let guibg='NONE'
+ endif
+ if g:bore_terminal_italics == 0
+ if has_key(s:colors, 'CTERM') && s:colors["CTERM"] == "italic"
+ unlet a:colors.CTERM
+ endif
+ if has_key(s:colors, "GUI") && s:colors["GUI"] == "italic"
+ unlet s:colors.GUI
+ endif
+ endif
+ if has_key(s:colors, 'CTERM')
+ let cterm = s:colors['CTERM']
+ else
+ let cterm=gui
+ endif
+ if has_key(s:colors, 'CTERMFG')
+ let ctermfg = s:colors['CTERMFG']
+ else
+ if index(valid_cterm_colors, guifg) != -1
+ let ctermfg=guifg
+ else
+ let ctermfg='Blue'
+ endif
+ endif
+ if has_key(s:colors, 'CTERMBG')
+ let ctermbg = s:colors['CTERMBG']
+ else
+ if index(valid_cterm_colors, guibg) != -1
+ let ctermbg=guibg
+ else
+ let ctermbg='NONE'
+ endif
+ endif
+ if has_key(s:colors, 'GUISP')
+ let guisp = s:colors['GUISP']
+ else
+ let guisp='NONE'
+ endif
+ if key =~ '^\k*$'
+ execute "hi ".key." term=".term." cterm=".cterm." gui=".gui." ctermfg=".ctermfg." guifg=".guifg." ctermbg=".ctermbg." guibg=".guibg." guisp=".guisp
+ endif
+endfor
+
+hi DiffAdd ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi DiffChange ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi DiffDelete ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi DiffText ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi IncSearch ctermbg=8 ctermfg=NONE cterm=NONE guibg=#272727 guifg=NONE gui=NONE
+hi Search ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi Directory ctermbg=NONE ctermfg=8 cterm=NONE guibg=NONE guifg=#808080 gui=NONE
+hi MatchParen ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi SpellBad ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE guisp=#b3646e
+hi SpellCap ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE guisp=#7fa7c9
+hi SpellLocal ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE guisp=#a2a6d4
+hi SpellRare ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE guisp=#91cecf
+hi ColorColumn ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi SignColumn ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi ErrorMsg ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi ModeMsg ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi MoreMsg ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi Question ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi Cursor ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi CursorColumn ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi QuickFixLine ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi Conceal ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi ToolbarLine ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi ToolbarButton ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi debugPC ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi debugBreakpoint ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi VimHiGroup ctermbg=NONE ctermfg=12 cterm=NONE guibg=NONE guifg=#7fa7c9 gui=NONE
+hi VimVar ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#e0e0e0 gui=NONE
+hi VimAutoEvent ctermbg=NONE ctermfg=12 cterm=NONE guibg=NONE guifg=#7fa7c9 gui=NONE
+hi VimFunction ctermbg=NONE ctermfg=13 cterm=NONE guibg=NONE guifg=#a2a6d4 gui=NONE
+hi vimVar ctermbg=NONE ctermfg=13 cterm=NONE guibg=NONE guifg=#a2a6d4 gui=NONE
+hi vimMapMod ctermbg=NONE ctermfg=12 cterm=NONE guibg=NONE guifg=#7fa7c9 gui=NONE
+hi vimMapModKey ctermbg=NONE ctermfg=12 cterm=NONE guibg=NONE guifg=#7fa7c9 gui=NONE
+hi vimBracket ctermbg=NONE ctermfg=13 cterm=NONE guibg=NONE guifg=#a2a6d4 gui=NONE
+hi vimNotation ctermbg=NONE ctermfg=13 cterm=NONE guibg=NONE guifg=#a2a6d4 gui=NONE
+hi StatusText ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#e0e0e0 gui=NONE
+hi StatusBackground ctermbg=NONE ctermfg=0 cterm=NONE guibg=NONE guifg=#0d0d0d gui=NONE
+hi StatusFileName ctermbg=NONE ctermfg=12 cterm=NONE guibg=NONE guifg=#7fa7c9 gui=NONE
+hi StatusFileType ctermbg=NONE ctermfg=10 cterm=NONE guibg=NONE guifg=#a0bc8d gui=NONE
+hi StatusFileModified ctermbg=NONE ctermfg=11 cterm=NONE guibg=NONE guifg=#c9b16f gui=NONE
+hi StatusFileReadonly ctermbg=NONE ctermfg=11 cterm=NONE guibg=NONE guifg=#c9b16f gui=NONE
+hi StatusFileLocation ctermbg=NONE ctermfg=13 cterm=NONE guibg=NONE guifg=#a2a6d4 gui=NONE
+hi StatusFileEncoding ctermbg=NONE ctermfg=14 cterm=NONE guibg=NONE guifg=#91cecf gui=NONE
+hi StatusWarning ctermbg=NONE ctermfg=11 cterm=NONE guibg=NONE guifg=#c9b16f gui=NONE
+hi StatusError ctermbg=NONE ctermfg=9 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi TabLineTitle ctermbg=NONE ctermfg=8 cterm=NONE guibg=NONE guifg=#E9E9E9 gui=NONE
+hi TabLineTitleActive ctermbg=NONE ctermfg=12 cterm=NONE guibg=NONE guifg=#FFFFFF gui=NONE
+hi SignifySignAdd ctermbg=NONE ctermfg=10 cterm=NONE guibg=NONE guifg=#a0bc8d gui=NONE
+hi SignifySignDelete ctermbg=NONE ctermfg=9 cterm=NONE guibg=NONE guifg=#b3646e gui=NONE
+hi SignifySignChange ctermbg=NONE ctermfg=11 cterm=NONE guibg=NONE guifg=#c9b16f gui=NONE
+
+" hi CocExplorerGitPathChange ctermbg=NONE ctermfg=10 cterm=NONE guibg=NONE guifg=#a0bc8d gui=NONE
+" hi CocExplorerGitContentChange ctermbg=NONE ctermfg=11 cterm=NONE guibg=NONE guifg=#c9b16f gui=NONE
+
+" hi CocErrorSign ctermbg=NONE ctermfg=8 cterm=NONE guibg=#0a0a0a guifg=#d0d0d0 gui=NONE
+" hi CocInfoSign ctermbg=NONE ctermfg=8 cterm=NONE guibg=#0a0a0a guifg=#c9b16f gui=NONE
+" hi CocWarningSign ctermbg=NONE ctermfg=8 cterm=NONE guibg=#0a0a0a guifg=#c9b16f gui=NONE
+
+" hi CocErrorFloat ctermbg=NONE ctermfg=8 cterm=NONE guibg=#0a0a0a guifg=#b3646e gui=NONE
+" hi CocInfoFloat ctermbg=NONE ctermfg=8 cterm=NONE guibg=#0a0a0a guifg=#d0d0d0 gui=NONE
+" hi CocWarningFloat ctermbg=NONE ctermfg=8 cterm=NONE guibg=#0a0a0a guifg=#c9b16f gui=NONE
+
+hi Pmenu ctermbg=NONE ctermfg=8 cterm=NONE guibg=NONE guifg=#808080 gui=NONE
+hi PmenuSbar ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi PmenuSel ctermbg=8 ctermfg=15 cterm=NONE guibg=#202020 guifg=#d0d0d0 gui=NONE
+hi PmenuThumb ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+
+hi StatusLine ctermbg=NONE ctermfg=8 cterm=NONE guibg=NONE guifg=#808080 gui=NONE
+hi StatusLineNC ctermbg=NONE ctermfg=8 cterm=NONE guibg=NONE guifg=#505050 gui=NONE
+hi VertSplit ctermbg=NONE ctermfg=8 cterm=NONE guibg=NONE guifg=#272727 gui=NONE
+hi TabLine ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#202020 gui=NONE
+hi TabLineFill ctermbg=NONE ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+hi TabLineSel ctermbg=8 ctermfg=15 cterm=NONE guibg=NONE guifg=#d0d0d0 gui=NONE
+
+" Treesitter specific highlighting
+hi @type guifg=#ffffff gui=NONE cterm=NONE
+hi @type.builtin guifg=#ffffff gui=NONE cterm=NONE
+hi @type.qualifier guifg=#ffffff gui=NONE cterm=NONE
+hi @type.definition guifg=#ffffff gui=NONE cterm=NONE
+
+hi link @parameter _pink
+hi link @parameter.builtin _pink
+hi link @variable.argument _pink
+hi link @lsp.type.parameter _pink
+
+hi @tag guifg=#6cbeff gui=NONE cterm=NONE
+hi @tag.builtin guifg=#FD98B9 gui=NONE cterm=NONE
+hi @tag.attribute guifg=#7fdbca gui=NONE cterm=NONE
+"hi @module guifg=#6cbeff gui=NONE cterm=NONE
+hi @module guifg=#75778C gui=NONE cterm=NONE
+"hi @module guifg=#3E3F4A gui=NONE cterm=NONE
+"hi @module guifg=#FD98B9 gui=NONE cterm=NONE
+
+" #3E3F4A to replace constants and others
+hi @constant guifg=#7fdbca gui=NONE cterm=NONE
+hi link @variable.parameter NONE
+hi @variable.parameter guifg=#FD98B9 gui=NONE cterm=NONE
+hi @variable guifg=#FD98B9 gui=NONE cterm=NONE
+hi @function.call guifg=#7fdbca gui=NONE cterm=NONE
+hi @function.builtin guifg=#7fdbca gui=NONE cterm=NONE
+hi @function.method.call guifg=#7fdbca gui=NONE cterm=NONE
+hi @variable.member guifg=#7fdbca gui=NONE cterm=NONE
+hi link @variable.parameter Identifier
+hi link @variable.parameter _pink
+hi @keyword.modifier guifg=#3E3F4A gui=NONE cterm=NONE
+hi @keyword.operator guifg=#3E3F4A gui=NONE cterm=NONE
+hi @constructor guifg=#7fdbca gui=NONE cterm=NONE
+hi @property guifg=#7fdbca gui=NONE cterm=NONE
+hi @boolean guifg=#6cbeff gui=NONE cterm=NONE
+hi @punctuation.bracket guifg=#3E3F4A gui=NONE cterm=NONE
+hi @punctuation.delimiter guifg=#3E3F4A gui=NONE cterm=NONE
+hi @lispList guifg=#E3F4A gui=NONE cterm=NONE
+hi @lispParen guifg=#3E3F4A gui=NONE cterm=NONE
+hi @keyword.directive guifg=#3E3F4A gui=NONE cterm=NONE
+
+let colorgroup['@variable.parameter'] = {"GUIFG": _pink}
+let colorgroup['@parameter'] = {"GUIFG": _pink}
+let colorgroup['@lsp.type.parameter'] = {"GUIFG": _pink}
+let colorgroup['Structure'] = {"GUIFG": _white}
+let colorgroup['@type'] = {"GUIFG": _white}
+let colorgroup['@lispList'] = {"GUIFG": '#75778C'}
+let colorgroup['@lispParen'] = {"GUIFG": '#75778C'}
+highlight @keyword.modifier guifg=#3E3F4A
+highlight @punctuation.special guifg=#3E3F4A
+hi @attribute guifg=#3E3F4A gui=NONE cterm=NONE
+
+
+" Must appear at the end of the file to work around this oddity:
+" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ
+set background=dark
diff --git a/nvim/colors/minimal-dark.vim b/nvim/colors/minimal-dark.vim
new file mode 100644
index 0000000..f55f689
--- /dev/null
+++ b/nvim/colors/minimal-dark.vim
@@ -0,0 +1,110 @@
+set background=dark
+highlight clear
+
+if exists("syntax_on")
+ syntax reset
+endif
+
+let g:colors_name = "minimal-dark"
+
+" Core UI highlight groups
+hi! StatusLine ctermfg=black ctermbg=NONE guifg=#000000 guibg=NONE
+hi! StatusLineNC ctermfg=black ctermbg=NONE guifg=#000000 guibg=NONE
+hi! Normal ctermbg=NONE guibg=NONE
+hi! Special ctermfg=cyan guifg=#00ffff
+hi! LineNr ctermfg=black ctermbg=NONE guifg=#000000 guibg=NONE
+hi! SpecialKey ctermfg=black ctermbg=NONE guifg=#000000 guibg=NONE
+hi! ModeMsg ctermfg=black ctermbg=NONE guifg=#000000 guibg=NONE gui=NONE
+hi! MoreMsg ctermfg=black ctermbg=NONE guifg=#000000 guibg=NONE
+hi! NonText ctermfg=black ctermbg=NONE guifg=#000000 guibg=NONE
+hi! vimGlobal ctermfg=black ctermbg=NONE guifg=#000000 guibg=NONE
+hi! Comment ctermfg=black ctermbg=NONE guifg=#000000 guibg=NONE
+hi! ErrorMsg ctermbg=234 ctermfg=darkred guibg=#1c1c1c guifg=#8b0000 gui=NONE
+hi! Error ctermbg=234 ctermfg=darkred guibg=#1c1c1c guifg=#8b0000 gui=NONE
+hi! SpellBad ctermbg=234 ctermfg=darkred guibg=#1c1c1c guifg=#8b0000 gui=NONE
+hi! SpellRare ctermbg=234 ctermfg=darkred guibg=#1c1c1c guifg=#8b0000 gui=NONE
+hi! Search ctermbg=236 ctermfg=darkred guibg=#303030 guifg=#8b0000
+hi! vimTodo ctermbg=236 ctermfg=darkred guibg=#303030 guifg=#8b0000
+hi! Todo ctermbg=236 ctermfg=darkred guibg=#303030 guifg=#8b0000
+hi! IncSearch ctermbg=236 ctermfg=darkred guibg=#303030 guifg=#8b0000 gui=NONE
+hi! MatchParen ctermbg=236 ctermfg=darkred guibg=#303030 guifg=#8b0000
+hi! WinBar ctermfg=black ctermbg=NONE guifg=#000000 guibg=NONE gui=NONE
+hi! SignColumn ctermbg=NONE guibg=NONE
+hi! TabLineFill guibg=#121111 guifg=#000000 ctermbg=233 ctermfg=black
+
+" Pmenu and float colors
+hi! Pmenu ctermfg=0 ctermbg=2 guibg=#121212
+hi! PmenuSel ctermfg=15 ctermbg=2 guibg=#121212
+hi! NormalFloat gui=NONE guibg=#121212
+hi! CocFloating gui=NONE guibg=#121212
+hi! FloatBorder guifg=#5c6370 guibg=NONE
+
+" Syntax highlighting groups - match Vim defaults
+hi! Constant ctermfg=3 guifg=#FFFF00
+hi! String ctermfg=1 guifg=#FF6B6B
+hi! Character ctermfg=1 guifg=#FF6B6B
+hi! Number ctermfg=3 guifg=#FFFF00
+hi! Boolean ctermfg=3 guifg=#FFFF00
+hi! Float ctermfg=3 guifg=#FFFF00
+
+hi! Identifier ctermfg=2 guifg=#00FF00
+hi! Function ctermfg=2 guifg=#00FF00
+
+hi! Statement ctermfg=2 guifg=#00FF00
+hi! Conditional ctermfg=2 guifg=#00FF00
+hi! Repeat ctermfg=2 guifg=#00FF00
+hi! Label ctermfg=2 guifg=#00FF00
+hi! Operator ctermfg=3 guifg=#FFFF00
+hi! Keyword ctermfg=2 guifg=#00FF00
+hi! Exception ctermfg=1 guifg=#FF6B6B
+
+hi! PreProc ctermfg=1 guifg=#FF6B6B
+hi! Include ctermfg=1 guifg=#FF6B6B
+hi! Define ctermfg=1 guifg=#FF6B6B
+hi! Macro ctermfg=1 guifg=#FF6B6B
+hi! PreCondit ctermfg=1 guifg=#FF6B6B
+
+hi! Type ctermfg=2 guifg=#00FF00
+hi! StorageClass ctermfg=2 guifg=#00FF00
+hi! Structure ctermfg=2 guifg=#00FF00
+hi! Typedef ctermfg=2 guifg=#00FF00
+
+hi! Underlined cterm=underline gui=underline ctermfg=6 guifg=#00FFFF
+
+" Links
+hi! link ocamlKwErr Statement
+
+" FileType specific overrides
+augroup MinimalDarkColorScheme
+ autocmd!
+ au FileType * hi! StatusLine ctermfg=black ctermbg=NONE
+ au FileType * hi! StatusLineNC ctermfg=black ctermbg=NONE
+ au FileType * hi! Normal ctermbg=NONE
+ au FileType * hi! Special ctermfg=cyan
+ au FileType * hi! LineNr ctermfg=black ctermbg=NONE
+ au FileType * hi! SpecialKey ctermfg=black ctermbg=NONE
+ au FileType * hi! ModeMsg ctermfg=black cterm=NONE ctermbg=NONE
+ au FileType * hi! MoreMsg ctermfg=black ctermbg=NONE
+ au FileType * hi! NonText ctermfg=black ctermbg=NONE
+ au FileType * hi! vimGlobal ctermfg=black ctermbg=NONE
+ au FileType * hi! Comment ctermfg=black ctermbg=NONE
+ au FileType * hi! ErrorMsg ctermbg=234 ctermfg=darkred cterm=NONE
+ au FileType * hi! Error ctermbg=234 ctermfg=darkred cterm=NONE
+ au FileType * hi! SpellBad ctermbg=234 ctermfg=darkred cterm=NONE
+ au FileType * hi! SpellRare ctermbg=234 ctermfg=darkred cterm=NONE
+ au FileType * hi! Search ctermbg=236 ctermfg=darkred
+ au FileType * hi! vimTodo ctermbg=236 ctermfg=darkred
+ au FileType * hi! Todo ctermbg=236 ctermfg=darkred
+ au FileType * hi! MatchParen ctermbg=236 ctermfg=darkred
+ au FileType markdown,pandoc hi! Title ctermfg=yellow ctermbg=NONE
+ au FileType markdown,pandoc hi! Operator ctermfg=yellow ctermbg=NONE
+ au FileType markdown,pandoc set tw=0
+ au FileType markdown,pandoc set wrap
+ au FileType yaml hi! yamlBlockMappingKey ctermfg=NONE
+ au FileType yaml set sw=2
+ au FileType sh,bash set sw=2
+ au FileType c set sw=8
+ au FileType markdown,pandoc,asciidoc noremap j gj
+ au FileType markdown,pandoc,asciidoc noremap k gk
+ au FileType sh,bash set noet
+augroup END
diff --git a/nvim/colors/paige-dark.vim b/nvim/colors/paige-dark.vim
new file mode 100644
index 0000000..9573054
--- /dev/null
+++ b/nvim/colors/paige-dark.vim
@@ -0,0 +1,274 @@
+"
+" ▄▄▄▄▄▄ ██
+" ██▀▀▀▀█▄ ▀▀
+" ██ ██ ▄█████▄ ████ ▄███▄██ ▄████▄
+" ██████▀ ▀ ▄▄▄██ ██ ██▀ ▀██ ██▄▄▄▄██
+" ██ ▄██▀▀▀██ ██ ██ ██ ██▀▀▀▀▀▀
+" ██ ██▄▄▄███ ▄▄▄██▄▄▄ ▀██▄▄███ ▀██▄▄▄▄█
+" ▀▀ ▀▀▀▀ ▀▀ ▀▀▀▀▀▀▀▀ ▄▀▀▀ ██ ▀▀▀▀▀
+" ▀████▀▀
+" File: paige-dark.vim
+" Maintainer: Leon Henrik Plickat <leonhenrik.plickat@stud.uni-goettingen.de>
+" 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("*<SID>PaigeHighlight")
+ delf <SID>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! <SID>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 <sid>PaigeHighlight('Normal', s:default_text)
+call <sid>PaigeHighlight('Folded', s:alt_bg_text)
+call <sid>PaigeHighlight('CursorLine', s:alt_bg_text_no_override)
+call <sid>PaigeHighlight('CursorColumn', s:alt_bg_text_no_override)
+call <sid>PaigeHighlight('ColorColumn', s:alt_bg_text_no_override)
+call <sid>PaigeHighlight('SignColumn', s:alt_bg_text_no_override)
+call <sid>PaigeHighlight('Visual', s:blue_bg_text)
+call <sid>PaigeHighlight('VisualNOS', s:blue_bg_text)
+call <sid>PaigeHighlight('VertSplit', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('Pmenu', s:menu_no_select)
+call <sid>PaigeHighlight('PmenuSel', s:menu_select)
+call <sid>PaigeHighlight('PmenuSbar', s:menu_scroll_bar)
+call <sid>PaigeHighlight('PmenuThumb', s:menu_scroll_bar_thumb)
+call <sid>PaigeHighlight('WildMenu', s:menu_select)
+call <sid>PaigeHighlight('ModeMsg', s:alt_fg_text_none)
+call <sid>PaigeHighlight('StatusLine', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('StatusLineNC', s:alt_bg_text_none)
+call <sid>PaigeHighlight('StatusLineTerm', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('StatusLineTermNC', s:alt_bg_text_none)
+call <sid>PaigeHighlight('Search', s:purple_bg_text_none)
+call <sid>PaigeHighlight('IncSearch', s:alt_purple_bg_text_none)
+call <sid>PaigeHighlight('TabLineFill', s:alt_bg_no_fg)
+call <sid>PaigeHighlight('TabLineSel', s:menu_select)
+call <sid>PaigeHighlight('TabLine', s:alt_bg_text_none)
+call <sid>PaigeHighlight('EndOfBuffer', s:alt_fg_text)
+call <sid>PaigeHighlight('LineNr', s:alt_bg_text)
+call <sid>PaigeHighlight('CursorLineNr', s:alt_bg_text)
+call <sid>PaigeHighlight('MatchParen', s:yellow_bg_text)
+call <sid>PaigeHighlight('Conceal', s:default_text)
+call <sid>PaigeHighlight('Error', s:red_bg_text)
+call <sid>PaigeHighlight('ErrorMsg', s:red_bg_text)
+call <sid>PaigeHighlight('WarningMsg', s:yellow_bg_text)
+
+" Diff
+call <sid>PaigeHighlight('DiffChange', s:yellow_bg_text)
+call <sid>PaigeHighlight('DiffAdd', s:green_bg_text)
+call <sid>PaigeHighlight('DiffDelete', s:red_bg_text)
+call <sid>PaigeHighlight('diffAdded', s:green_fg_text)
+call <sid>PaigeHighlight('diffRemoved', s:red_fg_text)
+call <sid>PaigeHighlight('diffLine', s:blue_fg_text)
+
+" Spell
+call <sid>PaigeHighlight('SpellBad', s:red_bg_text)
+call <sid>PaigeHighlight('SpellCap', s:yellow_bg_text)
+call <sid>PaigeHighlight('SpellLocal', s:yellow_bg_text)
+call <sid>PaigeHighlight('SpellRare', s:yellow_bg_text)
+
+" netrw
+call <sid>PaigeHighlight('netrwDir', s:blue_fg_text)
+call <sid>PaigeHighlight('netrwClassify', s:default_text_bold)
+call <sid>PaigeHighlight('netrwExe', s:green_fg_text)
+
+" quickfix
+call <sid>PaigeHighlight('qfLineNr', s:default_text_bold)
+call <sid>PaigeHighlight('qfFilename', s:default_text_bold)
+
+" Generic Syntax
+call <sid>PaigeHighlight('Todo', s:yellow_bg_text)
+call <sid>PaigeHighlight('Comment', s:alt_fg_text_2)
+call <sid>PaigeHighlight('Title', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('PreProc', s:default_text_bold)
+call <sid>PaigeHighlight('Identifier', s:default_text_bold)
+call <sid>PaigeHighlight('Statement', s:default_text_bold)
+call <sid>PaigeHighlight('Special', s:default_text_bold)
+call <sid>PaigeHighlight('Type', s:default_text_bold)
+call <sid>PaigeHighlight('NonText', s:alt_fg_text_2) " NonText includes listchars: eol, extends, prescedes
+call <sid>PaigeHighlight('SpecialKey', s:alt_fg_text_2) " SpecialKey includes listchars: tabs, spaces, nbsp
+call <sid>PaigeHighlight('Conditional', s:default_text_bold)
+call <sid>PaigeHighlight('Repeat', s:default_text_bold)
+call <sid>PaigeHighlight('Logical', s:default_text_bold)
+call <sid>PaigeHighlight('Compare', s:default_text_bold)
+call <sid>PaigeHighlight('Label', s:default_text_underline)
+call <sid>PaigeHighlight('Constant', s:default_text)
+call <sid>PaigeHighlight('Pointer', s:default_text)
+call <sid>PaigeHighlight('Delimiter', s:default_text)
+
+" HTML
+call <sid>PaigeHighlight('htmlTag', s:default_text_bold)
+call <sid>PaigeHighlight('htmlEndTag', s:default_text_bold)
+call <sid>PaigeHighlight('htmlTagName', s:default_text_bold)
+call <sid>PaigeHighlight('htmlSpecialTagName', s:default_text_bold)
+call <sid>PaigeHighlight('htmlComment', s:alt_fg_text_2)
+call <sid>PaigeHighlight('htmlCommentPart', s:alt_fg_text_2)
+call <sid>PaigeHighlight('htmlArg', s:default_text_bold)
+call <sid>PaigeHighlight('htmlString', s:default_text)
+call <sid>PaigeHighlight('htmlLink', s:blue_fg_text_underline)
+call <sid>PaigeHighlight('htmlBold', s:default_text_bold)
+call <sid>PaigeHighlight('htmlItalic', s:default_text_italic)
+
+" CSS
+call <sid>PaigeHighlight('cssBraces', s:default_text)
+call <sid>PaigeHighlight('cssNoise', s:default_text)
+call <sid>PaigeHighlight('cssBoxProp', s:default_text_bold)
+call <sid>PaigeHighlight('cssBoxAttr', s:default_text)
+call <sid>PaigeHighlight('cssTextProp', s:default_text_bold)
+call <sid>PaigeHighlight('cssTextAttr', s:default_text)
+call <sid>PaigeHighlight('cssValueLength', s:default_text)
+call <sid>PaigeHighlight('cssValueNumber', s:default_text)
+call <sid>PaigeHighlight('cssUnitDecorators', s:default_text)
+call <sid>PaigeHighlight('cssAtRule', s:default_text_bold)
+call <sid>PaigeHighlight('cssAtRuleLogical', s:default_text_bold)
+call <sid>PaigeHighlight('cssMediaType', s:default_text_bold)
+call <sid>PaigeHighlight('cssMediaProp', s:default_text_bold)
+
+" meson
+call <sid>PaigeHighlight('mesonString', s:default_text)
+
+" Vim
+call <sid>PaigeHighlight('vimHiGroup', s:default_text)
+
+" C
+call <sid>PaigeHighlight('cErrInParen', s:default_text)
+
+" Scheme
+call <sid>PaigeHighlight('schemeSyntax', s:default_text_bold)
+call <sid>PaigeHighlight('schemeFunction', s:default_text_bold)
+call <sid>PaigeHighlight('schemeParentheses', s:default_text)
+call <sid>PaigeHighlight('schemeNumber', s:default_text)
+call <sid>PaigeHighlight('schemeString', s:default_text)
+
+" (La)Tex / vimtex
+call <sid>PaigeHighlight('texComment', s:alt_fg_text_2)
+call <sid>PaigeHighlight('texSection', s:default_text_bold)
+call <sid>PaigeHighlight('texParen', s:default_text)
+call <sid>PaigeHighlight('texCmdArgs', s:default_text)
+call <sid>PaigeHighlight('texBeginEnd', s:default_text)
+call <sid>PaigeHighlight('texBeginEndName', s:default_text_bold)
+
+" markdown
+call <sid>PaigeHighlight('markdownH1', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH1Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH2', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH2Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH3', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH3Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH4', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH4Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH5', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH5Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH6', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH6Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownListMarker', s:default_text_bold)
+call <sid>PaigeHighlight('markdownError', s:default_text)
+call <sid>PaigeHighlight('markdownCodeBlock', s:green_fg_text)
+
+" git commit
+call <sid>PaigeHighlight('gitcommitSummary', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('gitcommitFirstLine', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('gitcommitBlank', s:red_bg_text)
+call <sid>PaigeHighlight('gitcommitComment', s:alt_fg_text_2)
+call <sid>PaigeHighlight('gitcommitHeader', s:default_text_bold)
+
+" .desktop files
+call <sid>PaigeHighlight('dtGroup', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('dtTypeKey', s:default_text_bold)
+call <sid>PaigeHighlight('dtExecKey', s:default_text_bold)
+call <sid>PaigeHighlight('dtLocaleKey', s:default_text_bold)
+call <sid>PaigeHighlight('dtBooleanKey', s:default_text_bold)
+call <sid>PaigeHighlight('dtStringKey', s:default_text_bold)
+call <sid>PaigeHighlight('dtDelim', s:alt_fg_text_2)
+
+" scdoc
+call <sid>PaigeHighlight('scdocHeader', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('scdocPreambleName', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('scdocPreambleExtra', s:alt_bg_text)
+call <sid>PaigeHighlight('scdocBold', s:default_text_bold)
+
+" man
+call <sid>PaigeHighlight('manHeader', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('manSectionHeading', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('manReference', s:default_text_bold)
+call <sid>PaigeHighlight('manOptionDesc', s:default_text_bold)
+call <sid>PaigeHighlight('manLongOptionDesc', s:default_text_bold)
+
+" ALE
+call <sid>PaigeHighlight('ALEErrorSign', s:red_bg_text)
+call <sid>PaigeHighlight('ALEWarningSign', s:green_fg_text)
+
+" quickfix
+call <sid>PaigeHighlight('qfFilename', s:default_text_bold)
+call <sid>PaigeHighlight('qfSeparator', s:default_text)
+call <sid>PaigeHighlight('qfLineNr', s:default_text_bold)
+
diff --git a/nvim/colors/paige-system.vim b/nvim/colors/paige-system.vim
new file mode 100644
index 0000000..1553bdb
--- /dev/null
+++ b/nvim/colors/paige-system.vim
@@ -0,0 +1,268 @@
+"
+" ▄▄▄▄▄▄ ██
+" ██▀▀▀▀█▄ ▀▀
+" ██ ██ ▄█████▄ ████ ▄███▄██ ▄████▄
+" ██████▀ ▀ ▄▄▄██ ██ ██▀ ▀██ ██▄▄▄▄██
+" ██ ▄██▀▀▀██ ██ ██ ██ ██▀▀▀▀▀▀
+" ██ ██▄▄▄███ ▄▄▄██▄▄▄ ▀██▄▄███ ▀██▄▄▄▄█
+" ▀▀ ▀▀▀▀ ▀▀ ▀▀▀▀▀▀▀▀ ▄▀▀▀ ██ ▀▀▀▀▀
+" ▀████▀▀
+" File: paige-system.vim
+" Maintainer: Leon Henrik Plickat <leonhenrik.plickat@stud.uni-goettingen.de>
+" License: GPLv3
+
+if !has('gui_running') && &t_Co < 256
+ finish
+endif
+
+highlight clear
+
+if exists("syntax_on")
+ syntax reset
+endif
+
+set background=light
+
+let g:colors_name = "paige"
+
+if exists("*<SID>PaigeHighlight")
+ delf <SID>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! <SID>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 = [ '0', '7', '', '#ffffff', '#080808', '' ]
+let s:default_text_bold = [ '0', '7', 'bold', '#ffffff', '#080808', 'bold' ]
+let s:default_text_italic = [ '0', '7', 'italic', '#ffffff', '#080808', 'italic' ]
+let s:default_text_underline = [ '0', '7', 'underline', '#ffffff', '#080808', 'underline' ]
+
+let s:alt_fg_text = [ '0', '245', '', '#ffffff', '#8a8a8a', '' ]
+let s:alt_fg_text_none = [ '0', '245', 'none', '#ffffff', '#8a8a8a', 'none' ]
+let s:alt_fg_text_2 = [ '0', '248', '', '#ffffff', '#a8a8a8', '' ]
+
+let s:alt_bg_text = [ '254', '7', '', '#e4e4e4', '#080808', '' ]
+let s:alt_bg_text_bold = [ '254', '7', 'bold', '#e4e4e4', '#080808', 'bold' ]
+let s:alt_bg_text_italic = [ '254', '7', 'italic', '#e4e4e4', '#080808', 'italic' ]
+let s:alt_bg_text_underline = [ '254', '7', 'underline', '#e4e4e4', '#080808', 'underline' ]
+let s:alt_bg_text_no_override = [ '254', '', 'none', '#e4e4e4', '', 'none' ]
+let s:alt_bg_text_none = [ '254', '7', 'none', '#e4e4e4', '#080808', 'none' ]
+let s:alt_bg_no_fg = [ '254', '254', 'none', '#e4e4e4', '#e4e4e4', 'none' ]
+
+let s:green_bg_text = [ '148', '7', '', '#afd700', '#080808', '' ]
+let s:red_bg_text = [ '197', '7', '', '#ff005f', '#080808', '' ]
+let s:yellow_bg_text = [ '220', '7', '', '#ffd700', '#080808', '' ]
+let s:blue_bg_text = [ '39', '7', '', '#00afff', '#080808', '' ]
+let s:purple_bg_text_none = [ '141', '7', 'none', '#af87ff', '#080808', 'none' ]
+let s:alt_purple_bg_text_none = [ '139', '7', 'none', '#af87af', '#080808', 'none' ]
+
+let s:red_fg_text = [ '0', '196', '', '#ffffff', '#ff0000', '' ]
+let s:green_fg_text = [ '0', '34', '', '#ffffff', '#00af00', '' ]
+let s:blue_fg_text = [ '0', '21', '', '#ffffff', '#0000ff', '' ]
+let s:blue_fg_text_underline = [ '0', '21', 'underline', '#ffffff', '#0000ff', 'underline' ]
+
+let s:menu_select = [ '70 ', '0', 'bold', '#5faf00', '#ffffff', '' ]
+let s:menu_no_select = [ '240', '0', '', '#585858', '#ffffff', '' ]
+let s:menu_scroll_bar = [ '240', '240', '', '#585858', '#585858', '' ]
+let s:menu_scroll_bar_thumb = [ '202', '202', '', '#585858', '#ff5f00', '' ]
+
+" UI
+call <sid>PaigeHighlight('Normal', s:default_text)
+call <sid>PaigeHighlight('Folded', s:alt_bg_text)
+call <sid>PaigeHighlight('CursorLine', s:alt_bg_text_no_override)
+call <sid>PaigeHighlight('CursorColumn', s:alt_bg_text_no_override)
+call <sid>PaigeHighlight('ColorColumn', s:alt_bg_text_no_override)
+call <sid>PaigeHighlight('SignColumn', s:alt_bg_text_no_override)
+call <sid>PaigeHighlight('Visual', s:blue_bg_text)
+call <sid>PaigeHighlight('VisualNOS', s:blue_bg_text)
+call <sid>PaigeHighlight('VertSplit', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('Pmenu', s:menu_no_select)
+call <sid>PaigeHighlight('PmenuSel', s:menu_select)
+call <sid>PaigeHighlight('PmenuSbar', s:menu_scroll_bar)
+call <sid>PaigeHighlight('PmenuThumb', s:menu_scroll_bar_thumb)
+call <sid>PaigeHighlight('WildMenu', s:menu_select)
+call <sid>PaigeHighlight('ModeMsg', s:alt_fg_text_none)
+call <sid>PaigeHighlight('StatusLine', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('StatusLineNC', s:alt_bg_text_none)
+call <sid>PaigeHighlight('StatusLineTerm', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('StatusLineTermNC', s:alt_bg_text_none)
+call <sid>PaigeHighlight('Search', s:purple_bg_text_none)
+call <sid>PaigeHighlight('IncSearch', s:alt_purple_bg_text_none)
+call <sid>PaigeHighlight('TabLineFill', s:alt_bg_no_fg)
+call <sid>PaigeHighlight('TabLineSel', s:menu_select)
+call <sid>PaigeHighlight('TabLine', s:alt_bg_text_none)
+call <sid>PaigeHighlight('EndOfBuffer', s:alt_fg_text)
+call <sid>PaigeHighlight('LineNr', s:alt_bg_text)
+call <sid>PaigeHighlight('CursorLineNr', s:alt_bg_text)
+call <sid>PaigeHighlight('MatchParen', s:yellow_bg_text)
+call <sid>PaigeHighlight('Conceal', s:default_text)
+call <sid>PaigeHighlight('Error', s:red_bg_text)
+call <sid>PaigeHighlight('ErrorMsg', s:red_bg_text)
+call <sid>PaigeHighlight('WarningMsg', s:yellow_bg_text)
+
+" Diff
+call <sid>PaigeHighlight('DiffChange', s:yellow_bg_text)
+call <sid>PaigeHighlight('DiffAdd', s:green_bg_text)
+call <sid>PaigeHighlight('DiffDelete', s:red_bg_text)
+call <sid>PaigeHighlight('diffAdded', s:green_fg_text)
+call <sid>PaigeHighlight('diffRemoved', s:red_fg_text)
+call <sid>PaigeHighlight('diffLine', s:blue_fg_text)
+
+" Spell
+call <sid>PaigeHighlight('SpellBad', s:red_bg_text)
+call <sid>PaigeHighlight('SpellCap', s:yellow_bg_text)
+call <sid>PaigeHighlight('SpellLocal', s:yellow_bg_text)
+call <sid>PaigeHighlight('SpellRare', s:yellow_bg_text)
+
+" netrw
+call <sid>PaigeHighlight('netrwDir', s:blue_fg_text)
+call <sid>PaigeHighlight('netrwClassify', s:default_text_bold)
+call <sid>PaigeHighlight('netrwExe', s:green_fg_text)
+
+" quickfix
+call <sid>PaigeHighlight('qfLineNr', s:default_text_bold)
+call <sid>PaigeHighlight('qfFilename', s:default_text_bold)
+
+" Generic Syntax
+call <sid>PaigeHighlight('Todo', s:yellow_bg_text)
+call <sid>PaigeHighlight('Comment', s:alt_fg_text_2)
+call <sid>PaigeHighlight('Title', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('PreProc', s:default_text_bold)
+call <sid>PaigeHighlight('Identifier', s:default_text_bold)
+call <sid>PaigeHighlight('Statement', s:default_text_bold)
+call <sid>PaigeHighlight('Special', s:default_text_bold)
+call <sid>PaigeHighlight('Type', s:default_text_bold)
+call <sid>PaigeHighlight('NonText', s:alt_fg_text_2) " NonText includes listchars: eol, extends, prescedes
+call <sid>PaigeHighlight('SpecialKey', s:alt_fg_text_2) " SpecialKey includes listchars: tabs, spaces, nbsp
+call <sid>PaigeHighlight('Conditional', s:default_text_bold)
+call <sid>PaigeHighlight('Repeat', s:default_text_bold)
+call <sid>PaigeHighlight('Logical', s:default_text_bold)
+call <sid>PaigeHighlight('Compare', s:default_text_bold)
+call <sid>PaigeHighlight('Label', s:default_text_underline)
+call <sid>PaigeHighlight('Constant', s:default_text)
+call <sid>PaigeHighlight('Pointer', s:default_text)
+call <sid>PaigeHighlight('Delimiter', s:default_text)
+
+" HTML
+call <sid>PaigeHighlight('htmlTag', s:default_text_bold)
+call <sid>PaigeHighlight('htmlEndTag', s:default_text_bold)
+call <sid>PaigeHighlight('htmlTagName', s:default_text_bold)
+call <sid>PaigeHighlight('htmlSpecialTagName', s:default_text_bold)
+call <sid>PaigeHighlight('htmlComment', s:alt_fg_text_2)
+call <sid>PaigeHighlight('htmlCommentPart', s:alt_fg_text_2)
+call <sid>PaigeHighlight('htmlArg', s:default_text_bold)
+call <sid>PaigeHighlight('htmlString', s:default_text)
+call <sid>PaigeHighlight('htmlLink', s:blue_fg_text_underline)
+call <sid>PaigeHighlight('htmlBold', s:default_text_bold)
+call <sid>PaigeHighlight('htmlItalic', s:default_text_italic)
+
+" CSS
+call <sid>PaigeHighlight('cssBraces', s:default_text)
+call <sid>PaigeHighlight('cssNoise', s:default_text)
+call <sid>PaigeHighlight('cssBoxProp', s:default_text_bold)
+call <sid>PaigeHighlight('cssBoxAttr', s:default_text)
+call <sid>PaigeHighlight('cssTextProp', s:default_text_bold)
+call <sid>PaigeHighlight('cssTextAttr', s:default_text)
+call <sid>PaigeHighlight('cssValueLength', s:default_text)
+call <sid>PaigeHighlight('cssValueNumber', s:default_text)
+call <sid>PaigeHighlight('cssUnitDecorators', s:default_text)
+call <sid>PaigeHighlight('cssAtRule', s:default_text_bold)
+call <sid>PaigeHighlight('cssAtRuleLogical', s:default_text_bold)
+call <sid>PaigeHighlight('cssMediaType', s:default_text_bold)
+call <sid>PaigeHighlight('cssMediaProp', s:default_text_bold)
+
+" meson
+call <sid>PaigeHighlight('mesonString', s:default_text)
+
+" Vim
+call <sid>PaigeHighlight('vimHiGroup', s:default_text)
+
+" C
+call <sid>PaigeHighlight('cErrInParen', s:default_text)
+
+" Scheme
+call <sid>PaigeHighlight('schemeSyntax', s:default_text_bold)
+call <sid>PaigeHighlight('schemeFunction', s:default_text_bold)
+call <sid>PaigeHighlight('schemeParentheses', s:default_text)
+call <sid>PaigeHighlight('schemeNumber', s:default_text)
+call <sid>PaigeHighlight('schemeString', s:default_text)
+
+" (La)Tex / vimtex
+call <sid>PaigeHighlight('texComment', s:alt_fg_text_2)
+call <sid>PaigeHighlight('texSection', s:default_text_bold)
+call <sid>PaigeHighlight('texParen', s:default_text)
+call <sid>PaigeHighlight('texCmdArgs', s:default_text)
+call <sid>PaigeHighlight('texBeginEnd', s:default_text)
+call <sid>PaigeHighlight('texBeginEndName', s:default_text_bold)
+
+" markdown
+call <sid>PaigeHighlight('markdownH1', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH1Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH2', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH2Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH3', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH3Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH4', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH4Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH5', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH5Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH6', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH6Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownListMarker', s:default_text_bold)
+call <sid>PaigeHighlight('markdownError', s:default_text)
+call <sid>PaigeHighlight('markdownCodeBlock', s:green_fg_text)
+
+" git commit
+call <sid>PaigeHighlight('gitcommitSummary', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('gitcommitFirstLine', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('gitcommitBlank', s:red_bg_text)
+call <sid>PaigeHighlight('gitcommitComment', s:alt_fg_text_2)
+call <sid>PaigeHighlight('gitcommitHeader', s:default_text_bold)
+
+" .desktop files
+call <sid>PaigeHighlight('dtGroup', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('dtTypeKey', s:default_text_bold)
+call <sid>PaigeHighlight('dtExecKey', s:default_text_bold)
+call <sid>PaigeHighlight('dtLocaleKey', s:default_text_bold)
+call <sid>PaigeHighlight('dtBooleanKey', s:default_text_bold)
+call <sid>PaigeHighlight('dtStringKey', s:default_text_bold)
+call <sid>PaigeHighlight('dtDelim', s:alt_fg_text_2)
+
+" scdoc
+call <sid>PaigeHighlight('scdocHeader', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('scdocPreambleName', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('scdocPreambleExtra', s:alt_bg_text)
+call <sid>PaigeHighlight('scdocBold', s:default_text_bold)
+
+" man
+call <sid>PaigeHighlight('manHeader', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('manSectionHeading', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('manReference', s:default_text_bold)
+call <sid>PaigeHighlight('manOptionDesc', s:default_text_bold)
+call <sid>PaigeHighlight('manLongOptionDesc', s:default_text_bold)
+
+" ALE
+call <sid>PaigeHighlight('ALEErrorSign', s:red_bg_text)
+call <sid>PaigeHighlight('ALEWarningSign', s:green_fg_text)
diff --git a/nvim/colors/paige.vim b/nvim/colors/paige.vim
new file mode 100644
index 0000000..c793f18
--- /dev/null
+++ b/nvim/colors/paige.vim
@@ -0,0 +1,268 @@
+"
+" ▄▄▄▄▄▄ ██
+" ██▀▀▀▀█▄ ▀▀
+" ██ ██ ▄█████▄ ████ ▄███▄██ ▄████▄
+" ██████▀ ▀ ▄▄▄██ ██ ██▀ ▀██ ██▄▄▄▄██
+" ██ ▄██▀▀▀██ ██ ██ ██ ██▀▀▀▀▀▀
+" ██ ██▄▄▄███ ▄▄▄██▄▄▄ ▀██▄▄███ ▀██▄▄▄▄█
+" ▀▀ ▀▀▀▀ ▀▀ ▀▀▀▀▀▀▀▀ ▄▀▀▀ ██ ▀▀▀▀▀
+" ▀████▀▀
+" File: paige.vim
+" Maintainer: Leon Henrik Plickat <leonhenrik.plickat@stud.uni-goettingen.de>
+" License: GPLv3
+
+if !has('gui_running') && &t_Co < 256
+ finish
+endif
+
+highlight clear
+
+if exists("syntax_on")
+ syntax reset
+endif
+
+set background=light
+
+let g:colors_name = "paige"
+
+if exists("*<SID>PaigeHighlight")
+ delf <SID>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! <SID>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 = [ '231', '232', '', '#ffffff', '#080808', '' ]
+let s:default_text_bold = [ '231', '232', 'bold', '#ffffff', '#080808', 'bold' ]
+let s:default_text_italic = [ '231', '232', 'italic', '#ffffff', '#080808', 'italic' ]
+let s:default_text_underline = [ '231', '232', 'underline', '#ffffff', '#080808', 'underline' ]
+
+let s:alt_fg_text = [ '231', '245', '', '#ffffff', '#8a8a8a', '' ]
+let s:alt_fg_text_none = [ '231', '245', 'none', '#ffffff', '#8a8a8a', 'none' ]
+let s:alt_fg_text_2 = [ '231', '248', '', '#ffffff', '#a8a8a8', '' ]
+
+let s:alt_bg_text = [ '254', '232', '', '#e4e4e4', '#080808', '' ]
+let s:alt_bg_text_bold = [ '254', '232', 'bold', '#e4e4e4', '#080808', 'bold' ]
+let s:alt_bg_text_italic = [ '254', '232', 'italic', '#e4e4e4', '#080808', 'italic' ]
+let s:alt_bg_text_underline = [ '254', '232', 'underline', '#e4e4e4', '#080808', 'underline' ]
+let s:alt_bg_text_no_override = [ '254', '', 'none', '#e4e4e4', '', 'none' ]
+let s:alt_bg_text_none = [ '254', '232', 'none', '#e4e4e4', '#080808', 'none' ]
+let s:alt_bg_no_fg = [ '254', '254', 'none', '#e4e4e4', '#e4e4e4', 'none' ]
+
+let s:green_bg_text = [ '148', '232', '', '#afd700', '#080808', '' ]
+let s:red_bg_text = [ '197', '232', '', '#ff005f', '#080808', '' ]
+let s:yellow_bg_text = [ '220', '232', '', '#ffd700', '#080808', '' ]
+let s:blue_bg_text = [ '39', '232', '', '#00afff', '#080808', '' ]
+let s:purple_bg_text_none = [ '141', '232', 'none', '#af87ff', '#080808', 'none' ]
+let s:alt_purple_bg_text_none = [ '139', '232', 'none', '#af87af', '#080808', 'none' ]
+
+let s:red_fg_text = [ '231', '196', '', '#ffffff', '#ff0000', '' ]
+let s:green_fg_text = [ '231', '34', '', '#ffffff', '#00af00', '' ]
+let s:blue_fg_text = [ '231', '21', '', '#ffffff', '#0000ff', '' ]
+let s:blue_fg_text_underline = [ '231', '21', 'underline', '#ffffff', '#0000ff', '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 <sid>PaigeHighlight('Normal', s:default_text)
+call <sid>PaigeHighlight('Folded', s:alt_bg_text)
+call <sid>PaigeHighlight('CursorLine', s:alt_bg_text_no_override)
+call <sid>PaigeHighlight('CursorColumn', s:alt_bg_text_no_override)
+call <sid>PaigeHighlight('ColorColumn', s:alt_bg_text_no_override)
+call <sid>PaigeHighlight('SignColumn', s:alt_bg_text_no_override)
+call <sid>PaigeHighlight('Visual', s:blue_bg_text)
+call <sid>PaigeHighlight('VisualNOS', s:blue_bg_text)
+call <sid>PaigeHighlight('VertSplit', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('Pmenu', s:menu_no_select)
+call <sid>PaigeHighlight('PmenuSel', s:menu_select)
+call <sid>PaigeHighlight('PmenuSbar', s:menu_scroll_bar)
+call <sid>PaigeHighlight('PmenuThumb', s:menu_scroll_bar_thumb)
+call <sid>PaigeHighlight('WildMenu', s:menu_select)
+call <sid>PaigeHighlight('ModeMsg', s:alt_fg_text_none)
+call <sid>PaigeHighlight('StatusLine', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('StatusLineNC', s:alt_bg_text_none)
+call <sid>PaigeHighlight('StatusLineTerm', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('StatusLineTermNC', s:alt_bg_text_none)
+call <sid>PaigeHighlight('Search', s:purple_bg_text_none)
+call <sid>PaigeHighlight('IncSearch', s:alt_purple_bg_text_none)
+call <sid>PaigeHighlight('TabLineFill', s:alt_bg_no_fg)
+call <sid>PaigeHighlight('TabLineSel', s:menu_select)
+call <sid>PaigeHighlight('TabLine', s:alt_bg_text_none)
+call <sid>PaigeHighlight('EndOfBuffer', s:alt_fg_text)
+call <sid>PaigeHighlight('LineNr', s:alt_bg_text)
+call <sid>PaigeHighlight('CursorLineNr', s:alt_bg_text)
+call <sid>PaigeHighlight('MatchParen', s:yellow_bg_text)
+call <sid>PaigeHighlight('Conceal', s:default_text)
+call <sid>PaigeHighlight('Error', s:red_bg_text)
+call <sid>PaigeHighlight('ErrorMsg', s:red_bg_text)
+call <sid>PaigeHighlight('WarningMsg', s:yellow_bg_text)
+
+" Diff
+call <sid>PaigeHighlight('DiffChange', s:yellow_bg_text)
+call <sid>PaigeHighlight('DiffAdd', s:green_bg_text)
+call <sid>PaigeHighlight('DiffDelete', s:red_bg_text)
+call <sid>PaigeHighlight('diffAdded', s:green_fg_text)
+call <sid>PaigeHighlight('diffRemoved', s:red_fg_text)
+call <sid>PaigeHighlight('diffLine', s:blue_fg_text)
+
+" Spell
+call <sid>PaigeHighlight('SpellBad', s:red_bg_text)
+call <sid>PaigeHighlight('SpellCap', s:yellow_bg_text)
+call <sid>PaigeHighlight('SpellLocal', s:yellow_bg_text)
+call <sid>PaigeHighlight('SpellRare', s:yellow_bg_text)
+
+" netrw
+call <sid>PaigeHighlight('netrwDir', s:blue_fg_text)
+call <sid>PaigeHighlight('netrwClassify', s:default_text_bold)
+call <sid>PaigeHighlight('netrwExe', s:green_fg_text)
+
+" quickfix
+call <sid>PaigeHighlight('qfLineNr', s:default_text_bold)
+call <sid>PaigeHighlight('qfFilename', s:default_text_bold)
+
+" Generic Syntax
+call <sid>PaigeHighlight('Todo', s:yellow_bg_text)
+call <sid>PaigeHighlight('Comment', s:alt_fg_text_2)
+call <sid>PaigeHighlight('Title', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('PreProc', s:default_text_bold)
+call <sid>PaigeHighlight('Identifier', s:default_text_bold)
+call <sid>PaigeHighlight('Statement', s:default_text_bold)
+call <sid>PaigeHighlight('Special', s:default_text_bold)
+call <sid>PaigeHighlight('Type', s:default_text_bold)
+call <sid>PaigeHighlight('NonText', s:alt_fg_text_2) " NonText includes listchars: eol, extends, prescedes
+call <sid>PaigeHighlight('SpecialKey', s:alt_fg_text_2) " SpecialKey includes listchars: tabs, spaces, nbsp
+call <sid>PaigeHighlight('Conditional', s:default_text_bold)
+call <sid>PaigeHighlight('Repeat', s:default_text_bold)
+call <sid>PaigeHighlight('Logical', s:default_text_bold)
+call <sid>PaigeHighlight('Compare', s:default_text_bold)
+call <sid>PaigeHighlight('Label', s:default_text_underline)
+call <sid>PaigeHighlight('Constant', s:default_text)
+call <sid>PaigeHighlight('Pointer', s:default_text)
+call <sid>PaigeHighlight('Delimiter', s:default_text)
+
+" HTML
+call <sid>PaigeHighlight('htmlTag', s:default_text_bold)
+call <sid>PaigeHighlight('htmlEndTag', s:default_text_bold)
+call <sid>PaigeHighlight('htmlTagName', s:default_text_bold)
+call <sid>PaigeHighlight('htmlSpecialTagName', s:default_text_bold)
+call <sid>PaigeHighlight('htmlComment', s:alt_fg_text_2)
+call <sid>PaigeHighlight('htmlCommentPart', s:alt_fg_text_2)
+call <sid>PaigeHighlight('htmlArg', s:default_text_bold)
+call <sid>PaigeHighlight('htmlString', s:default_text)
+call <sid>PaigeHighlight('htmlLink', s:blue_fg_text_underline)
+call <sid>PaigeHighlight('htmlBold', s:default_text_bold)
+call <sid>PaigeHighlight('htmlItalic', s:default_text_italic)
+
+" CSS
+call <sid>PaigeHighlight('cssBraces', s:default_text)
+call <sid>PaigeHighlight('cssNoise', s:default_text)
+call <sid>PaigeHighlight('cssBoxProp', s:default_text_bold)
+call <sid>PaigeHighlight('cssBoxAttr', s:default_text)
+call <sid>PaigeHighlight('cssTextProp', s:default_text_bold)
+call <sid>PaigeHighlight('cssTextAttr', s:default_text)
+call <sid>PaigeHighlight('cssValueLength', s:default_text)
+call <sid>PaigeHighlight('cssValueNumber', s:default_text)
+call <sid>PaigeHighlight('cssUnitDecorators', s:default_text)
+call <sid>PaigeHighlight('cssAtRule', s:default_text_bold)
+call <sid>PaigeHighlight('cssAtRuleLogical', s:default_text_bold)
+call <sid>PaigeHighlight('cssMediaType', s:default_text_bold)
+call <sid>PaigeHighlight('cssMediaProp', s:default_text_bold)
+
+" meson
+call <sid>PaigeHighlight('mesonString', s:default_text)
+
+" Vim
+call <sid>PaigeHighlight('vimHiGroup', s:default_text)
+
+" C
+call <sid>PaigeHighlight('cErrInParen', s:default_text)
+
+" Scheme
+call <sid>PaigeHighlight('schemeSyntax', s:default_text_bold)
+call <sid>PaigeHighlight('schemeFunction', s:default_text_bold)
+call <sid>PaigeHighlight('schemeParentheses', s:default_text)
+call <sid>PaigeHighlight('schemeNumber', s:default_text)
+call <sid>PaigeHighlight('schemeString', s:default_text)
+
+" (La)Tex / vimtex
+call <sid>PaigeHighlight('texComment', s:alt_fg_text_2)
+call <sid>PaigeHighlight('texSection', s:default_text_bold)
+call <sid>PaigeHighlight('texParen', s:default_text)
+call <sid>PaigeHighlight('texCmdArgs', s:default_text)
+call <sid>PaigeHighlight('texBeginEnd', s:default_text)
+call <sid>PaigeHighlight('texBeginEndName', s:default_text_bold)
+
+" markdown
+call <sid>PaigeHighlight('markdownH1', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH1Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH2', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH2Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH3', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH3Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH4', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH4Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH5', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH5Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH6', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownH6Delimiter', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('markdownListMarker', s:default_text_bold)
+call <sid>PaigeHighlight('markdownError', s:default_text)
+call <sid>PaigeHighlight('markdownCodeBlock', s:green_fg_text)
+
+" git commit
+call <sid>PaigeHighlight('gitcommitSummary', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('gitcommitFirstLine', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('gitcommitBlank', s:red_bg_text)
+call <sid>PaigeHighlight('gitcommitComment', s:alt_fg_text_2)
+call <sid>PaigeHighlight('gitcommitHeader', s:default_text_bold)
+
+" .desktop files
+call <sid>PaigeHighlight('dtGroup', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('dtTypeKey', s:default_text_bold)
+call <sid>PaigeHighlight('dtExecKey', s:default_text_bold)
+call <sid>PaigeHighlight('dtLocaleKey', s:default_text_bold)
+call <sid>PaigeHighlight('dtBooleanKey', s:default_text_bold)
+call <sid>PaigeHighlight('dtStringKey', s:default_text_bold)
+call <sid>PaigeHighlight('dtDelim', s:alt_fg_text_2)
+
+" scdoc
+call <sid>PaigeHighlight('scdocHeader', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('scdocPreambleName', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('scdocPreambleExtra', s:alt_bg_text)
+call <sid>PaigeHighlight('scdocBold', s:default_text_bold)
+
+" man
+call <sid>PaigeHighlight('manHeader', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('manSectionHeading', s:alt_bg_text_bold)
+call <sid>PaigeHighlight('manReference', s:default_text_bold)
+call <sid>PaigeHighlight('manOptionDesc', s:default_text_bold)
+call <sid>PaigeHighlight('manLongOptionDesc', s:default_text_bold)
+
+" ALE
+call <sid>PaigeHighlight('ALEErrorSign', s:red_bg_text)
+call <sid>PaigeHighlight('ALEWarningSign', s:green_fg_text)
diff --git a/nvim/colors/peachpuff-legacy.vim b/nvim/colors/peachpuff-legacy.vim
new file mode 100644
index 0000000..10e3a7d
--- /dev/null
+++ b/nvim/colors/peachpuff-legacy.vim
@@ -0,0 +1,59 @@
+" Vim color file
+" Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
+" Last Change: 2003-04-23
+" URL: http://trific.ath.cx/Ftp/vim/colors/peachpuff.vim
+
+" This color scheme uses a peachpuff background (what you've expected when it's
+" called peachpuff?).
+"
+" Note: Only GUI colors differ from default, on terminal it's just `light'.
+
+" First remove all existing highlighting.
+set background=light
+hi clear
+if exists("syntax_on")
+ syntax reset
+endif
+
+let colors_name = "peachpuff-legacy"
+
+hi Normal guibg=PeachPuff guifg=Black
+
+hi SpecialKey term=bold ctermfg=4 guifg=Blue
+hi NonText term=bold cterm=bold ctermfg=4 gui=bold guifg=Blue
+hi Directory term=bold ctermfg=4 guifg=Blue
+hi ErrorMsg term=standout cterm=bold ctermfg=7 ctermbg=1 gui=bold guifg=White guibg=Red
+hi IncSearch term=reverse cterm=reverse gui=reverse
+hi Search term=reverse ctermbg=3 guibg=Gold2
+hi MoreMsg term=bold ctermfg=2 gui=bold guifg=SeaGreen
+hi ModeMsg term=bold cterm=bold gui=bold
+hi LineNr term=underline ctermfg=3 guifg=Red3
+hi Question term=standout ctermfg=2 gui=bold guifg=SeaGreen
+hi StatusLine term=bold,reverse cterm=bold,reverse gui=bold guifg=White guibg=Black
+hi StatusLineNC term=reverse cterm=reverse gui=bold guifg=PeachPuff guibg=Gray45
+hi VertSplit term=reverse cterm=reverse gui=bold guifg=White guibg=Gray45
+hi Title term=bold ctermfg=5 gui=bold guifg=DeepPink3
+hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey80 guibg=fg
+hi VisualNOS term=bold,underline cterm=bold,underline gui=bold,underline
+hi WarningMsg term=standout ctermfg=1 gui=bold guifg=Red
+hi WildMenu term=standout ctermfg=0 ctermbg=3 guifg=Black guibg=Yellow
+hi Folded term=standout ctermfg=4 ctermbg=7 guifg=Black guibg=#e3c1a5
+hi FoldColumn term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=Gray80
+hi DiffAdd term=bold ctermbg=4 guibg=White
+hi DiffChange term=bold ctermbg=5 guibg=#edb5cd
+hi DiffDelete term=bold cterm=bold ctermfg=4 ctermbg=6 gui=bold guifg=LightBlue guibg=#f6e8d0
+hi DiffText term=reverse cterm=bold ctermbg=1 gui=bold guibg=#ff8060
+hi Cursor guifg=bg guibg=fg
+hi lCursor guifg=bg guibg=fg
+
+" Colors for syntax highlighting
+hi Comment term=bold ctermfg=4 guifg=#406090
+hi Constant term=underline ctermfg=1 guifg=#c00058
+hi Special term=bold ctermfg=5 guifg=SlateBlue
+hi Identifier term=underline ctermfg=6 guifg=DarkCyan
+hi Statement term=bold ctermfg=3 gui=bold guifg=Brown
+hi PreProc term=underline ctermfg=5 guifg=Magenta3
+hi Type term=underline ctermfg=2 gui=bold guifg=SeaGreen
+hi Ignore cterm=bold ctermfg=7 guifg=bg
+hi Error term=reverse cterm=bold ctermfg=7 ctermbg=1 gui=bold guifg=White guibg=Red
+hi Todo term=standout ctermfg=0 ctermbg=3 guifg=Blue guibg=Yellow