aboutsummaryrefslogtreecommitdiff
path: root/colors
diff options
context:
space:
mode:
authorChris Kempson <git@chriskempson.com>2014-03-10 09:37:11 +0000
committerChris Kempson <git@chriskempson.com>2014-03-10 09:37:11 +0000
commitc9a6034af8a14f52afb443fa26b7da67a85e3fbc (patch)
treeb67aa8f920743ea32080d8e53939ce54f26baac0 /colors
parentdce1bbd2bdca4f9c7144e4cd0b79bab447c30fcf (diff)
Updated with base16-builder
Diffstat (limited to 'colors')
-rw-r--r--colors/base16-bespin.vim285
-rw-r--r--colors/base16-isotope.vim285
-rw-r--r--colors/base16-londontube.vim285
-rw-r--r--colors/base16-paraiso.vim285
4 files changed, 1140 insertions, 0 deletions
diff --git a/colors/base16-bespin.vim b/colors/base16-bespin.vim
new file mode 100644
index 0000000..f681394
--- /dev/null
+++ b/colors/base16-bespin.vim
@@ -0,0 +1,285 @@
+" Base16 Bespin (https://github.com/chriskempson/base16)
+" Scheme: Jan T. Sott
+
+" GUI color definitions
+let s:gui00 = "28211c"
+let s:gui01 = "36312e"
+let s:gui02 = "5e5d5c"
+let s:gui03 = "666666"
+let s:gui04 = "797977"
+let s:gui05 = "8a8986"
+let s:gui06 = "9d9b97"
+let s:gui07 = "baae9e"
+let s:gui08 = "cf6a4c"
+let s:gui09 = "cf7d34"
+let s:gui0A = "f9ee98"
+let s:gui0B = "54be0d"
+let s:gui0C = "afc4db"
+let s:gui0D = "5ea6ea"
+let s:gui0E = "9b859d"
+let s:gui0F = "937121"
+
+" 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-bespin"
+
+" Highlighting function
+fun <sid>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 <sid>hi("Bold", "", "", "", "", "bold")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("FoldColumn", "", s:gui01, "", s:cterm01, "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("IncSearch", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none")
+call <sid>hi("Italic", "", "", "", "", "none")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("MatchParen", s:gui00, s:gui03, s:cterm00, s:cterm03, "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("Question", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("WildMenu", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none")
+call <sid>hi("CursorLineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("PMenu", s:gui04, s:gui01, s:cterm04, s:cterm01, "none")
+call <sid>hi("PMenuSel", s:gui01, s:gui04, s:cterm01, s:cterm04, "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none")
+
+" Standard syntax highlighting
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none")
+call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "")
+call <sid>hi("Type", s:gui09, "", s:cterm09, "", "none")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", s:gui00, "", s:cterm00, "undercurl")
+call <sid>hi("SpellLocal", "", s:gui00, "", s:cterm00, "undercurl")
+call <sid>hi("SpellCap", "", s:gui00, "", s:cterm00, "undercurl")
+call <sid>hi("SpellRare", "", s:gui00, "", s:cterm00, "undercurl")
+
+" Additional diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "")
+call <sid>hi("DiffChange", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("DiffDelete", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+call <sid>hi("DiffText", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+
+" Ruby highlighting
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("rubyInterpolation", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "")
+
+" PHP highlighting
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "")
+
+" SASS highlighting
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "")
+
+" JavaScript highlighting
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "")
+
+" Markdown highlighting
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "")
+
+" Git highlighting
+call <sid>hi("gitCommitOverflow", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("gitCommitSummary", s:gui0B, "", s:cterm0B, "", "")
+
+" GitGutter highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "")
+
+" Signify highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "")
+
+" Remove functions
+delf <sid>hi
+delf <sid>gui
+delf <sid>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
diff --git a/colors/base16-isotope.vim b/colors/base16-isotope.vim
new file mode 100644
index 0000000..889ee02
--- /dev/null
+++ b/colors/base16-isotope.vim
@@ -0,0 +1,285 @@
+" Base16 Isotope (https://github.com/chriskempson/base16)
+" Scheme: Jan T. Sott
+
+" GUI color definitions
+let s:gui00 = "000000"
+let s:gui01 = "404040"
+let s:gui02 = "606060"
+let s:gui03 = "808080"
+let s:gui04 = "c0c0c0"
+let s:gui05 = "d0d0d0"
+let s:gui06 = "e0e0e0"
+let s:gui07 = "ffffff"
+let s:gui08 = "ff0000"
+let s:gui09 = "ff9900"
+let s:gui0A = "ff0099"
+let s:gui0B = "33ff00"
+let s:gui0C = "00ffff"
+let s:gui0D = "0066ff"
+let s:gui0E = "cc00ff"
+let s:gui0F = "3300ff"
+
+" 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-isotope"
+
+" Highlighting function
+fun <sid>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 <sid>hi("Bold", "", "", "", "", "bold")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("FoldColumn", "", s:gui01, "", s:cterm01, "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("IncSearch", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none")
+call <sid>hi("Italic", "", "", "", "", "none")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("MatchParen", s:gui00, s:gui03, s:cterm00, s:cterm03, "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("Question", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("WildMenu", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none")
+call <sid>hi("CursorLineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("PMenu", s:gui04, s:gui01, s:cterm04, s:cterm01, "none")
+call <sid>hi("PMenuSel", s:gui01, s:gui04, s:cterm01, s:cterm04, "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none")
+
+" Standard syntax highlighting
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none")
+call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "")
+call <sid>hi("Type", s:gui09, "", s:cterm09, "", "none")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", s:gui00, "", s:cterm00, "undercurl")
+call <sid>hi("SpellLocal", "", s:gui00, "", s:cterm00, "undercurl")
+call <sid>hi("SpellCap", "", s:gui00, "", s:cterm00, "undercurl")
+call <sid>hi("SpellRare", "", s:gui00, "", s:cterm00, "undercurl")
+
+" Additional diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "")
+call <sid>hi("DiffChange", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("DiffDelete", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+call <sid>hi("DiffText", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+
+" Ruby highlighting
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("rubyInterpolation", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "")
+
+" PHP highlighting
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "")
+
+" SASS highlighting
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "")
+
+" JavaScript highlighting
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "")
+
+" Markdown highlighting
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "")
+
+" Git highlighting
+call <sid>hi("gitCommitOverflow", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("gitCommitSummary", s:gui0B, "", s:cterm0B, "", "")
+
+" GitGutter highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "")
+
+" Signify highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "")
+
+" Remove functions
+delf <sid>hi
+delf <sid>gui
+delf <sid>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
diff --git a/colors/base16-londontube.vim b/colors/base16-londontube.vim
new file mode 100644
index 0000000..694cd5d
--- /dev/null
+++ b/colors/base16-londontube.vim
@@ -0,0 +1,285 @@
+" Base16 London Tube (https://github.com/chriskempson/base16)
+" Scheme: Jan T. Sott
+
+" GUI color definitions
+let s:gui00 = "231f20"
+let s:gui01 = "1c3f95"
+let s:gui02 = "5a5758"
+let s:gui03 = "737171"
+let s:gui04 = "959ca1"
+let s:gui05 = "d9d8d8"
+let s:gui06 = "e7e7e8"
+let s:gui07 = "ffffff"
+let s:gui08 = "ee2e24"
+let s:gui09 = "f386a1"
+let s:gui0A = "ffd204"
+let s:gui0B = "00853e"
+let s:gui0C = "85cebc"
+let s:gui0D = "009ddc"
+let s:gui0E = "98005d"
+let s:gui0F = "b06110"
+
+" 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-londontube"
+
+" Highlighting function
+fun <sid>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 <sid>hi("Bold", "", "", "", "", "bold")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("FoldColumn", "", s:gui01, "", s:cterm01, "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("IncSearch", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none")
+call <sid>hi("Italic", "", "", "", "", "none")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("MatchParen", s:gui00, s:gui03, s:cterm00, s:cterm03, "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("Question", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("WildMenu", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none")
+call <sid>hi("CursorLineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("PMenu", s:gui04, s:gui01, s:cterm04, s:cterm01, "none")
+call <sid>hi("PMenuSel", s:gui01, s:gui04, s:cterm01, s:cterm04, "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none")
+
+" Standard syntax highlighting
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none")
+call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "")
+call <sid>hi("Type", s:gui09, "", s:cterm09, "", "none")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", s:gui00, "", s:cterm00, "undercurl")
+call <sid>hi("SpellLocal", "", s:gui00, "", s:cterm00, "undercurl")
+call <sid>hi("SpellCap", "", s:gui00, "", s:cterm00, "undercurl")
+call <sid>hi("SpellRare", "", s:gui00, "", s:cterm00, "undercurl")
+
+" Additional diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "")
+call <sid>hi("DiffChange", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("DiffDelete", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+call <sid>hi("DiffText", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+
+" Ruby highlighting
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("rubyInterpolation", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "")
+
+" PHP highlighting
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "")
+
+" SASS highlighting
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "")
+
+" JavaScript highlighting
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "")
+
+" Markdown highlighting
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "")
+
+" Git highlighting
+call <sid>hi("gitCommitOverflow", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("gitCommitSummary", s:gui0B, "", s:cterm0B, "", "")
+
+" GitGutter highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "")
+
+" Signify highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "")
+
+" Remove functions
+delf <sid>hi
+delf <sid>gui
+delf <sid>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
diff --git a/colors/base16-paraiso.vim b/colors/base16-paraiso.vim
new file mode 100644
index 0000000..7674f62
--- /dev/null
+++ b/colors/base16-paraiso.vim
@@ -0,0 +1,285 @@
+" Base16 Paraiso (https://github.com/chriskempson/base16)
+" Scheme: Jan T. Sott
+
+" GUI color definitions
+let s:gui00 = "2f1e2e"
+let s:gui01 = "41323f"
+let s:gui02 = "4f424c"
+let s:gui03 = "776e71"
+let s:gui04 = "8d8687"
+let s:gui05 = "a39e9b"
+let s:gui06 = "b9b6b0"
+let s:gui07 = "e7e9db"
+let s:gui08 = "ef6155"
+let s:gui09 = "f99b15"
+let s:gui0A = "fec418"
+let s:gui0B = "48b685"
+let s:gui0C = "5bc4bf"
+let s:gui0D = "06b6ef"
+let s:gui0E = "815ba4"
+let s:gui0F = "e96ba8"
+
+" 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-paraiso"
+
+" Highlighting function
+fun <sid>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 <sid>hi("Bold", "", "", "", "", "bold")
+call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("FoldColumn", "", s:gui01, "", s:cterm01, "")
+call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("IncSearch", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none")
+call <sid>hi("Italic", "", "", "", "", "none")
+call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("MatchParen", s:gui00, s:gui03, s:cterm00, s:cterm03, "")
+call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("Question", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "")
+call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("WildMenu", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none")
+call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "")
+call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "")
+call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none")
+call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none")
+call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none")
+call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none")
+call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none")
+call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none")
+call <sid>hi("CursorLineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "")
+call <sid>hi("PMenu", s:gui04, s:gui01, s:cterm04, s:cterm01, "none")
+call <sid>hi("PMenuSel", s:gui01, s:gui04, s:cterm01, s:cterm04, "")
+call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none")
+call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none")
+call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none")
+
+" Standard syntax highlighting
+call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Character", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "")
+call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none")
+call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "")
+call <sid>hi("Float", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none")
+call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Number", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none")
+call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "")
+call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "")
+call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "")
+call <sid>hi("Type", s:gui09, "", s:cterm09, "", "none")
+call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "")
+
+" Spelling highlighting
+call <sid>hi("SpellBad", "", s:gui00, "", s:cterm00, "undercurl")
+call <sid>hi("SpellLocal", "", s:gui00, "", s:cterm00, "undercurl")
+call <sid>hi("SpellCap", "", s:gui00, "", s:cterm00, "undercurl")
+call <sid>hi("SpellRare", "", s:gui00, "", s:cterm00, "undercurl")
+
+" Additional diff highlighting
+call <sid>hi("DiffAdd", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "")
+call <sid>hi("DiffChange", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("DiffDelete", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+call <sid>hi("DiffText", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "")
+call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "")
+call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "")
+call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "")
+
+" Ruby highlighting
+call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("rubyInterpolation", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "")
+call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "")
+call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "")
+
+" PHP highlighting
+call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "")
+
+" HTML highlighting
+call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "")
+call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "")
+
+" CSS highlighting
+call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "")
+
+" SASS highlighting
+call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "")
+call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "")
+call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "")
+
+" JavaScript highlighting
+call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "")
+call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "")
+
+" Markdown highlighting
+call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "")
+call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "")
+
+" Git highlighting
+call <sid>hi("gitCommitOverflow", s:gui08, "", s:cterm08, "", "")
+call <sid>hi("gitCommitSummary", s:gui0B, "", s:cterm0B, "", "")
+
+" GitGutter highlighting
+call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "")
+call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "")
+call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "")
+call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "")
+
+" Signify highlighting
+call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "")
+call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "")
+call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "")
+
+" NERDTree highlighting
+call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "")
+call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "")
+
+" Remove functions
+delf <sid>hi
+delf <sid>gui
+delf <sid>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