vim/colors/one.vim

884 lines
35 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('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
" }}}
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
" vim: set fdl=0 fdm=marker: