123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586 |
- " vim:fdm=marker
- " Vim Color File
- " Name: palenight.vim
- " Maintainer: https://github.com/drewtempelmeyer/palenight.vim
- " License: The MIT License (MIT)
- " Based On: https://github.com/joshdick/onedark.vim
- " Initialization {{{
- highlight clear
- if exists("syntax_on")
- syntax reset
- endif
- set t_Co=256
- let g:colors_name="palenight"
- " Set to "256" for 256-color terminals, or
- " set to "16" to use your terminal emulator's native colors
- " (a 16-color palette for this color scheme is available; see
- " < https://github.com/joshdick/onedark.vim/blob/master/README.md >
- " for more information.)
- if !exists("g:palenight_termcolors")
- let g:palenight_termcolors = 256
- endif
- " Not all terminals support italics properly. If yours does, opt-in.
- if !exists("g:palenight_terminal_italics")
- let g:palenight_terminal_italics = 0
- endif
- " This function is based on one from FlatColor: https://github.com/MaxSt/FlatColor/
- " Which in turn was based on one found in hemisu: https://github.com/noahfrederick/vim-hemisu/
- function! s:h(group, style)
- if g:palenight_terminal_italics == 0
- if has_key(a:style, "cterm") && a:style["cterm"] == "italic"
- unlet a:style.cterm
- endif
- if has_key(a:style, "gui") && a:style["gui"] == "italic"
- unlet a:style.gui
- endif
- endif
- if g:palenight_termcolors == 16
- let l:ctermfg = (has_key(a:style, "fg") ? a:style.fg.cterm16 : "NONE")
- let l:ctermbg = (has_key(a:style, "bg") ? a:style.bg.cterm16 : "NONE")
- else
- let l:ctermfg = (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE")
- let l:ctermbg = (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE")
- endif
- execute "highlight" a:group
- \ "guifg=" (has_key(a:style, "fg") ? a:style.fg.gui : "NONE")
- \ "guibg=" (has_key(a:style, "bg") ? a:style.bg.gui : "NONE")
- \ "guisp=" (has_key(a:style, "sp") ? a:style.sp.gui : "NONE")
- \ "gui=" (has_key(a:style, "gui") ? a:style.gui : "NONE")
- \ "ctermfg=" . l:ctermfg
- \ "ctermbg=" . l:ctermbg
- \ "cterm=" (has_key(a:style, "cterm") ? a:style.cterm : "NONE")
- endfunction
- " public {{{
- function! palenight#set_highlight(group, style)
- call s:h(a:group, a:style)
- endfunction
- " }}}
- " }}}
- " Color Variables {{{
- let s:colors = palenight#GetColors()
- let s:red = s:colors.red
- let s:light_red = s:colors.light_red
- let s:dark_red = s:colors.dark_red
- let s:green = s:colors.green
- let s:yellow = s:colors.yellow
- let s:dark_yellow = s:colors.dark_yellow
- let s:blue = s:colors.blue
- let s:purple = s:colors.purple
- let s:blue_purple = s:colors.blue_purple
- let s:cyan = s:colors.cyan
- let s:white = s:colors.white
- let s:black = s:colors.black
- let s:visual_black = s:colors.visual_black " Black out selected text in 16-color visual mode
- let s:comment_grey = s:colors.comment_grey
- let s:gutter_fg_grey = s:colors.gutter_fg_grey
- let s:cursor_grey = s:colors.cursor_grey
- let s:visual_grey = s:colors.visual_grey
- let s:menu_grey = s:colors.menu_grey
- let s:special_grey = s:colors.special_grey
- let s:vertsplit = s:colors.vertsplit
- let s:white_mask_3 = s:colors.white_mask_3
- " }}}
- " Syntax Groups (descriptions and ordering from `:h w18`) {{{
- call s:h("Comment", { "fg": s:comment_grey, "gui": "italic", "cterm": "italic" }) " any comment
- call s:h("Constant", { "fg": s:cyan }) " any constant
- call s:h("String", { "fg": s:green }) " a string constant: "this is a string"
- call s:h("Character", { "fg": s:green }) " a character constant: 'c', '\n'
- call s:h("Number", { "fg": s:dark_yellow }) " a number constant: 234, 0xff
- call s:h("Boolean", { "fg": s:red }) " a boolean constant: TRUE, false
- call s:h("Float", { "fg": s:dark_yellow }) " a floating point constant: 2.3e10
- call s:h("Identifier", { "fg": s:red }) " any variable name
- call s:h("Function", { "fg": s:blue }) " function name (also: methods for classes)
- call s:h("Statement", { "fg": s:purple }) " any statement
- call s:h("Conditional", { "fg": s:purple }) " if, then, else, endif, switch, etc.
- call s:h("Repeat", { "fg": s:purple }) " for, do, while, etc.
- call s:h("Label", { "fg": s:purple }) " case, default, etc.
- call s:h("Operator", { "fg": s:cyan }) " sizeof", "+", "*", etc.
- call s:h("Keyword", { "fg": s:red }) " any other keyword
- call s:h("Exception", { "fg": s:purple }) " try, catch, throw
- call s:h("PreProc", { "fg": s:yellow }) " generic Preprocessor
- call s:h("Include", { "fg": s:blue }) " preprocessor #include
- call s:h("Define", { "fg": s:purple }) " preprocessor #define
- call s:h("Macro", { "fg": s:purple }) " same as Define
- call s:h("PreCondit", { "fg": s:yellow }) " preprocessor #if, #else, #endif, etc.
- call s:h("Type", { "fg": s:yellow }) " int, long, char, etc.
- call s:h("StorageClass", { "fg": s:yellow }) " static, register, volatile, etc.
- call s:h("Structure", { "fg": s:yellow }) " struct, union, enum, etc.
- call s:h("Typedef", { "fg": s:yellow }) " A typedef
- call s:h("Special", { "fg": s:blue }) " any special symbol
- call s:h("SpecialChar", {}) " special character in a constant
- call s:h("Tag", {}) " you can use CTRL-] on this
- call s:h("Delimiter", {}) " character that needs attention
- call s:h("SpecialComment", { "fg": s:comment_grey }) " special things inside a comment
- call s:h("Debug", {}) " debugging statements
- call s:h("Underlined", { "gui": "underline", "cterm": "underline" }) " text that stands out, HTML links
- call s:h("Ignore", {}) " left blank, hidden
- call s:h("Error", { "fg": s:red }) " any erroneous construct
- call s:h("Todo", { "fg": s:purple }) " anything that needs extra attention; mostly the keywords TODO FIXME and XXX
- " }}}
- " Highlighting Groups (descriptions and ordering from `:h hitest.vim`) {{{
- call s:h("ColorColumn", { "bg": s:cursor_grey }) " used for the columns set with 'colorcolumn'
- call s:h("Conceal", {}) " placeholder characters substituted for concealed text (see 'conceallevel')
- call s:h("Cursor", { "fg": s:black, "bg": s:blue }) " the character under the cursor
- call s:h("CursorIM", {}) " like Cursor, but used when in IME mode
- call s:h("CursorColumn", { "bg": s:cursor_grey }) " the screen column that the cursor is in when 'cursorcolumn' is set
- call s:h("CursorLine", { "bg": s:cursor_grey }) " the screen line that the cursor is in when 'cursorline' is set
- call s:h("Directory", { "fg": s:blue }) " directory names (and other special names in listings)
- call s:h("DiffAdd", { "bg": s:green, "fg": s:black }) " diff mode: Added line
- call s:h("DiffChange", { "bg": s:yellow, "fg": s:black }) " diff mode: Changed line
- call s:h("DiffDelete", { "bg": s:red, "fg": s:black }) " diff mode: Deleted line
- call s:h("DiffText", { "bg": s:black, "fg": s:yellow }) " diff mode: Changed text within a changed line
- call s:h("ErrorMsg", { "fg": s:red }) " error messages on the command line
- call s:h("VertSplit", { "fg": s:vertsplit }) " the column separating vertically split windows
- call s:h("Folded", { "bg": s:cursor_grey, "fg": s:comment_grey }) " line used for closed folds
- call s:h("FoldColumn", {}) " 'foldcolumn'
- call s:h("SignColumn", {}) " column where signs are displayed
- call s:h("IncSearch", { "fg": s:yellow, "bg": s:comment_grey }) " 'incsearch' highlighting; also used for the text replaced with ":s///c"
- call s:h("LineNr", { "fg": s:gutter_fg_grey }) " Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set.
- call s:h("CursorLineNr", {}) " Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
- call s:h("MatchParen", { "fg": s:blue, "gui": "underline" }) " The character under the cursor or just before it, if it is a paired bracket, and its match.
- call s:h("ModeMsg", {}) " 'showmode' message (e.g., "-- INSERT --")
- call s:h("MoreMsg", {}) " more-prompt
- call s:h("NonText", { "fg": s:special_grey }) " '~' and '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line).
- call s:h("Normal", { "fg": s:white, "bg": s:black }) " normal text
- call s:h("Pmenu", { "bg": s:menu_grey }) " Popup menu: normal item.
- call s:h("PmenuSel", { "fg": s:black, "bg": s:blue }) " Popup menu: selected item.
- call s:h("PmenuSbar", { "bg": s:special_grey }) " Popup menu: scrollbar.
- call s:h("PmenuThumb", { "bg": s:white }) " Popup menu: Thumb of the scrollbar.
- call s:h("Question", { "fg": s:purple }) " hit-enter prompt and yes/no questions
- call s:h("Search", { "fg": s:black, "bg": s:yellow }) " Last search pattern highlighting (see 'hlsearch'). Also used for highlighting the current line in the quickfix window and similar items that need to stand out.
- call s:h("SpecialKey", { "fg": s:special_grey }) " Meta and special keys listed with ":map", also for text used to show unprintable characters in the text, 'listchars'. Generally: text that is displayed differently from what it really is.
- call s:h("SpellBad", { "fg": s:red, "gui": "underline", "cterm": "underline" }) " Word that is not recognized by the spellchecker. This will be combined with the highlighting used otherwise.
- call s:h("SpellCap", { "fg": s:dark_yellow }) " Word that should start with a capital. This will be combined with the highlighting used otherwise.
- call s:h("SpellLocal", { "fg": s:dark_yellow }) " Word that is recognized by the spellchecker as one that is used in another region. This will be combined with the highlighting used otherwise.
- call s:h("SpellRare", { "fg": s:dark_yellow }) " Word that is recognized by the spellchecker as one that is hardly ever used. spell This will be combined with the highlighting used otherwise.
- call s:h("StatusLine", { "fg": s:white, "bg": s:cursor_grey }) " status line of current window
- call s:h("StatusLineNC", { "fg": s:comment_grey }) " status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
- call s:h("TabLine", { "fg": s:comment_grey }) " tab pages line, not active tab page label
- call s:h("TabLineFill", {}) " tab pages line, where there are no labels
- call s:h("TabLineSel", { "fg": s:white }) " tab pages line, active tab page label
- call s:h("Title", { "fg": s:green }) " titles for output from ":set all", ":autocmd" etc.
- call s:h("Visual", { "fg": s:visual_black, "bg": s:visual_grey }) " Visual mode selection
- call s:h("VisualNOS", { "bg": s:visual_grey }) " Visual mode selection when vim is "Not Owning the Selection". Only X11 Gui's gui-x11 and xterm-clipboard supports this.
- call s:h("WarningMsg", { "fg": s:yellow }) " warning messages
- call s:h("WildMenu", { "fg": s:black, "bg": s:blue }) " current match in 'wildmenu' completion
- " }}}
- " Language-Specific Highlighting {{{
- " Dockerfile
- call s:h("dockerfileKeyword", { "fg": s:purple })
- " Shell
- call s:h("shSet", { "fg": s:cyan })
- call s:h("shSetOption", { "fg": s:white })
- call s:h("shStatement", { "fg": s:cyan })
- call s:h("shFunctionKey", { "fg": s:purple })
- " CSS
- call s:h("cssAttrComma", { "fg": s:purple })
- call s:h("cssAttributeSelector", { "fg": s:green })
- call s:h("cssBraces", { "fg": s:white })
- call s:h("cssClassName", { "fg": s:dark_yellow })
- call s:h("cssClassNameDot", { "fg": s:dark_yellow })
- call s:h("cssDefinition", { "fg": s:purple })
- call s:h("cssFontAttr", { "fg": s:dark_yellow })
- call s:h("cssFontDescriptor", { "fg": s:purple })
- call s:h("cssFunctionName", { "fg": s:blue })
- call s:h("cssIdentifier", { "fg": s:blue })
- call s:h("cssImportant", { "fg": s:purple })
- call s:h("cssInclude", { "fg": s:white })
- call s:h("cssIncludeKeyword", { "fg": s:purple })
- call s:h("cssMediaType", { "fg": s:dark_yellow })
- call s:h("cssProp", { "fg": s:white })
- call s:h("cssPseudoClassId", { "fg": s:dark_yellow })
- call s:h("cssSelectorOp", { "fg": s:purple })
- call s:h("cssSelectorOp2", { "fg": s:purple })
- call s:h("cssTagName", { "fg": s:red })
- " Go
- call s:h("goDeclaration", { "fg": s:purple })
- " HTML
- call s:h("htmlTitle", { "fg": s:white })
- call s:h("htmlArg", { "fg": s:yellow })
- call s:h("htmlEndTag", { "fg": s:cyan })
- call s:h("htmlH1", { "fg": s:white })
- call s:h("htmlLink", { "fg": s:purple })
- call s:h("htmlSpecialChar", { "fg": s:dark_yellow })
- call s:h("htmlSpecialTagName", { "fg": s:red })
- call s:h("htmlTag", { "fg": s:cyan })
- call s:h("htmlTagName", { "fg": s:red })
- " Coffeescript
- call s:h("coffeeExtendedOp", { "fg": s:purple })
- " JavaScript
- call s:h("javaScriptBraces", { "fg": s:white })
- call s:h("javaScriptFunction", { "fg": s:purple })
- call s:h("javaScriptIdentifier", { "fg": s:purple })
- call s:h("javaScriptNull", { "fg": s:dark_yellow })
- call s:h("javaScriptNumber", { "fg": s:dark_yellow })
- call s:h("javaScriptRequire", { "fg": s:cyan })
- call s:h("javaScriptReserved", { "fg": s:purple })
- " https://github.com/pangloss/vim-javascript
- call s:h("jsArrowFunction", { "fg": s:purple })
- call s:h("jsClassKeyword", { "fg": s:purple })
- call s:h("jsClassDefinition", { "fg": s:yellow })
- call s:h("jsClassMethodType", { "fg": s:purple })
- call s:h("jsClassFuncName", { "fg": s:blue })
- call s:h("jsDestructuringBlock", { "fg": s:blue })
- call s:h("jsDocParam", { "fg": s:blue })
- call s:h("jsDocTags", { "fg": s:purple })
- call s:h("jsExport", { "fg": s:purple })
- call s:h("jsExportDefault", { "fg": s:red })
- call s:h("jsExtendsKeyword", { "fg": s:purple })
- call s:h("jsConditional", { "fg": s:purple })
- call s:h("jsOperator", { "fg": s:purple })
- call s:h("jsFrom", { "fg": s:purple })
- call s:h("jsFuncArgs", { "fg": s:blue })
- call s:h("jsFuncCall", { "fg": s:blue })
- call s:h("jsFuncName", { "fg": s:blue })
- call s:h("jsObjectProp", { "fg": s:cyan })
- call s:h("jsFunction", { "fg": s:purple })
- call s:h("jsGenerator", { "fg": s:yellow })
- call s:h("jsGlobalObjects", { "fg": s:yellow })
- call s:h("jsImport", { "fg": s:purple })
- call s:h("jsModuleAs", { "fg": s:purple })
- call s:h("jsModuleWords", { "fg": s:purple })
- call s:h("jsModuleKeyword", { "fg": s:blue })
- call s:h("jsModules", { "fg": s:purple })
- call s:h("jsNull", { "fg": s:dark_yellow })
- call s:h("jsStorageClass", { "fg": s:purple })
- call s:h("jsSuper", { "fg": s:red })
- call s:h("jsTemplateBraces", { "fg": s:dark_red })
- call s:h("jsTemplateVar", { "fg": s:green })
- call s:h("jsThis", { "fg": s:red })
- call s:h("jsUndefined", { "fg": s:dark_yellow })
- " call s:h("jsVariableDef", { "fg": s:blue })
- " https://github.com/othree/yajs.vim
- call s:h("javascriptArrowFunc", { "fg": s:purple })
- call s:h("javascriptClassExtends", { "fg": s:purple })
- call s:h("javascriptClassKeyword", { "fg": s:purple })
- call s:h("javascriptDocNotation", { "fg": s:purple })
- call s:h("javascriptDocParamName", { "fg": s:blue })
- call s:h("javascriptDocTags", { "fg": s:purple })
- call s:h("javascriptEndColons", { "fg": s:white })
- call s:h("javascriptExport", { "fg": s:purple })
- call s:h("javascriptFuncArg", { "fg": s:white })
- call s:h("javascriptFuncKeyword", { "fg": s:purple })
- call s:h("javascriptIdentifier", { "fg": s:red })
- call s:h("javascriptImport", { "fg": s:purple })
- call s:h("javascriptMethodName", { "fg": s:white })
- call s:h("javascriptObjectLabel", { "fg": s:white })
- call s:h("javascriptOpSymbol", { "fg": s:cyan })
- call s:h("javascriptOpSymbols", { "fg": s:cyan })
- call s:h("javascriptPropertyName", { "fg": s:green })
- call s:h("javascriptTemplateSB", { "fg": s:dark_red })
- call s:h("javascriptVariable", { "fg": s:purple })
- " JSON
- call s:h("jsonCommentError", { "fg": s:white })
- call s:h("jsonKeyword", { "fg": s:blue })
- call s:h("jsonBoolean", { "fg": s:red })
- call s:h("jsonNumber", { "fg": s:dark_yellow })
- call s:h("jsonQuote", { "fg": s:white })
- call s:h("jsonMissingCommaError", { "fg": s:red, "gui": "reverse" })
- call s:h("jsonNoQuotesError", { "fg": s:red, "gui": "reverse" })
- call s:h("jsonNumError", { "fg": s:red, "gui": "reverse" })
- call s:h("jsonString", { "fg": s:green })
- call s:h("jsonStringSQError", { "fg": s:red, "gui": "reverse" })
- call s:h("jsonSemicolonError", { "fg": s:red, "gui": "reverse" })
- " Markdown
- call s:h("markdownCode", { "fg": s:green })
- call s:h("markdownLinkReference", { "fg": s:comment_grey })
- call s:h("markdownJekyllFrontMatter", { "fg": s:comment_grey })
- call s:h("markdownCodeBlock", { "fg": s:green })
- call s:h("markdownCodeDelimiter", { "fg": s:green })
- call s:h("markdownHeadingDelimiter", { "fg": s:red })
- call s:h("markdownRule", { "fg": s:comment_grey })
- call s:h("markdownHeadingRule", { "fg": s:comment_grey })
- call s:h("htmlH1", { "fg": s:blue })
- call s:h("htmlH2", { "fg": s:blue })
- call s:h("htmlH3", { "fg": s:blue })
- call s:h("htmlH4", { "fg": s:blue })
- call s:h("htmlH5", { "fg": s:blue })
- call s:h("htmlH6", { "fg": s:blue })
- call s:h("mkdDelimiter", { "fg": s:cyan })
- call s:h("markdownId", { "fg": s:purple })
- call s:h("markdownBlockquote", { "fg": s:comment_grey })
- call s:h("markdownItalic", { "fg": s:purple, "gui": "italic", "cterm": "italic" })
- call s:h("mkdBold", { "fg": s:yellow, "gui": "bold", "cterm": "bold" })
- call s:h("mkdInlineURL", { "fg": s:light_red })
- call s:h("mkdListItem", { "fg": s:yellow })
- call s:h("markdownOrderedListMarker", { "fg": s:red })
- call s:h("markdownIdDeclaration", { "fg": s:blue })
- call s:h("mkdLink", { "fg": s:white })
- call s:h("markdownLinkDelimiter", { "fg": s:white })
- call s:h("mkdURL", { "fg": s:light_red })
- " Ruby
- call s:h("rubyAccess", { "fg": s:cyan })
- call s:h("rubyBlockParameter", { "fg": s:yellow})
- call s:h("rubyBlockParameterList", { "fg": s:white })
- call s:h("rubyBoolean", { "fg": s:red })
- call s:h("rubyCapitalizedMethod", { "fg": s:blue})
- call s:h("rubyClass", { "fg": s:purple})
- call s:h("rubyClassName", { "fg": s:yellow })
- call s:h("rubyConstant", { "fg": s:yellow })
- call s:h("rubyControl", { "fg": s:purple })
- call s:h("rubyEscape", { "fg": s:red})
- call s:h("rubyFunction", { "fg": s:blue})
- call s:h("rubyGlobalVariable", { "fg": s:red})
- call s:h("rubyInclude", { "fg": s:cyan})
- call s:h("rubyIncluderubyGlobalVariable", { "fg": s:red})
- call s:h("rubyInstanceVariable", { "fg": s:red})
- call s:h("rubyInterpolation", { "fg": s:cyan })
- call s:h("rubyInterpolationDelimiter", { "fg": s:red })
- call s:h("rubyModuleName", { "fg": s:white })
- call s:h("rubyKeyword", { "fg": s:purple })
- call s:h("rubyKeywordAsMethod", { "fg": s:cyan})
- call s:h("rubyOperator", { "fg": s:purple })
- call s:h("rubyPredefinedConstant", { "fg": s:yellow})
- call s:h("rubyPseudoVariable", { "fg": s:blue })
- call s:h("rubyRegexp", { "fg": s:white})
- call s:h("rubyRegexpDelimiter", { "fg": s:cyan})
- call s:h("rubySharpBang", { "fg": s:comment_grey})
- call s:h("rubyStringDelimiter", { "fg": s:green})
- call s:h("rubySymbol", { "fg": s:blue})
- " ERb
- call s:h("erubyDelimiter", { "fg": s:red })
- " Rails
- call s:h("railsAssetPreProc", { "fg": s:comment_grey })
- call s:h("railsAssetInclude", { "fg": s:comment_grey })
- call s:h("railsAssetIncluded", { "fg": s:comment_grey })
- call s:h("rubyRailsMethod", { "fg": s:blue })
- call s:h("rubyRailsFilterMethod", { "fg": s:cyan })
- call s:h("rubyRailsRenderMethod", { "fg": s:cyan })
- call s:h("rubyRailsARAssociationMethod", { "fg": s:cyan })
- call s:h("rubyRailsHelperMethod", { "fg": s:cyan })
- " RSpec
- call s:h("rspecGroupMethods", { "fg": s:white })
- call s:h("rspecBeforeAndAfter", { "fg": s:white })
- " CSS
- call s:h("cssColor", { "fg": s:dark_yellow })
- call s:h("cssCommonAttr", { "fg": s:blue })
- call s:h("cssProp", { "fg": s:cyan })
- call s:h("cssSelectorOp", { "fg": s:white })
- call s:h("cssUnitDecorators", { "fg": s:yellow })
- " Sass
- " https://github.com/tpope/vim-haml
- call s:h("sassAmpersand", { "fg": s:red })
- call s:h("sassClass", { "fg": s:dark_yellow })
- call s:h("sassControl", { "fg": s:purple })
- call s:h("sassExtend", { "fg": s:purple })
- call s:h("sassFor", { "fg": s:white })
- call s:h("sassFunction", { "fg": s:cyan })
- call s:h("sassId", { "fg": s:blue })
- call s:h("sassInclude", { "fg": s:purple })
- call s:h("sassMedia", { "fg": s:purple })
- call s:h("sassMediaOperators", { "fg": s:white })
- call s:h("sassMixin", { "fg": s:purple })
- call s:h("sassMixinName", { "fg": s:blue })
- call s:h("sassMixing", { "fg": s:purple })
- call s:h("sassVariable", { "fg": s:dark_yellow })
- " https://github.com/cakebaker/scss-syntax.vim
- call s:h("scssExtend", { "fg": s:purple })
- call s:h("scssExtendedSelector", { "fg": s:dark_yellow })
- call s:h("scssFunctionName", { "fg": s:cyan })
- call s:h("scssImport", { "fg": s:purple })
- call s:h("scssInclude", { "fg": s:purple })
- call s:h("scssMixin", { "fg": s:purple })
- call s:h("scssMixinName", { "fg": s:blue })
- call s:h("scssSelectorName", { "fg": s:yellow })
- call s:h("scssVariable", { "fg": s:dark_yellow })
- " TypeScript
- call s:h("typescriptReserved", { "fg": s:purple })
- call s:h("typescriptEndColons", { "fg": s:white })
- call s:h("typescriptBraces", { "fg": s:white })
- " XML
- call s:h("xmlAttrib", { "fg": s:yellow })
- call s:h("xmlEndTag", { "fg": s:red })
- call s:h("xmlTag", { "fg": s:red })
- call s:h("xmlTagName", { "fg": s:red })
- " PHP
- call s:h("phpInclude", { "fg": s:purple })
- call s:h("phpClass", { "fg": s:yellow })
- call s:h("phpClasses", { "fg": s:yellow })
- call s:h("phpFunction", { "fg": s:blue })
- call s:h("phpType", { "fg": s:purple })
- call s:h("phpKeyword", { "fg": s:purple })
- call s:h("phpVarSelector", { "fg": s:white })
- call s:h("phpIdentifier", { "fg": s:white })
- call s:h("phpMethod", { "fg": s:blue })
- call s:h("phpBoolean", { "fg": s:blue })
- call s:h("phpParent", { "fg": s:white })
- call s:h("phpOperator", { "fg": s:purple })
- call s:h("phpRegion", { "fg": s:purple })
- call s:h("phpUseNamespaceSeparator", { "fg": s:white })
- call s:h("phpClassNamespaceSeparator", { "fg": s:white })
- call s:h("phpDocTags", { "fg": s:purple, "gui": "italic", "cterm": "italic" })
- call s:h("phpDocParam", { "fg": s:purple, "gui": "italic", "cterm": "italic" })
- " Dart
- call s:h("dartLibrary", { "fg": s:purple})
- call s:h("dartTypedef", { "fg": s:purple})
- call s:h("dartClassDecl", { "fg": s:purple})
- call s:h("dartCoreType", { "fg": s:purple})
- call s:h("dartStorageClass", { "fg": s:purple})
- call s:h("dartOperator", { "fg": s:purple})
- call s:h("dartMetadata", { "fg": s:purple})
- call s:h("dartKeyword", { "fg": s:purple})
- " }}}
- " Plugin Highlighting {{{
- " airblade/vim-gitgutter
- hi link GitGutterAdd SignifySignAdd
- hi link GitGutterChange SignifySignChange
- hi link GitGutterDelete SignifySignDelete
- " mhinz/vim-signify
- call s:h("SignifySignAdd", { "fg": s:green })
- call s:h("SignifySignChange", { "fg": s:yellow })
- call s:h("SignifySignDelete", { "fg": s:red })
- " neomake/neomake
- call s:h("NeomakeWarningSign", { "fg": s:yellow })
- call s:h("NeomakeErrorSign", { "fg": s:red })
- call s:h("NeomakeInfoSign", { "fg": s:blue })
- " tpope/vim-fugitive
- call s:h("diffAdded", { "fg": s:green })
- call s:h("diffRemoved", { "fg": s:red })
- " liuchengxu/vista.vim
- call s:h("VistaBracket", { "fg": s:purple })
- call s:h("VistaChildrenNr", { "fg": s:dark_yellow })
- call s:h("VistaScope", { "fg": s:blue_purple })
- call s:h("VistaTag", { "fg": s:purple })
- call s:h("VistaPrefix", { "fg": s:blue_purple })
- call s:h("VistaParenthesis", { "fg": s:purple })
- call s:h("VistaColon", { "fg": s:cyan })
- call s:h("VistaIcon", { "fg": s:cyan })
- call s:h("VistaLineNr", { "fg": s:comment_grey })
- call s:h("VistaArgs", { "fg": s:comment_grey })
- call s:h("VistaKind", { "fg": s:comment_grey })
- call s:h("VistaScopeKind", { "fg": s:yellow })
- " termdebug
- call s:h("debugBreakpoint", { "fg": s:blue_purple })
- call s:h("debugPC", { "bg": s:blue_purple, "fg": s:black })
- " davidhalter/jedi-vim
- call s:h("jediFunction", { "bg": s:white_mask_3, "fg": s:white })
- call s:h("jediFat", { "bg": s:white_mask_3, "fg": s:blue , "gui": "bold,underline" })
- " }}}
- " Git Highlighting {{{
- call s:h("gitcommitComment", { "fg": s:comment_grey })
- call s:h("gitcommitUnmerged", { "fg": s:green })
- call s:h("gitcommitOnBranch", {})
- call s:h("gitcommitBranch", { "fg": s:purple })
- call s:h("gitcommitDiscardedType", { "fg": s:red })
- call s:h("gitcommitSelectedType", { "fg": s:green })
- call s:h("gitcommitHeader", {})
- call s:h("gitcommitUntrackedFile", { "fg": s:cyan })
- call s:h("gitcommitDiscardedFile", { "fg": s:red })
- call s:h("gitcommitSelectedFile", { "fg": s:green })
- call s:h("gitcommitUnmergedFile", { "fg": s:yellow })
- call s:h("gitcommitFile", {})
- call s:h("gitcommitSummary", { "fg": s:white })
- call s:h("gitcommitOverflow", { "fg": s:red })
- hi link gitcommitNoBranch gitcommitBranch
- hi link gitcommitUntracked gitcommitComment
- hi link gitcommitDiscarded gitcommitComment
- hi link gitcommitSelected gitcommitComment
- hi link gitcommitDiscardedArrow gitcommitDiscardedFile
- hi link gitcommitSelectedArrow gitcommitSelectedFile
- hi link gitcommitUnmergedArrow gitcommitUnmergedFile
- " }}}
- " Setup Terminal Colors {{{
- if has("nvim")
- let g:terminal_color_0 = s:black.gui
- let g:terminal_color_1 = s:red.gui
- let g:terminal_color_2 = s:green.gui
- let g:terminal_color_3 = s:yellow.gui
- let g:terminal_color_4 = s:blue.gui
- let g:terminal_color_5 = s:purple.gui
- let g:terminal_color_6 = s:cyan.gui
- let g:terminal_color_7 = s:white.gui
- let g:terminal_color_8 = s:visual_grey.gui
- let g:terminal_color_9 = s:dark_red.gui
- let g:terminal_color_10 = s:green.gui " No dark version
- let g:terminal_color_11 = s:dark_yellow.gui
- let g:terminal_color_12 = s:blue.gui " No dark version
- let g:terminal_color_13 = s:purple.gui " No dark version
- let g:terminal_color_14 = s:cyan.gui " No dark version
- let g:terminal_color_15 = s:comment_grey.gui
- let g:terminal_color_background = g:terminal_color_0
- let g:terminal_color_foreground = g:terminal_color_7
- elseif has('terminal')
- let g:terminal_ansi_colors = [
- \ s:black.gui,
- \ s:red.gui,
- \ s:green.gui,
- \ s:yellow.gui,
- \ s:blue.gui,
- \ s:purple.gui,
- \ s:cyan.gui,
- \ s:white.gui,
- \ s:visual_grey.gui,
- \ s:dark_red.gui,
- \ s:green.gui,
- \ s:dark_yellow.gui,
- \ s:blue.gui,
- \ s:purple.gui,
- \ s:cyan.gui,
- \ s:white.gui
- \ ]
- endif
- " }}}
- " 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
|