" Name: one vim colorscheme " Author: Ramzi Akremi " License: MIT " Version: 1.1.1-pre " Global setup =============================================================={{{ if exists("*X") delf X delf XAPI delf rgb delf color delf rgb_color delf rgb_level delf rgb_number delf grey_color delf grey_level delf 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 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 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 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 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 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 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 color(r, g, b) " get the closest grey let l:gx = grey_number(a:r) let l:gy = grey_number(a:g) let l:gz = grey_number(a:b) " get the closest color let l:x = rgb_number(a:r) let l:y = rgb_number(a:g) let l:z = rgb_number(a:b) if l:gx == l:gy && l:gy == l:gz " there are two possibilities let l:dgr = grey_level(l:gx) - a:r let l:dgg = grey_level(l:gy) - a:g let l:dgb = grey_level(l:gz) - a:b let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) let l:dr = rgb_level(l:gx) - a:r let l:dg = rgb_level(l:gy) - a:g let l:db = 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 grey_color(l:gx) else " use the color return rgb_color(l:x, l:y, l:z) endif else " only one possibility return rgb_color(l:x, l:y, l:z) endif endfun " returns the palette index to approximate the 'rrggbb' hex string fun 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 color(l:r, l:g, l:b) endfun " sets the highlighting for the given group fun 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=" . rgb(a:bg) endif if a:fg != '' let l:fg = " guifg=#" . a:fg . " ctermfg=" . 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! 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 X('Normal', s:syntax_fg, s:syntax_bg, '') call X('bold', '', '', 'bold') call X('ColorColumn', '', s:syntax_cursor, '') call X('Conceal', s:mono_4, s:syntax_bg, '') call X('Cursor', '', s:syntax_accent, '') call X('CursorIM', '', '', '') call X('CursorColumn', '', s:syntax_cursor, '') call X('CursorLine', '', s:syntax_cursor, 'none') call X('Directory', s:hue_2, '', '') call X('ErrorMsg', s:hue_5, s:syntax_bg, 'none') call X('VertSplit', s:syntax_cursor, s:syntax_cursor, 'none') call X('Folded', s:syntax_fg, s:syntax_bg, 'none') call X('FoldColumn', s:mono_3, s:syntax_cursor, '') call X('IncSearch', s:hue_6, '', '') call X('LineNr', s:mono_4, '', '') call X('CursorLineNr', s:syntax_fg, s:syntax_cursor, 'none') call X('MatchParen', s:hue_5, s:syntax_cursor, 'underline,bold') call X('Italic', '', '', s:italic) call X('ModeMsg', s:syntax_fg, '', '') call X('MoreMsg', s:syntax_fg, '', '') call X('NonText', s:mono_3, '', 'none') call X('PMenu', '', s:pmenu, '') call X('PMenuSel', '', s:mono_4, '') call X('PMenuSbar', '', s:syntax_bg, '') call X('PMenuThumb', '', s:mono_1, '') call X('Question', s:hue_2, '', '') call X('Search', s:syntax_bg, s:hue_6_2, '') call X('SpecialKey', s:special_grey, '', 'none') call X('Whitespace', s:special_grey, '', 'none') call X('StatusLine', s:syntax_fg, s:syntax_cursor, 'none') call X('StatusLineNC', s:mono_3, '', '') call X('TabLine', s:mono_2, s:visual_grey, 'none') call X('TabLineFill', s:mono_3, s:visual_grey, 'none') call X('TabLineSel', s:syntax_bg, s:hue_2, '') call X('Title', s:syntax_fg, '', 'bold') call X('Visual', '', s:visual_grey, '') call X('VisualNOS', '', s:visual_grey, '') call X('WarningMsg', s:hue_5, '', '') call X('TooLong', s:hue_5, '', '') call X('WildMenu', s:syntax_fg, s:mono_3, '') call X('SignColumn', '', s:syntax_bg, '') call X('Special', s:hue_2, '', '') " }}} " Vim Help highlighting ---------------------------------------------------{{{ call X('helpCommand', s:hue_6_2, '', '') call X('helpExample', s:hue_6_2, '', '') call X('helpHeader', s:mono_1, '', 'bold') call X('helpSectionDelim', s:mono_3, '', '') " }}} " Standard syntax highlighting --------------------------------------------{{{ call X('Comment', s:mono_3, '', s:italic) call X('Constant', s:hue_4, '', '') call X('String', s:hue_4, '', '') call X('Character', s:hue_4, '', '') call X('Number', s:hue_6, '', '') call X('Boolean', s:hue_6, '', '') call X('Float', s:hue_6, '', '') call X('Identifier', s:hue_5, '', 'none') call X('Function', s:hue_2, '', '') call X('Statement', s:hue_3, '', 'none') call X('Conditional', s:hue_3, '', '') call X('Repeat', s:hue_3, '', '') call X('Label', s:hue_3, '', '') call X('Operator', s:syntax_accent, '', 'none') call X('Keyword', s:hue_5, '', '') call X('Exception', s:hue_3, '', '') call X('PreProc', s:hue_6_2, '', '') call X('Include', s:hue_2, '', '') call X('Define', s:hue_3, '', 'none') call X('Macro', s:hue_3, '', '') call X('PreCondit', s:hue_6_2, '', '') call X('Type', s:hue_6_2, '', 'none') call X('StorageClass', s:hue_6_2, '', '') call X('Structure', s:hue_6_2, '', '') call X('Typedef', s:hue_6_2, '', '') call X('Special', s:hue_2, '', '') call X('SpecialChar', '', '', '') call X('Tag', '', '', '') call X('Delimiter', '', '', '') call X('SpecialComment', '', '', '') call X('Debug', '', '', '') call X('Underlined', '', '', 'underline') call X('Ignore', '', '', '') call X('Error', s:hue_5, s:syntax_bg, 'bold') call X('Todo', s:hue_3, s:syntax_bg, '') " }}} " Diff highlighting -------------------------------------------------------{{{ call X('DiffAdd', s:hue_4, s:visual_grey, '') call X('DiffChange', s:hue_6, s:visual_grey, '') call X('DiffDelete', s:hue_5, s:visual_grey, '') call X('DiffText', s:hue_2, s:visual_grey, '') call X('DiffAdded', s:hue_4, s:visual_grey, '') call X('DiffFile', s:hue_5, s:visual_grey, '') call X('DiffNewFile', s:hue_4, s:visual_grey, '') call X('DiffLine', s:hue_2, s:visual_grey, '') call X('DiffRemoved', s:hue_5, s:visual_grey, '') " }}} " Asciidoc highlighting ---------------------------------------------------{{{ call X('asciidocListingBlock', s:mono_2, '', '') " }}} " C/C++ highlighting ------------------------------------------------------{{{ call X('cInclude', s:hue_3, '', '') call X('cPreCondit', s:hue_3, '', '') call X('cPreConditMatch', s:hue_3, '', '') call X('cType', s:hue_3, '', '') call X('cStorageClass', s:hue_3, '', '') call X('cStructure', s:hue_3, '', '') call X('cOperator', s:hue_3, '', '') call X('cStatement', s:hue_3, '', '') call X('cTODO', s:hue_3, '', '') call X('cConstant', s:hue_6, '', '') call X('cSpecial', s:hue_1, '', '') call X('cSpecialCharacter', s:hue_1, '', '') call X('cString', s:hue_4, '', '') call X('cppType', s:hue_3, '', '') call X('cppStorageClass', s:hue_3, '', '') call X('cppStructure', s:hue_3, '', '') call X('cppModifier', s:hue_3, '', '') call X('cppOperator', s:hue_3, '', '') call X('cppAccess', s:hue_3, '', '') call X('cppStatement', s:hue_3, '', '') call X('cppConstant', s:hue_5, '', '') call X('cCppString', s:hue_4, '', '') " }}} " Cucumber highlighting ---------------------------------------------------{{{ call X('cucumberGiven', s:hue_2, '', '') call X('cucumberWhen', s:hue_2, '', '') call X('cucumberWhenAnd', s:hue_2, '', '') call X('cucumberThen', s:hue_2, '', '') call X('cucumberThenAnd', s:hue_2, '', '') call X('cucumberUnparsed', s:hue_6, '', '') call X('cucumberFeature', s:hue_5, '', 'bold') call X('cucumberBackground', s:hue_3, '', 'bold') call X('cucumberScenario', s:hue_3, '', 'bold') call X('cucumberScenarioOutline', s:hue_3, '', 'bold') call X('cucumberTags', s:mono_3, '', 'bold') call X('cucumberDelimiter', s:mono_3, '', 'bold') " }}} " CSS/Sass highlighting ---------------------------------------------------{{{ call X('cssAttrComma', s:hue_3, '', '') call X('cssAttributeSelector', s:hue_4, '', '') call X('cssBraces', s:mono_2, '', '') call X('cssClassName', s:hue_6, '', '') call X('cssClassNameDot', s:hue_6, '', '') call X('cssDefinition', s:hue_3, '', '') call X('cssFontAttr', s:hue_6, '', '') call X('cssFontDescriptor', s:hue_3, '', '') call X('cssFunctionName', s:hue_2, '', '') call X('cssIdentifier', s:hue_2, '', '') call X('cssImportant', s:hue_3, '', '') call X('cssInclude', s:mono_1, '', '') call X('cssIncludeKeyword', s:hue_3, '', '') call X('cssMediaType', s:hue_6, '', '') call X('cssProp', s:hue_1, '', '') call X('cssPseudoClassId', s:hue_6, '', '') call X('cssSelectorOp', s:hue_3, '', '') call X('cssSelectorOp2', s:hue_3, '', '') call X('cssStringQ', s:hue_4, '', '') call X('cssStringQQ', s:hue_4, '', '') call X('cssTagName', s:hue_5, '', '') call X('cssAttr', s:hue_6, '', '') call X('sassAmpersand', s:hue_5, '', '') call X('sassClass', s:hue_6_2, '', '') call X('sassControl', s:hue_3, '', '') call X('sassExtend', s:hue_3, '', '') call X('sassFor', s:mono_1, '', '') call X('sassProperty', s:hue_1, '', '') call X('sassFunction', s:hue_1, '', '') call X('sassId', s:hue_2, '', '') call X('sassInclude', s:hue_3, '', '') call X('sassMedia', s:hue_3, '', '') call X('sassMediaOperators', s:mono_1, '', '') call X('sassMixin', s:hue_3, '', '') call X('sassMixinName', s:hue_2, '', '') call X('sassMixing', s:hue_3, '', '') call X('scssSelectorName', s:hue_6_2, '', '') " }}} " Elixir highlighting------------------------------------------------------{{{ hi link elixirModuleDefine Define call X('elixirAlias', s:hue_6_2, '', '') call X('elixirAtom', s:hue_1, '', '') call X('elixirBlockDefinition', s:hue_3, '', '') call X('elixirModuleDeclaration', s:hue_6, '', '') call X('elixirInclude', s:hue_5, '', '') call X('elixirOperator', s:hue_6, '', '') " }}} " Git and git related plugins highlighting --------------------------------{{{ call X('gitcommitComment', s:mono_3, '', '') call X('gitcommitUnmerged', s:hue_4, '', '') call X('gitcommitOnBranch', '', '', '') call X('gitcommitBranch', s:hue_3, '', '') call X('gitcommitDiscardedType', s:hue_5, '', '') call X('gitcommitSelectedType', s:hue_4, '', '') call X('gitcommitHeader', '', '', '') call X('gitcommitUntrackedFile', s:hue_1, '', '') call X('gitcommitDiscardedFile', s:hue_5, '', '') call X('gitcommitSelectedFile', s:hue_4, '', '') call X('gitcommitUnmergedFile', s:hue_6_2, '', '') call 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 X('SignifySignAdd', s:hue_4, '', '') call X('SignifySignChange', s:hue_6_2, '', '') call X('SignifySignDelete', s:hue_5, '', '') hi link GitGutterAdd SignifySignAdd hi link GitGutterChange SignifySignChange hi link GitGutterDelete SignifySignDelete call X('diffAdded', s:hue_4, '', '') call X('diffRemoved', s:hue_5, '', '') " }}} " Go highlighting ---------------------------------------------------------{{{ call X('goDeclaration', s:hue_3, '', '') call X('goField', s:hue_5, '', '') call X('goMethod', s:hue_1, '', '') call X('goType', s:hue_3, '', '') call X('goUnsignedInts', s:hue_1, '', '') " }}} " Haskell highlighting ----------------------------------------------------{{{ call X('haskellDeclKeyword', s:hue_2, '', '') call X('haskellType', s:hue_4, '', '') call X('haskellWhere', s:hue_5, '', '') call X('haskellImportKeywords', s:hue_2, '', '') call X('haskellOperators', s:hue_5, '', '') call X('haskellDelimiter', s:hue_2, '', '') call X('haskellIdentifier', s:hue_6, '', '') call X('haskellKeyword', s:hue_5, '', '') call X('haskellNumber', s:hue_1, '', '') call X('haskellString', s:hue_1, '', '') "}}} " HTML highlighting -------------------------------------------------------{{{ call X('htmlArg', s:hue_6, '', '') call X('htmlTagName', s:hue_5, '', '') call X('htmlTagN', s:hue_5, '', '') call X('htmlSpecialTagName', s:hue_5, '', '') call X('htmlTag', s:mono_2, '', '') call X('htmlEndTag', s:mono_2, '', '') call X('MatchTag', s:hue_5, s:syntax_cursor, 'underline,bold') " }}} " JavaScript highlighting -------------------------------------------------{{{ call X('coffeeString', s:hue_4, '', '') call X('javaScriptBraces', s:mono_2, '', '') call X('javaScriptFunction', s:hue_3, '', '') call X('javaScriptIdentifier', s:hue_3, '', '') call X('javaScriptNull', s:hue_6, '', '') call X('javaScriptNumber', s:hue_6, '', '') call X('javaScriptRequire', s:hue_1, '', '') call X('javaScriptReserved', s:hue_3, '', '') " https://github.com/pangloss/vim-javascript call X('jsArrowFunction', s:hue_3, '', '') call X('jsBraces', s:mono_2, '', '') call X('jsClassBraces', s:mono_2, '', '') call X('jsClassKeywords', s:hue_3, '', '') call X('jsDocParam', s:hue_2, '', '') call X('jsDocTags', s:hue_3, '', '') call X('jsFuncBraces', s:mono_2, '', '') call X('jsFuncCall', s:hue_2, '', '') call X('jsFuncParens', s:mono_2, '', '') call X('jsFunction', s:hue_3, '', '') call X('jsGlobalObjects', s:hue_6_2, '', '') call X('jsModuleWords', s:hue_3, '', '') call X('jsModules', s:hue_3, '', '') call X('jsNoise', s:mono_2, '', '') call X('jsNull', s:hue_6, '', '') call X('jsOperator', s:hue_3, '', '') call X('jsParens', s:mono_2, '', '') call X('jsStorageClass', s:hue_3, '', '') call X('jsTemplateBraces', s:hue_5_2, '', '') call X('jsTemplateVar', s:hue_4, '', '') call X('jsThis', s:hue_5, '', '') call X('jsUndefined', s:hue_6, '', '') call X('jsObjectValue', s:hue_2, '', '') call X('jsObjectKey', s:hue_1, '', '') call X('jsReturn', s:hue_3, '', '') " https://github.com/othree/yajs.vim call X('javascriptArrowFunc', s:hue_3, '', '') call X('javascriptClassExtends', s:hue_3, '', '') call X('javascriptClassKeyword', s:hue_3, '', '') call X('javascriptDocNotation', s:hue_3, '', '') call X('javascriptDocParamName', s:hue_2, '', '') call X('javascriptDocTags', s:hue_3, '', '') call X('javascriptEndColons', s:mono_3, '', '') call X('javascriptExport', s:hue_3, '', '') call X('javascriptFuncArg', s:mono_1, '', '') call X('javascriptFuncKeyword', s:hue_3, '', '') call X('javascriptIdentifier', s:hue_5, '', '') call X('javascriptImport', s:hue_3, '', '') call X('javascriptObjectLabel', s:mono_1, '', '') call X('javascriptOpSymbol', s:hue_1, '', '') call X('javascriptOpSymbols', s:hue_1, '', '') call X('javascriptPropertyName', s:hue_4, '', '') call X('javascriptTemplateSB', s:hue_5_2, '', '') call X('javascriptVariable', s:hue_3, '', '') " }}} " JSON highlighting -------------------------------------------------------{{{ call X('jsonCommentError', s:mono_1, '', '' ) call X('jsonKeyword', s:hue_5, '', '' ) call X('jsonQuote', s:mono_3, '', '' ) call X('jsonTrailingCommaError', s:hue_5, '', 'reverse' ) call X('jsonMissingCommaError', s:hue_5, '', 'reverse' ) call X('jsonNoQuotesError', s:hue_5, '', 'reverse' ) call X('jsonNumError', s:hue_5, '', 'reverse' ) call X('jsonString', s:hue_4, '', '' ) call X('jsonBoolean', s:hue_3, '', '' ) call X('jsonNumber', s:hue_6, '', '' ) call X('jsonStringSQError', s:hue_5, '', 'reverse' ) call X('jsonSemicolonError', s:hue_5, '', 'reverse' ) " }}} " Markdown highlighting ---------------------------------------------------{{{ call X('markdownUrl', s:mono_3, '', '') call X('markdownBold', s:hue_6, '', 'bold') call X('markdownItalic', s:hue_6, '', 'bold') call X('markdownCode', s:hue_4, '', '') call X('markdownCodeBlock', s:hue_5, '', '') call X('markdownCodeDelimiter', s:hue_4, '', '') call X('markdownHeadingDelimiter', s:hue_5_2, '', '') call X('markdownH1', s:hue_5, '', '') call X('markdownH2', s:hue_5, '', '') call X('markdownH3', s:hue_5, '', '') call X('markdownH3', s:hue_5, '', '') call X('markdownH4', s:hue_5, '', '') call X('markdownH5', s:hue_5, '', '') call X('markdownH6', s:hue_5, '', '') call X('markdownListMarker', s:hue_5, '', '') " }}} " Perl highlighting -------------------------------------------------------{{{ call X('perlFunction', s:hue_3, '', '') call X('perlMethod', s:syntax_fg, '', '') call X('perlPackageConst', s:hue_3, '', '') call X('perlPOD', s:mono_3, '', '') call X('perlSubName', s:syntax_fg, '', '') call X('perlSharpBang', s:mono_3, '', '') call X('perlSpecialString', s:hue_4, '', '') call X('perlVarPlain', s:hue_2, '', '') call X('podCommand', s:mono_3, '', '') " PHP highlighting --------------------------------------------------------{{{ call X('phpClass', s:hue_6_2, '', '') call X('phpFunction', s:hue_2, '', '') call X('phpFunctions', s:hue_2, '', '') call X('phpInclude', s:hue_3, '', '') call X('phpKeyword', s:hue_3, '', '') call X('phpParent', s:mono_3, '', '') call X('phpType', s:hue_3, '', '') call X('phpSuperGlobals', s:hue_5, '', '') " }}} " Pug (Formerly Jade) highlighting ----------------------------------------{{{ call X('pugAttributesDelimiter', s:hue_6, '', '') call X('pugClass', s:hue_6, '', '') call X('pugDocType', s:mono_3, '', s:italic) call X('pugTag', s:hue_5, '', '') " }}} " PureScript highlighting -------------------------------------------------{{{ call X('purescriptKeyword', s:hue_3, '', '') call X('purescriptModuleName', s:syntax_fg, '', '') call X('purescriptIdentifier', s:syntax_fg, '', '') call X('purescriptType', s:hue_6_2, '', '') call X('purescriptTypeVar', s:hue_5, '', '') call X('purescriptConstructor', s:hue_5, '', '') call X('purescriptOperator', s:syntax_fg, '', '') " }}} " Python highlighting -----------------------------------------------------{{{ call X('pythonImport', s:hue_3, '', '') call X('pythonBuiltin', s:hue_1, '', '') call X('pythonStatement', s:hue_3, '', '') call X('pythonParam', s:hue_6, '', '') call X('pythonEscape', s:hue_5, '', '') call X('pythonSelf', s:mono_2, '', s:italic) call X('pythonClass', s:hue_2, '', '') call X('pythonOperator', s:hue_3, '', '') call X('pythonEscape', s:hue_5, '', '') call X('pythonFunction', s:hue_2, '', '') call X('pythonKeyword', s:hue_2, '', '') call X('pythonModule', s:hue_3, '', '') call X('pythonStringDelimiter', s:hue_4, '', '') call X('pythonSymbol', s:hue_1, '', '') " }}} " Ruby highlighting -------------------------------------------------------{{{ call X('rubyBlock', s:hue_3, '', '') call X('rubyBlockParameter', s:hue_5, '', '') call X('rubyBlockParameterList', s:hue_5, '', '') call X('rubyCapitalizedMethod', s:hue_3, '', '') call X('rubyClass', s:hue_3, '', '') call X('rubyConstant', s:hue_6_2, '', '') call X('rubyControl', s:hue_3, '', '') call X('rubyDefine', s:hue_3, '', '') call X('rubyEscape', s:hue_5, '', '') call X('rubyFunction', s:hue_2, '', '') call X('rubyGlobalVariable', s:hue_5, '', '') call X('rubyInclude', s:hue_2, '', '') call X('rubyIncluderubyGlobalVariable', s:hue_5, '', '') call X('rubyInstanceVariable', s:hue_5, '', '') call X('rubyInterpolation', s:hue_1, '', '') call X('rubyInterpolationDelimiter', s:hue_5, '', '') call X('rubyKeyword', s:hue_2, '', '') call X('rubyModule', s:hue_3, '', '') call X('rubyPseudoVariable', s:hue_5, '', '') call X('rubyRegexp', s:hue_1, '', '') call X('rubyRegexpDelimiter', s:hue_1, '', '') call X('rubyStringDelimiter', s:hue_4, '', '') call X('rubySymbol', s:hue_1, '', '') " }}} " Spelling highlighting ---------------------------------------------------{{{ call X('SpellBad', '', s:syntax_bg, 'undercurl') call X('SpellLocal', '', s:syntax_bg, 'undercurl') call X('SpellCap', '', s:syntax_bg, 'undercurl') call X('SpellRare', '', s:syntax_bg, 'undercurl') " }}} " Vim highlighting --------------------------------------------------------{{{ call X('vimCommand', s:hue_3, '', '') call X('vimCommentTitle', s:mono_3, '', 'bold') call X('vimFunction', s:hue_1, '', '') call X('vimFuncName', s:hue_3, '', '') call X('vimHighlight', s:hue_2, '', '') call X('vimLineComment', s:mono_3, '', s:italic) call X('vimParenSep', s:mono_2, '', '') call X('vimSep', s:mono_2, '', '') call X('vimUserFunc', s:hue_1, '', '') call X('vimVar', s:hue_5, '', '') " }}} " XML highlighting --------------------------------------------------------{{{ call X('xmlAttrib', s:hue_6_2, '', '') call X('xmlEndTag', s:hue_5, '', '') call X('xmlTag', s:hue_5, '', '') call X('xmlTagName', s:hue_5, '', '') " }}} " ZSH highlighting --------------------------------------------------------{{{ call X('zshCommands', s:syntax_fg, '', '') call X('zshDeref', s:hue_5, '', '') call X('zshShortDeref', s:hue_5, '', '') call X('zshFunction', s:hue_1, '', '') call X('zshKeyword', s:hue_3, '', '') call X('zshSubst', s:hue_5, '', '') call X('zshSubstDelim', s:mono_3, '', '') call X('zshTypes', s:hue_3, '', '') call X('zshVariableDef', s:hue_6, '', '') " }}} " Rust highlighting -------------------------------------------------------{{{ call X('rustExternCrate', s:hue_5, '', 'bold') call X('rustIdentifier', s:hue_2, '', '') call X('rustDeriveTrait', s:hue_4, '', '') call X('SpecialComment', s:mono_3, '', '') call X('rustCommentLine', s:mono_3, '', '') call X('rustCommentLineDoc', s:mono_3, '', '') call X('rustCommentLineDocError', s:mono_3, '', '') call X('rustCommentBlock', s:mono_3, '', '') call X('rustCommentBlockDoc', s:mono_3, '', '') call X('rustCommentBlockDocError', s:mono_3, '', '') " }}} " man highlighting --------------------------------------------------------{{{ hi link manTitle String call X('manFooter', s:mono_3, '', '') " }}} " ALE (Asynchronous Lint Engine) highlighting -----------------------------{{{ call X('ALEWarningSign', s:hue_6_2, '', '') call X('ALEErrorSign', s:hue_5, '', '') " Neovim NERDTree Background fix ------------------------------------------{{{ call X('NERDTreeFile', s:syntax_fg, '', '') " }}} " Delete functions =========================================================={{{ " delf X " delf XAPI " delf rgb " delf color " delf rgb_color " delf rgb_level " delf rgb_number " delf grey_color " delf grey_level " delf grey_number " }}} endif "}}} " Public API --------------------------------------------------------------{{{ function! one#highlight(group, fg, bg, attr) call 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: