diff --git a/vim/.vimrc b/vim/.vimrc index 304da7c..7b3d17f 100755 --- a/vim/.vimrc +++ b/vim/.vimrc @@ -46,11 +46,14 @@ set backspace=2 set t_ut= " 256 colors support, set it before colorscheme! -set t_Co=256 +"set t_Co=256 " Light colorscheme by default colorscheme greygull +" Terminal colors +set termguicolors + "Automatically source vimrc on save. autocmd! bufwritepost $MYVIMRC source $MYVIMRC @@ -83,7 +86,7 @@ set pastetoggle= "Default Colors for CursorLine set cursorline -highlight CursorLine cterm=NONE +highlight CursorLine cterm=none "Activate statusbar set laststatus=2 diff --git a/vim/colors/basic-dark.vim b/vim/colors/basic-dark.vim new file mode 100644 index 0000000..7bb3bca --- /dev/null +++ b/vim/colors/basic-dark.vim @@ -0,0 +1,430 @@ +" A simple dark vim colorscheme. +" Maintainer: zcodes +" Version: 1.0 +" +" The theme file original copyed from Tomorrow theme. +" See https://github.com/chriskempson/vim-tomorrow-theme.git for it. +" And hex color conversion functions borrowed from the theme "Desert256". +" +" Most of the colors based on Google Material Design. + +" Default GUI colors +let s:foreground = "cfd8dc" +let s:background = "263238" +let s:selection = "546e7a" +let s:line = "37474f" +let s:comment = "78909c" +let s:red = "ee877d" +let s:orange = "ffb74d" +let s:yellow = "fff176" +let s:green = "88b888" +let s:aqua = "00b8d4" +let s:blue = "6699cc" +let s:purple = "ce93d8" +let s:window = "37474f" +let s:grey = "b0bec5" + +if !has("gui_running") + let s:background = "202020" + let s:line = "303030" +endif + +set background=dark +hi clear +if exists("syntax_on") + syntax reset +endif +let g:colors_name = "basic-dark" + +if has("gui_running") || &t_Co == 88 || &t_Co == 256 + " Returns an approximate grey index for the given grey level + 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_colour(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 colour index for the given colour 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 colour level for the given colour 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 colour indices + fun rgb_colour(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 colour levels + fun colour(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 colour + 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_colour(l:gx) + else + " Use the colour + return rgb_colour(l:x, l:y, l:z) + endif + else + " Only one possibility + return rgb_colour(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 colour(l:r, l:g, l:b) + endfun + + " Sets the highlighting for the given group + fun X(group, fg, bg, attr) + if a:fg != "" + exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . rgb(a:fg) + endif + if a:bg != "" + exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . rgb(a:bg) + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif + endfun + + " Vim Highlighting + call X("Normal", s:foreground, s:background, "none") + call X("LineNr", s:grey, "", "none") + call X("NonText", s:foreground, "", "none") + call X("SpecialKey", s:blue, "", "none") + call X("Search", s:foreground, s:selection, "none") + call X("TabLine", s:foreground, s:background, "reverse") + call X("StatusLine", s:window, s:foreground, "reverse") + call X("StatusLineNC", s:window, s:comment, "reverse") + call X("VertSplit", s:window, s:window, "none") + call X("Visual", "", s:selection, "none") + call X("Directory", s:blue, "", "none") + call X("ModeMsg", s:green, "", "none") + call X("MoreMsg", s:green, "", "none") + call X("Question", s:green, "", "none") + call X("WarningMsg", s:red, "", "none") + call X("MatchParen", "", s:selection, "none") + call X("Folded", s:comment, s:background, "none") + call X("FoldColumn", s:comment, s:background, "none") + if version >= 700 + call X("CursorLine", "", s:line, "none") + call X("CursorColumn", "", s:line, "none") + call X("PMenu", s:foreground, s:selection, "none") + call X("PMenuSel", s:foreground, s:selection, "reverse") + call X("SignColumn", "", s:background, "none") + end + if version >= 703 + call X("ColorColumn", "", s:line, "none") + end + + " Standard Highlighting + call X("Comment", s:comment, "", "none") + call X("Todo", s:red, s:background, "underline") + call X("Title", s:comment, "", "none") + call X("Cursor", "", s:foreground, "none") + call X("Identifier", s:grey, "", "none") + call X("Statement", s:yellow, "", "none") + call X("Conditional", s:foreground, "", "none") + call X("Repeat", s:yellow, "", "none") + call X("Structure", s:purple, "", "none") + call X("Function", s:aqua, "", "none") + call X("Constant", s:foreground, "", "none") + call X("String", s:green, "", "none") + call X("Special", s:foreground, "", "none") + call X("PreProc", s:aqua, "", "none") + call X("Operator", s:foreground, "", "none") + call X("Type", s:blue, "", "none") + call X("Define", s:purple, "", "none") + call X("Include", s:blue, "", "none") + call X("Number", s:orange, "", "none") + + " Vim Highlighting + call X("vimCommand", s:blue, "", "") + + " C Highlighting + call X("cType", s:blue, "", "") + call X("cStorageClass", s:blue, "", "") + call X("cConditional", s:red, "", "") + call X("cRepeat", s:red, "", "") + + " PHP Highlighting + call X("phpVarSelector", s:red, "", "") + call X("phpIdentifier", s:red, "", "") + call X("phpFCKeyword", s:purple, "", "") + call X("phpSCKeyword", s:purple, "", "") + call X("phpKeyword", s:purple, "", "") + call X("phpType", s:purple, "", "") + call X("phpRepeat", s:red, "", "") + call X("phpDefine", s:purple, "", "") + call X("phpDocTags", s:aqua, "", "") + call X("phpDocParam", s:green, "", "") + call X("phpFunction", s:blue, "", "") + call X("phpFunctions", s:blue, "", "") + call X("phpClass", s:blue, "", "") + call X("phpClasses", s:orange, "", "") + call X("phpMagicConstants", s:yellow, "", "") + call X("phpMemberSelector", s:grey, "", "") + + " Ruby Highlighting + call X("rubySymbol", s:green, "", "") + call X("rubyConstant", s:aqua, "", "") + call X("rubyAttribute", s:blue, "", "") + call X("rubyInclude", s:blue, "", "") + call X("rubyLocalVariableOrMethod", s:orange, "", "") + call X("rubyCurlyBlock", s:orange, "", "") + call X("rubyStringDelimiter", s:green, "", "") + call X("rubyInterpolationDelimiter", s:orange, "", "") + call X("rubyConditional", s:purple, "", "") + call X("rubyRepeat", s:purple, "", "") + call X("rubyIdentifier", s:orange, "", "") + + " Python Highlighting + call X("pythonInclude", s:red, "", "") + call X("pythonStatement", s:blue, "", "") + call X("pythonConditional", s:purple, "", "") + call X("pythonRepeat", s:purple, "", "") + call X("pythonException", s:purple, "", "") + call X("pythonFunction", s:aqua, "", "") + call X("pythonSelf", s:grey, "", "") + call X("pythonOperator", s:purple, "", "") + call X("pythonExtraOperator", s:purple, "", "") + call X("pythonClass", s:aqua, "", "") + call X("pythonDecorator", s:orange, "", "") + call X("pythonDocstring", s:comment, "", "") + call X("pythonBuiltinObj", s:yellow, "", "") + call X("pythonBuiltinType", s:orange, "", "") + call X("pythonNumber", s:orange, "", "") + + " Go Highlighting + call X("goStatement", s:purple, "", "") + call X("goConditional", s:purple, "", "") + call X("goRepeat", s:purple, "", "") + call X("goException", s:purple, "", "") + call X("goDeclaration", s:blue, "", "") + call X("goConstants", s:yellow, "", "") + call X("goBuiltins", s:orange, "", "") + + " CoffeeScript Highlighting + call X("coffeeKeyword", s:purple, "", "") + call X("coffeeConditional", s:purple, "", "") + call X("coffeeSpecialVar", s:orange, "", "") + call X("coffeeSpecialIdent", s:red, "", "") + call X("coffeeObject", s:orange, "", "") + call X("coffeeObjAssign", s:blue, "", "") + call X("coffeeArrow", s:purple, "", "") + call X("coffeeBoolean", s:foreground, "", "") + call X("coffeeGlobal", s:foreground, "", "") + call X("coffeeModuleKeyword", s:aqua, "", "") + call X("coffeeFuncCall", s:blue, "", "") + + " JavaScript Highlighting + call X("javaScriptBraces", s:foreground, "", "") + call X("javaScriptFunction", s:purple, "", "") + call X("javaScriptConditional", s:purple, "", "") + call X("javaScriptRepeat", s:purple, "", "") + call X("javaScriptNumber", s:orange, "", "") + call X("javaScriptMember", s:orange, "", "") + + " HTML Highlighting + call X("htmlTag", s:blue, "", "") + call X("htmlTagName", s:blue, "", "") + call X("htmlArg", s:aqua, "", "") + call X("htmlScriptTag", s:blue, "", "") + + " Blade Tempalte Highlight + call X("bladeDelimiter", s:orange, "", "") + call X("bladeKeyword", s:blue, "", "") + + " Diff Highlighting + call X("diffAdded", "", s:green, "none") + call X("diffRemoved", "", s:red, "none") + call X("diffChanged", "", s:yellow, "none") + call X("DiffAdd", s:window, s:green, "none") + call X("DiffDelete", s:window, s:red, "none") + call X("DiffChange", s:window, s:yellow, "none") + call X("DiffText", s:background, s:yellow, "none") + + call X("GitGutterAdd", s:green, "", "") + call X("GitGutterDelete", s:red, "", "") + call X("GitGutterChange", s:yellow, "", "") + call X("GitGutterChangeDelete", s:orange, "", "") + + call X("VimwikiHeader1", s:red, "", "") + call X("VimwikiHeader2", s:green, "", "") + call X("VimwikiHeader3", s:blue, "", "") + call X("VimwikiHeader4", s:aqua, "", "") + call X("VimwikiHeader5", s:orange, "", "") + call X("VimwikiHeader6", s:yellow, "", "") + + " YAML + call X("yamlBlockMappingKey", s:blue, "", "") + + " Delete Functions + delf X + delf rgb + delf colour + delf rgb_colour + delf rgb_level + delf rgb_number + delf grey_colour + delf grey_level + delf grey_number +endif + diff --git a/vim/colors/basic-light.vim b/vim/colors/basic-light.vim new file mode 100644 index 0000000..a68331b --- /dev/null +++ b/vim/colors/basic-light.vim @@ -0,0 +1,394 @@ +" basic-light -- a simple light vim theme +" +" Maintainer: zcodes +" Version: 1.0 +" +" the theme file original copyed from Tomorrow theme. +" see: https://github.com/chriskempson/vim-tomorrow-theme.git for it. +" +" the colors choose from Google Material Desgin and some from Sublime Text +" LAZY theme. + +" default gui colors +let s:foreground = "263238" +let s:background = "fbfbfb" +let s:selection = "e3fc8d" +let s:line = "d5d5d5" +let s:comment = "7c7c7c" +let s:red = "d62a28" +let s:orange = "ff7800" +let s:yellow = "eab700" +let s:green = "409b1c" +let s:aqua = "00897b" +let s:blue = "3b5bb5" +let s:purple = "673ab7" +let s:window = "cfd8dc" + +set background=light +hi clear +syntax reset + +let g:colors_name = "basic-light" + +if has("gui_running") || &t_Co == 88 || &t_Co == 256 + " Returns an approximate grey index for the given grey level + 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_colour(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 colour index for the given colour 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 colour level for the given colour 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 colour indices + fun rgb_colour(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 colour levels + fun colour(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 colour + 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_colour(l:gx) + else + " Use the colour + return rgb_colour(l:x, l:y, l:z) + endif + else + " Only one possibility + return rgb_colour(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 colour(l:r, l:g, l:b) + endfun + + " Sets the highlighting for the given group + fun X(group, fg, bg, attr) + if a:fg != "" + exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . rgb(a:fg) + endif + if a:bg != "" + exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . rgb(a:bg) + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif + endfun + + " Vim Highlighting + call X("Normal", s:foreground, s:background, "none") + call X("LineNr", s:comment, "", "none") + call X("NonText", s:foreground, "", "none") + call X("SpecialKey", s:blue, "", "none") + call X("Search", s:foreground, s:selection, "none") + call X("TabLine", s:foreground, s:background, "reverse") + call X("StatusLine", s:window, s:foreground, "reverse") + call X("StatusLineNC", s:window, s:comment, "reverse") + call X("VertSplit", s:window, s:window, "none") + call X("Visual", "", s:selection, "none") + call X("Directory", s:blue, "", "none") + call X("ModeMsg", s:green, "", "none") + call X("MoreMsg", s:green, "", "none") + call X("Question", s:green, "", "none") + call X("WarningMsg", s:red, "", "none") + call X("MatchParen", "", s:selection, "none") + call X("Folded", s:comment, s:background, "none") + call X("FoldColumn", s:comment, s:background, "none") + if version >= 700 + call X("CursorLine", "", s:line, "none") + call X("CursorColumn", "", s:line, "none") + call X("PMenu", s:foreground, s:selection, "none") + call X("PMenuSel", s:foreground, s:selection, "reverse") + call X("SignColumn", "", s:background, "none") + end + if version >= 703 + call X("ColorColumn", "", s:line, "none") + end + + " Standard Highlighting + call X("Comment", s:comment, "", "none") + call X("Todo", s:red, s:background, "none") + call X("Title", s:comment, "", "none") + call X("Cursor", "", s:foreground, "none") + call X("Identifier", s:aqua, "", "none") + call X("Statement", s:foreground, "", "none") + call X("Conditional", s:foreground, "", "none") + call X("Repeat", s:foreground, "", "none") + call X("Structure", s:purple, "", "none") + call X("Function", s:blue, "", "none") + call X("Constant", s:foreground, "", "none") + call X("String", s:green, "", "none") + call X("Special", s:foreground, "", "none") + call X("PreProc", s:aqua, "", "none") + call X("Operator", s:foreground, "", "none") + call X("Type", s:blue, "", "none") + call X("Define", s:purple, "", "none") + call X("Include", s:blue, "", "none") + call X("Number", s:orange, "", "none") + + " Vim Highlighting + call X("vimCommand", s:blue, "", "none") + + " C Highlighting + call X("cType", s:blue, "", "") + call X("cStorageClass", s:blue, "", "") + call X("cConditional", s:red, "", "") + call X("cRepeat", s:red, "", "") + + " PHP Highlighting + call X("phpVarSelector", s:aqua, "", "") + call X("phpKeyword", s:blue, "", "") + call X("phpRepeat", s:red, "", "") + call X("phpConditional", s:blue, "", "") + call X("phpStatement", s:blue, "", "") + call X("phpMemberSelector", s:foreground, "", "") + + " Ruby Highlighting + call X("rubySymbol", s:green, "", "") + call X("rubyConstant", s:aqua, "", "") + call X("rubyAttribute", s:blue, "", "") + call X("rubyInclude", s:blue, "", "") + call X("rubyLocalVariableOrMethod", s:orange, "", "") + call X("rubyCurlyBlock", s:orange, "", "") + call X("rubyStringDelimiter", s:green, "", "") + call X("rubyInterpolationDelimiter", s:orange, "", "") + call X("rubyConditional", s:purple, "", "") + call X("rubyRepeat", s:purple, "", "") + call X("rubyIdentifier", s:orange, "", "") + + " Python Highlighting + call X("pythonInclude", s:red, "", "") + call X("pythonStatement", s:aqua, "", "") + call X("pythonConditional", s:blue, "", "") + call X("pythonRepeat", s:blue, "", "") + call X("pythonException", s:blue, "", "") + call X("pythonFunction", s:purple, "", "") + call X("pythonSelf", s:comment, "", "") + call X("pythonOperator", s:blue, "", "") + call X("pythonExtraOperator", s:blue, "", "") + call X("pythonClass", s:blue, "", "") + call X("pythonDecorator", s:yellow, "", "") + call X("pythonDocstring", s:comment, "", "") + call X("pythonBuiltinObj", s:red, "", "") + call X("pythonBuiltinType", s:orange, "", "") + call X("pythonNumber", s:orange, "", "") + + + " Go Highlighting + call X("goStatement", s:purple, "", "") + call X("goConditional", s:purple, "", "") + call X("goRepeat", s:purple, "", "") + call X("goException", s:purple, "", "") + call X("goDeclaration", s:blue, "", "") + call X("goConstants", s:yellow, "", "") + call X("goBuiltins", s:orange, "", "") + + " CoffeeScript Highlighting + call X("coffeeKeyword", s:purple, "", "") + call X("coffeeConditional", s:purple, "", "") + + " JavaScript Highlighting + call X("javaScriptBraces", s:foreground, "", "") + call X("javaScriptFunction", s:purple, "", "") + call X("javaScriptConditional", s:purple, "", "") + call X("javaScriptRepeat", s:purple, "", "") + call X("javaScriptNumber", s:orange, "", "") + call X("javaScriptMember", s:orange, "", "") + + " HTML Highlighting + call X("htmlTag", s:blue, "", "") + call X("htmlTagName", s:blue, "", "") + call X("htmlArg", s:aqua, "", "") + call X("htmlScriptTag", s:blue, "", "") + + " Diff Highlighting + call X("diffAdded", "", s:green, "none") + call X("diffRemoved", "", s:red, "none") + call X("diffChanged", "", s:yellow, "none") + call X("DiffAdd", s:window, s:green, "none") + call X("DiffDelete", s:window, s:red, "none") + call X("DiffChange", s:window, s:yellow, "none") + call X("DiffText", s:background, s:yellow, "none") + + call X("GitGutterAdd", s:green, "", "") + call X("GitGutterDelete", s:red, "", "") + call X("GitGutterChange", s:yellow, "", "") + call X("GitGutterChangeDelete", s:orange, "", "") + + " YAML + call X("yamlBlockMappingKey", s:blue, "", "") + + " Delete Functions + delf X + delf rgb + delf colour + delf rgb_colour + delf rgb_level + delf rgb_number + delf grey_colour + delf grey_level + delf grey_number +endif diff --git a/vim/colors/deus.vim b/vim/colors/deus.vim new file mode 100644 index 0000000..fd6ea9d --- /dev/null +++ b/vim/colors/deus.vim @@ -0,0 +1,1220 @@ +" ----------------------------------------------------------------------------- +" File: deus.vim +" Description: a retro-modern colorscheme in Vim +" Author: ajmwagar +" Source: https://github.com/ajmwagar/deus +" Last Modified: 04 Sep 2015 +" ----------------------------------------------------------------------------- + +" Supporting code ------------------------------------------------------------- +" Initialisation: {{{ + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name='deus' + +if !has('gui_running') && &t_Co != 256 + finish +endif + +" }}} +" Global Settings: {{{ + +if !exists('g:deus_bold') + let g:deus_bold=1 +endif +if !exists('g:deus_italic') + if has('gui_running') || $TERM_ITALICS == 'true' + let g:deus_italic=1 + else + let g:deus_italic=0 + endif +endif +if !exists('g:deus_undercurl') + let g:deus_undercurl=1 +endif +if !exists('g:deus_underline') + let g:deus_underline=1 +endif +if !exists('g:deus_inverse') + let g:deus_inverse=1 +endif + +if !exists('g:deus_guisp_fallback') || index(['fg', 'bg'], g:deus_guisp_fallback) == -1 + let g:deus_guisp_fallback='NONE' +endif + +if !exists('g:deus_improved_strings') + let g:deus_improved_strings=0 +endif + +if !exists('g:deus_improved_warnings') + let g:deus_improved_warnings=0 +endif + +if !exists('g:deus_termcolors') + let g:deus_termcolors=256 +endif + +if !exists('g:deus_invert_indent_guides') + let g:deus_invert_indent_guides=0 +endif + +if exists('g:deus_contrast') + echo 'g:deus_contrast is deprecated; use g:deus_contrast_light and g:deus_contrast_dark instead' +endif + +if !exists('g:deus_contrast_dark') + let g:deus_contrast_dark='medium' +endif + +if !exists('g:deus_contrast_light') + let g:deus_contrast_light='medium' +endif + +let s:is_dark=(&background == 'dark') + +" }}} +" Palette: {{{ + +" setup palette dictionary +let s:ds = {} + +" fill it with absolute colors +let s:ds.dark0_hard = ['#2C313A', 234] " 29-32-33 +let s:ds.dark0 = ['#2C323B', 235] " 40-40-40 +let s:ds.dark0_soft = ['#28282f', 236] " 50-48-47 +let s:ds.dark1 = ['#3c3836', 237] " 60-56-54 +let s:ds.dark2 = ['#2C313A', 239] " 80-73-69 +let s:ds.dark3 = ['#665c54', 241] " 102-92-84 +let s:ds.dark4 = ['#7c6f64', 243] " 124-111-100 +let s:ds.dark4_256 = ['#7c6f64', 243] " 124-111-100 + +let s:ds.gray_245 = ['#928374', 245] " 146-131-116 +let s:ds.gray_244 = ['#928374', 244] " 146-131-116 + +let s:ds.light0_hard = ['#d3d3d3', 230] " 249-245-215 +let s:ds.light0 = ['#d2d2d2', 229] " 253-244-193 +let s:ds.light0_soft = ['#d4d4d4', 228] " 242-229-188 +"let s:ds.light0_hard = ['#2C313A', 234] " 29-32-33 +"let s:ds.light0 = ['#2C323B', 235] " 40-40-40 +"let s:ds.light0_soft = ['#28282f', 236] " 50-48-47 +let s:ds.light1 = ['#ebdbb2', 223] " 235-219-178 +let s:ds.light2 = ['#d5c4a1', 250] " 213-196-161 +let s:ds.light3 = ['#bdae93', 248] " 189-174-147 +let s:ds.light4 = ['#a89984', 246] " 168-153-132 +let s:ds.light4_256 = ['#a89984', 246] " 168-153-132 + +let s:ds.bright_red = ['#fb4934', 167] " 251-73-52 +let s:ds.bright_green = ['#98C379', 142] " 184-187-38 +let s:ds.bright_yellow = ['#fabd2f', 214] " 250-189-47 +let s:ds.bright_blue = ['#83a598', 109] " 131-165-152 +let s:ds.bright_purple = ['#C678DD', 175] " 211-134-155 +let s:ds.bright_aqua = ['#8ec07c', 108] " 142-192-124 +let s:ds.bright_orange = ['#fe8019', 208] " 254-128-25 + +let s:ds.neutral_red = ['#cc241d', 124] " 204-36-29 +let s:ds.neutral_green = ['#98971a', 106] " 152-151-26 +let s:ds.neutral_yellow = ['#d79921', 172] " 215-153-33 +let s:ds.neutral_blue = ['#458588', 66] " 69-133-136 +let s:ds.neutral_purple = ['#b16286', 132] " 177-98-134 +let s:ds.neutral_aqua = ['#689d6a', 72] " 104-157-106 +let s:ds.neutral_orange = ['#d65d0e', 166] " 214-93-14 + +let s:ds.faded_red = ['#9d0006', 88] " 157-0-6 +let s:ds.faded_green = ['#79740e', 100] " 121-116-14 +let s:ds.faded_yellow = ['#b57614', 136] " 181-118-20 +let s:ds.faded_blue = ['#076678', 24] " 7-102-120 +let s:ds.faded_purple = ['#8f3f71', 96] " 143-63-113 +let s:ds.faded_aqua = ['#427b58', 66] " 66-123-88 +let s:ds.faded_orange = ['#af3a03', 130] " 175-58-3 +" }}} +" Setup Emphasis: {{{ + +let s:bold = 'bold,' +if g:deus_bold == 0 + let s:bold = '' +endif + +let s:italic = 'italic,' +if g:deus_italic == 0 + let s:italic = '' +endif + +let s:underline = 'underline,' +if g:deus_underline == 0 + let s:underline = '' +endif + +let s:undercurl = 'undercurl,' +if g:deus_undercurl == 0 + let s:undercurl = '' +endif + +let s:inverse = 'inverse,' +if g:deus_inverse == 0 + let s:inverse = '' +endif + +" }}} +" Setup Colors: {{{ + +let s:vim_bg = ['bg', 'bg'] +let s:vim_fg = ['fg', 'fg'] +let s:none = ['NONE', 'NONE'] + +" determine relative colors +if s:is_dark + let s:bg0 = s:ds.dark0 + if g:deus_contrast_dark == 'soft' + let s:bg0 = s:ds.dark0_soft + elseif g:deus_contrast_dark == 'hard' + let s:bg0 = s:ds.dark0_hard + endif + + let s:bg1 = s:ds.dark1 + let s:bg2 = s:ds.dark2 + let s:bg3 = s:ds.dark3 + let s:bg4 = s:ds.dark4 + + let s:gray = s:ds.gray_245 + + let s:fg0 = s:ds.light0 + let s:fg1 = s:ds.light1 + let s:fg2 = s:ds.light2 + let s:fg3 = s:ds.light3 + let s:fg4 = s:ds.light4 + + let s:fg4_256 = s:ds.light4_256 + + let s:red = s:ds.bright_red + let s:green = s:ds.bright_green + let s:yellow = s:ds.bright_yellow + let s:blue = s:ds.bright_blue + let s:purple = s:ds.bright_purple + let s:aqua = s:ds.bright_aqua + let s:orange = s:ds.bright_orange +else + let s:bg0 = s:ds.light0 + if g:deus_contrast_light == 'soft' + let s:bg0 = s:ds.light0_soft + elseif g:deus_contrast_light == 'hard' + let s:bg0 = s:ds.light0_hard + endif + + let s:bg1 = s:ds.light1 + let s:bg2 = s:ds.light2 + let s:bg3 = s:ds.light3 + let s:bg4 = s:ds.light4 + + let s:gray = s:ds.gray_244 + + let s:fg0 = s:ds.dark0 + let s:fg1 = s:ds.dark1 + let s:fg2 = s:ds.dark2 + let s:fg3 = s:ds.dark3 + let s:fg4 = s:ds.dark4 + + let s:fg4_256 = s:ds.dark4_256 + + let s:red = s:ds.bright_red + let s:green = s:ds.bright_green + let s:yellow = s:ds.bright_yellow + let s:blue = s:ds.bright_blue + let s:purple = s:ds.bright_purple + let s:aqua = s:ds.bright_aqua + let s:orange = s:ds.bright_orange +endif + +" reset to 16 colors fallback +"if g:deus_termcolors == 16 + "let s:bg0[1] = NONE + "let s:fg4[1] = 7 + "let s:gray[1] = 8 + "let s:red[1] = 9 + "let s:green[1] = 10 + "let s:yellow[1] = 11 + "let s:blue[1] = 12 + "let s:purple[1] = 5 + "let s:aqua[1] = 14 + "let s:fg1[1] = 15 +"endif + +" save current relative colors back to palette dictionary +let s:ds.bg0 = s:bg0 +let s:ds.bg1 = s:bg1 +let s:ds.bg2 = s:bg2 +let s:ds.bg3 = s:bg3 +let s:ds.bg4 = s:bg4 + +let s:ds.gray = s:gray + +let s:ds.fg0 = s:fg0 +let s:ds.fg1 = s:fg1 +let s:ds.fg2 = s:fg2 +let s:ds.fg3 = s:fg3 +let s:ds.fg4 = s:fg4 + +let s:ds.fg4_256 = s:fg4_256 + +let s:ds.red = s:red +let s:ds.green = s:green +let s:ds.yellow = s:yellow +let s:ds.blue = s:blue +let s:ds.purple = s:purple +let s:ds.aqua = s:aqua +let s:ds.orange = s:orange + +" }}} + +" Overload Setting: {{{ + +let s:hls_cursor = s:orange +if exists('g:deus_hls_cursor') + let s:hls_cursor = get(s:ds, g:deus_hls_cursor) +endif + +let s:number_column = s:bg4 +let s:sign_column = s:bg1 + +if exists('g:gitgutter_override_sign_column_highlight') && + \ g:gitgutter_override_sign_column_highlight == 1 + let s:sign_column = s:number_column +else + let g:gitgutter_override_sign_column_highlight = 0 + + if exists('g:deus_sign_column') + let s:sign_column = get(s:ds, g:deus_sign_column) + endif +endif + +let s:color_column = s:bg1 +if exists('g:deus_color_column') + let s:color_column = get(s:ds, g:deus_color_column) +endif + +let s:vert_split = s:bg2 +if exists('g:deus_vert_split') + let s:vert_split = get(s:ds, g:deus_vert_split) +endif + +let s:invert_signs = '' +if exists('g:deus_invert_signs') + if g:deus_invert_signs == 1 + let s:invert_signs = s:inverse + endif +endif + +let s:invert_selection = s:inverse +if exists('g:deus_invert_selection') + if g:deus_invert_selection == 0 + let s:invert_selection = '' + endif +endif + +let s:invert_tabline = '' +if exists('g:deus_invert_tabline') + if g:deus_invert_tabline == 1 + let s:invert_tabline = s:inverse + endif +endif + +let s:italicize_comments = s:italic +if exists('g:deus_italicize_comments') + if g:deus_italicize_comments == 0 + let s:italicize_comments = '' + endif +endif + +let s:italicize_strings = '' +if exists('g:deus_italicize_strings') + if g:deus_italicize_strings == 1 + let s:italicize_strings = s:italic + endif +endif + +" }}} +" Highlighting Function: {{{ + +function! s:HL(group, fg, ...) + " Arguments: group, guifg, guibg, gui, guisp + + " foreground + let fg = a:fg + + " background + if a:0 >= 1 + let bg = a:1 + else + let bg = s:none + endif + + " emphasis + if a:0 >= 2 && strlen(a:2) + let emstr = a:2 + else + let emstr = 'NONE,' + endif + + " special fallback + if a:0 >= 3 + if g:deus_guisp_fallback != 'NONE' + let fg = a:3 + endif + + " bg fallback mode should invert higlighting + if g:deus_guisp_fallback == 'bg' + let emstr .= 'inverse,' + endif + endif + + let histring = [ 'hi', a:group, + \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], + \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], + \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] + \ ] + + " special + if a:0 >= 3 + call add(histring, 'guisp=' . a:3[0]) + endif + + execute join(histring, ' ') +endfunction + +" }}} +" deus Hi Groups: {{{ + +" memoize common hi groups +call s:HL('deusFg0', s:fg0) +call s:HL('deusFg1', s:fg1) +call s:HL('deusFg2', s:fg2) +call s:HL('deusFg3', s:fg3) +call s:HL('deusFg4', s:fg4) +call s:HL('deusGray', s:gray) +call s:HL('deusBg0', s:bg0) +call s:HL('deusBg1', s:bg1) +call s:HL('deusBg2', s:bg2) +call s:HL('deusBg3', s:bg3) +call s:HL('deusBg4', s:bg4) + +call s:HL('deusRed', s:red) +call s:HL('deusRedBold', s:red, s:none, s:bold) +call s:HL('deusGreen', s:green) +call s:HL('deusGreenBold', s:green, s:none, s:bold) +call s:HL('deusYellow', s:yellow) +call s:HL('deusYellowBold', s:yellow, s:none, s:bold) +call s:HL('deusBlue', s:blue) +call s:HL('deusBlueBold', s:blue, s:none, s:bold) +call s:HL('deusPurple', s:purple) +call s:HL('deusPurpleBold', s:purple, s:none, s:bold) +call s:HL('deusAqua', s:aqua) +call s:HL('deusAquaBold', s:aqua, s:none, s:bold) +call s:HL('deusOrange', s:orange) +call s:HL('deusOrangeBold', s:orange, s:none, s:bold) + +call s:HL('deusRedSign', s:red, s:sign_column, s:invert_signs) +call s:HL('deusGreenSign', s:green, s:sign_column, s:invert_signs) +call s:HL('deusYellowSign', s:yellow, s:sign_column, s:invert_signs) +call s:HL('deusBlueSign', s:blue, s:sign_column, s:invert_signs) +call s:HL('deusPurpleSign', s:purple, s:sign_column, s:invert_signs) +call s:HL('deusAquaSign', s:aqua, s:sign_column, s:invert_signs) + +" }}} + +" Vanilla colorscheme --------------------------------------------------------- +" General UI: {{{ + +" Normal text +call s:HL('Normal', s:fg1, s:bg0) + +" Correct background (see issue #7): +" --- Problem with changing between dark and light on 256 color terminal +" --- https://github.com/morhetz/deus/issues/7 +if s:is_dark + set background=dark +else + set background=light +endif + +if version >= 700 + " Screen line that the cursor is + call s:HL('CursorLine', s:none, s:bg1) + " Screen column that the cursor is + hi! link CursorColumn CursorLine + + " Tab pages line filler + call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline) + " Active tab page label + call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline) + " Not active tab page label + hi! link TabLine TabLineFill + + " Match paired bracket under the cursor + call s:HL('MatchParen', s:none, s:bg3, s:bold) +endif + +if version >= 703 + " Highlighted screen columns + call s:HL('ColorColumn', s:none, s:color_column) + + " Concealed element: \lambda → λ + call s:HL('Conceal', s:blue, s:none) + + " Line number of CursorLine + call s:HL('CursorLineNr', s:yellow, s:bg1) +endif + +hi! link NonText deusBg2 +hi! link SpecialKey deusBg2 + +call s:HL('Visual', s:none, s:bg3, s:invert_selection) +hi! link VisualNOS Visual + +call s:HL('Search', s:bg0, s:yellow) +call s:HL('IncSearch', s:bg0, s:hls_cursor) + +call s:HL('Underlined', s:blue, s:none, s:underline) + +call s:HL('StatusLine', s:bg4, s:bg0, s:bold . s:inverse) +call s:HL('StatusLineNC', s:bg2, s:fg4, s:bold . s:inverse) + +" The column separating vertically split windows +call s:HL('VertSplit', s:fg4, s:vert_split) + +" Current match in wildmenu completion +call s:HL('WildMenu', s:blue, s:bg2, s:bold) + +" Directory names, special names in listing +hi! link Directory deusGreenBold + +" Titles for output from :set all, :autocmd, etc. +hi! link Title deusGreenBold + +" Error messages on the command line +call s:HL('ErrorMsg', s:vim_bg, s:red, s:bold) +" More prompt: -- More -- +hi! link MoreMsg deusYellowBold +" Current mode message: -- INSERT -- +hi! link ModeMsg deusYellowBold +" 'Press enter' prompt and yes/no questions +hi! link Question deusOrangeBold +" Warning messages +hi! link WarningMsg deusRedBold + +" }}} +" Gutter: {{{ + +" Line number for :number and :# commands +call s:HL('LineNr', s:number_column) + +" Column where signs are displayed +call s:HL('SignColumn', s:none, s:sign_column) + +" Line used for closed folds +call s:HL('Folded', s:gray, s:bg1, s:italic) +" Column where folds are displayed +call s:HL('FoldColumn', s:gray, s:bg1) + +" }}} +" Cursor: {{{ + +" Character under cursor +call s:HL('Cursor', s:none, s:none, s:inverse) +" Visual mode cursor, selection +hi! link vCursor Cursor +" Input moder cursor +hi! link iCursor Cursor +" Language mapping cursor +hi! link lCursor Cursor + +" }}} +" Syntax Highlighting: {{{ + +if g:deus_improved_strings == 0 + hi! link Special deusOrange +else + call s:HL('Special', s:bg1, s:orange, s:italic) +endif + +call s:HL('Comment', s:gray, s:none, s:italicize_comments) +call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) + +" Generic statement +hi! link Statement deusRed +" if, then, else, endif, swicth, etc. +hi! link Conditional deusRed +" for, do, while, etc. +hi! link Repeat deusRed +" case, default, etc. +hi! link Label deusRed +" try, catch, throw +hi! link Exception deusRed +" sizeof, "+", "*", etc. +hi! link Operator Normal +" Any other keyword +hi! link Keyword deusRed + +" Variable name +hi! link Identifier deusBlue +" Function name +hi! link Function deusGreenBold + +" Generic preprocessor +hi! link PreProc deusAqua +" Preprocessor #include +hi! link Include deusAqua +" Preprocessor #define +hi! link Define deusAqua +" Same as Define +hi! link Macro deusAqua +" Preprocessor #if, #else, #endif, etc. +hi! link PreCondit deusAqua + +" Generic constant +hi! link Constant deusPurple +" Character constant: 'c', '/n' +hi! link Character deusPurple +" String constant: "this is a string" +if g:deus_improved_strings == 0 + call s:HL('String', s:green, s:none, s:italicize_strings) +else + call s:HL('String', s:bg1, s:fg1, s:italicize_strings) +endif +" Boolean constant: TRUE, false +hi! link Boolean deusPurple +" Number constant: 234, 0xff +hi! link Number deusPurple +" Floating point constant: 2.3e10 +hi! link Float deusPurple + +" Generic type +hi! link Type deusYellow +" static, register, volatile, etc +hi! link StorageClass deusOrange +" struct, union, enum, etc. +hi! link Structure deusAqua +" typedef +hi! link Typedef deusYellow + +" }}} +" Completion Menu: {{{ + +if version >= 700 + " Popup menu: normal item + call s:HL('Pmenu', s:fg1, s:bg2) + " Popup menu: selected item + call s:HL('PmenuSel', s:bg2, s:blue, s:bold) + " Popup menu: scrollbar + call s:HL('PmenuSbar', s:none, s:bg2) + " Popup menu: scrollbar thumb + call s:HL('PmenuThumb', s:none, s:bg4) +endif + +" }}} +" Diffs: {{{ + +call s:HL('DiffDelete', s:red, s:bg0, s:inverse) +call s:HL('DiffAdd', s:green, s:bg0, s:inverse) +"call s:HL('DiffChange', s:bg0, s:blue) +"call s:HL('DiffText', s:bg0, s:yellow) + +" Alternative setting +call s:HL('DiffChange', s:aqua, s:bg0, s:inverse) +call s:HL('DiffText', s:yellow, s:bg0, s:inverse) + +" }}} +" Spelling: {{{ + +if has("spell") + " Not capitalised word, or compile warnings + if g:deus_improved_warnings == 0 + call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) + else + call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) + endif + " Not recognized word + call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) + " Wrong spelling for selected region + call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) + " Rare word + call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) +endif + +" }}} + +" Plugin specific ------------------------------------------------------------- +" EasyMotion: {{{ + +hi! link EasyMotionTarget Search +hi! link EasyMotionShade Comment + +" }}} +" Sneak: {{{ + +hi! link SneakPluginTarget Search +hi! link SneakStreakTarget Search +call s:HL('SneakStreakMask', s:yellow, s:yellow) +hi! link SneakStreakStatusLine Search + +" }}} +" Indent Guides: {{{ + +if !exists('g:indent_guides_auto_colors') + let g:indent_guides_auto_colors = 0 +endif + +if g:indent_guides_auto_colors == 0 + if g:deus_invert_indent_guides == 0 + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) + else + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) + endif +endif + +" }}} +" IndentLine: {{{ + +if !exists('g:indentLine_color_term') + let g:indentLine_color_term = s:bg2[1] +endif +if !exists('g:indentLine_color_gui') + let g:indentLine_color_gui = s:bg2[0] +endif + +" }}} +" Rainbow Parentheses: {{{ + +if !exists('g:rbpt_colorpairs') + let g:rbpt_colorpairs = + \ [ + \ ['blue', '#458588'], ['magenta', '#b16286'], + \ ['red', '#cc241d'], ['166', '#d65d0e'] + \ ] +endif + +let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] +let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] + +if !exists('g:rainbow_conf') + let g:rainbow_conf = {} +endif +if !has_key(g:rainbow_conf, 'guifgs') + let g:rainbow_conf['guifgs'] = g:rainbow_guifgs +endif +if !has_key(g:rainbow_conf, 'ctermfgs') + let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs +endif + +let g:niji_dark_colours = g:rbpt_colorpairs +let g:niji_light_colours = g:rbpt_colorpairs + +"}}} +" GitGutter: {{{ + +hi! link GitGutterAdd deusGreenSign +hi! link GitGutterChange deusAquaSign +hi! link GitGutterDelete deusRedSign +hi! link GitGutterChangeDelete deusAquaSign + +" }}} +" GitCommit: "{{{ + +hi! link gitcommitSelectedFile deusGreen +hi! link gitcommitDiscardedFile deusRed + +" }}} +" Signify: {{{ + +hi! link SignifySignAdd deusGreenSign +hi! link SignifySignChange deusAquaSign +hi! link SignifySignDelete deusRedSign + +" }}} +" Syntastic: {{{ + +call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) +call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) + +hi! link SyntasticErrorSign deusRedSign +hi! link SyntasticWarningSign deusYellowSign + +" }}} +" Signature: {{{ +hi! link SignatureMarkText deusBlueSign +hi! link SignatureMarkerText deusPurpleSign + +" }}} +" ShowMarks: {{{ + +hi! link ShowMarksHLl deusBlueSign +hi! link ShowMarksHLu deusBlueSign +hi! link ShowMarksHLo deusBlueSign +hi! link ShowMarksHLm deusBlueSign + +" }}} +" CtrlP: {{{ + +hi! link CtrlPMatch deusYellow +hi! link CtrlPNoEntries deusRed +hi! link CtrlPPrtBase deusBg2 +hi! link CtrlPPrtCursor deusBlue +hi! link CtrlPLinePre deusBg2 + +call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold) +call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold) +call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold) + +" }}} +" Startify: {{{ + +hi! link StartifyBracket deusFg3 +hi! link StartifyFile deusFg0 +hi! link StartifyNumber deusBlue +hi! link StartifyPath deusGray +hi! link StartifySlash deusGray +hi! link StartifySection deusYellow +hi! link StartifySpecial deusBg2 +hi! link StartifyHeader deusOrange +hi! link StartifyFooter deusBg2 + +" }}} +" Vimshell: {{{ + +let g:vimshell_escape_colors = [ + \ s:bg4[0], s:red[0], s:green[0], s:yellow[0], + \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0], + \ s:bg0[0], s:red[0], s:green[0], s:orange[0], + \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0] + \ ] + +" }}} +" BufTabLine: {{{ + +call s:HL('BufTabLineCurrent', s:bg0, s:fg4) +call s:HL('BufTabLineActive', s:fg4, s:bg2) +call s:HL('BufTabLineHidden', s:bg4, s:bg1) +call s:HL('BufTabLineFill', s:bg0, s:bg0) + +" }}} + +" Filetype specific ----------------------------------------------------------- +" Diff: {{{ + +hi! link diffAdded deusGreen +hi! link diffRemoved deusRed +hi! link diffChanged deusAqua + +hi! link diffFile deusOrange +hi! link diffNewFile deusYellow + +hi! link diffLine deusBlue + +" }}} +" Html: {{{ + +hi! link htmlTag deusBlue +hi! link htmlEndTag deusBlue + +hi! link htmlTagName deusAquaBold +hi! link htmlArg deusAqua + +hi! link htmlScriptTag deusPurple +hi! link htmlTagN deusFg1 +hi! link htmlSpecialTagName deusAquaBold + +call s:HL('htmlLink', s:fg4, s:none, s:underline) + +hi! link htmlSpecialChar deusOrange + +call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) +call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) +call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) + +call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) +call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) +call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) + +" }}} +" Xml: {{{ + +hi! link xmlTag deusBlue +hi! link xmlEndTag deusBlue +hi! link xmlTagName deusBlue +hi! link xmlEqual deusBlue +hi! link docbkKeyword deusAquaBold + +hi! link xmlDocTypeDecl deusGray +hi! link xmlDocTypeKeyword deusPurple +hi! link xmlCdataStart deusGray +hi! link xmlCdataCdata deusPurple +hi! link dtdFunction deusGray +hi! link dtdTagName deusPurple + +hi! link xmlAttrib deusAqua +hi! link xmlProcessingDelim deusGray +hi! link dtdParamEntityPunct deusGray +hi! link dtdParamEntityDPunct deusGray +hi! link xmlAttribPunct deusGray + +hi! link xmlEntity deusOrange +hi! link xmlEntityPunct deusOrange +" }}} +" Vim: {{{ + +call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) + +hi! link vimNotation deusOrange +hi! link vimBracket deusOrange +hi! link vimMapModKey deusOrange +hi! link vimFuncSID deusFg3 +hi! link vimSetSep deusFg3 +hi! link vimSep deusFg3 +hi! link vimContinue deusFg3 + +" }}} +" Clojure: {{{ + +hi! link clojureKeyword deusBlue +hi! link clojureCond deusOrange +hi! link clojureSpecial deusOrange +hi! link clojureDefine deusOrange + +hi! link clojureFunc deusYellow +hi! link clojureRepeat deusYellow +hi! link clojureCharacter deusAqua +hi! link clojureStringEscape deusAqua +hi! link clojureException deusRed + +hi! link clojureRegexp deusAqua +hi! link clojureRegexpEscape deusAqua +call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) +hi! link clojureRegexpMod clojureRegexpCharClass +hi! link clojureRegexpQuantifier clojureRegexpCharClass + +hi! link clojureParen deusFg3 +hi! link clojureAnonArg deusYellow +hi! link clojureVariable deusBlue +hi! link clojureMacro deusOrange + +hi! link clojureMeta deusYellow +hi! link clojureDeref deusYellow +hi! link clojureQuote deusYellow +hi! link clojureUnquote deusYellow + +" }}} +" C: {{{ + +hi! link cOperator deusPurple +hi! link cStructure deusOrange + +" }}} +" Python: {{{ + +hi! link pythonBuiltin deusOrange +hi! link pythonBuiltinObj deusOrange +hi! link pythonBuiltinFunc deusOrange +hi! link pythonFunction deusAqua +hi! link pythonDecorator deusRed +hi! link pythonInclude deusBlue +hi! link pythonImport deusBlue +hi! link pythonRun deusBlue +hi! link pythonCoding deusBlue +hi! link pythonOperator deusRed +hi! link pythonExceptions deusPurple +hi! link pythonBoolean deusPurple +hi! link pythonDot deusFg3 + +" }}} +" CSS: {{{ + +hi! link cssBraces deusBlue +hi! link cssFunctionName deusYellow +hi! link cssIdentifier deusOrange +hi! link cssClassName deusGreen +hi! link cssColor deusBlue +hi! link cssSelectorOp deusBlue +hi! link cssSelectorOp2 deusBlue +hi! link cssImportant deusGreen +hi! link cssVendor deusFg1 + +hi! link cssTextProp deusAqua +hi! link cssAnimationProp deusAqua +hi! link cssUIProp deusYellow +hi! link cssTransformProp deusAqua +hi! link cssTransitionProp deusAqua +hi! link cssPrintProp deusAqua +hi! link cssPositioningProp deusYellow +hi! link cssBoxProp deusAqua +hi! link cssFontDescriptorProp deusAqua +hi! link cssFlexibleBoxProp deusAqua +hi! link cssBorderOutlineProp deusAqua +hi! link cssBackgroundProp deusAqua +hi! link cssMarginProp deusAqua +hi! link cssListProp deusAqua +hi! link cssTableProp deusAqua +hi! link cssFontProp deusAqua +hi! link cssPaddingProp deusAqua +hi! link cssDimensionProp deusAqua +hi! link cssRenderProp deusAqua +hi! link cssColorProp deusAqua +hi! link cssGeneratedContentProp deusAqua + +" }}} +" JavaScript: {{{ + +hi! link javaScriptBraces deusFg1 +hi! link javaScriptFunction deusAqua +hi! link javaScriptIdentifier deusRed +hi! link javaScriptMember deusBlue +hi! link javaScriptNumber deusPurple +hi! link javaScriptNull deusPurple +hi! link javaScriptParens deusFg3 + +" }}} +" YAJS: {{{ + +hi! link javascriptImport deusAqua +hi! link javascriptExport deusAqua +hi! link javascriptClassKeyword deusAqua +hi! link javascriptClassExtends deusAqua +hi! link javascriptDefault deusAqua + +hi! link javascriptClassName deusYellow +hi! link javascriptClassSuperName deusYellow +hi! link javascriptGlobal deusYellow + +hi! link javascriptEndColons deusFg1 +hi! link javascriptFuncArg deusFg1 +hi! link javascriptGlobalMethod deusFg1 +hi! link javascriptNodeGlobal deusFg1 + +" hi! link javascriptVariable deusOrange +hi! link javascriptVariable deusPurple +" hi! link javascriptIdentifier deusOrange +" hi! link javascriptClassSuper deusOrange +hi! link javascriptIdentifier deusOrange +hi! link javascriptClassSuper deusOrange + +" hi! link javascriptFuncKeyword deusOrange +" hi! link javascriptAsyncFunc deusOrange +hi! link javascriptFuncKeyword deusAqua +hi! link javascriptAsyncFunc deusAqua +hi! link javascriptClassStatic deusOrange + +hi! link javascriptOperator deusRed +hi! link javascriptForOperator deusRed +hi! link javascriptYield deusRed +hi! link javascriptExceptions deusRed +hi! link javascriptMessage deusRed + +hi! link javascriptTemplateSB deusAqua +hi! link javascriptTemplateSubstitution deusFg1 + +" hi! link javascriptLabel deusBlue +" hi! link javascriptObjectLabel deusBlue +" hi! link javascriptPropertyName deusBlue +hi! link javascriptLabel deusFg1 +hi! link javascriptObjectLabel deusFg1 +hi! link javascriptPropertyName deusFg1 + +hi! link javascriptLogicSymbols deusFg1 +hi! link javascriptArrowFunc deusFg1 + +hi! link javascriptDocParamName deusFg4 +hi! link javascriptDocTags deusFg4 +hi! link javascriptDocNotation deusFg4 +hi! link javascriptDocParamType deusFg4 +hi! link javascriptDocNamedParamType deusFg4 + +" }}} +" CoffeeScript: {{{ + +hi! link coffeeExtendedOp deusFg3 +hi! link coffeeSpecialOp deusFg3 +hi! link coffeeCurly deusOrange +hi! link coffeeParen deusFg3 +hi! link coffeeBracket deusOrange + +" }}} +" Ruby: {{{ + +hi! link rubyStringDelimiter deusGreen +hi! link rubyInterpolationDelimiter deusAqua + +" }}} +" ObjectiveC: {{{ + +hi! link objcTypeModifier deusRed +hi! link objcDirective deusBlue + +" }}} +" Go: {{{ + +hi! link goDirective deusAqua +hi! link goConstants deusPurple +hi! link goDeclaration deusRed +hi! link goDeclType deusBlue +hi! link goBuiltins deusOrange + +" }}} +" Lua: {{{ + +hi! link luaIn deusRed +hi! link luaFunction deusAqua +hi! link luaTable deusOrange + +" }}} +" MoonScript: {{{ + +hi! link moonSpecialOp deusFg3 +hi! link moonExtendedOp deusFg3 +hi! link moonFunction deusFg3 +hi! link moonObject deusYellow + +" }}} +" Java: {{{ + +hi! link javaAnnotation deusBlue +hi! link javaDocTags deusAqua +hi! link javaCommentTitle vimCommentTitle +hi! link javaParen deusFg3 +hi! link javaParen1 deusFg3 +hi! link javaParen2 deusFg3 +hi! link javaParen3 deusFg3 +hi! link javaParen4 deusFg3 +hi! link javaParen5 deusFg3 +hi! link javaOperator deusOrange + +hi! link javaVarArg deusGreen + +" }}} +" Elixir: {{{ + +hi! link elixirDocString Comment + +hi! link elixirStringDelimiter deusGreen +hi! link elixirInterpolationDelimiter deusAqua + +" }}} +" Scala: {{{ + +" NB: scala vim syntax file is kinda horrible +hi! link scalaNameDefinition deusFg1 +hi! link scalaCaseFollowing deusFg1 +hi! link scalaCapitalWord deusFg1 +hi! link scalaTypeExtension deusFg1 + +hi! link scalaKeyword deusRed +hi! link scalaKeywordModifier deusRed + +hi! link scalaSpecial deusAqua +hi! link scalaOperator deusFg1 + +hi! link scalaTypeDeclaration deusYellow +hi! link scalaTypeTypePostDeclaration deusYellow + +hi! link scalaInstanceDeclaration deusFg1 +hi! link scalaInterpolation deusAqua + +" }}} +" Markdown: {{{ + +call s:HL('markdownItalic', s:fg3, s:none, s:italic) + +hi! link markdownH1 deusGreenBold +hi! link markdownH2 deusGreenBold +hi! link markdownH3 deusYellowBold +hi! link markdownH4 deusYellowBold +hi! link markdownH5 deusYellow +hi! link markdownH6 deusYellow + +hi! link markdownCode deusAqua +hi! link markdownCodeBlock deusAqua +hi! link markdownCodeDelimiter deusAqua + +hi! link markdownBlockquote deusGray +hi! link markdownListMarker deusGray +hi! link markdownOrderedListMarker deusGray +hi! link markdownRule deusGray +hi! link markdownHeadingRule deusGray + +hi! link markdownUrlDelimiter deusFg3 +hi! link markdownLinkDelimiter deusFg3 +hi! link markdownLinkTextDelimiter deusFg3 + +hi! link markdownHeadingDelimiter deusOrange +hi! link markdownUrl deusPurple +hi! link markdownUrlTitleDelimiter deusGreen + +call s:HL('markdownLinkText', s:gray, s:none, s:underline) +hi! link markdownIdDeclaration markdownLinkText + +" }}} +" Haskell: {{{ + +" hi! link haskellType deusYellow +" hi! link haskellOperators deusOrange +" hi! link haskellConditional deusAqua +" hi! link haskellLet deusOrange +" +hi! link haskellType deusFg1 +hi! link haskellIdentifier deusFg1 +hi! link haskellSeparator deusFg1 +hi! link haskellDelimiter deusFg4 +hi! link haskellOperators deusBlue +" +hi! link haskellBacktick deusOrange +hi! link haskellStatement deusOrange +hi! link haskellConditional deusOrange + +hi! link haskellLet deusAqua +hi! link haskellDefault deusAqua +hi! link haskellWhere deusAqua +hi! link haskellBottom deusAqua +hi! link haskellBlockKeywords deusAqua +hi! link haskellImportKeywords deusAqua +hi! link haskellDeclKeyword deusAqua +hi! link haskellDeriving deusAqua +hi! link haskellAssocType deusAqua + +hi! link haskellNumber deusPurple +hi! link haskellPragma deusPurple + +hi! link haskellString deusGreen +hi! link haskellChar deusGreen + +" }}} +" Json: {{{ + +hi! link jsonKeyword deusGreen +hi! link jsonQuote deusGreen +hi! link jsonBraces deusFg1 +hi! link jsonString deusFg1 + +" }}} + + +" Functions ------------------------------------------------------------------- +" Search Highlighting Cursor {{{ + +function! DeusHlsShowCursor() + call s:HL('Cursor', s:bg0, s:hls_cursor) +endfunction + +function! DeusHlsHideCursor() + call s:HL('Cursor', s:none, s:none, s:inverse) +endfunction + +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/vim/colors/newproggie.vim b/vim/colors/newproggie.vim deleted file mode 100644 index f836127..0000000 --- a/vim/colors/newproggie.vim +++ /dev/null @@ -1,96 +0,0 @@ -" ----------------------------------------------------------------------------- -" Vim color file -" Maintainer: Kai Wolf -" Last Change: 2016 August -" License: Beer Ware -" ----------------------------------------------------------------------------- - -" Reset Highlighting -hi clear -if exists("syntax_on") - syntax reset -endif - -" General settings -set background=dark -let g:colors_name="newproggie" - -" Editor settings -hi Normal cterm=none ctermbg=0 ctermfg=7 gui=none guibg=#1E1E1E guifg=#B0B0B0 -hi CursorLine cterm=bold ctermbg=0 ctermfg=15 gui=bold guibg=#1E1E1E guifg=#F7F7F7 -hi Cursor cterm=none ctermbg=1 ctermfg=0 gui=none guibg=#A94744 guifg=#1E1E1E -hi LineNr cterm=none ctermbg=0 ctermfg=7 gui=none guibg=#1E1E1E guifg=#B0B0B0 -hi CursorLineNR cterm=none ctermbg=1 ctermfg=0 gui=none guibg=#A94744 guifg=#1E1E1E - -" Number column -hi CursorColumn cterm=none ctermbg=1 ctermfg=0 gui=none guibg=#A94744 guifg=#1E1E1E -hi FoldColumn cterm=none ctermbg=0 ctermfg=2 gui=none guibg=#1E1E1E guifg=#608B4E -hi Folded cterm=none ctermbg=0 ctermfg=2 gui=none guibg=#1E1E1E guifg=#608B4E - -" Window / Tab delimiters -hi TabLine cterm=none ctermbg=0 ctermfg=3 gui=none guibg=#1E1E1E guifg=#D69831 -hi TabLineFill cterm=none ctermbg=0 ctermfg=3 gui=none guibg=#1E1E1E guifg=#D69831 -hi TabLineSel cterm=none ctermbg=0 ctermfg=3 gui=none guibg=#1E1E1E guifg=#D69831 -hi OverLength cterm=none ctermbg=0 ctermfg=1 gui=none guibg=#1E1E1E guifg=#A94744 - -" File navigation / Searching -hi Directory cterm=none ctermbg=0 ctermfg=4 gui=none guibg=#1E1E1E guifg=#569CD6 -hi Search cterm=none ctermbg=6 ctermfg=15 gui=none guibg=#218693 guifg=#F7F7F7 -hi IncSearch cterm=none ctermbg=3 ctermfg=8 gui=none guibg=#D69831 guifg=#3C3C3C - -" Prompt / Status -hi StatusLine cterm=none ctermbg=8 ctermfg=15 gui=none guibg=#3C3C3C guifg=#F7F7F7 -hi StatusLineNC cterm=none ctermbg=15 ctermfg=8 gui=none guibg=#F7F7F7 guifg=#3C3C3C -hi Title cterm=none ctermbg=0 ctermfg=4 gui=none guibg=#1E1E1E guifg=#569CD6 -hi ModeMsg cterm=bold ctermbg=0 ctermfg=10 gui=bold guibg=#1E1E1E guifg=#8FBF7F - -" Visual aid -hi MatchParen cterm=bold ctermbg=0 ctermfg=15 gui=none guibg=#1E1E1E guifg=#F7F7F7 -hi Visual cterm=none ctermbg=8 ctermfg=15 gui=none guibg=#3C3C3C guifg=#F7F7F7 -hi NonText cterm=none ctermbg=0 ctermfg=0 gui=none guibg=#1E1E1E guifg=#1E1E1E -hi Error cterm=none ctermbg=1 ctermfg=7 gui=bold guibg=#1E1E1E guifg=#A94744 -hi ErrorMsg cterm=none ctermbg=1 ctermfg=7 gui=bold guibg=#1E1E1E guifg=#A94744 -hi Todo cterm=none ctermbg=1 ctermfg=3 gui=bold guibg=#1E1E1E guifg=#D69831 -hi Repeat cterm=bold ctermbg=0 ctermfg=1 gui=bold guibg=#1E1E1E guifg=#A94744 - -" Completion menu -hi Pmenu cterm=none ctermbg=8 ctermfg=7 gui=none guibg=#3C3C3C guifg=#B0B0B0 -hi PmenuSel cterm=none ctermbg=4 ctermfg=15 gui=none guibg=#569CD6 guifg=#F7F7F7 -hi PmenuSbar cterm=none ctermbg=4 ctermfg=15 gui=none guibg=#569CD6 guifg=#F7F7F7 - -" Spelling -hi SpellBad cterm=underline ctermbg=0 ctermfg=9 gui=none guibg=#1E1E1E guifg=#E09690 -hi SpellCap cterm=underline ctermbg=0 ctermfg=9 gui=none guibg=#1E1E1E guifg=#E09690 -hi SpellRare cterm=underline ctermbg=0 ctermfg=9 gui=none guibg=#1E1E1E guifg=#E09690 -hi SpellLocal cterm=underline ctermbg=0 ctermfg=9 gui=none guibg=#1E1E1E guifg=#E09690 - -" Diff -hi DiffAdd cterm=none ctermbg=2 ctermfg=10 gui=none guibg=#608B4E guifg=#B5F2A1 -hi DiffChange cterm=none ctermbg=4 ctermfg=12 gui=none guibg=#569CD6 guifg=#CEEDFE -hi DiffDelete cterm=none ctermbg=1 ctermfg=9 gui=none guibg=#A94744 guifg=#FFBDB8 -hi DiffText cterm=none ctermbg=3 ctermfg=11 gui=none guibg=#D69831 guifg=#FFD887 - -" General language constructs -hi Statement cterm=none ctermbg=0 ctermfg=4 gui=none guibg=#1E1E1E guifg=#569CD6 -hi Keyword cterm=none ctermbg=0 ctermfg=4 gui=none guibg=#1E1E1E guifg=#569CD6 -hi Comment cterm=none ctermbg=0 ctermfg=2 gui=italic guibg=#1E1E1E guifg=#608B4E -hi Special cterm=none ctermbg=0 ctermfg=4 gui=none guibg=#1E1E1E guifg=#569CD6 -hi Delimiter cterm=none ctermbg=0 ctermfg=4 gui=none guibg=#1E1E1E guifg=#569CD6 - -" C syntax highlighting -hi PreProc cterm=none ctermbg=0 ctermfg=5 gui=none guibg=#1E1E1E guifg=#B06386 -hi Include cterm=none ctermbg=0 ctermfg=5 gui=none guibg=#1E1E1E guifg=#B06386 -hi Define cterm=none ctermbg=0 ctermfg=5 gui=none guibg=#1E1E1E guifg=#B06386 -hi Macro cterm=none ctermbg=0 ctermfg=5 gui=none guibg=#1E1E1E guifg=#B06386 -hi PreCondit cterm=none ctermbg=0 ctermfg=5 gui=none guibg=#1E1E1E guifg=#B06386 -hi Type cterm=none ctermbg=0 ctermfg=4 gui=none guibg=#1E1E1E guifg=#569CD6 -hi String cterm=none ctermbg=0 ctermfg=3 gui=none guibg=#1E1E1E guifg=#D69831 -hi Method cterm=none ctermbg=0 ctermfg=11 gui=none guibg=#1E1E1E guifg=#F8BC41 -hi Function cterm=none ctermbg=0 ctermfg=11 gui=none guibg=#1E1E1E guifg=#F8BC41 -hi Symbol cterm=none ctermbg=0 ctermfg=4 gui=none guibg=#1E1E1E guifg=#569CD6 -hi Structure cterm=none ctermbg=0 ctermfg=4 gui=none guibg=#1E1E1E guifg=#569CD6 -hi StorageClass cterm=none ctermbg=0 ctermfg=4 gui=none guibg=#1E1E1E guifg=#569CD6 -hi Typedef cterm=none ctermbg=0 ctermfg=4 gui=none guibg=#1E1E1E guifg=#569CD6 -hi Identifier cterm=none ctermbg=0 ctermfg=4 gui=none guibg=#1E1E1E guifg=#569CD6 -hi Constant cterm=none ctermbg=0 ctermfg=4 gui=none guibg=#1E1E1E guifg=#569CD6 -hi Number cterm=none ctermbg=0 ctermfg=2 gui=none guibg=#1E1E1E guifg=#608B4E diff --git a/vim/colors/one.vim b/vim/colors/one.vim new file mode 100644 index 0000000..927d3df --- /dev/null +++ b/vim/colors/one.vim @@ -0,0 +1,833 @@ +" Name: one vim colorscheme +" Author: Ramzi Akremi +" License: MIT +" Version: 1.1.1-pre + +" Global setup =============================================================={{{ + +if exists("*X") + delf X + 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 + +if has('gui_running') || &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 X(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 + + "}}} + + + " Color definition --------------------------------------------------------{{{ + if &background ==# 'dark' + let s:mono_1 = 'abb2bf' + let s:mono_2 = '828997' + let s:mono_3 = '5c6370' + let s:mono_4 = '4b5263' + + let s:hue_1 = '56b6c2' " cyan + let s:hue_2 = '61afef' " blue + let s:hue_3 = 'c678dd' " purple + let s:hue_4 = '98c379' " green + + let s:hue_5 = 'e06c75' " red 1 + let s:hue_5_2 = 'be5046' " red 2 + + let s:hue_6 = 'd19a66' " orange 1 + let s:hue_6_2 = 'e5c07b' " orange 2 + + let s:syntax_bg = '282c34' + let s:syntax_gutter = '636d83' + let s:syntax_cursor = '2c323c' + + let s:syntax_accent = '528bff' + + let s:vertsplit = '181a1f' + let s:special_grey = '3b4048' + let s:visual_grey = '3e4452' + let s:pmenu = '333841' + else + let s:mono_1 = '494b53' + let s:mono_2 = '696c77' + let s:mono_3 = 'a0a1a7' + let s:mono_4 = 'c2c2c3' + + let s:hue_1 = '0184bc' " cyan + let s:hue_2 = '4078f2' " blue + let s:hue_3 = 'a626a4' " purple + let s:hue_4 = '50a14f' " green + + let s:hue_5 = 'e45649' " red 1 + let s:hue_5_2 = 'ca1243' " red 2 + + let s:hue_6 = '986801' " orange 1 + let s:hue_6_2 = 'c18401' " orange 2 + + let s:syntax_bg = 'fafafa' + let s:syntax_gutter = '9e9e9e' + let s:syntax_cursor = 'f0f0f0' + + let s:syntax_accent = '526fff' + let s:syntax_accent_2 = '0083be' + + let s:vertsplit = 'e7e9e1' + let s:special_grey = 'd3d3d3' + let s:visual_grey = 'd0d0d0' + let s:pmenu = 'dfdfdf' + 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:vertsplit, '', 'none') + call X('Folded', s:syntax_bg, s:syntax_fold_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', '', '', '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_1, s:syntax_bg, '') + 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, '', '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, '', '') + " }}} + + " 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, '', '') + " }}} + + " 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, '', '') + " 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('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, '', '') + " }}} + + " 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, '', '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, '', '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, '', '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, '', '') + " }}} + + " Neovim Terminal Colors --------------------------------------------------{{{ + let g:terminal_color_0 = "#353a44" + let g:terminal_color_8 = "#353a44" + let g:terminal_color_1 = "#e88388" + let g:terminal_color_9 = "#e88388" + let g:terminal_color_2 = "#a7cc8c" + let g:terminal_color_10 = "#a7cc8c" + let g:terminal_color_3 = "#ebca8d" + let g:terminal_color_11 = "#ebca8d" + let g:terminal_color_4 = "#72bef2" + let g:terminal_color_12 = "#72bef2" + let g:terminal_color_5 = "#d291e4" + let g:terminal_color_13 = "#d291e4" + let g:terminal_color_6 = "#65c2cd" + let g:terminal_color_14 = "#65c2cd" + let g:terminal_color_7 = "#e3e5e9" + let g:terminal_color_15 = "#e3e5e9" + "}}} + + " ALE (Asynchronous Lint Engine) highlighting -----------------------------{{{ + call X('ALEWarningSign', s:hue_6_2, '', '') + call X('ALEErrorSign', s:hue_5, '', '') + " }}} + + " Delete functions =========================================================={{{ + " delf X + " 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 X(a:group, a:fg, a:bg, a:attr) + endfunction + "}}} + +" vim: set fdl=0 fdm=marker: diff --git a/vim/colors/petrel.vim b/vim/colors/petrel.vim new file mode 100644 index 0000000..0d50c3f --- /dev/null +++ b/vim/colors/petrel.vim @@ -0,0 +1,327 @@ +hi clear + +if exists('syntax_on') + syntax reset +endif + +let colors_name = 'petrel' + +hi Normal ctermfg=12 ctermbg=8 guifg=#787e82 guibg=#0b141a gui=NONE + +set background=dark + +hi ColorColumn ctermbg=0 guibg=#1d252b gui=NONE +hi Comment ctermfg=10 guifg=#61707a gui=italic +hi ConId ctermfg=3 guifg=#947b38 gui=NONE +hi Conceal ctermfg=4 guifg=#4384b0 gui=NONE +hi Constant ctermfg=6 guifg=#35898c gui=NONE +hi Cursor ctermfg=8 ctermbg=10 guifg=#0b141a guibg=#61707a gui=NONE +hi CursorColumn ctermbg=0 guibg=#1d252b gui=NONE +hi CursorLine cterm=NONE ctermbg=0 guibg=#1d252b guisp=#808487 gui=NONE +hi CursorLineNr cterm=NONE ctermfg=12 guifg=#787e82 gui=bold +hi DiffAdd ctermfg=2 ctermbg=0 guifg=#3f8f36 guibg=#1d252b guisp=#3f8f36 gui=NONE +hi DiffChange ctermfg=3 ctermbg=0 guifg=#947b38 guibg=#1d252b guisp=#947b38 gui=NONE +hi DiffDelete ctermfg=1 ctermbg=0 guifg=#ba656d guibg=#1d252b gui=NONE +hi DiffText ctermfg=4 ctermbg=0 guifg=#4384b0 guibg=#1d252b guisp=#4384b0 gui=NONE +hi Directory ctermfg=4 guifg=#4384b0 gui=NONE +hi Error cterm=NONE ctermfg=1 ctermbg=NONE guifg=#ba656d guibg=#0b141a gui=NONE +hi ErrorMsg cterm=reverse ctermfg=1 ctermbg=NONE guifg=#ba656d guibg=NONE gui=reverse +hi FoldColumn ctermfg=12 ctermbg=0 guifg=#787e82 guibg=#1d252b gui=NONE +hi Folded cterm=NONE,underline ctermfg=12 ctermbg=0 guifg=#787e82 guibg=#1d252b guisp=#0b141a gui=NONE +hi HelpExample ctermfg=14 guifg=#808487 gui=NONE +hi Identifier ctermfg=4 guifg=#4384b0 gui=NONE +hi IncSearch cterm=standout ctermfg=9 guifg=#b06d43 gui=standout +hi LineNr ctermfg=10 ctermbg=0 guifg=#61707a guibg=#1d252b gui=NONE +hi MatchParen cterm=NONE ctermfg=1 ctermbg=10 guifg=#ba656d guibg=#61707a gui=NONE +hi ModeMsg ctermfg=4 guifg=#4384b0 gui=NONE +hi MoreMsg ctermfg=4 guifg=#4384b0 gui=NONE +hi NonText cterm=NONE ctermfg=11 guifg=#6d767d gui=NONE +hi Pmenu cterm=reverse ctermfg=12 ctermbg=0 guifg=#787e82 guibg=#1d252b gui=reverse +hi PmenuSbar cterm=reverse ctermfg=7 ctermbg=12 guifg=#e6eaed guibg=#787e82 gui=reverse +hi PmenuSel cterm=reverse ctermfg=10 ctermbg=7 guifg=#61707a guibg=#e6eaed gui=reverse +hi PmenuThumb cterm=reverse ctermfg=12 ctermbg=8 guifg=#787e82 guibg=#0b141a gui=reverse +hi PreProc cterm=NONE ctermfg=1 guifg=#b06d43 gui=NONE +hi Question cterm=NONE ctermfg=6 guifg=#35898c gui=NONE +hi Search cterm=reverse ctermfg=3 ctermbg=NONE guifg=#947b38 guibg=NONE gui=reverse +hi SignColumn cterm=NONE ctermfg=12 ctermbg=NONE guifg=#787e82 guibg=NONE gui=NONE +hi Special cterm=NONE ctermfg=1 guifg=#ba656d gui=NONE +hi SpecialKey cterm=NONE ctermfg=11 ctermbg=0 guifg=#6d767d guibg=#1d252b gui=NONE +hi SpellBad cterm=undercurl ctermfg=NONE ctermbg=NONE guisp=#ba656d gui=undercurl +hi SpellCap cterm=undercurl ctermfg=NONE ctermbg=NONE guisp=#8e6fbd gui=undercurl +hi SpellLocal cterm=undercurl ctermfg=NONE ctermbg=NONE guisp=#947b38 gui=undercurl +hi SpellRare cterm=undercurl ctermfg=NONE ctermbg=NONE guisp=#35898c gui=undercurl +hi Statement ctermfg=2 guifg=#3f8f36 gui=NONE +hi StatusLine cterm=reverse ctermfg=10 ctermbg=8 guifg=#61707a guibg=#0b141a gui=reverse +hi StatusLineNC cterm=reverse ctermfg=11 ctermbg=0 guifg=#6d767d guibg=#1d252b gui=reverse +hi TabLine cterm=underline ctermfg=12 ctermbg=0 guifg=#787e82 guibg=#1d252b guisp=#787e82 gui=underline +hi TabLineFill cterm=underline ctermfg=12 ctermbg=0 guifg=#787e82 guibg=#1d252b guisp=#787e82 gui=underline +hi TabLineSel cterm=underline,reverse ctermfg=10 ctermbg=7 guifg=#61707a guibg=#e6eaed guisp=#787e82 gui=underline,reverse +hi Title cterm=NONE ctermfg=9 guifg=#b06d43 gui=NONE +hi Todo cterm=NONE ctermfg=5 guifg=#b06886 guibg=NONE gui=bold +hi Type ctermfg=3 guifg=#947b38 gui=NONE +hi Underlined ctermfg=13 guifg=#8e6fbd gui=NONE +hi VarId ctermfg=4 guifg=#4384b0 gui=NONE +hi VertSplit ctermfg=11 ctermbg=11 guifg=#6d767d guibg=#6d767d gui=NONE +hi Visual cterm=reverse ctermfg=10 ctermbg=8 guifg=#61707a guibg=#0b141a gui=reverse +hi VisualNOS cterm=reverse ctermbg=0 ctermbg=NONE guibg=#1d252b guifg=NONE gui=reverse +hi WarningMsg cterm=NONE ctermfg=9 guifg=#ba656d gui=NONE +hi WildMenu cterm=reverse ctermfg=7 ctermbg=0 guifg=#e6eaed guibg=#1d252b gui=reverse + +hi cPreCondit ctermfg=9 guifg=#b06d43 gui=NONE + +hi gitcommitBranch cterm=NONE ctermfg=5 guifg=#b06886 gui=NONE +hi gitcommitComment ctermfg=10 guifg=#61707a gui=italic +hi gitcommitDiscardedFile cterm=NONE ctermfg=1 guifg=#ba656d gui=NONE +hi gitcommitDiscardedType ctermfg=1 guifg=#ba656d gui=NONE +hi gitcommitFile cterm=NONE ctermfg=12 guifg=#787e82 gui=NONE +hi gitcommitHeader ctermfg=10 guifg=#61707a gui=NONE +hi gitcommitOnBranch cterm=NONE ctermfg=10 guifg=#61707a gui=NONE +hi gitcommitSelectedFile cterm=NONE ctermfg=2 guifg=#3f8f36 gui=NONE +hi gitcommitSelectedType ctermfg=2 guifg=#3f8f36 gui=NONE +hi gitcommitUnmerged cterm=NONE ctermfg=2 guifg=#3f8f36 gui=NONE +hi gitcommitUnmergedFile cterm=NONE ctermfg=3 guifg=#947b38 gui=NONE +hi gitcommitUntrackedFile cterm=NONE ctermfg=6 guifg=#35898c gui=NONE + +hi helpHyperTextEntry ctermfg=2 guifg=#3f8f36 gui=NONE +hi helpHyperTextJump cterm=underline ctermfg=4 guifg=#4384b0 gui=underline +hi helpNote ctermfg=5 guifg=#b06886 gui=NONE +hi helpOption ctermfg=6 guifg=#35898c gui=NONE +hi helpVim ctermfg=5 guifg=#b06886 gui=NONE + +hi hsImport ctermfg=5 guifg=#b06886 gui=NONE +hi hsImportLabel ctermfg=6 guifg=#35898c gui=NONE +hi hsModuleName cterm=underline ctermfg=2 guifg=#3f8f36 gui=underline +hi hsNiceOperator ctermfg=6 guifg=#35898c gui=NONE +hi hsStatement ctermfg=6 guifg=#35898c gui=NONE +hi hsString ctermfg=11 guifg=#6d767d gui=NONE +hi hsStructure ctermfg=6 guifg=#35898c gui=NONE +hi hsType ctermfg=3 guifg=#947b38 gui=NONE +hi hsTypedef ctermfg=6 guifg=#35898c gui=NONE +hi hsVarSym ctermfg=6 guifg=#35898c gui=NONE +hi hs_DeclareFunction ctermfg=9 guifg=#b06d43 gui=NONE +hi hs_OpFunctionName ctermfg=3 guifg=#947b38 gui=NONE +hi hs_hlFunctionName ctermfg=4 guifg=#4384b0 gui=NONE + +hi htmlArg ctermfg=11 guifg=#6d767d gui=NONE +hi htmlEndTag ctermfg=10 guifg=#61707a gui=NONE +hi htmlSpecialTagName ctermfg=4 guifg=#4384b0 gui=italic +hi htmlTag ctermfg=10 guifg=#61707a gui=NONE +hi htmlTagN cterm=NONE ctermfg=14 guifg=#808487 gui=NONE +hi htmlTagName cterm=NONE ctermfg=4 guifg=#4384b0 gui=NONE + +hi javaScript ctermfg=3 guifg=#947b38 gui=NONE + +hi pandocBlockQuote ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocBlockQuoteLeader1 ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocBlockQuoteLeader2 ctermfg=6 guifg=#35898c gui=NONE +hi pandocBlockQuoteLeader3 ctermfg=3 guifg=#947b38 gui=NONE +hi pandocBlockQuoteLeader4 ctermfg=1 guifg=#ba656d gui=NONE +hi pandocBlockQuoteLeader5 ctermfg=12 guifg=#787e82 gui=NONE +hi pandocBlockQuoteLeader6 ctermfg=10 guifg=#61707a gui=NONE +hi pandocCitation ctermfg=5 guifg=#b06886 gui=NONE +hi pandocCitationDelim ctermfg=5 guifg=#b06886 gui=NONE +hi pandocCitationID cterm=underline ctermfg=5 guifg=#b06886 gui=underline +hi pandocCitationRef ctermfg=5 guifg=#b06886 gui=NONE +hi pandocComment ctermfg=10 guifg=#61707a gui=italic +hi pandocDefinitionBlock ctermfg=13 guifg=#8e6fbd gui=NONE +hi pandocDefinitionIndctr cterm=NONE ctermfg=13 guifg=#8e6fbd gui=NONE +hi pandocDefinitionTerm cterm=standout ctermfg=13 guifg=#8e6fbd gui=standout +hi pandocEmphasis ctermfg=12 guifg=#787e82 gui=italic +hi pandocEmphasisDefinition ctermfg=13 guifg=#8e6fbd gui=italic +hi pandocEmphasisHeading cterm=NONE ctermfg=9 guifg=#b06d43 gui=NONE +hi pandocEmphasisNested cterm=NONE ctermfg=12 guifg=#787e82 gui=NONE +hi pandocEmphasisNestedDefinition cterm=NONE ctermfg=13 guifg=#8e6fbd gui=NONE +hi pandocEmphasisNestedHeading cterm=NONE ctermfg=9 guifg=#b06d43 gui=NONE +hi pandocEmphasisNestedTable cterm=NONE ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocEmphasisTable ctermfg=4 guifg=#4384b0 gui=italic +hi pandocEscapePair cterm=NONE ctermfg=1 guifg=#ba656d gui=NONE +hi pandocFootnote ctermfg=2 guifg=#3f8f36 gui=NONE +hi pandocFootnoteDefLink cterm=NONE ctermfg=2 guifg=#3f8f36 gui=NONE +hi pandocFootnoteInline cterm=NONE,underline ctermfg=2 guifg=#3f8f36 gui=NONE,underline +hi pandocFootnoteLink cterm=underline ctermfg=2 guifg=#3f8f36 gui=underline +hi pandocHeading cterm=NONE ctermfg=9 guifg=#b06d43 gui=NONE +hi pandocHeadingMarker cterm=NONE ctermfg=3 guifg=#947b38 gui=NONE +hi pandocImageCaption cterm=NONE,underline ctermfg=13 guifg=#8e6fbd gui=NONE,underline +hi pandocLinkDefinition cterm=underline ctermfg=6 guifg=#35898c guisp=#6d767d gui=underline +hi pandocLinkDefinitionID cterm=NONE ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocLinkDelim ctermfg=10 guifg=#61707a gui=NONE +hi pandocLinkLabel cterm=underline ctermfg=4 guifg=#4384b0 gui=underline +hi pandocLinkText cterm=NONE,underline ctermfg=4 guifg=#4384b0 gui=NONE,underline +hi pandocLinkTitle cterm=underline ctermfg=11 guifg=#6d767d gui=underline +hi pandocLinkTitleDelim cterm=underline ctermfg=10 guifg=#61707a guisp=#6d767d gui=underline +hi pandocLinkURL cterm=underline ctermfg=11 guifg=#6d767d gui=underline +hi pandocListMarker ctermfg=5 guifg=#b06886 gui=NONE +hi pandocListReference cterm=underline ctermfg=5 guifg=#b06886 gui=underline +hi pandocMetadata cterm=NONE ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocMetadataDelim ctermfg=10 guifg=#61707a gui=NONE +hi pandocMetadataKey ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocNonBreakingSpace cterm=reverse ctermfg=1 ctermbg=NONE guifg=#ba656d guibg=NONE gui=reverse +hi pandocRule cterm=NONE ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocRuleLine cterm=NONE ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocStrikeout cterm=reverse ctermfg=10 ctermbg=NONE guibg=NONE guifg=#61707a gui=reverse +hi pandocStrikeoutDefinition cterm=reverse ctermfg=13 ctermbg=NONE guibg=NONE guifg=#8e6fbd gui=reverse +hi pandocStrikeoutHeading cterm=reverse ctermfg=9 ctermbg=NONE guibg=NONE guifg=#b06d43 gui=reverse +hi pandocStrikeoutTable cterm=reverse ctermfg=4 ctermbg=NONE guibg=NONE guifg=#4384b0 gui=reverse +hi pandocStrongEmphasis cterm=NONE ctermfg=12 guifg=#787e82 gui=NONE +hi pandocStrongEmphasisDefinition cterm=NONE ctermfg=13 guifg=#8e6fbd gui=NONE +hi pandocStrongEmphasisEmphasis cterm=NONE ctermfg=12 guifg=#787e82 gui=NONE +hi pandocStrongEmphasisEmphasisDefinition cterm=NONE ctermfg=13 guifg=#8e6fbd gui=NONE +hi pandocStrongEmphasisEmphasisHeading cterm=NONE ctermfg=9 guifg=#b06d43 gui=NONE +hi pandocStrongEmphasisEmphasisTable cterm=NONE ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocStrongEmphasisHeading cterm=NONE ctermfg=9 guifg=#b06d43 gui=NONE +hi pandocStrongEmphasisNested cterm=NONE ctermfg=12 guifg=#787e82 gui=NONE +hi pandocStrongEmphasisNestedDefinition cterm=NONE ctermfg=13 guifg=#8e6fbd gui=NONE +hi pandocStrongEmphasisNestedHeading cterm=NONE ctermfg=9 guifg=#b06d43 gui=NONE +hi pandocStrongEmphasisNestedTable cterm=NONE ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocStrongEmphasisTable cterm=NONE ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocStyleDelim ctermfg=10 guifg=#61707a gui=NONE +hi pandocSubscript ctermfg=13 guifg=#8e6fbd gui=NONE +hi pandocSubscriptDefinition ctermfg=13 guifg=#8e6fbd gui=NONE +hi pandocSubscriptHeading cterm=NONE ctermfg=9 guifg=#b06d43 gui=NONE +hi pandocSubscriptTable ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocSuperscript ctermfg=13 guifg=#8e6fbd gui=NONE +hi pandocSuperscriptDefinition ctermfg=13 guifg=#8e6fbd gui=NONE +hi pandocSuperscriptHeading cterm=NONE ctermfg=9 guifg=#b06d43 gui=NONE +hi pandocSuperscriptTable ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocTable ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocTableStructure ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocTableZebraDark ctermfg=4 ctermbg=0 guifg=#4384b0 guibg=#1d252b gui=NONE +hi pandocTableZebraLight ctermfg=4 ctermbg=8 guifg=#4384b0 guibg=#0b141a gui=NONE +hi pandocTitleBlock ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocTitleBlockTitle cterm=NONE ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocTitleComment cterm=NONE ctermfg=4 guifg=#4384b0 gui=NONE +hi pandocVerbatimBlock ctermfg=3 guifg=#947b38 gui=NONE +hi pandocVerbatimInline ctermfg=3 guifg=#947b38 gui=NONE +hi pandocVerbatimInlineDefinition ctermfg=13 guifg=#8e6fbd gui=NONE +hi pandocVerbatimInlineHeading cterm=NONE ctermfg=9 guifg=#b06d43 gui=NONE +hi pandocVerbatimInlineTable ctermfg=4 guifg=#4384b0 gui=NONE + +hi perlHereDoc ctermfg=14 ctermbg=8 guifg=#808487 guibg=#0b141a gui=NONE +hi perlStatementFileDesc ctermfg=6 ctermbg=8 guifg=#35898c guibg=#0b141a gui=NONE +hi perlVarPlain ctermfg=3 ctermbg=8 guifg=#947b38 guibg=#0b141a gui=NONE + +hi rubyDefine cterm=NONE ctermfg=14 ctermbg=8 guifg=#808487 guibg=#0b141a gui=NONE + +hi texMathMatcher ctermfg=3 ctermbg=8 guifg=#947b38 guibg=#0b141a gui=NONE +hi texMathZoneX ctermfg=3 ctermbg=8 guifg=#947b38 guibg=#0b141a gui=NONE +hi texRefLabel ctermfg=3 ctermbg=8 guifg=#947b38 guibg=#0b141a gui=NONE +hi texStatement ctermfg=6 ctermbg=8 guifg=#35898c guibg=#0b141a gui=NONE + +hi vimCmdSep cterm=NONE ctermfg=4 guifg=#4384b0 gui=NONE +hi vimCommand ctermfg=3 guifg=#947b38 gui=NONE +hi vimCommentString ctermfg=13 guifg=#8e6fbd gui=NONE +hi vimGroup cterm=NONE,underline ctermfg=4 guifg=#4384b0 gui=NONE,underline +hi vimHiGroup ctermfg=4 guifg=#4384b0 gui=NONE +hi vimHiLink ctermfg=4 guifg=#4384b0 gui=NONE +hi vimIsCommand ctermfg=11 guifg=#6d767d gui=NONE +hi vimSynMtchOpt ctermfg=3 guifg=#947b38 gui=NONE +hi vimSynType ctermfg=6 guifg=#35898c gui=NONE + +hi link Boolean Constant +hi link Character Constant +hi link Conditional Statement +hi link Debug Special +hi link Define PreProc +hi link Delimiter Special +hi link Exception Statement +hi link Float Number +hi link Function Identifier +hi link HelpCommand Statement +hi link Include PreProc +hi link Keyword Statement +hi link Label Statement +hi link Macro PreProc +hi link Number Constant +hi link Operator Statement +hi link PreCondit PreProc +hi link Repeat Statement +hi link SpecialChar Special +hi link SpecialComment Special +hi link StorageClass Type +hi link String Constant +hi link Structure Type +hi link SyntasticError SpellBad +hi link SyntasticErrorSign Error +hi link SyntasticStyleErrorLine SyntasticErrorLine +hi link SyntasticStyleErrorSign SyntasticErrorSign +hi link SyntasticStyleWarningLine SyntasticWarningLine +hi link SyntasticStyleWarningSign SyntasticWarningSign +hi link SyntasticWarning SpellCap +hi link SyntasticWarningSign Todo +hi link Tag Special +hi link Typedef Type + +hi link diffAdded Statement +hi link diffBDiffer WarningMsg +hi link diffCommon WarningMsg +hi link diffDiffer WarningMsg +hi link diffIdentical WarningMsg +hi link diffIsA WarningMsg +hi link diffLine Identifier +hi link diffNoEOL WarningMsg +hi link diffOnly WarningMsg +hi link diffRemoved WarningMsg + +hi link gitcommitDiscarded gitcommitComment +hi link gitcommitDiscardedArrow gitcommitDiscardedFile +hi link gitcommitNoBranch gitcommitBranch +hi link gitcommitSelected gitcommitComment +hi link gitcommitSelectedArrow gitcommitSelectedFile +hi link gitcommitUnmergedArrow gitcommitUnmergedFile +hi link gitcommitUntracked gitcommitComment + +hi link helpSpecial Special + +hi link hsDelimTypeExport Delimiter +hi link hsImportParams Delimiter +hi link hsModuleStartLabel hsStructure +hi link hsModuleWhereLabel hsModuleStartLabel +hi link htmlLink Function + +hi link lCursor Cursor + +hi link pandocCodeBlock pandocVerbatimBlock +hi link pandocCodeBlockDelim pandocVerbatimBlock +hi link pandocEscapedCharacter pandocEscapePair +hi link pandocLineBreak pandocEscapePair +hi link pandocMetadataTitle pandocMetadata +hi link pandocTableStructureEnd pandocTableStructre +hi link pandocTableStructureTop pandocTableStructre +hi link pandocVerbatimBlockDeep pandocVerbatimBlock + +hi link vimFunc Function +hi link vimSet Normal +hi link vimSetEqual Normal +hi link vimUserFunc Function +hi link vipmVar Identifier + +hi clear SyntasticErrorLine +hi clear SyntasticWarningLine +hi clear helpLeadBlank +hi clear helpNormal +hi clear pandocTableStructre + +if has('nvim') + let g:terminal_color_0 = '#1d252b' + let g:terminal_color_1 = '#ba656d' + let g:terminal_color_2 = '#3f8f36' + let g:terminal_color_3 = '#947b38' + let g:terminal_color_4 = '#4384b0' + let g:terminal_color_5 = '#b06886' + let g:terminal_color_6 = '#35898c' + let g:terminal_color_7 = '#e6eaed' + let g:terminal_color_8 = '#0b141a' + let g:terminal_color_9 = '#b06d43' + let g:terminal_color_10 = '#61707a' + let g:terminal_color_11 = '#6d767d' + let g:terminal_color_12 = '#787e82' + let g:terminal_color_13 = '#8e6fbd' + let g:terminal_color_14 = '#808487' + let g:terminal_color_15 = '#ffffff' +endif + +" This colour scheme was generated by modifying the 'flattened_dark' colour +" scheme by Romain Lafourcade (https://github.com/romainl/flattened), which +" is in turn derived from the 'Solarized' colour scheme by Ethan Schnoonover +" (https://github.com/altercation/vim-colors-solarized). + diff --git a/vim/colors/spacemacs.vim b/vim/colors/spacemacs.vim new file mode 100644 index 0000000..d503ab1 --- /dev/null +++ b/vim/colors/spacemacs.vim @@ -0,0 +1,343 @@ +" Spacemacs-theme.vim +" Scheme: Cole Peters, based on nashamri/spacemacs-theme + +" GUI color definitions +" ---|-----------------------|-------------- +" ## | ORIGINAL THEME SWATCH | ACTUAL COLOUR +" ---|-----------------------|-------------- +" 00 | bg1 | dark grey +" 01 | bg2 | darker grey +" 02 | act2 | dark purple +" 03 | n/a | medium cool grey +" 04 | base | light grey +" 05 | base | light grey +" 06 | cblk-ln | purple grey +" 07 | cblk-ln-bg | dark purple grey +" 08 | var | azure +" 09 | const | medium purple +" 0A | comment | teal +" 0B | str | cool green +" 0C | type | coral +" 0D | func | pink +" 0E | keyword | blue +" 0F | act2 | dark purple +" ---|-----------------------|-------------- +let s:gui00 = "292b2e" +let s:gui01 = "212026" +let s:gui02 = "5d4d7a" +let s:gui03 = "68727c" +let s:gui04 = "b2b2b2" +let s:gui05 = "b2b2b2" +let s:gui06 = "827591" +let s:gui07 = "373040" +let s:gui08 = "7590db" +let s:gui09 = "a45bad" +let s:gui0A = "2aa1ae" +let s:gui0B = "2d9574" +let s:gui0C = "ce537a" +let s:gui0D = "bc6ec5" +let s:gui0E = "4f97d7" +let s:gui0F = "5d4d7a" + +" Additional gui colours +let s:yellow = "b1951d" +let s:green = "67b11d" +let s:white = "ffffff" + +" Terminal color definitions +let s:cterm00 = "00" +let s:cterm03 = "08" +let s:cterm05 = "07" +let s:cterm07 = "15" +let s:cterm08 = "01" +let s:cterm0A = "03" +let s:cterm0B = "02" +let s:cterm0C = "06" +let s:cterm0D = "04" +let s:cterm0E = "05" +if exists('base16colorspace') && base16colorspace == "256" + let s:cterm01 = "18" + let s:cterm02 = "19" + let s:cterm04 = "20" + let s:cterm06 = "21" + let s:cterm09 = "16" + let s:cterm0F = "17" +else + let s:cterm01 = "10" + let s:cterm02 = "11" + let s:cterm04 = "12" + let s:cterm06 = "13" + let s:cterm09 = "09" + let s:cterm0F = "14" +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "spacemacs-theme" + +" Highlighting function +fun hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + if a:guifg != "" + exec "hi " . a:group . " guifg=#" . s:gui(a:guifg) + endif + if a:guibg != "" + exec "hi " . a:group . " guibg=#" . s:gui(a:guibg) + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . s:cterm(a:ctermfg) + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . s:cterm(a:ctermbg) + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif + if a:guisp != "" + exec "hi " . a:group . " guisp=#" . a:guisp + endif +endfun + +" Return GUI color for light/dark variants +fun s:gui(color) + if &background == "dark" + return a:color + endif + + if a:color == s:gui00 + return s:gui07 + elseif a:color == s:gui01 + return s:gui06 + elseif a:color == s:gui02 + return s:gui05 + elseif a:color == s:gui03 + return s:gui04 + elseif a:color == s:gui04 + return s:gui03 + elseif a:color == s:gui05 + return s:gui02 + elseif a:color == s:gui06 + return s:gui01 + elseif a:color == s:gui07 + return s:gui00 + endif + + return a:color +endfun + +" Return terminal color for light/dark variants +fun s:cterm(color) + if &background == "dark" + return a:color + endif + + if a:color == s:cterm00 + return s:cterm07 + elseif a:color == s:cterm01 + return s:cterm06 + elseif a:color == s:cterm02 + return s:cterm05 + elseif a:color == s:cterm03 + return s:cterm04 + elseif a:color == s:cterm04 + return s:cterm03 + elseif a:color == s:cterm05 + return s:cterm02 + elseif a:color == s:cterm06 + return s:cterm01 + elseif a:color == s:cterm07 + return s:cterm00 + endif + + return a:color +endfun + +" Vim editor colors +call hi("Bold", "", "", "", "", "bold", "") +call hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Error", s:yellow, s:gui01, s:cterm00, s:cterm08, "", "") +call hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call hi("IncSearch", s:white, s:gui09, s:cterm01, s:cterm09, "none", "") +call hi("Italic", "", "", "", "", "none", "") +call hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call hi("MatchParen", s:gui00, s:gui03, s:cterm00, s:cterm03, "", "") +call hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Search", s:gui01, s:green, s:cterm03, s:cterm0A, "", "") +call hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningMsg", s:gui0A, "", s:cterm0A, "", "", "") +call hi("WildMenu", s:white, s:gui0D, s:cterm08, "", "", "") +call hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call hi("PMenu", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "") +call hi("PMenuSel", s:gui01, s:gui04, s:cterm01, s:cterm04, "", "") +call hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call hi("Character", s:gui08, "", s:cterm08, "", "", "") +call hi("Comment", s:gui06, "", s:cterm03, "", "", "") +call hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call hi("Float", s:gui09, "", s:cterm09, "", "", "") +call hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call hi("Number", s:gui09, "", s:cterm09, "", "", "") +call hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csType", s:gui08, "", s:cterm08, "", "", "") +call hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call hi("gitCommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call hi("gitCommitSummary", s:gui0B, "", s:cterm0B, "", "", "") + +" GitGutter highlighting +call hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") + +" Mail highlighting +call hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call hi("phpParent", s:gui05, "", s:cterm05, "", "", "") + +" Python highlighting +call hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call hi("rubyInterpolation", s:gui0B, "", s:cterm0B, "", "", "") +call hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call hi("SpellBad", "", s:gui00, "", s:cterm00, "undercurl", s:gui08) +call hi("SpellLocal", "", s:gui00, "", s:cterm00, "undercurl", s:gui0C) +call hi("SpellCap", "", s:gui00, "", s:cterm00, "undercurl", s:gui0D) +call hi("SpellRare", "", s:gui00, "", s:cterm00, "undercurl", s:gui0E) + +" Remove functions +delf hi +delf gui +delf cterm + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F + +