339 lines
15 KiB
VimL
339 lines
15 KiB
VimL
|
" Vim Color File
|
||
|
" Name: challenger_deep.vim
|
||
|
" Version: 2.0
|
||
|
" Maintainer: github.com/MaxSt
|
||
|
" License: The MIT License (MIT)
|
||
|
" Based On: pencil by github.com/reedes and github.com/mattly
|
||
|
|
||
|
hi clear
|
||
|
|
||
|
if exists('syntax on')
|
||
|
syntax reset
|
||
|
endif
|
||
|
|
||
|
let g:colors_name='challenger_deep'
|
||
|
set background=dark
|
||
|
|
||
|
|
||
|
if ! exists("g:challenger_deep_termcolors")
|
||
|
let g:challenger_deep_termcolors = 256
|
||
|
endif
|
||
|
|
||
|
" not all terminals support italics properly. If yours does, opt-in.
|
||
|
if ! exists("g:challenger_deep_terminal_italics")
|
||
|
let g:challenger_deep_terminal_italics = 0
|
||
|
endif
|
||
|
|
||
|
" Colors
|
||
|
let s:black = { "gui": "#212121", "cterm": "0", "cterm16" : "8" }
|
||
|
let s:medium_gray = { "gui": "#767676", "cterm": "243", "cterm16" : "243" }
|
||
|
let s:white = { "gui": "#F3F3F3", "cterm": "15", "cterm16" : "15" }
|
||
|
let s:actual_white = { "gui": "#FFFFFF", "cterm": "231", "cterm16" : "231" }
|
||
|
let s:light_black = { "gui": "#424242", "cterm": "8", "cterm16" : "0" }
|
||
|
let s:lighter_black = { "gui": "#545454", "cterm": "240", "cterm16" : "240" }
|
||
|
|
||
|
" lighter shadows and darker grays
|
||
|
let s:subtle_black = { "gui": "#303030", "cterm": "236", "cterm16" : "236" }
|
||
|
let s:light_gray = { "gui": "#B2B2B2", "cterm": "249", "cterm16" : "249" }
|
||
|
let s:lighter_gray = { "gui": "#C6C6C6", "cterm": "251", "cterm16" : "251" }
|
||
|
|
||
|
" flat colors:
|
||
|
let s:asphalt = { "gui": "#1e1c31", "cterm": "233", "cterm16": "NONE"}
|
||
|
let s:asphalt_subtle= { "gui": "#100E23", "cterm": "232", "cterm16": "0"}
|
||
|
let s:dark_asphalt = { "gui": "#565575", "cterm": "236", "cterm16": "8"}
|
||
|
|
||
|
let s:red = { "gui": "#ff8080", "cterm": "204", "cterm16": "1"}
|
||
|
let s:dark_red = { "gui": "#ff5458", "cterm": "203", "cterm16": "9"}
|
||
|
|
||
|
let s:green = { "gui": "#95ffa4", "cterm": "120", "cterm16": "2"}
|
||
|
let s:dark_green = { "gui": "#62d196", "cterm": "119", "cterm16": "10"}
|
||
|
|
||
|
let s:yellow = { "gui": "#ffe9aa", "cterm": "228", "cterm16": "3"}
|
||
|
let s:dark_yellow = { "gui": "#ffb378", "cterm": "215", "cterm16": "11"}
|
||
|
|
||
|
let s:blue = { "gui": "#91ddff", "cterm": "159", "cterm16": "4"}
|
||
|
let s:dark_blue = { "gui": "#65b2ff", "cterm": "75", "cterm16": "12"}
|
||
|
|
||
|
let s:purple = { "gui": "#c991e1", "cterm": "141", "cterm16": "5"}
|
||
|
let s:dark_purple = { "gui": "#906cff", "cterm": "135", "cterm16": "13"}
|
||
|
|
||
|
let s:cyan = { "gui": "#aaffe4", "cterm": "122", "cterm16": "6"}
|
||
|
let s:dark_cyan = { "gui": "#63f2f1", "cterm": "121", "cterm16": "14"}
|
||
|
|
||
|
let s:clouds = { "gui": "#cbe3e7", "cterm": "253", "cterm16": "7"}
|
||
|
let s:dark_clouds = { "gui": "#a6b3cc", "cterm": "252", "cterm16": "15"}
|
||
|
|
||
|
let s:bg = s:asphalt
|
||
|
let s:bg_subtle = s:asphalt_subtle
|
||
|
let s:bg_dark = s:dark_asphalt
|
||
|
let s:norm = s:clouds
|
||
|
let s:norm_subtle = s:dark_clouds
|
||
|
let s:visual = s:bg_dark
|
||
|
|
||
|
let s:head_a = s:dark_blue
|
||
|
let s:head_b = s:blue
|
||
|
let s:head_c = s:dark_cyan
|
||
|
|
||
|
" shamelessly stolen from hemisu: https://github.com/noahfrederick/vim-hemisu/
|
||
|
function! s:h(group, style)
|
||
|
" Not all terminals support italics properly. If yours does, opt-in.
|
||
|
if g:challenger_deep_terminal_italics == 0 && has_key(a:style, "cterm") && a:style["cterm"] == "italic"
|
||
|
unlet a:style.cterm
|
||
|
endif
|
||
|
if g:challenger_deep_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")
|
||
|
end
|
||
|
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
|
||
|
|
||
|
" common groups ================================================================
|
||
|
" (see `:h w18`)
|
||
|
|
||
|
call s:h("Normal", {"bg": s:bg, "fg": s:norm})
|
||
|
call s:h("Cursor", {"bg": s:blue, "fg": s:bg_dark})
|
||
|
call s:h("Comment", {"fg": s:medium_gray, "gui": "italic", "cterm": "italic"})
|
||
|
|
||
|
call s:h("Constant", {"fg": s:yellow})
|
||
|
hi! link String Constant
|
||
|
hi! link Character Constant
|
||
|
|
||
|
call s:h("Number", {"fg": s:dark_yellow})
|
||
|
hi! link Boolean Constant
|
||
|
hi! link Float Constant
|
||
|
|
||
|
call s:h("Identifier", {"fg": s:purple})
|
||
|
hi! link Function Identifier
|
||
|
|
||
|
call s:h("Label", {"fg": s:dark_blue})
|
||
|
hi! link Conditonal Statement
|
||
|
hi! link Exception Statement
|
||
|
|
||
|
call s:h("Operator", {"fg": s:dark_cyan})
|
||
|
hi! link Repeat Operator
|
||
|
|
||
|
call s:h("PreProc", {"fg": s:green})
|
||
|
hi! link Include PreProc
|
||
|
hi! link Define PreProc
|
||
|
hi! link Macro PreProc
|
||
|
hi! link PreCondit PreProc
|
||
|
|
||
|
|
||
|
call s:h("Keyword", {"fg": s:red})
|
||
|
hi! link Statement Keyword
|
||
|
|
||
|
call s:h("Type", {"fg": s:blue})
|
||
|
hi! link StorageClass Type
|
||
|
hi! link Structure Type
|
||
|
hi! link Typedef Type
|
||
|
|
||
|
call s:h("Special", {"fg": s:cyan})
|
||
|
hi! link SpecialChar Special
|
||
|
hi! link Tag Special
|
||
|
hi! link Delimiter Special
|
||
|
hi! link SpecialComment Special
|
||
|
hi! link Debug Special
|
||
|
|
||
|
call s:h("Underlined", {"fg": s:norm , "gui": "underline", "cterm": "underline"})
|
||
|
call s:h("Ignore", {"fg": s:bg })
|
||
|
call s:h("Error", {"fg": s:dark_red, "bg": s:bg_subtle , "gui": "bold" , "cterm": "bold" })
|
||
|
call s:h("Todo", {"fg": s:dark_yellow, "bg": s:bg_subtle, "gui": "bold" , "cterm": "bold" })
|
||
|
|
||
|
" ui chrome ====================================================================
|
||
|
" ordered according to `:help hitest.vim`
|
||
|
|
||
|
call s:h("SpecialKey", {"fg": s:blue})
|
||
|
call s:h("Boolean", {"fg": s:dark_yellow})
|
||
|
call s:h("Number", {"fg": s:dark_yellow})
|
||
|
call s:h("Float", {"fg": s:dark_yellow})
|
||
|
call s:h("NonText", {"fg": s:bg_dark})
|
||
|
call s:h("Directory", {"fg": s:purple})
|
||
|
call s:h("ErrorMsg", {"fg": s:dark_red})
|
||
|
call s:h("IncSearch", {"bg": s:red, "fg": s:clouds})
|
||
|
call s:h("Search", {"bg": s:bg_dark})
|
||
|
call s:h("MoreMsg", {"fg": s:medium_gray, "gui": "bold", "cterm": "bold"})
|
||
|
hi! link ModeMsg MoreMsg
|
||
|
call s:h("LineNr", {"fg": s:dark_asphalt, "bg": s:bg_subtle})
|
||
|
call s:h("CursorLineNr", {"bg": s:bg_subtle, "fg": s:blue, "gui": "bold"})
|
||
|
call s:h("Question", {"fg": s:red})
|
||
|
call s:h("StatusLine", {"bg": s:bg_dark})
|
||
|
call s:h("Conceal", {"fg": s:norm})
|
||
|
call s:h("StatusLineNC", {"bg": s:bg_dark, "fg": s:medium_gray})
|
||
|
call s:h("VertSplit", {"fg": s:bg_subtle})
|
||
|
call s:h("Title", {"fg": s:dark_blue})
|
||
|
call s:h("Visual", {"bg": s:visual})
|
||
|
call s:h("WarningMsg", {"fg": s:yellow})
|
||
|
call s:h("WildMenu", {"fg": s:bg_subtle, "bg": s:cyan})
|
||
|
call s:h("Folded", {"bg": s:purple, "fg": s:bg_subtle})
|
||
|
call s:h("FoldColumn", {"fg": s:yellow})
|
||
|
call s:h("DiffAdd", {"fg": s:green})
|
||
|
call s:h("DiffDelete", {"fg": s:red})
|
||
|
call s:h("DiffChange", {"fg": s:dark_yellow})
|
||
|
call s:h("DiffText", {"fg": s:dark_blue})
|
||
|
call s:h("SignColumn", {"fg": s:green})
|
||
|
|
||
|
if has("gui_running")
|
||
|
call s:h("SpellBad", {"gui": "underline", "sp": s:dark_red})
|
||
|
call s:h("SpellCap", {"gui": "underline", "sp": s:green})
|
||
|
call s:h("SpellRare", {"gui": "underline", "sp": s:red})
|
||
|
call s:h("SpellLocal", {"gui": "underline", "sp": s:dark_green})
|
||
|
else
|
||
|
call s:h("SpellBad", {"cterm": "underline", "fg": s:dark_red})
|
||
|
call s:h("SpellCap", {"cterm": "underline", "fg": s:green})
|
||
|
call s:h("SpellRare", {"cterm": "underline", "fg": s:red})
|
||
|
call s:h("SpellLocal", {"cterm": "underline", "fg": s:dark_green})
|
||
|
endif
|
||
|
call s:h("Pmenu", {"fg": s:norm, "bg": s:bg_subtle})
|
||
|
call s:h("PmenuSel", {"fg": s:norm, "bg": s:bg_dark})
|
||
|
call s:h("PmenuSbar", {"fg": s:norm, "bg": s:bg_dark})
|
||
|
call s:h("PmenuThumb", {"fg": s:norm, "bg": s:bg_dark})
|
||
|
call s:h("TabLine", {"fg": s:norm, "bg": s:bg_dark})
|
||
|
call s:h("TabLineSel", {"fg": s:norm, "bg": s:bg_subtle, "gui": "bold", "cterm": "bold"})
|
||
|
call s:h("TabLineFill", {"fg": s:norm, "bg": s:bg_dark})
|
||
|
call s:h("CursorColumn", {"bg": s:bg_subtle})
|
||
|
call s:h("CursorLine", {"bg": s:bg_subtle})
|
||
|
call s:h("ColorColumn", {"bg": s:bg_subtle})
|
||
|
|
||
|
" remainder of syntax highlighting
|
||
|
call s:h("MatchParen", {"bg": s:bg_subtle, "fg": s:purple, "gui": "bold", "cterm": "bold"})
|
||
|
call s:h("qfLineNr", {"fg": s:medium_gray})
|
||
|
|
||
|
" hi helpHyperTextJump guifg=#5FAFD7 ctermfg=74
|
||
|
|
||
|
" HTML syntax
|
||
|
hi! link htmlTag Special
|
||
|
hi! link htmlEndTag htmlTag
|
||
|
|
||
|
hi! link htmlTagName KeyWord
|
||
|
" html5 tags show up as htmlTagN
|
||
|
hi! link htmlTagN Keyword
|
||
|
|
||
|
" HTML content
|
||
|
call s:h("htmlH1", {"fg": s:head_a, "gui": "bold,italic", "cterm": "bold" })
|
||
|
call s:h("htmlH2", {"fg": s:head_a, "gui": "bold" , "cterm": "bold" })
|
||
|
call s:h("htmlH3", {"fg": s:head_b, "gui": "italic" , "cterm": "italic" })
|
||
|
call s:h("htmlH4", {"fg": s:head_b, "gui": "italic" , "cterm": "italic" })
|
||
|
call s:h("htmlH5", {"fg": s:head_c })
|
||
|
call s:h("htmlH6", {"fg": s:head_c })
|
||
|
call s:h("htmlLink", {"fg": s:blue , "gui": "underline" , "cterm": "underline"})
|
||
|
call s:h("htmlItalic", { "gui": "italic" , "cterm": "italic" })
|
||
|
call s:h("htmlBold", { "gui": "bold" , "cterm": "bold" })
|
||
|
call s:h("htmlBoldItalic",{ "gui": "bold,italic", "cterm": "bold" })
|
||
|
" hi htmlString guifg=#87875f guibg=NONE gui=NONE ctermfg=101 ctermbg=NONE cterm=NONE
|
||
|
|
||
|
" tpope/vim-markdown
|
||
|
call s:h("markdownBlockquote", {"fg": s:norm})
|
||
|
call s:h("markdownBold", {"fg": s:norm , "gui": "bold" , "cterm": "bold" })
|
||
|
call s:h("markdownBoldItalic", {"fg": s:norm , "gui": "bold,italic", "cterm": "bold" })
|
||
|
call s:h("markdownEscape", {"fg": s:norm})
|
||
|
call s:h("markdownH1", {"fg": s:head_a, "gui": "bold,italic", "cterm": "bold" })
|
||
|
call s:h("markdownH2", {"fg": s:head_a, "gui": "bold" , "cterm": "bold" })
|
||
|
call s:h("markdownH3", {"fg": s:head_a, "gui": "italic" , "cterm": "italic"})
|
||
|
call s:h("markdownH4", {"fg": s:head_a, "gui": "italic" , "cterm": "italic"})
|
||
|
call s:h("mckarkdownH5", {"fg": s:head_a})
|
||
|
call s:h("markdownH6", {"fg": s:head_a})
|
||
|
call s:h("markdownHeadingDelimiter", {"fg": s:norm})
|
||
|
call s:h("markdownHeadingRule", {"fg": s:norm})
|
||
|
call s:h("markdownId", {"fg": s:medium_gray})
|
||
|
call s:h("markdownIdDeclaration", {"fg": s:norm_subtle})
|
||
|
call s:h("markdownItalic", {"fg": s:norm , "gui": "italic" , "cterm": "italic"})
|
||
|
call s:h("markdownLinkDelimiter", {"fg": s:medium_gray})
|
||
|
call s:h("markdownLinkText", {"fg": s:norm})
|
||
|
call s:h("markdownLinkTextDelimiter", {"fg": s:medium_gray})
|
||
|
call s:h("markdownListMarker", {"fg": s:norm})
|
||
|
call s:h("markdownOrderedListMarker", {"fg": s:norm})
|
||
|
call s:h("markdownRule", {"fg": s:norm})
|
||
|
call s:h("markdownUrl", {"fg": s:medium_gray, "gui": "underline", "cterm": "underline"})
|
||
|
call s:h("markdownUrlDelimiter", {"fg": s:medium_gray})
|
||
|
call s:h("markdownUrlTitle", {"fg": s:norm})
|
||
|
call s:h("markdownUrlTitleDelimiter", {"fg": s:medium_gray})
|
||
|
call s:h("markdownCode", {"fg": s:norm})
|
||
|
call s:h("markdownCodeDelimiter", {"fg": s:norm})
|
||
|
|
||
|
" plasticboy/vim-markdown
|
||
|
call s:h("mkdBlockQuote", {"fg": s:norm})
|
||
|
call s:h("mkdDelimiter", {"fg": s:medium_gray})
|
||
|
call s:h("mkdID", {"fg": s:medium_gray})
|
||
|
call s:h("mkdLineContinue", {"fg": s:norm})
|
||
|
call s:h("mkdLink", {"fg": s:norm})
|
||
|
call s:h("mkdLinkDef", {"fg": s:medium_gray})
|
||
|
call s:h("mkdListItem", {"fg": s:norm})
|
||
|
call s:h("mkdNonListItemBlock", {"fg": s:norm}) " bug in syntax?
|
||
|
call s:h("mkdRule", {"fg": s:norm})
|
||
|
call s:h("mkdUrl", {"fg": s:medium_gray, "gui": "underline", "cterm": "underline"})
|
||
|
call s:h("mkdCode", {"fg": s:norm})
|
||
|
call s:h("mkdIndentCode", {"fg": s:norm})
|
||
|
|
||
|
" gabrielelana/vim-markdown
|
||
|
call s:h("markdownBlockquoteDelimiter", {"fg": s:norm})
|
||
|
call s:h("markdownInlineDelimiter", {"fg": s:norm})
|
||
|
call s:h("markdownItemDelimiter", {"fg": s:norm})
|
||
|
call s:h("markdownLinkReference", {"fg": s:medium_gray})
|
||
|
call s:h("markdownLinkText", {"fg": s:norm})
|
||
|
call s:h("markdownLinkTextContainer", {"fg": s:medium_gray})
|
||
|
call s:h("markdownLinkUrl", {"fg": s:medium_gray, "gui": "underline", "cterm": "underline"})
|
||
|
call s:h("markdownLinkUrlContainer", {"fg": s:medium_gray})
|
||
|
call s:h("markdownFencedCodeBlock", {"fg": s:norm})
|
||
|
call s:h("markdownInlineCode", {"fg": s:norm})
|
||
|
|
||
|
" mattly/vim-markdown-enhancements
|
||
|
call s:h("mmdFootnoteDelimiter", {"fg": s:medium_gray})
|
||
|
call s:h("mmdFootnoteMarker", {"fg": s:norm})
|
||
|
call s:h("mmdTableAlign", {"fg": s:norm})
|
||
|
call s:h("mmdTableDelimiter", {"fg": s:norm})
|
||
|
call s:h("mmdTableHeadDelimiter", {"fg": s:norm})
|
||
|
call s:h("mmdTableHeader", {"fg": s:norm})
|
||
|
call s:h("mmdTableCaptionDelimiter", {"fg": s:norm})
|
||
|
call s:h("mmdTableCaption", {"fg": s:norm})
|
||
|
|
||
|
" Textile content
|
||
|
" https://github.com/timcharper/textile.vim/blob/master/syntax/textile.vim
|
||
|
"call s:h("txtBold", {"fg": s:norm , "gui": "bold" , "cterm": "bold" })
|
||
|
"call s:h("txtEmphasis", {"fg": s:norm , "gui": "italic" , "cterm": "italic"})
|
||
|
|
||
|
" XML content
|
||
|
hi! link xmlTag htmlTag
|
||
|
hi! link xmlEndTag xmlTag
|
||
|
hi! link xmlTagName htmlTagName
|
||
|
|
||
|
" Signify
|
||
|
call s:h("SignifySignAdd",{"fg": s:green, "bg": s:bg_subtle})
|
||
|
call s:h("SignifySignDelete",{"fg": s:red, "bg": s:bg_subtle})
|
||
|
call s:h("SignifySignChange",{"fg": s:yellow, "bg": s:bg_subtle})
|
||
|
call s:h("SignifySignDeleteFirstLine",{"fg": s:red, "bg": s:bg_subtle})
|
||
|
|
||
|
" GitGutter
|
||
|
call s:h("GitGutterAdd",{"fg": s:green, "bg": s:bg_subtle})
|
||
|
call s:h("GitGutterDelete",{"fg": s:red, "bg": s:bg_subtle})
|
||
|
call s:h("GitGutterChange",{"fg": s:yellow, "bg": s:bg_subtle})
|
||
|
call s:h("GitGutterChangeDelete",{"fg": s:red, "bg": s:bg_subtle})
|
||
|
|
||
|
|
||
|
"nvim terminal colors
|
||
|
let g:terminal_color_0 = s:bg_dark.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:clouds.gui
|
||
|
let g:terminal_color_8 = s:bg_subtle.gui
|
||
|
let g:terminal_color_9 = s:dark_red.gui
|
||
|
let g:terminal_color_10 = s:dark_green.gui
|
||
|
let g:terminal_color_11 = s:dark_yellow.gui
|
||
|
let g:terminal_color_12 = s:dark_blue.gui
|
||
|
let g:terminal_color_13 = s:dark_purple.gui
|
||
|
let g:terminal_color_14 = s:dark_cyan.gui
|
||
|
let g:terminal_color_15 = s:dark_clouds.gui
|