1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-23 17:30:04 +08:00
SpaceVim/bundle/vim-one/colors/one.vim
2024-05-21 13:02:02 +08:00

935 lines
37 KiB
VimL

" Name: one vim colorscheme
" Author: Ramzi Akremi
" License: MIT
" Version: 1.1.1-pre
" Global setup =============================================================={{{
if exists("*<SID>X")
delf <SID>X
delf <SID>XAPI
delf <SID>rgb
delf <SID>color
delf <SID>rgb_color
delf <SID>rgb_level
delf <SID>rgb_number
delf <SID>grey_color
delf <SID>grey_level
delf <SID>grey_number
endif
hi clear
syntax reset
if exists('g:colors_name')
unlet g:colors_name
endif
let g:colors_name = 'one'
if !exists('g:one_allow_italics')
let g:one_allow_italics = 0
endif
let s:italic = ''
if g:one_allow_italics == 1
let s:italic = 'italic'
endif
if has('gui_running') || has('termguicolors') || &t_Co == 88 || &t_Co == 256
" functions
" returns an approximate grey index for the given grey level
" Utility functions -------------------------------------------------------{{{
fun <SID>grey_number(x)
if &t_Co == 88
if a:x < 23
return 0
elseif a:x < 69
return 1
elseif a:x < 103
return 2
elseif a:x < 127
return 3
elseif a:x < 150
return 4
elseif a:x < 173
return 5
elseif a:x < 196
return 6
elseif a:x < 219
return 7
elseif a:x < 243
return 8
else
return 9
endif
else
if a:x < 14
return 0
else
let l:n = (a:x - 8) / 10
let l:m = (a:x - 8) % 10
if l:m < 5
return l:n
else
return l:n + 1
endif
endif
endif
endfun
" returns the actual grey level represented by the grey index
fun <SID>grey_level(n)
if &t_Co == 88
if a:n == 0
return 0
elseif a:n == 1
return 46
elseif a:n == 2
return 92
elseif a:n == 3
return 115
elseif a:n == 4
return 139
elseif a:n == 5
return 162
elseif a:n == 6
return 185
elseif a:n == 7
return 208
elseif a:n == 8
return 231
else
return 255
endif
else
if a:n == 0
return 0
else
return 8 + (a:n * 10)
endif
endif
endfun
" returns the palette index for the given grey index
fun <SID>grey_color(n)
if &t_Co == 88
if a:n == 0
return 16
elseif a:n == 9
return 79
else
return 79 + a:n
endif
else
if a:n == 0
return 16
elseif a:n == 25
return 231
else
return 231 + a:n
endif
endif
endfun
" returns an approximate color index for the given color level
fun <SID>rgb_number(x)
if &t_Co == 88
if a:x < 69
return 0
elseif a:x < 172
return 1
elseif a:x < 230
return 2
else
return 3
endif
else
if a:x < 75
return 0
else
let l:n = (a:x - 55) / 40
let l:m = (a:x - 55) % 40
if l:m < 20
return l:n
else
return l:n + 1
endif
endif
endif
endfun
" returns the actual color level for the given color index
fun <SID>rgb_level(n)
if &t_Co == 88
if a:n == 0
return 0
elseif a:n == 1
return 139
elseif a:n == 2
return 205
else
return 255
endif
else
if a:n == 0
return 0
else
return 55 + (a:n * 40)
endif
endif
endfun
" returns the palette index for the given R/G/B color indices
fun <SID>rgb_color(x, y, z)
if &t_Co == 88
return 16 + (a:x * 16) + (a:y * 4) + a:z
else
return 16 + (a:x * 36) + (a:y * 6) + a:z
endif
endfun
" returns the palette index to approximate the given R/G/B color levels
fun <SID>color(r, g, b)
" get the closest grey
let l:gx = <SID>grey_number(a:r)
let l:gy = <SID>grey_number(a:g)
let l:gz = <SID>grey_number(a:b)
" get the closest color
let l:x = <SID>rgb_number(a:r)
let l:y = <SID>rgb_number(a:g)
let l:z = <SID>rgb_number(a:b)
if l:gx == l:gy && l:gy == l:gz
" there are two possibilities
let l:dgr = <SID>grey_level(l:gx) - a:r
let l:dgg = <SID>grey_level(l:gy) - a:g
let l:dgb = <SID>grey_level(l:gz) - a:b
let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb)
let l:dr = <SID>rgb_level(l:gx) - a:r
let l:dg = <SID>rgb_level(l:gy) - a:g
let l:db = <SID>rgb_level(l:gz) - a:b
let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db)
if l:dgrey < l:drgb
" use the grey
return <SID>grey_color(l:gx)
else
" use the color
return <SID>rgb_color(l:x, l:y, l:z)
endif
else
" only one possibility
return <SID>rgb_color(l:x, l:y, l:z)
endif
endfun
" returns the palette index to approximate the 'rrggbb' hex string
fun <SID>rgb(rgb)
let l:r = ('0x' . strpart(a:rgb, 0, 2)) + 0
let l:g = ('0x' . strpart(a:rgb, 2, 2)) + 0
let l:b = ('0x' . strpart(a:rgb, 4, 2)) + 0
return <SID>color(l:r, l:g, l:b)
endfun
" sets the highlighting for the given group
fun <SID>XAPI(group, fg, bg, attr)
let l:attr = a:attr
if g:one_allow_italics == 0 && l:attr ==? 'italic'
let l:attr= 'none'
endif
let l:bg = ""
let l:fg = ""
let l:decoration = ""
if a:bg != ''
let l:bg = " guibg=#" . a:bg . " ctermbg=" . <SID>rgb(a:bg)
endif
if a:fg != ''
let l:fg = " guifg=#" . a:fg . " ctermfg=" . <SID>rgb(a:fg)
endif
if a:attr != ''
let l:decoration = " gui=" . l:attr . " cterm=" . l:attr
endif
let l:exec = l:fg . l:bg . l:decoration
if l:exec != ''
exec "hi " . a:group . l:exec
endif
endfun
" Highlight function
" the original one is borrowed from mhartington/oceanic-next
function! <SID>X(group, fg, bg, attr, ...)
let l:attrsp = get(a:, 1, "")
" fg, bg, attr, attrsp
if !empty(a:fg)
exec "hi " . a:group . " guifg=" . a:fg[0]
exec "hi " . a:group . " ctermfg=" . a:fg[1]
endif
if !empty(a:bg)
exec "hi " . a:group . " guibg=" . a:bg[0]
exec "hi " . a:group . " ctermbg=" . a:bg[1]
endif
if a:attr != ""
exec "hi " . a:group . " gui=" . a:attr
exec "hi " . a:group . " cterm=" . a:attr
endif
if !empty(l:attrsp)
exec "hi " . a:group . " guisp=" . l:attrsp[0]
endif
endfunction
" }}}
" Color definition --------------------------------------------------------{{{
let s:dark = 0
if &background ==# 'dark'
let s:dark = 1
let s:mono_1 = ['#abb2bf', '145']
let s:mono_2 = ['#828997', '102']
let s:mono_3 = ['#5c6370', '59']
let s:mono_4 = ['#4b5263', '59']
let s:hue_1 = ['#56b6c2', '73'] " cyan
let s:hue_2 = ['#61afef', '75'] " blue
let s:hue_3 = ['#c678dd', '176'] " purple
let s:hue_4 = ['#98c379', '114'] " green
let s:hue_5 = ['#e06c75', '168'] " red 1
let s:hue_5_2 = ['#be5046', '130'] " red 2
let s:hue_6 = ['#d19a66', '173'] " orange 1
let s:hue_6_2 = ['#e5c07b', '180'] " orange 2
let s:syntax_bg = ['#282c34', '16']
let s:syntax_gutter = ['#636d83', '60']
let s:syntax_cursor = ['#2c323c', '16']
let s:syntax_accent = ['#528bff', '69']
let s:vertsplit = ['#181a1f', '233']
let s:special_grey = ['#3b4048', '16']
let s:visual_grey = ['#3e4452', '17']
let s:pmenu = ['#333841', '16']
else
let s:mono_1 = ['#494b53', '23']
let s:mono_2 = ['#696c77', '60']
let s:mono_3 = ['#a0a1a7', '145']
let s:mono_4 = ['#c2c2c3', '250']
let s:hue_1 = ['#0184bc', '31'] " cyan
let s:hue_2 = ['#4078f2', '33'] " blue
let s:hue_3 = ['#a626a4', '127'] " purple
let s:hue_4 = ['#50a14f', '71'] " green
let s:hue_5 = ['#e45649', '166'] " red 1
let s:hue_5_2 = ['#ca1243', '160'] " red 2
let s:hue_6 = ['#986801', '94'] " orange 1
let s:hue_6_2 = ['#c18401', '136'] " orange 2
let s:syntax_bg = ['#fafafa', '255']
let s:syntax_gutter = ['#9e9e9e', '247']
let s:syntax_cursor = ['#f0f0f0', '254']
let s:syntax_accent = ['#526fff', '63']
let s:syntax_accent_2 = ['#0083be', '31']
let s:vertsplit = ['#e7e9e1', '188']
let s:special_grey = ['#d3d3d3', '251']
let s:visual_grey = ['#d0d0d0', '251']
let s:pmenu = ['#dfdfdf', '253']
endif
let s:syntax_fg = s:mono_1
let s:syntax_fold_bg = s:mono_3
" }}}
" Vim editor color --------------------------------------------------------{{{
call <sid>X('Normal', s:syntax_fg, s:syntax_bg, '')
call <sid>X('NormalFloat', '', s:pmenu, '')
call <sid>X('bold', '', '', 'bold')
call <sid>X('ColorColumn', '', s:syntax_cursor, '')
call <sid>X('Conceal', s:mono_4, s:syntax_bg, '')
call <sid>X('Cursor', '', s:syntax_accent, '')
call <sid>X('CursorIM', '', '', '')
call <sid>X('CursorColumn', '', s:syntax_cursor, '')
call <sid>X('CursorLine', '', s:syntax_cursor, 'none')
call <sid>X('Directory', s:hue_2, '', '')
call <sid>X('ErrorMsg', s:hue_5, s:syntax_bg, 'none')
call <sid>X('VertSplit', s:syntax_cursor, s:syntax_cursor, 'none')
call <sid>X('Folded', s:syntax_fg, s:syntax_bg, 'none')
call <sid>X('FoldColumn', s:mono_3, s:syntax_cursor, '')
call <sid>X('IncSearch', s:hue_6, '', '')
call <sid>X('LineNr', s:mono_4, '', '')
call <sid>X('CursorLineNr', s:syntax_fg, s:syntax_cursor, 'none')
call <sid>X('MatchParen', s:hue_5, s:syntax_cursor, 'underline,bold')
call <sid>X('Italic', '', '', s:italic)
call <sid>X('ModeMsg', s:syntax_fg, '', '')
call <sid>X('MoreMsg', s:syntax_fg, '', '')
call <sid>X('NonText', s:mono_3, '', 'none')
call <sid>X('PMenu', '', s:pmenu, '')
call <sid>X('PMenuSel', '', s:mono_4, '')
call <sid>X('PMenuSbar', '', s:syntax_bg, '')
call <sid>X('PMenuThumb', '', s:mono_1, '')
call <sid>X('Question', s:hue_2, '', '')
call <sid>X('Search', s:syntax_bg, s:hue_6_2, '')
call <sid>X('SpecialKey', s:special_grey, '', 'none')
call <sid>X('Whitespace', s:special_grey, '', 'none')
call <sid>X('StatusLine', s:syntax_fg, s:syntax_cursor, 'none')
call <sid>X('StatusLineNC', s:mono_3, '', '')
call <sid>X('TabLine', s:mono_2, s:visual_grey, 'none')
call <sid>X('TabLineFill', s:mono_3, s:visual_grey, 'none')
call <sid>X('TabLineSel', s:syntax_bg, s:hue_2, '')
call <sid>X('Title', s:syntax_fg, '', 'bold')
call <sid>X('Visual', '', s:visual_grey, '')
call <sid>X('VisualNOS', '', s:visual_grey, '')
call <sid>X('WarningMsg', s:hue_5, '', '')
call <sid>X('TooLong', s:hue_5, '', '')
call <sid>X('WildMenu', s:syntax_fg, s:mono_3, '')
call <sid>X('SignColumn', '', s:syntax_bg, '')
call <sid>X('Special', s:hue_2, '', '')
" }}}
" Vim Help highlighting ---------------------------------------------------{{{
call <sid>X('helpCommand', s:hue_6_2, '', '')
call <sid>X('helpExample', s:hue_6_2, '', '')
call <sid>X('helpHeader', s:mono_1, '', 'bold')
call <sid>X('helpSectionDelim', s:mono_3, '', '')
" }}}
" Standard syntax highlighting --------------------------------------------{{{
call <sid>X('Comment', s:mono_3, '', s:italic)
call <sid>X('Constant', s:hue_4, '', '')
call <sid>X('String', s:hue_4, '', '')
call <sid>X('Character', s:hue_4, '', '')
call <sid>X('Number', s:hue_6, '', '')
call <sid>X('Boolean', s:hue_6, '', '')
call <sid>X('Float', s:hue_6, '', '')
call <sid>X('Identifier', s:hue_5, '', 'none')
call <sid>X('Function', s:hue_2, '', '')
call <sid>X('Statement', s:hue_3, '', 'none')
call <sid>X('Conditional', s:hue_3, '', '')
call <sid>X('Repeat', s:hue_3, '', '')
call <sid>X('Label', s:hue_3, '', '')
call <sid>X('Operator', s:syntax_accent, '', 'none')
call <sid>X('Keyword', s:hue_5, '', '')
call <sid>X('Exception', s:hue_3, '', '')
call <sid>X('PreProc', s:hue_6_2, '', '')
call <sid>X('Include', s:hue_2, '', '')
call <sid>X('Define', s:hue_3, '', 'none')
call <sid>X('Macro', s:hue_3, '', '')
call <sid>X('PreCondit', s:hue_6_2, '', '')
call <sid>X('Type', s:hue_6_2, '', 'none')
call <sid>X('StorageClass', s:hue_6_2, '', '')
call <sid>X('Structure', s:hue_6_2, '', '')
call <sid>X('Typedef', s:hue_6_2, '', '')
call <sid>X('Special', s:hue_2, '', '')
call <sid>X('SpecialChar', '', '', '')
call <sid>X('Tag', '', '', '')
call <sid>X('Delimiter', '', '', '')
call <sid>X('SpecialComment', '', '', '')
call <sid>X('Debug', '', '', '')
call <sid>X('Underlined', '', '', 'underline')
call <sid>X('Ignore', '', '', '')
call <sid>X('Error', s:hue_5, s:syntax_bg, 'bold')
call <sid>X('Todo', s:hue_3, s:syntax_bg, '')
" }}}
" Diff highlighting -------------------------------------------------------{{{
call <sid>X('DiffAdd', s:hue_4, s:visual_grey, '')
call <sid>X('DiffChange', s:hue_6, s:visual_grey, '')
call <sid>X('DiffDelete', s:hue_5, s:visual_grey, '')
call <sid>X('DiffText', s:hue_2, s:visual_grey, '')
call <sid>X('DiffAdded', s:hue_4, s:visual_grey, '')
call <sid>X('DiffFile', s:hue_5, s:visual_grey, '')
call <sid>X('DiffNewFile', s:hue_4, s:visual_grey, '')
call <sid>X('DiffLine', s:hue_2, s:visual_grey, '')
call <sid>X('DiffRemoved', s:hue_5, s:visual_grey, '')
" }}}
" Asciidoc highlighting ---------------------------------------------------{{{
call <sid>X('asciidocListingBlock', s:mono_2, '', '')
" }}}
" C/C++ highlighting ------------------------------------------------------{{{
call <sid>X('cInclude', s:hue_3, '', '')
call <sid>X('cPreCondit', s:hue_3, '', '')
call <sid>X('cPreConditMatch', s:hue_3, '', '')
call <sid>X('cType', s:hue_3, '', '')
call <sid>X('cStorageClass', s:hue_3, '', '')
call <sid>X('cStructure', s:hue_3, '', '')
call <sid>X('cOperator', s:hue_3, '', '')
call <sid>X('cStatement', s:hue_3, '', '')
call <sid>X('cTODO', s:hue_3, '', '')
call <sid>X('cConstant', s:hue_6, '', '')
call <sid>X('cSpecial', s:hue_1, '', '')
call <sid>X('cSpecialCharacter', s:hue_1, '', '')
call <sid>X('cString', s:hue_4, '', '')
call <sid>X('cppType', s:hue_3, '', '')
call <sid>X('cppStorageClass', s:hue_3, '', '')
call <sid>X('cppStructure', s:hue_3, '', '')
call <sid>X('cppModifier', s:hue_3, '', '')
call <sid>X('cppOperator', s:hue_3, '', '')
call <sid>X('cppAccess', s:hue_3, '', '')
call <sid>X('cppStatement', s:hue_3, '', '')
call <sid>X('cppConstant', s:hue_5, '', '')
call <sid>X('cCppString', s:hue_4, '', '')
" }}}
" Cucumber highlighting ---------------------------------------------------{{{
call <sid>X('cucumberGiven', s:hue_2, '', '')
call <sid>X('cucumberWhen', s:hue_2, '', '')
call <sid>X('cucumberWhenAnd', s:hue_2, '', '')
call <sid>X('cucumberThen', s:hue_2, '', '')
call <sid>X('cucumberThenAnd', s:hue_2, '', '')
call <sid>X('cucumberUnparsed', s:hue_6, '', '')
call <sid>X('cucumberFeature', s:hue_5, '', 'bold')
call <sid>X('cucumberBackground', s:hue_3, '', 'bold')
call <sid>X('cucumberScenario', s:hue_3, '', 'bold')
call <sid>X('cucumberScenarioOutline', s:hue_3, '', 'bold')
call <sid>X('cucumberTags', s:mono_3, '', 'bold')
call <sid>X('cucumberDelimiter', s:mono_3, '', 'bold')
" }}}
" CSS/Sass highlighting ---------------------------------------------------{{{
call <sid>X('cssAttrComma', s:hue_3, '', '')
call <sid>X('cssAttributeSelector', s:hue_4, '', '')
call <sid>X('cssBraces', s:mono_2, '', '')
call <sid>X('cssClassName', s:hue_6, '', '')
call <sid>X('cssClassNameDot', s:hue_6, '', '')
call <sid>X('cssDefinition', s:hue_3, '', '')
call <sid>X('cssFontAttr', s:hue_6, '', '')
call <sid>X('cssFontDescriptor', s:hue_3, '', '')
call <sid>X('cssFunctionName', s:hue_2, '', '')
call <sid>X('cssIdentifier', s:hue_2, '', '')
call <sid>X('cssImportant', s:hue_3, '', '')
call <sid>X('cssInclude', s:mono_1, '', '')
call <sid>X('cssIncludeKeyword', s:hue_3, '', '')
call <sid>X('cssMediaType', s:hue_6, '', '')
call <sid>X('cssProp', s:hue_1, '', '')
call <sid>X('cssPseudoClassId', s:hue_6, '', '')
call <sid>X('cssSelectorOp', s:hue_3, '', '')
call <sid>X('cssSelectorOp2', s:hue_3, '', '')
call <sid>X('cssStringQ', s:hue_4, '', '')
call <sid>X('cssStringQQ', s:hue_4, '', '')
call <sid>X('cssTagName', s:hue_5, '', '')
call <sid>X('cssAttr', s:hue_6, '', '')
call <sid>X('sassAmpersand', s:hue_5, '', '')
call <sid>X('sassClass', s:hue_6_2, '', '')
call <sid>X('sassControl', s:hue_3, '', '')
call <sid>X('sassExtend', s:hue_3, '', '')
call <sid>X('sassFor', s:mono_1, '', '')
call <sid>X('sassProperty', s:hue_1, '', '')
call <sid>X('sassFunction', s:hue_1, '', '')
call <sid>X('sassId', s:hue_2, '', '')
call <sid>X('sassInclude', s:hue_3, '', '')
call <sid>X('sassMedia', s:hue_3, '', '')
call <sid>X('sassMediaOperators', s:mono_1, '', '')
call <sid>X('sassMixin', s:hue_3, '', '')
call <sid>X('sassMixinName', s:hue_2, '', '')
call <sid>X('sassMixing', s:hue_3, '', '')
call <sid>X('scssSelectorName', s:hue_6_2, '', '')
" }}}
" Elixir highlighting------------------------------------------------------{{{
hi link elixirModuleDefine Define
call <sid>X('elixirAlias', s:hue_6_2, '', '')
call <sid>X('elixirAtom', s:hue_1, '', '')
call <sid>X('elixirBlockDefinition', s:hue_3, '', '')
call <sid>X('elixirModuleDeclaration', s:hue_6, '', '')
call <sid>X('elixirInclude', s:hue_5, '', '')
call <sid>X('elixirOperator', s:hue_6, '', '')
" }}}
" Git and git related plugins highlighting --------------------------------{{{
call <sid>X('gitcommitComment', s:mono_3, '', '')
call <sid>X('gitcommitUnmerged', s:hue_4, '', '')
call <sid>X('gitcommitOnBranch', '', '', '')
call <sid>X('gitcommitBranch', s:hue_3, '', '')
call <sid>X('gitcommitDiscardedType', s:hue_5, '', '')
call <sid>X('gitcommitSelectedType', s:hue_4, '', '')
call <sid>X('gitcommitHeader', '', '', '')
call <sid>X('gitcommitUntrackedFile', s:hue_1, '', '')
call <sid>X('gitcommitDiscardedFile', s:hue_5, '', '')
call <sid>X('gitcommitSelectedFile', s:hue_4, '', '')
call <sid>X('gitcommitUnmergedFile', s:hue_6_2, '', '')
call <sid>X('gitcommitFile', '', '', '')
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
call <sid>X('SignifySignAdd', s:hue_4, '', '')
call <sid>X('SignifySignChange', s:hue_6_2, '', '')
call <sid>X('SignifySignDelete', s:hue_5, '', '')
hi link GitGutterAdd SignifySignAdd
hi link GitGutterChange SignifySignChange
hi link GitGutterDelete SignifySignDelete
call <sid>X('diffAdded', s:hue_4, '', '')
call <sid>X('diffRemoved', s:hue_5, '', '')
" }}}
" Go highlighting ---------------------------------------------------------{{{
call <sid>X('goDeclaration', s:hue_3, '', '')
call <sid>X('goField', s:hue_5, '', '')
call <sid>X('goMethod', s:hue_1, '', '')
call <sid>X('goType', s:hue_3, '', '')
call <sid>X('goUnsignedInts', s:hue_1, '', '')
" }}}
" Haskell highlighting ----------------------------------------------------{{{
call <sid>X('haskellDeclKeyword', s:hue_2, '', '')
call <sid>X('haskellType', s:hue_4, '', '')
call <sid>X('haskellWhere', s:hue_5, '', '')
call <sid>X('haskellImportKeywords', s:hue_2, '', '')
call <sid>X('haskellOperators', s:hue_5, '', '')
call <sid>X('haskellDelimiter', s:hue_2, '', '')
call <sid>X('haskellIdentifier', s:hue_6, '', '')
call <sid>X('haskellKeyword', s:hue_5, '', '')
call <sid>X('haskellNumber', s:hue_1, '', '')
call <sid>X('haskellString', s:hue_1, '', '')
"}}}
" HTML highlighting -------------------------------------------------------{{{
call <sid>X('htmlArg', s:hue_6, '', '')
call <sid>X('htmlTagName', s:hue_5, '', '')
call <sid>X('htmlTagN', s:hue_5, '', '')
call <sid>X('htmlSpecialTagName', s:hue_5, '', '')
call <sid>X('htmlTag', s:mono_2, '', '')
call <sid>X('htmlEndTag', s:mono_2, '', '')
call <sid>X('MatchTag', s:hue_5, s:syntax_cursor, 'underline,bold')
" }}}
" JavaScript highlighting -------------------------------------------------{{{
call <sid>X('coffeeString', s:hue_4, '', '')
call <sid>X('javaScriptBraces', s:mono_2, '', '')
call <sid>X('javaScriptFunction', s:hue_3, '', '')
call <sid>X('javaScriptIdentifier', s:hue_3, '', '')
call <sid>X('javaScriptNull', s:hue_6, '', '')
call <sid>X('javaScriptNumber', s:hue_6, '', '')
call <sid>X('javaScriptRequire', s:hue_1, '', '')
call <sid>X('javaScriptReserved', s:hue_3, '', '')
" https://github.com/pangloss/vim-javascript
call <sid>X('jsArrowFunction', s:hue_3, '', '')
call <sid>X('jsBraces', s:mono_2, '', '')
call <sid>X('jsClassBraces', s:mono_2, '', '')
call <sid>X('jsClassKeywords', s:hue_3, '', '')
call <sid>X('jsDocParam', s:hue_2, '', '')
call <sid>X('jsDocTags', s:hue_3, '', '')
call <sid>X('jsFuncBraces', s:mono_2, '', '')
call <sid>X('jsFuncCall', s:hue_2, '', '')
call <sid>X('jsFuncParens', s:mono_2, '', '')
call <sid>X('jsFunction', s:hue_3, '', '')
call <sid>X('jsGlobalObjects', s:hue_6_2, '', '')
call <sid>X('jsModuleWords', s:hue_3, '', '')
call <sid>X('jsModules', s:hue_3, '', '')
call <sid>X('jsNoise', s:mono_2, '', '')
call <sid>X('jsNull', s:hue_6, '', '')
call <sid>X('jsOperator', s:hue_3, '', '')
call <sid>X('jsParens', s:mono_2, '', '')
call <sid>X('jsStorageClass', s:hue_3, '', '')
call <sid>X('jsTemplateBraces', s:hue_5_2, '', '')
call <sid>X('jsTemplateVar', s:hue_4, '', '')
call <sid>X('jsThis', s:hue_5, '', '')
call <sid>X('jsUndefined', s:hue_6, '', '')
call <sid>X('jsObjectValue', s:hue_2, '', '')
call <sid>X('jsObjectKey', s:hue_1, '', '')
call <sid>X('jsReturn', s:hue_3, '', '')
" https://github.com/othree/yajs.vim
call <sid>X('javascriptArrowFunc', s:hue_3, '', '')
call <sid>X('javascriptClassExtends', s:hue_3, '', '')
call <sid>X('javascriptClassKeyword', s:hue_3, '', '')
call <sid>X('javascriptDocNotation', s:hue_3, '', '')
call <sid>X('javascriptDocParamName', s:hue_2, '', '')
call <sid>X('javascriptDocTags', s:hue_3, '', '')
call <sid>X('javascriptEndColons', s:mono_3, '', '')
call <sid>X('javascriptExport', s:hue_3, '', '')
call <sid>X('javascriptFuncArg', s:mono_1, '', '')
call <sid>X('javascriptFuncKeyword', s:hue_3, '', '')
call <sid>X('javascriptIdentifier', s:hue_5, '', '')
call <sid>X('javascriptImport', s:hue_3, '', '')
call <sid>X('javascriptObjectLabel', s:mono_1, '', '')
call <sid>X('javascriptOpSymbol', s:hue_1, '', '')
call <sid>X('javascriptOpSymbols', s:hue_1, '', '')
call <sid>X('javascriptPropertyName', s:hue_4, '', '')
call <sid>X('javascriptTemplateSB', s:hue_5_2, '', '')
call <sid>X('javascriptVariable', s:hue_3, '', '')
" }}}
" JSON highlighting -------------------------------------------------------{{{
call <sid>X('jsonCommentError', s:mono_1, '', '' )
call <sid>X('jsonKeyword', s:hue_5, '', '' )
call <sid>X('jsonQuote', s:mono_3, '', '' )
call <sid>X('jsonTrailingCommaError', s:hue_5, '', 'reverse' )
call <sid>X('jsonMissingCommaError', s:hue_5, '', 'reverse' )
call <sid>X('jsonNoQuotesError', s:hue_5, '', 'reverse' )
call <sid>X('jsonNumError', s:hue_5, '', 'reverse' )
call <sid>X('jsonString', s:hue_4, '', '' )
call <sid>X('jsonBoolean', s:hue_3, '', '' )
call <sid>X('jsonNumber', s:hue_6, '', '' )
call <sid>X('jsonStringSQError', s:hue_5, '', 'reverse' )
call <sid>X('jsonSemicolonError', s:hue_5, '', 'reverse' )
" }}}
" Markdown highlighting ---------------------------------------------------{{{
call <sid>X('markdownUrl', s:mono_3, '', '')
call <sid>X('markdownBold', s:hue_6, '', 'bold')
call <sid>X('markdownItalic', s:hue_6, '', 'bold')
call <sid>X('markdownCode', s:hue_4, '', '')
call <sid>X('markdownCodeBlock', s:hue_5, '', '')
call <sid>X('markdownCodeDelimiter', s:hue_4, '', '')
call <sid>X('markdownHeadingDelimiter', s:hue_5_2, '', '')
call <sid>X('markdownH1', s:hue_5, '', '')
call <sid>X('markdownH2', s:hue_5, '', '')
call <sid>X('markdownH3', s:hue_5, '', '')
call <sid>X('markdownH3', s:hue_5, '', '')
call <sid>X('markdownH4', s:hue_5, '', '')
call <sid>X('markdownH5', s:hue_5, '', '')
call <sid>X('markdownH6', s:hue_5, '', '')
call <sid>X('markdownListMarker', s:hue_5, '', '')
" }}}
" Perl highlighting -------------------------------------------------------{{{
call <sid>X('perlFunction', s:hue_3, '', '')
call <sid>X('perlMethod', s:syntax_fg, '', '')
call <sid>X('perlPackageConst', s:hue_3, '', '')
call <sid>X('perlPOD', s:mono_3, '', '')
call <sid>X('perlSubName', s:syntax_fg, '', '')
call <sid>X('perlSharpBang', s:mono_3, '', '')
call <sid>X('perlSpecialString', s:hue_4, '', '')
call <sid>X('perlVarPlain', s:hue_2, '', '')
call <sid>X('podCommand', s:mono_3, '', '')
" PHP highlighting --------------------------------------------------------{{{
call <sid>X('phpClass', s:hue_6_2, '', '')
call <sid>X('phpFunction', s:hue_2, '', '')
call <sid>X('phpFunctions', s:hue_2, '', '')
call <sid>X('phpInclude', s:hue_3, '', '')
call <sid>X('phpKeyword', s:hue_3, '', '')
call <sid>X('phpParent', s:mono_3, '', '')
call <sid>X('phpType', s:hue_3, '', '')
call <sid>X('phpSuperGlobals', s:hue_5, '', '')
" }}}
" Pug (Formerly Jade) highlighting ----------------------------------------{{{
call <sid>X('pugAttributesDelimiter', s:hue_6, '', '')
call <sid>X('pugClass', s:hue_6, '', '')
call <sid>X('pugDocType', s:mono_3, '', s:italic)
call <sid>X('pugTag', s:hue_5, '', '')
" }}}
" PureScript highlighting -------------------------------------------------{{{
call <sid>X('purescriptKeyword', s:hue_3, '', '')
call <sid>X('purescriptModuleName', s:syntax_fg, '', '')
call <sid>X('purescriptIdentifier', s:syntax_fg, '', '')
call <sid>X('purescriptType', s:hue_6_2, '', '')
call <sid>X('purescriptTypeVar', s:hue_5, '', '')
call <sid>X('purescriptConstructor', s:hue_5, '', '')
call <sid>X('purescriptOperator', s:syntax_fg, '', '')
" }}}
" Python highlighting -----------------------------------------------------{{{
call <sid>X('pythonImport', s:hue_3, '', '')
call <sid>X('pythonBuiltin', s:hue_1, '', '')
call <sid>X('pythonStatement', s:hue_3, '', '')
call <sid>X('pythonParam', s:hue_6, '', '')
call <sid>X('pythonEscape', s:hue_5, '', '')
call <sid>X('pythonSelf', s:mono_2, '', s:italic)
call <sid>X('pythonClass', s:hue_2, '', '')
call <sid>X('pythonOperator', s:hue_3, '', '')
call <sid>X('pythonEscape', s:hue_5, '', '')
call <sid>X('pythonFunction', s:hue_2, '', '')
call <sid>X('pythonKeyword', s:hue_2, '', '')
call <sid>X('pythonModule', s:hue_3, '', '')
call <sid>X('pythonStringDelimiter', s:hue_4, '', '')
call <sid>X('pythonSymbol', s:hue_1, '', '')
" }}}
" Ruby highlighting -------------------------------------------------------{{{
call <sid>X('rubyBlock', s:hue_3, '', '')
call <sid>X('rubyBlockParameter', s:hue_5, '', '')
call <sid>X('rubyBlockParameterList', s:hue_5, '', '')
call <sid>X('rubyCapitalizedMethod', s:hue_3, '', '')
call <sid>X('rubyClass', s:hue_3, '', '')
call <sid>X('rubyConstant', s:hue_6_2, '', '')
call <sid>X('rubyControl', s:hue_3, '', '')
call <sid>X('rubyDefine', s:hue_3, '', '')
call <sid>X('rubyEscape', s:hue_5, '', '')
call <sid>X('rubyFunction', s:hue_2, '', '')
call <sid>X('rubyGlobalVariable', s:hue_5, '', '')
call <sid>X('rubyInclude', s:hue_2, '', '')
call <sid>X('rubyIncluderubyGlobalVariable', s:hue_5, '', '')
call <sid>X('rubyInstanceVariable', s:hue_5, '', '')
call <sid>X('rubyInterpolation', s:hue_1, '', '')
call <sid>X('rubyInterpolationDelimiter', s:hue_5, '', '')
call <sid>X('rubyKeyword', s:hue_2, '', '')
call <sid>X('rubyModule', s:hue_3, '', '')
call <sid>X('rubyPseudoVariable', s:hue_5, '', '')
call <sid>X('rubyRegexp', s:hue_1, '', '')
call <sid>X('rubyRegexpDelimiter', s:hue_1, '', '')
call <sid>X('rubyStringDelimiter', s:hue_4, '', '')
call <sid>X('rubySymbol', s:hue_1, '', '')
" }}}
" Spelling highlighting ---------------------------------------------------{{{
call <sid>X('SpellBad', '', s:syntax_bg, 'undercurl')
call <sid>X('SpellLocal', '', s:syntax_bg, 'undercurl')
call <sid>X('SpellCap', '', s:syntax_bg, 'undercurl')
call <sid>X('SpellRare', '', s:syntax_bg, 'undercurl')
" }}}
" Vim highlighting --------------------------------------------------------{{{
call <sid>X('vimCommand', s:hue_3, '', '')
call <sid>X('vimCommentTitle', s:mono_3, '', 'bold')
call <sid>X('vimFunction', s:hue_1, '', '')
call <sid>X('vimFuncName', s:hue_3, '', '')
call <sid>X('vimHighlight', s:hue_2, '', '')
call <sid>X('vimLineComment', s:mono_3, '', s:italic)
call <sid>X('vimParenSep', s:mono_2, '', '')
call <sid>X('vimSep', s:mono_2, '', '')
call <sid>X('vimUserFunc', s:hue_1, '', '')
call <sid>X('vimVar', s:hue_5, '', '')
" }}}
" XML highlighting --------------------------------------------------------{{{
call <sid>X('xmlAttrib', s:hue_6_2, '', '')
call <sid>X('xmlEndTag', s:hue_5, '', '')
call <sid>X('xmlTag', s:hue_5, '', '')
call <sid>X('xmlTagName', s:hue_5, '', '')
" }}}
" ZSH highlighting --------------------------------------------------------{{{
call <sid>X('zshCommands', s:syntax_fg, '', '')
call <sid>X('zshDeref', s:hue_5, '', '')
call <sid>X('zshShortDeref', s:hue_5, '', '')
call <sid>X('zshFunction', s:hue_1, '', '')
call <sid>X('zshKeyword', s:hue_3, '', '')
call <sid>X('zshSubst', s:hue_5, '', '')
call <sid>X('zshSubstDelim', s:mono_3, '', '')
call <sid>X('zshTypes', s:hue_3, '', '')
call <sid>X('zshVariableDef', s:hue_6, '', '')
" }}}
" Rust highlighting -------------------------------------------------------{{{
call <sid>X('rustExternCrate', s:hue_5, '', 'bold')
call <sid>X('rustIdentifier', s:hue_2, '', '')
call <sid>X('rustDeriveTrait', s:hue_4, '', '')
call <sid>X('SpecialComment', s:mono_3, '', '')
call <sid>X('rustCommentLine', s:mono_3, '', '')
call <sid>X('rustCommentLineDoc', s:mono_3, '', '')
call <sid>X('rustCommentLineDocError', s:mono_3, '', '')
call <sid>X('rustCommentBlock', s:mono_3, '', '')
call <sid>X('rustCommentBlockDoc', s:mono_3, '', '')
call <sid>X('rustCommentBlockDocError', s:mono_3, '', '')
" }}}
" man highlighting --------------------------------------------------------{{{
hi link manTitle String
call <sid>X('manFooter', s:mono_3, '', '')
" }}}
" ALE (Asynchronous Lint Engine) highlighting -----------------------------{{{
call <sid>X('ALEWarningSign', s:hue_6_2, '', '')
call <sid>X('ALEErrorSign', s:hue_5, '', '')
" Neovim NERDTree Background fix ------------------------------------------{{{
call <sid>X('NERDTreeFile', s:syntax_fg, '', '')
" }}}
" Delete functions =========================================================={{{
" delf <SID>X
" delf <SID>XAPI
" delf <SID>rgb
" delf <SID>color
" delf <SID>rgb_color
" delf <SID>rgb_level
" delf <SID>rgb_number
" delf <SID>grey_color
" delf <SID>grey_level
" delf <SID>grey_number
" }}}
" treesitter
hi link elixirModuleDefine Define
hi link TSAnnotation PreProc
hi link TSAttribute PreProc
hi link TSBoolean Boolean
hi link TSCharacter Character
hi link TSComment Comment
hi link TSConditional Conditional
hi link TSConstant Constant
hi link TSConstBuiltin Special
hi link TSConstMacro Define
hi link TSConstructor Special
hi link TSEmphasis Italic
hi link TSError Error
hi link TSException Exception
hi link TSField Normal
hi link TSFloat Float
hi link TSFunction Function
hi link TSFuncBuiltin Special
hi link TSFuncMacro Macro
hi link TSInclude Include
hi link TSKeyword Keyword
hi link TSKeywordFunction Keyword
hi link TSKeywordOperator Operator
hi link TSLabel Label
hi link TSLiteral String
hi link TSMethod Function
hi link TSNamespace Include
hi link TSNumber Number
hi link TSOperator Operator
hi link TSParameter Identifier
hi link TSParameterReference Identifier
hi link TSProperty Identifier
hi link TSPunctBracket Delimiter
hi link TSPunctDelimiter Delimiter
hi link TSPunctSpecial Delimiter
hi link TSRepeat Repeat
hi link TSString String
hi link TSStringEscape SpecialChar
hi link TSStringRegex String
hi link TSStrong bold
hi link TSTag Label
hi link TSTagDelimiter Label
hi link TSText Normal
hi link TSTitle Title
hi link TSType Type
hi link TSTypeBuiltin Type
hi link TSUnderline Underlined
hi link TSURI Underlined
hi link TSVariableBuiltin Special
endif
"}}}
" Public API --------------------------------------------------------------{{{
function! one#highlight(group, fg, bg, attr)
call <sid>XAPI(a:group, a:fg, a:bg, a:attr)
endfunction
"}}}
if exists('s:dark') && s:dark
set background=dark
endif