Files
convert-images-for-web/roles/developer-machine/templates/sublimemonokai.vim.j2

685 lines
28 KiB
Django/Jinja

" File: monokai.vim
" Maintainer: Erich Gubler (erichdongubler)
" URL: https://github.com/erichdongubler/vim-sublime-monokai
" License: MIT
" Initialisation
if !has('gui_running') && &t_Co < 256
finish
endif
if !exists('g:sublimemonokai_gui_italic')
let g:sublimemonokai_gui_italic = 1
endif
if !exists('g:sublimemonokai_term_italic')
let g:sublimemonokai_term_italic = 0
endif
let g:sublimemonokai_termcolors = 256 " does not support 16 color term right now.
set background=dark
hi clear
if exists('syntax_on')
syntax reset
endif
let colors_name = 'sublimemonokai'
fun! s:h(group, style)
let s:ctermformat = 'NONE'
let s:guiformat = 'NONE'
if has_key(a:style, 'format')
let s:ctermformat = a:style.format
let s:guiformat = a:style.format
endif
if g:sublimemonokai_term_italic == 0
let s:ctermformat = substitute(s:ctermformat, ',italic', '', '')
let s:ctermformat = substitute(s:ctermformat, 'italic,', '', '')
let s:ctermformat = substitute(s:ctermformat, 'italic', '', '')
endif
if g:sublimemonokai_gui_italic == 0
let s:guiformat = substitute(s:guiformat, ',italic', '', '')
let s:guiformat = substitute(s:guiformat, 'italic,', '', '')
let s:guiformat = substitute(s:guiformat, 'italic', '', '')
endif
if g:sublimemonokai_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=' (!empty(s:guiformat) ? s:guiformat : 'NONE')
\ 'ctermfg=' . l:ctermfg
\ 'ctermbg=' . l:ctermbg
\ 'cterm=' (!empty(s:ctermformat) ? s:ctermformat : 'NONE')
endfunction
" Expose the more complicated style setting via a global function
fun! g:SublimeMonokaiHighlight(group, style)
return s:h(a:group, a:style)
endfun
" Palette
" Convenience function to have a convenient script variable name and an
" namespaced global variable
fun! s:create_palette_color(color_name, color_data)
exec 'let s:' . a:color_name . ' = a:color_data'
exec 'let g:sublimemonokai_' . a:color_name . ' = a:color_data'
endf
call s:create_palette_color('brightwhite', { 'gui': '#FFFFFF', 'cterm': '231' })
call s:create_palette_color('white', { 'gui': '#E8E8E3', 'cterm': '252' })
call s:create_palette_color('black', { 'gui': '#272822', 'cterm': '234' })
call s:create_palette_color('lightblack', { 'gui': '#2D2E27', 'cterm': '235' })
call s:create_palette_color('lightblack2', { 'gui': '#383a3e', 'cterm': '236' })
call s:create_palette_color('darkblack', { 'gui': '#211F1C', 'cterm': '233' })
call s:create_palette_color('grey', { 'gui': '#8F908A', 'cterm': '243' })
call s:create_palette_color('lightgrey', { 'gui': '#575b61', 'cterm': '237' })
call s:create_palette_color('darkgrey', { 'gui': '#64645e', 'cterm': '239' })
call s:create_palette_color('warmgrey', { 'gui': '#75715E', 'cterm': '59' })
call s:create_palette_color('pink', { 'gui': '#f92772', 'cterm': '197' })
call s:create_palette_color('green', { 'gui': '#a6e22d', 'cterm': '148' })
call s:create_palette_color('aqua', { 'gui': '#66d9ef', 'cterm': '81' })
call s:create_palette_color('yellow', { 'gui': '#e6db74', 'cterm': '186' })
call s:create_palette_color('orange', { 'gui': '#fd9720', 'cterm': '208' })
call s:create_palette_color('purple', { 'gui': '#ae81ff', 'cterm': '141' })
call s:create_palette_color('red', { 'gui': '#e73c50', 'cterm': '196' })
call s:create_palette_color('darkred', { 'gui': '#5f0000', 'cterm': '52' })
call s:create_palette_color('addfg', { 'gui': '#d7ffaf', 'cterm': '193' })
call s:create_palette_color('addbg', { 'gui': '#5f875f', 'cterm': '65' })
call s:create_palette_color('delbg', { 'gui': '#f75f5f', 'cterm': '167' })
call s:create_palette_color('changefg', { 'gui': '#d7d7ff', 'cterm': '189' })
call s:create_palette_color('changebg', { 'gui': '#5f5f87', 'cterm': '60' })
" Expose the foreground colors of the Sublime palette as a bunch of
" highlighting groups. This lets us (and users!) get tab completion for the `hi
" link` command, and use more semantic names for the colors we want to assign
" to groups
call s:h('SublimeBrightWhite', { 'fg': s:brightwhite })
call s:h('SublimeWhite', { 'fg': s:white })
call s:h('SublimeBlack', { 'fg': s:black })
call s:h('SublimeLightBlack', { 'fg': s:lightblack })
call s:h('SublimeLightBlack2', { 'fg': s:lightblack2 })
call s:h('SublimeDarkBlack', { 'fg': s:darkblack })
call s:h('SublimeGrey', { 'fg': s:grey })
call s:h('SublimeLightGrey', { 'fg': s:lightgrey })
call s:h('SublimeDarkGrey', { 'fg': s:darkgrey })
call s:h('SublimeWarmGrey', { 'fg': s:warmgrey })
call s:h('SublimePink', { 'fg': s:pink })
call s:h('SublimeGreen', { 'fg': s:green })
call s:h('SublimeAqua', { 'fg': s:aqua })
call s:h('SublimeYellow', { 'fg': s:yellow })
call s:h('SublimeOrange', { 'fg': s:orange })
call s:h('SublimePurple', { 'fg': s:purple })
call s:h('SublimeRed', { 'fg': s:red })
call s:h('SublimeDarkRed', { 'fg': s:darkred })
" Default highlight groups (see ':help highlight-default' or http://vimdoc.sourceforge.net/htmldoc/syntax.html#highlight-groups)
call s:h('ColorColumn', { 'bg': s:lightblack2 })
hi! link Conceal SublimeLightGrey
call s:h('CursorColumn', { 'bg': s:lightblack2 })
call s:h('CursorLine', { 'bg': s:lightblack2 })
call s:h('CursorLineNr', { 'fg': s:orange, 'bg': s:lightblack })
call s:h('DiffAdd', { 'fg': s:addfg, 'bg': s:addbg })
call s:h('DiffChange', { 'fg': s:changefg, 'bg': s:changebg })
call s:h('DiffDelete', { 'fg': s:black, 'bg': s:delbg })
call s:h('DiffText', { 'fg': s:black, 'bg': s:aqua })
hi! link Directory SublimeAqua
call s:h('ErrorMsg', { 'fg': s:black, 'bg': s:red, 'format': 'standout' })
hi! link FoldColumn SublimeDarkBlack
call s:h('Folded', { 'fg': s:warmgrey, 'bg': s:darkblack })
call s:h('Incsearch', { })
call s:h('LineNr', { 'fg': s:grey, 'bg': s:lightblack })
call s:h('MatchParen', { 'format': 'reverse' })
hi! link ModeMsg SublimeYellow
hi! link MoreMsg SublimeYellow
hi! link NonText SublimeLightGrey
call s:h('Normal', { 'fg': s:white, 'bg': s:black })
call s:h('Pmenu', { 'fg': s:lightblack, 'bg': s:white })
call s:h('PmenuSbar', { })
call s:h('PmenuSel', { 'fg': s:aqua, 'bg': s:black, 'format': 'reverse,bold' })
call s:h('PmenuThumb', { 'fg': s:lightblack, 'bg': s:grey })
hi! link Question SublimeYellow
call s:h('Search', { 'format': 'reverse,underline' })
hi! link SignColumn SublimeLightBlack
hi! link SpecialKey SublimeLightBlack2
call s:h('StatusLine', { 'fg': s:warmgrey, 'bg': s:black, 'format': 'reverse' })
call s:h('StatusLineNC', { 'fg': s:darkgrey, 'bg': s:warmgrey, 'format': 'reverse' })
call s:h('TabLine', { 'fg': s:white, 'bg': s:darkgrey })
call s:h('TabLineFill', { 'fg': s:grey, 'bg': s:darkgrey })
call s:h('TabLineSel', { 'fg': s:brightwhite, 'bg': s:white })
hi! link Title SublimeYellow
call s:h('VertSplit', { 'fg': s:darkgrey, 'bg': s:darkblack })
call s:h('Visual', { 'bg': s:lightgrey })
hi! link WarningMsg SublimeRed
" Generic Syntax Highlighting (see reference: 'NAMING CONVENTIONS' at http://vimdoc.sourceforge.net/htmldoc/syntax.html#group-name)
hi! link Comment SublimeWarmGrey
hi! link Constant SublimePurple
hi! link String SublimeYellow
hi! link Character SublimeYellow
hi! link Number SublimePurple
hi! link Boolean SublimePurple
hi! link Float SublimePurple
hi! link Identifier SublimeWhite
hi! link Function SublimeWhite
hi! link Type SublimeAqua
hi! link StorageClass SublimePink
hi! link Structure SublimePink
hi! link Typedef SublimeAqua
hi! link Statement SublimeWhite
hi! link Conditional SublimePink
hi! link Repeat SublimePink
hi! link Label SublimePink
hi! link Operator SublimePink
hi! link Keyword SublimePink
hi! link Exception SublimePink
call s:h('CommentURL', { 'fg': s:grey, 'format': 'italic' })
hi! link PreProc SublimeGreen
hi! link Include SublimeWhite
hi! link Define SublimePink
hi! link Macro SublimeGreen
hi! link PreCondit SublimeWhite
hi! link Special SublimePurple
hi! link SpecialChar SublimePink
hi! link Tag SublimeGreen
hi! link Delimiter SublimePink
hi! link SpecialComment SublimeAqua
" call s:h('Debug' {})
call s:h('Underlined', { 'format': 'underline' })
" call s:h('Ignore', {})
call s:h('Error', { 'fg': s:red, 'bg': s:darkred })
hi! link Todo Comment
" Some highlighting groups custom to the Sublime Monokai theme
call s:h('SublimeType', { 'fg': s:aqua, 'format': 'italic' })
call s:h('SublimeContextParam', { 'fg': s:orange, 'format': 'italic' })
hi! link SublimeDocumentation SublimeGrey
hi! link SublimeFunctionCall SublimeAqua
hi! link SublimeUserAttribute SublimeGrey
" Bash/POSIX shell
hi! link shConditional Conditional
hi! link shDerefOff Normal
hi! link shDerefSimple SublimeAqua
hi! link shDerefVar SublimeAqua
hi! link shFunctionKey SublimePink
hi! link shLoop Keyword
hi! link shQuote String
hi! link shSet Keyword
hi! link shStatement SublimePink
" XXX: Other noted deficiencies
" * Can't highlight POSIX builtins right because shStatement is later in the
" highlight stack
" * Can't override shOption to be "normal" because it could be within a string
" or substitution. It looks okay anyway. :)
" * shCommandSub can't be override for a similar reason to shOption
" * Boolean operators and subsequent commands don't have the right
" highlighting
" Batch
hi! link dosbatchImplicit Keyword
hi! link dosbatchLabel Normal
" FIXME: This should have its own group, like SublimeEscapedSequence
hi! link dosbatchSpecialChar SublimePurple
hi! link dosbatchSwitch Normal
" FIXME: Variables don't have their own highlighting in Sublime
" hi! link dosbatchVariable SublimeAqua
" XXX: string highlight is used for echo commands, but Sublime doesn't
" highlight at all
" XXX: Sublime sets everything to the right of an assignment to be a string
" color, but Vim doesn't
" XXX: Create an extra flag for "nice" stuff
" hi! link dosbatchLabel Tag
" hi! link dosbatchStatement Keyword
" hi! link dosbatchSwitch SublimePurple
" hi! link dosbatchVariable SublimeAqua
" C
hi! link cAnsiFunction SublimeFunctionCall
hi! link cDefine SublimeGreen
hi! link cFormat Special
hi! link cInclude SublimePink
hi! link cLabel SublimePink
hi! link cSpecial Special
hi! link cSpecialCharacter Special
hi! link cStatement Keyword
hi! link cStorageClass SublimePink
hi! link cStructure SublimeType
hi! link cType SublimeType
" FIXME: Function definitions
" CSS
hi! link cssAttr SublimeAqua
hi! link cssAttributeSelector Tag
" XXX: Not sure about this one; it has issues with the following:
" - calc
" - colors
hi! link cssAttrRegion Normal
hi! link cssBraces Normal
hi! link cssClassName Tag
hi! link cssColor Constant
hi! link cssFunctionName SublimeFunctionCall
hi! link cssIdentifier Tag
hi! link cssPositioningAttr SublimeAqua
hi! link cssProp SublimeAqua
" XXX: Variation: might be better as pink, actually
hi! link cssPseudoClassId Normal
hi! link cssSelectorOp Normal
hi! link cssStyle cssAttr
hi! link cssTagName Keyword
" TODO: Find a way to distinguish unit decorators from color hash
hi! link cssUnitDecorators SpecialChar
hi! link cssURL String
hi! link cssValueLength Constant
" C++
" XXX: This is imperfect, as this highlights the expression for the `#if`s
" too.
hi! link cCppOutWrapper Keyword
hi! link cppStatement Keyword
" XXX: This is too inclusive of the `namespace` keyword
hi! link cppStructure SublimeType
hi! link cppSTLException SublimeType
hi! link cppSTLfunction SublimeFunctionCall
" XXX: There may be no special highlighting here in Sublime itself
hi! link cppSTLios SublimeAqua
" XXX: There may be no special highlighting here in Sublime itself
hi! link cppSTLnamespace SublimePurple
hi! link cppType SublimeType
" C#
hi! link csClass SublimeType
hi! link csContextualStatement Keyword
hi! link csIface SublimeType
hi! link csMethodTag SublimeType
hi! link csPreCondit Keyword
hi! link csTypeDecleration SublimeType
hi! link csType SublimeType
hi! link csUnspecifiedStatement Keyword
hi! link csXmlTag xmlTagName
hi! link csXmlComment SublimeDocumentation
" XXX: Other noted deficiencies:
" * Need some local links for XML getting set to the right color
" * Operators aren't red in Vim, but are in Sublime.
" * Function arguments aren't distinguished with their own highlight group
" * `namespace` is a type in Sublime's highlighting, but is a `csStorage` in
" Vim
" * No function call groups exist in Vim.
" * Region highlighting has no way to distinguish between region
" preprocess keyword and region name.
" D
hi! link dExternal Keyword
" `diff` patch files
hi! link diffAdded SublimeGreen
hi! link diffFile SublimeWarmGrey
hi! link diffIndexLine SublimeWarmGrey
hi! link diffLine SublimeWarmGrey
hi! link diffRemoved SublimePink
hi! link diffSubname SublimeWarmGrey
" eRuby
" call s:h('erubyDelimiter', {})
hi! link erubyRailsMethod SublimeAqua
" Git
hi! link gitrebaseCommit Comment
hi! link gitrebaseDrop Error
hi! link gitrebaseEdit Keyword
hi! link gitrebaseExec Keyword
hi! link gitrebaseFixup Keyword
" FIXME: Make this cooler in extensions!
hi! link gitrebaseHash Comment
hi! link gitrebasePick Keyword
hi! link gitrebaseReword Keyword
hi! link gitrebaseSquash Keyword
hi! link gitrebaseSummary String
" XXX: Note that highlighting inside the always-present help from Git in
" comments is not available in vim's current highlighting version.
" Variation: it's actually kinda nice to give each of these different colors
" like vanilla Vim does.
" vim-gitgutter
hi! link GitGutterAdd SublimeGreen
hi! link GitGutterChange SublimeYellow
hi! link GitGutterDelete SublimePink
hi! link GitGutterChangeDelete SublimeOrange
" GraphViz
" Variation: I actually like to keep these as Keyword, but Sublime does this
" differently.
hi! link dotBraceEncl Normal
hi! link dotBrackEncl Normal
" XXX: This colors way more stuff than Sublime does, but otherwise we'd miss
" out on operator highlights like with equals signs in attribute value
" definitions.
hi! link dotKeyChar Keyword
hi! link dotKeyword SublimeType
" XXX: Other noted deficiencies:
" * `graph` keyword isn't correctly classified into a keyword, Sublime does.
" This can be fixed with `syn keyword dotKeyword graph`.
" * Neither Sublime nor Vim highlight `--` in undirected graphs.
" * Sublime doesn't treat semicolons as a keyword here, Vim does.
" * Vim doesn't distinctly identify declarations like `digraph *blah* { ... }`.
" * Vim doesn't have a group for escape chars (i.e., for `label` values).
" HTML
" This partially depends on XML -- make sure that groups in XML don't
" adversely affect this!
" XXX: This doesn't exclude things like colons like Sublime does
" FIXME: For some reason this is excluding a "key" attribute
hi! link htmlArg Tag
" Variation: This is an interesting idea for
hi! link htmlLink Normal
hi! link htmlSpecialTagName htmlTagName
hi! link htmlSpecialChar Special
hi! link htmlTagName Keyword
" Java
hi! link javaConditional Keyword
" FIXME: Javadoc @... doesn't work?
hi! link javaExceptions Keyword
hi! link javaFunction SublimeAqua
" FIXME: This isn't a builtin...don't other languages use italics for types?
hi! link javaNonPrimitiveType SublimeType
hi! link javaRepeat Keyword
hi! link javaSpecialChar Special
hi! link javaStatement Keyword
hi! link javaType SublimeType
call s:h('jpropertiesIdentifier', { 'fg': s:pink })
" JavaScript
hi! link jsArgsObj SublimeAqua
hi! link jsArrowFunction SublimePink
hi! link jsBuiltins SublimeFunctionCall
hi! link jsCatch Keyword
hi! link jsConditional Keyword
call s:h('jsDocTags', { 'fg': s:aqua, 'format': 'italic' })
hi! link jsException Keyword
" Variation: It's actually nice to get this italicized, to me
hi! link jsExceptions Type
hi! link jsExport Keyword
hi! link jsFinally Keyword
hi! link jsFrom Keyword
call s:h('jsFuncArgRest', { 'fg': s:purple, 'format': 'italic' })
hi! link jsFuncArgs SublimeContextParam
hi! link jsFuncCall SublimeFunctionCall
hi! link jsFuncName Tag
hi! link jsFunctionKey Tag
" FIXME: FutureKeys includes a bit too much. It had some type names, which should be aqua, but most of the keywords that might actually get used would be pink (keywords like public, abstract).
hi! link jsFutureKeys Keyword
call s:h('jsGlobalObjects', { 'fg': s:aqua, 'format': 'italic' })
hi! link jsImport Keyword
hi! link jsModuleAs Keyword
hi! link jsModuleAsterisk Keyword
hi! link jsNan Constant
hi! link jsNull Constant
hi! link jsObjectFuncName Tag
hi! link jsPrototype SublimeAqua
" Variation: Technically this is extra from Sublime, but it looks nice.
hi! link jsRepeat Keyword
hi! link jsReturn Keyword
hi! link jsStatement Keyword
hi! link jsStatic jsStorageClass
hi! link jsStorageClass SublimeAqua
hi! link jsSuper SublimeContextParam
hi! link jsThis SublimeContextParam
hi! link jsTry Keyword
hi! link jsUndefined Constant
" JSON
hi! link jsonKeyword Normal
" LESS
hi! link lessVariable Tag
" Makefile
hi! link makeCommands Normal
hi! link makeCmdNextLine Normal
" NERDTree
hi! link NERDTreeBookmarkName SublimeYellow
hi! link NERDTreeBookmarksHeader SublimePink
hi! link NERDTreeBookmarksLeader SublimeBlack
hi! link NERDTreeCWD SublimePink
hi! link NERDTreeClosable SublimeYellow
hi! link NERDTreeDir SublimeYellow
hi! link NERDTreeDirSlash SublimeGrey
hi! link NERDTreeFlags SublimeDarkGrey
hi! link NERDTreeHelp SublimeYellow
hi! link NERDTreeOpenable SublimeYellow
hi! link NERDTreeUp SublimeWhite
" NERDTree Git
hi! link NERDTreeGitStatusModified SublimeOrange
hi! link NERDTreeGitStatusRenamed SublimeOrange
hi! link NERDTreeGitStatusUntracked SublimeGreen
" Python
" This configuration assumed python-mode
hi! link pythonConditional Conditional
hi! link pythonException Keyword
hi! link pythonFunction Tag
hi! link pythonInclude Keyword
" XXX: def parens are, for some reason, included in this group.
hi! link pythonParam SublimeContextParam
" XXX: pythonStatement covers a bit too much...unfortunately, this means that
" some keywords, like `def`, can't be highlighted like in Sublime yet.
hi! link pythonStatement Keyword
" FIXME: Python special regexp sequences aren't highlighted. :\
" QuickScope plugin
call s:h('QuickScopePrimary', { 'bg': s:lightgrey, 'fg': s:black, 'format': 'underline' })
call s:h('QuickScopeSecondary', { 'bg': s:black, 'fg': s:lightgrey, 'format': 'underline' })
" Ruby
" call s:h('rubyInterpolationDelimiter', {})
" call s:h('rubyInstanceVariable', {})
" call s:h('rubyGlobalVariable', {})
" call s:h('rubyClassVariable', {})
" call s:h('rubyPseudoVariable', {})
hi! link rubyFunction SublimeGreen
hi! link rubyStringDelimiter SublimeYellow
hi! link rubyRegexp SublimeYellow
hi! link rubyRegexpDelimiter SublimeYellow
hi! link rubySymbol SublimePurple
hi! link rubyEscape SublimePurple
hi! link rubyInclude SublimePink
hi! link rubyOperator Operator
hi! link rubyControl SublimePink
hi! link rubyClass SublimePink
hi! link rubyDefine SublimePink
hi! link rubyException SublimePink
hi! link rubyRailsARAssociationMethod SublimeOrange
hi! link rubyRailsARMethod SublimeOrange
hi! link rubyRailsRenderMethod SublimeOrange
hi! link rubyRailsMethod SublimeOrange
hi! link rubyConstant SublimeAqua
hi! link rubyBlockArgument SublimeOrange
hi! link rubyBlockParameter SublimeOrange
" Rust
hi! link rustAttribute SublimeGrey
hi! link rustCommentLineDoc SublimeDocumentation
hi! link rustConditional Conditional
hi! link rustDerive SublimeGrey
hi! link rustDeriveTrait SublimeGrey
" Variation: I like making these Special
hi! link rustEnumVariant SublimeType
hi! link rustFuncCall SublimeFunctionCall
hi! link rustFuncName Tag
hi! link rustIdentifier Tag
" Variation: I actually like making these Special too
hi! link rustLifetime Keyword
hi! link rustMacro SublimeFunctionCall
hi! link rustModPathSep Normal
hi! link rustQuestionMark Keyword
hi! link rustRepeat Keyword
hi! link rustSelf SublimeContextParam
" XXX: Deficiencies:
" * In Sublime, `fn` and `let` keywords are highlighted, but Vim lumps them
" with all other keywords
" * Crate names after `extern crate` are included in `rustIdentifier`, which
" is technically more inclusive than Sublime's definition group but not so
" bad I don't think it's an okay default.
" * Sublime does NOT have the `rustEnumVariants` distinction, which is
" actually a really nice feature.
" * No `fn`/lambda param highlighting is available in Vim like in Sublime
" here. :(
" SASS
hi! link sassAmpersand Operator
hi! link sassClass Tag
hi! link sassCssAttribute SublimeAqua
hi! link sassInclude Keyword
" FIXME: No distinction between mixin definition and call
hi! link sassMixinName SublimeAqua
hi! link sassMixing Keyword
hi! link sassProperty SublimeAqua
hi! link sassSelectorOp Operator
hi! link sassVariable Normal
" SQL
hi! link Quote String
hi! link sqlFunction SublimeFunctionCall
hi! link sqlKeyword Keyword
hi! link sqlStatement Keyword
" Syntastic
hi! link SyntasticErrorSign Error
call s:h('SyntasticWarningSign', { 'fg': s:lightblack, 'bg': s:orange })
" Tagbar
hi! link TagbarFoldIcon SublimePurple
hi! link TagbarHelp Comment
hi! link TagbarKind Keyword
hi! link TagbarNestedKind Keyword
hi! link TagbarScope Tag
hi! link TagbarSignature Comment
hi! link TagbarVisibilityPrivate SublimePink
hi! link TagbarVisibilityProtected SublimeYellow
hi! link TagbarVisibilityPublic SublimeGreen
" VimL
hi! link vimCommand Keyword
" Variation: Interesting how this could vary...
hi! link vimCommentTitle Comment
hi! link vimEnvvar SublimeAqua
hi! link vimFBVar SublimeWhite
hi! link vimFuncName SublimeAqua
hi! link vimFuncNameTag SublimeAqua
hi! link vimFunction SublimeGreen
hi! link vimFuncVar SublimeContextParam
hi! link vimHiGroup Normal
hi! link vimIsCommand SublimeAqua
hi! link vimMapModKey SublimeAqua
hi! link vimMapRhs SublimeYellow
hi! link vimNotation SublimeAqua
hi! link vimOption SublimeAqua
hi! link vimParenSep SublimeWhite
hi! link vimScriptFuncTag SublimePink
hi! link vimSet Keyword
hi! link vimSetEqual Operator
hi! link vimUserFunc SublimeAqua
hi! link vimVar SublimeWhite
" XML
hi! link xmlArg Tag
hi! link xmlAttrib Tag
" XXX: This highlight the brackets and end slash too...which we don't want.
hi! link xmlEndTag Keyword
" Variation: I actually liked it when this was faded.
hi! link xmlProcessingDelim Normal
hi! link xmlTagName Keyword
" YAML
hi! link yamlBlockCollectionItemStart Normal
hi! link yamlBlockMappingKey Keyword
hi! link yamlEscape Special
" Variation: I kind of like keeping these Special
hi! link yamlFlowIndicator Normal
hi! link yamlFlowMappingKey Keyword
hi! link yamlKeyValueDelimiter Normal
hi! link yamlPlainScalar String
" XXX: Other noted deficiencies:
" A good place to see these in action is: http://www.yaml.org/start.html
" * "yes"/"no" values are actually not recognized as yamlBool groups in Vim.
" * Literal/folded block scalars don't have their own group right now in Vim.
" * yamlInteger gets applied to leading numbers in literal/folded block
" scalars in Vim.
" * References aren't handled at all by Vim, it seems.
" * Vim incorrectly highlights for comments after a scalar value has started.
" Other noted deficiencies when using YAML to manually analyze binary files:
" * Hex literals as map keys are highlighted in Sublime, not in Vim.
" * Sublime is more permissive about what it highlights for keys, but Sublime
" may reject them as invalid; i.e., "???" (minus quotes)
" zsh
" Variation: I actually like making these aqua.
hi! link zshDeref Normal
hi! link zshFunction Tag
" XXX: This isn't awesome because it includes too much, like semicolons. :(
hi! link zshOperator Operator
" Variation: This actually looks nicer as a Special.
hi! link zshOption Normal
hi! link zshQuoted Special
" Variation: I'd probably prefer this to be something else, actually.
" XXX: This doesn't work particularly well here...but most of the time, we're
" in quotes, so let's go with that.
hi! link zshSubst String
" Variation: I actually like keeping this as Type.
hi! link zshTypes Keyword
" Other variations:
" XXX: Other noted deficiencies:
" * Semicolons in `if` blocks are `Keyword`ed in Sublime but not distinct in
" Vim
" * Commands aren't distinct from builtins and keywords in Vim