From 93f96d311ad8b1975d12b2d145237a2ff1a1fa9c Mon Sep 17 00:00:00 2001 From: José Mota Date: Tue, 7 Jun 2016 19:25:13 +0100 Subject: Initial commit. --- thomas.vim | 306 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 306 insertions(+) create mode 100644 thomas.vim (limited to 'thomas.vim') diff --git a/thomas.vim b/thomas.vim new file mode 100644 index 0000000..92670bd --- /dev/null +++ b/thomas.vim @@ -0,0 +1,306 @@ +if !has('gui_running') + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-thomas.".&background.".sh" + endif +endif + +" GUI color definitions +let s:gui00 = "142229" +let s:gui01 = "2d3a42" +let s:gui02 = "47535b" +let s:gui03 = "606b74" +let s:gui04 = "79838d" +let s:gui05 = "929ba6" +let s:gui06 = "acb4bf" +let s:gui07 = "c5ccd8" +let s:gui08 = "e65b65" +let s:gui09 = "f38c4f" +let s:gui0A = "f4bf75" +let s:gui0B = "8ebe8c" +let s:gui0C = "54abad" +let s:gui0D = "6295ca" +let s:gui0E = "ab76a6" +let s:gui0F = "8f5536" + +" 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 = "base16-thomas" + +" Highlighting function +fun hi(group, guifg, guibg, ctermfg, ctermbg, attr) + 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 +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("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "") +call hi("Exception", s:gui08, "", s:cterm08, "", "") +call hi("FoldColumn", "", s:gui01, "", s:cterm01, "") +call hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "") +call hi("IncSearch", s:gui01, 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:gui03, s:gui0A, 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:gui08, "", s:cterm08, "", "") +call hi("WildMenu", s:gui08, "", 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("SpecialKey", s:gui03, "", s:cterm03, "", "") +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:gui03, "", 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, "", "") + +" 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") +call hi("SpellLocal", "", s:gui00, "", s:cterm00, "undercurl") +call hi("SpellCap", "", s:gui00, "", s:cterm00, "undercurl") +call hi("SpellRare", "", s:gui00, "", s:cterm00, "undercurl") + +" 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 -- cgit v1.2.3-54-g00ecf