" " " ┌─┐┌─┐┌─┐┌┐ ┌─┐┬ ┬ " ├┤ │ ││ ┬├┴┐├┤ │ │ " └ └─┘└─┘└─┘└─┘┴─┘┴─┘ " " " by Jared Gorski " https://github.com/jaredgorski/fogbell scriptencoding utf-8 set background=light hi clear if exists("syntax_on") syntax reset endif let g:colors_name="fogbell_light" " ========================== " Highlighting Function " ========================== " >> (inspired by https://github.com/tomasiser/vim-code-dark and https://github.com/chriskempson/base16-vim) fun! hi(group, fg, bg, attr) if !empty(a:fg) exec "hi " . a:group . " guifg=" . a:fg.gui . " ctermfg=" . a:fg.cterm256 endif if !empty(a:bg) exec "hi " . a:group . " guibg=" . a:bg.gui . " ctermbg=" . a:bg.cterm256 endif if a:attr != "" exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr endif endfun " ========================== " Color Variables " ========================== let s:voidBlack = {'gui': '#121212', 'cterm256': '233'} let s:voidBlack2 = {'gui': '#262626', 'cterm256': '235'} let s:voidGray1 = {'gui': '#3E3D32', 'cterm256': '237'} let s:voidGray2 = {'gui': '#49483E', 'cterm256': '239'} let s:voidGray3 = {'gui': '#6B6B6B', 'cterm256': '242'} let s:voidGray4 = {'gui': '#B0B0B0', 'cterm256': '249'} let s:voidSteel = {'gui': '#D0D0D0', 'cterm256': '252'} let s:voidBlue = {'gui': '#699B9B', 'cterm256': '109'} let s:voidGreen = {'gui': '#569F7A', 'cterm256': '72'} let s:voidGold = {'gui': '#8E700B', 'cterm256': '136'} let s:voidRed = {'gui': '#821A1A', 'cterm256': '1'} let s:voidRed2 = {'gui': '#FF0000', 'cterm256': '196'} let s:none = {'gui': 'NONE', 'cterm256': 'NONE'} " ========================== " Definitions " ========================== " hi(GROUP, FOREGROUND, BACKGROUND, ATTRIBUTE) " Editor call hi('ColorColumn', s:none, s:voidGray1, 'none') call hi('Cursor', s:voidSteel, s:voidBlack2, 'none') call hi('CursorColumn', s:none, s:voidGray1, 'none') call hi('CursorLine', s:none, s:voidGray1, 'none') call hi('CursorLineNr', s:voidBlack, s:voidGray1, 'none') call hi('Directory', s:voidBlack, s:none, 'none') call hi('Folded', s:voidGray3, s:none, 'none') call hi('IncSearch', s:voidSteel, s:voidGold, 'none') call hi('LineNr', s:voidGray3, s:voidBlack2, 'none') call hi('MatchParen', s:voidBlack, s:voidGray4, 'none') call hi('Normal', s:voidBlack, s:voidSteel, 'none') call hi('Pmenu', s:none, s:none, 'none') call hi('PmenuSel', s:none, s:voidGray2, 'none') call hi('Search', s:voidSteel, s:voidGold, 'none') call hi('StatusLine', s:voidSteel, s:voidBlack, 'none') call hi('StatusLineNC', s:voidGray3, s:voidBlack2, 'none') call hi('VertSplit', s:voidBlack, s:voidGray3, 'none') call hi('Visual', s:none, s:voidGray2, 'none') " General call hi('Boolean', s:voidBlack, s:none, 'none') call hi('Character', s:voidBlack, s:none, 'none') call hi('Comment', s:voidGray3, s:none, 'none') call hi('Conditional', s:voidBlack, s:none, 'none') call hi('Constant', s:voidBlack, s:none, 'none') call hi('Define', s:voidBlack, s:none, 'none') call hi('DiffAdd', s:voidSteel, s:voidGreen, 'none') call hi('DiffChange', s:voidSteel, s:voidGold, 'none') call hi('DiffDelete', s:voidBlack, s:voidRed, 'none') call hi('DiffText', s:voidGray1, s:voidBlue, 'none') call hi('ErrorMsg', s:voidBlack, s:voidRed, 'none') call hi('Float', s:voidBlack, s:none, 'none') call hi('Function', s:voidBlack, s:none, 'none') call hi('Identifier', s:voidBlack, s:none, 'none') call hi('Keyword', s:voidBlack, s:none, 'none') call hi('Label', s:voidBlack, s:none, 'none') call hi('NonText', s:voidGray1, s:none, 'none') call hi('Number', s:voidBlack, s:none, 'none') call hi('Operator', s:voidBlack, s:none, 'none') call hi('PreProc', s:voidBlack, s:none, 'none') call hi('Special', s:voidBlack, s:none, 'none') call hi('SpecialKey', s:voidBlack, s:none, 'none') call hi('SpellBad', s:voidRed2, s:none, 'italic,undercurl') call hi('SpellCap', s:voidBlack, s:none, 'italic,undercurl') call hi('SpellLocal', s:voidBlack, s:none, 'undercurl') call hi('Statement', s:voidBlack, s:none, 'none') call hi('StorageClass', s:voidBlack, s:none, 'none') call hi('String', s:voidBlack, s:none, 'none') call hi('Tag', s:voidBlack, s:none, 'none') call hi('Title', s:none, s:none, 'bold') call hi('Todo', s:voidGray3, s:none, 'inverse,bold') call hi('Type', s:none, s:none, 'none') call hi('Underlined', s:none, s:none, 'underline') call hi('WarningMsg', s:voidBlack, s:voidRed, 'none') " Diff Mode if &diff call hi('DiffAdd', s:voidSteel, s:voidGreen, 'none') call hi('DiffChange', s:voidSteel, s:voidGold, 'none') call hi('DiffDelete', s:voidRed2, s:voidRed, 'none') call hi('DiffText', s:voidGray1, s:voidBlue, 'none') else call hi('DiffAdd', s:voidGreen, s:none, 'none') call hi('DiffChange', s:voidGold, s:none, 'none') call hi('DiffDelete', s:voidRed2, s:none, 'none') call hi('DiffText', s:voidBlack, s:voidBlue, 'none') endif " ------------ " Languages " ------------ " C call hi('cConstant', s:voidBlack, s:none, 'none') call hi('cFormat', s:voidBlack, s:none, 'none') call hi('cMulti', s:voidBlack, s:none, 'none') call hi('cNumbers', s:voidBlack, s:none, 'none') call hi('cOperator', s:voidBlack, s:none, 'none') call hi('cSpecial', s:voidBlack, s:none, 'none') call hi('cSpecialCharacter', s:voidBlack, s:none, 'none') call hi('cStatement', s:voidBlack, s:none, 'none') call hi('cStorageClass', s:voidBlack, s:none, 'none') call hi('cString', s:voidBlack, s:none, 'none') call hi('cStructure', s:voidBlack, s:none, 'none') call hi('cType', s:voidBlack, s:none, 'none') " C++ call hi('cppConstant', s:voidBlack, s:none, 'none') call hi('cppFormat', s:voidBlack, s:none, 'none') call hi('cppMulti', s:voidBlack, s:none, 'none') call hi('cppNumbers', s:voidBlack, s:none, 'none') call hi('cppOperator', s:voidBlack, s:none, 'none') call hi('cppSpecial', s:voidBlack, s:none, 'none') call hi('cppSpecialCharacter', s:voidBlack, s:none, 'none') call hi('cppStatement', s:voidBlack, s:none, 'none') call hi('cppStorageClass', s:voidBlack, s:none, 'none') call hi('cppString', s:voidBlack, s:none, 'none') call hi('cppStructure', s:voidBlack, s:none, 'none') call hi('cppType', s:voidBlack, s:none, 'none') " CSS call hi('cssAttr', s:voidBlack, s:none, 'none') call hi('cssAttrRegion', s:voidBlack, s:none, 'none') call hi('cssBraces', s:voidBlack, s:none, 'none') call hi('cssBrowserPrefix', s:voidBlack, s:none, 'none') call hi('cssClassName', s:voidBlack, s:none, 'none') call hi('cssClassNameDot', s:voidBlack, s:none, 'none') call hi('cssClassSelectorDot', s:voidBlack, s:none, 'none') call hi('cssColor', s:voidBlack, s:none, 'none') call hi('cssCommonAttr', s:voidBlack, s:none, 'none') call hi('cssCustomProperty', s:voidBlack, s:none, 'none') call hi('cssDefinition', s:voidBlack, s:none, 'none') call hi('cssFunction', s:voidBlack, s:none, 'none') call hi('cssFunctionName', s:voidBlack, s:none, 'none') call hi('cssIdentifier', s:voidBlack, s:none, 'none') call hi('cssImportant', s:voidBlack, s:none, 'none') call hi('cssInclude', s:voidBlack, s:none, 'none') call hi('cssMedia', s:voidBlack, s:none, 'none') call hi('cssMediaBlock', s:voidBlack, s:none, 'none') call hi('cssProp', s:voidBlack, s:none, 'none') call hi('cssGeneratedContentProp', s:voidBlack, s:none, 'none') call hi('cssTextProp', s:voidBlack, s:none, 'none') call hi('cssAnimationProp', s:voidBlack, s:none, 'none') call hi('cssUIProp', s:voidBlack, s:none, 'none') call hi('cssTransformProp', s:voidBlack, s:none, 'none') call hi('cssTransitionProp', s:voidBlack, s:none, 'none') call hi('cssPrintProp', s:voidBlack, s:none, 'none') call hi('cssPositioningProp', s:voidBlack, s:none, 'none') call hi('cssBoxProp', s:voidBlack, s:none, 'none') call hi('cssFontDescriptorProp', s:voidBlack, s:none, 'none') call hi('cssFlexibleBoxProp', s:voidBlack, s:none, 'none') call hi('cssBorderOutlineProp', s:voidBlack, s:none, 'none') call hi('cssBackgroundProp', s:voidBlack, s:none, 'none') call hi('cssMarginProp', s:voidBlack, s:none, 'none') call hi('cssListProp', s:voidBlack, s:none, 'none') call hi('cssTableProp', s:voidBlack, s:none, 'none') call hi('cssFontProp', s:voidBlack, s:none, 'none') call hi('cssPaddingProp', s:voidBlack, s:none, 'none') call hi('cssDimensionProp', s:voidBlack, s:none, 'none') call hi('cssRenderProp', s:voidBlack, s:none, 'none') call hi('cssColorProp', s:voidBlack, s:none, 'none') call hi('cssGeneratedContentProp', s:voidBlack, s:none, 'none') call hi('cssPropDefinition', s:voidBlack, s:none, 'none') call hi('cssPseudoClass', s:voidBlack, s:none, 'none') call hi('cssPseudoClassId', s:voidBlack, s:none, 'none') call hi('cssPseudoClassLang', s:voidBlack, s:none, 'none') call hi('cssSelectorOperator', s:voidBlack, s:none, 'none') call hi('cssTagName', s:voidBlack, s:none, 'none') call hi('cssURL', s:voidBlack, s:none, 'none') call hi('cssUnitDecorators', s:voidBlack, s:none, 'none') call hi('cssUnits', s:voidBlack, s:none, 'none') call hi('cssValueLength', s:voidBlack, s:none, 'none') call hi('cssValueNumber', s:voidBlack, s:none, 'none') call hi('cssValueKeyword', s:voidBlack, s:none, 'none') call hi('cssVendor', s:voidBlack, s:none, 'none') " HTML call hi('htmlArg', s:voidBlack, s:none, 'none') call hi('htmlEndTag', s:voidBlack, s:none, 'none') call hi('htmlSpecialChar', s:voidBlack, s:none, 'none') call hi('htmlSpecialTagName', s:voidBlack, s:none, 'none') call hi('htmlTag', s:voidBlack, s:none, 'none') call hi('htmlTagName', s:voidBlack, s:none, 'none') " JavaScript call hi('javaScript', s:voidBlack, s:none, 'none') call hi('javaScriptFunction', s:voidBlack, s:none, 'none') call hi('javaScriptIdentifier', s:voidBlack, s:none, 'none') call hi('javaScriptMember', s:voidBlack, s:none, 'none') call hi('javaScriptNull', s:voidBlack, s:none, 'none') call hi('javaScriptNumber', s:voidBlack, s:none, 'none') call hi('javaScriptNumber', s:voidBlack, s:none, 'none') call hi('javaScriptParens', s:voidBlack, s:none, 'none') call hi('javaScriptSpecial', s:voidBlack, s:none, 'none') call hi('javaScriptStringS', s:voidBlack, s:none, 'none') call hi('javascriptArrayMethod', s:voidBlack, s:none, 'none') call hi('javascriptArrayStaticMethod', s:voidBlack, s:none, 'none') call hi('javascriptArrowFunc', s:voidBlack, s:none, 'none') call hi('javascriptAsyncFuncKeyword', s:voidBlack, s:none, 'none') call hi('javascriptAwaitFuncKeyword', s:voidBlack, s:none, 'none') call hi('javascriptBraces', s:voidBlack, s:none, 'none') call hi('javascriptBrackets', s:voidBlack, s:none, 'none') call hi('javascriptCacheMethod', s:voidBlack, s:none, 'none') call hi('javascriptClassExtends', s:voidBlack, s:none, 'none') call hi('javascriptClassKeyword', s:voidBlack, s:none, 'none') call hi('javascriptClassName', s:voidBlack, s:none, 'none') call hi('javascriptClassSuperName', s:voidBlack, s:none, 'none') call hi('javascriptDOMElemAttrs', s:voidBlack, s:none, 'none') call hi('javascriptDOMEventMethod', s:voidBlack, s:none, 'none') call hi('javascriptDOMNodeMethod', s:voidBlack, s:none, 'none') call hi('javascriptDOMStorageMethod', s:voidBlack, s:none, 'none') call hi('javascriptDateMethod', s:voidBlack, s:none, 'none') call hi('javascriptDefault', s:voidBlack, s:none, 'none') call hi('javascriptDocNamedParamType', s:voidGray4, s:none, 'none') call hi('javascriptDocNotation', s:voidGray4, s:none, 'none') call hi('javascriptDocParamName', s:voidGray4, s:none, 'none') call hi('javascriptDocParamType', s:voidGray4, s:none, 'none') call hi('javascriptDocTags', s:voidGray4, s:none, 'none') call hi('javascriptEndColons', s:voidBlack, s:none, 'none') call hi('javascriptExport', s:voidBlack, s:none, 'none') call hi('javascriptHeadersMethod', s:voidBlack, s:none, 'none') call hi('javascriptIdentifierName', s:voidBlack, s:none, 'none') call hi('javascriptImport', s:voidBlack, s:none, 'none') call hi('javascriptLabel', s:voidBlack, s:none, 'none') call hi('javascriptLogicSymbols', s:voidBlack, s:none, 'none') call hi('javascriptMathStaticMethod', s:voidBlack, s:none, 'none') call hi('javascriptObjectLabel', s:voidBlack, s:none, 'none') call hi('javascriptOperator', s:voidBlack, s:none, 'none') call hi('javascriptPropertyName', s:voidBlack, s:none, 'none') call hi('javascriptStringMethod', s:voidBlack, s:none, 'none') call hi('javascriptVariable', s:voidBlack, s:none, 'none') call hi('javascriptYield', s:voidBlack, s:none, 'none') call hi('jsArrowFunction', s:voidBlack, s:none, 'none') call hi('jsClassDefinition', s:voidBlack, s:none, 'none') call hi('jsClassKeyword', s:voidBlack, s:none, 'none') call hi('jsDecorator', s:voidBlack, s:none, 'none') call hi('jsDestructuringBlock', s:voidBlack, s:none, 'none') call hi('jsExportDefault', s:voidBlack, s:none, 'none') call hi('jsExtendsKeyword', s:voidBlack, s:none, 'none') call hi('jsFuncArgs', s:voidBlack, s:none, 'none') call hi('jsFuncCall', s:voidBlack, s:none, 'none') call hi('jsFunction', s:voidBlack, s:none, 'none') call hi('jsGlobalObjects', s:voidBlack, s:none, 'none') call hi('jsModuleKeyword', s:voidBlack, s:none, 'none') call hi('jsNull', s:voidBlack, s:none, 'none') call hi('jsObjectBraces', s:voidBlack, s:none, 'none') call hi('jsObjectKey', s:voidBlack, s:none, 'none') call hi('jsObjectStringKey', s:voidBlack, s:none, 'none') call hi('jsRegexpString', s:voidBlack, s:none, 'none') call hi('jsReturn', s:voidBlack, s:none, 'none') call hi('jsSpecial', s:voidBlack, s:none, 'none') call hi('jsSuper', s:voidBlack, s:none, 'none') call hi('jsTemplateBraces', s:voidBlack, s:none, 'none') call hi('jsTemplateString', s:voidBlack, s:none, 'none') call hi('jsThis', s:voidBlack, s:none, 'none') call hi('jsVariableDef', s:voidBlack, s:none, 'none') " JSX call hi('jsxAttrib', s:voidBlack, s:none, 'none') call hi('jsxAttributeBraces', s:voidBlack, s:none, 'none') call hi('jsxCloseString', s:voidBlack, s:none, 'none') call hi('jsxCloseTag', s:voidBlack, s:none, 'none') call hi('jsxString', s:voidBlack, s:none, 'none') call hi('jsxTag', s:voidBlack, s:none, 'none') call hi('jsxTagName', s:voidBlack, s:none, 'none') " Ruby call hi('rubyBlockParameter', s:voidBlack, s:none, 'none') call hi('rubyClass', s:voidBlack, s:none, 'none') call hi('rubyClassVariable', s:voidBlack, s:none, 'none') call hi('rubyConstant', s:voidBlack, s:none, 'none') call hi('rubyControl', s:voidBlack, s:none, 'none') call hi('rubyEscape', s:voidBlack, s:none, 'none') call hi('rubyException', s:voidBlack, s:none, 'none') call hi('rubyFunction', s:voidBlack, s:none, 'none') call hi('rubyGlobalVariable', s:voidBlack, s:none, 'none') call hi('rubyInclude', s:voidBlack, s:none, 'none') call hi('rubyInstanceVariable', s:voidBlack, s:none, 'none') call hi('rubyInterpolationDelimiter', s:none, s:none, 'none') call hi('rubyOperator', s:voidBlack, s:none, 'none') call hi('rubyPseudoVariable', s:voidBlack, s:none, 'none') call hi('rubyRegexp', s:voidBlack, s:none, 'none') call hi('rubyRegexpDelimiter', s:voidBlack, s:none, 'none') call hi('rubyStringDelimiter', s:voidBlack, s:none, 'none') call hi('rubySymbol', s:voidBlack, s:none, 'none') " Ruby (Embedded) call hi('erubyComment', s:voidGray3, s:none, 'none') call hi('erubyDelimiter', s:none, s:none, 'none') call hi('erubyRailsMethod', s:voidBlack, s:none, 'none') " Ruby on Rails call hi('rubyRailsARAssociationMethod', s:voidBlack, s:none, 'none') call hi('rubyRailsARMethod', s:voidBlack, s:none, 'none') call hi('rubyRailsMethod', s:voidBlack, s:none, 'none') call hi('rubyRailsRenderMethod', s:voidBlack, s:none, 'none') call hi('rubyRailsUserClass', s:voidBlack, s:none, 'none') " XML call hi('xmlAttrib', s:voidBlack, s:none, 'none') call hi('xmlEndTag', s:voidBlack, s:none, 'none') call hi('xmlTag', s:voidBlack, s:none, 'none') call hi('xmlTagName', s:voidBlack, s:none, 'none') " YAML call hi('yamlAlias', s:voidBlack, s:none, 'none') call hi('yamlAnchor', s:voidBlack, s:none, 'none') call hi('yamlDocumentHeader', s:voidBlack, s:none, 'none') call hi('yamlKey', s:voidBlack, s:none, 'none') " ------------ " Plugins " ------------ " todo.txt call hi('TodoContext', s:voidBlack, s:none, 'none') call hi('TodoDate', s:voidBlack, s:none, 'none') call hi('TodoDone', s:voidGray3, s:none, 'none') call hi('TodoPriorityA', s:voidBlack, s:none, 'none') call hi('TodoPriorityB', s:voidBlack, s:none, 'none') call hi('TodoPriorityC', s:voidBlack, s:none, 'none') call hi('TodoProject', s:voidBlack, s:none, 'none') " Buftabline call hi('BufTabLineActive', s:voidBlack, s:voidGray3, 'none') call hi('BufTabLineCurrent', s:voidBlack, s:voidGray4, 'none') call hi('BufTabLineFill', s:voidBlack, s:voidSteel, 'none') call hi('BufTabLineHidden', s:voidGray3, s:voidBlack2, 'none')