Created
March 20, 2014 21:45
-
-
Save cskeeters/9674586 to your computer and use it in GitHub Desktop.
Demo setting colors in the terminal/vim starting with 20
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Base16 Default - Console color setup script | |
# Chris Kempson (http://chriskempson.com) | |
color00="15/15/15" # Base 00 - Black | |
color01="ac/41/42" # Base 08 - Red | |
color02="90/a9/59" # Base 0B - Green | |
color03="f4/bf/75" # Base 0A - Yellow | |
color04="6a/9f/b5" # Base 0D - Blue | |
color05="aa/75/9f" # Base 0E - Magenta | |
color06="75/b5/aa" # Base 0C - Cyan | |
color07="d0/d0/d0" # Base 05 - White | |
color08="50/50/50" # Base 03 - Bright Black | |
color09=$color01 # Base 08 - Bright Red | |
color10=$color02 # Base 0B - Bright Green | |
color11=$color03 # Base 0A - Bright Yellow | |
color12=$color04 # Base 0D - Bright Blue | |
color13=$color05 # Base 0E - Bright Magenta | |
color14=$color06 # Base 0C - Bright Cyan | |
color15="f5/f5/f5" # Base 07 - Bright White | |
color16="d2/84/45" # Base 09 | |
color17="8f/55/36" # Base 0F | |
color18="20/20/20" # Base 01 | |
color19="30/30/30" # Base 02 | |
color20="b0/b0/b0" # Base 04 | |
color21="e0/e0/e0" # Base 06 | |
# 16 color space | |
printf "\e]4;20;rgb:$color00\e\\" | |
printf "\e]4;21;rgb:$color01\e\\" | |
printf "\e]4;22;rgb:$color02\e\\" | |
printf "\e]4;23;rgb:$color03\e\\" | |
printf "\e]4;24;rgb:$color04\e\\" | |
printf "\e]4;25;rgb:$color05\e\\" | |
printf "\e]4;26;rgb:$color06\e\\" | |
printf "\e]4;27;rgb:$color07\e\\" | |
printf "\e]4;28;rgb:$color08\e\\" | |
printf "\e]4;29;rgb:$color09\e\\" | |
printf "\e]4;30;rgb:$color10\e\\" | |
printf "\e]4;31;rgb:$color11\e\\" | |
printf "\e]4;32;rgb:$color12\e\\" | |
printf "\e]4;33;rgb:$color13\e\\" | |
printf "\e]4;34;rgb:$color14\e\\" | |
printf "\e]4;35;rgb:$color15\e\\" | |
# 256 color space | |
if [ "$TERM" != linux ]; then | |
printf "\e]4;36;rgb:$color16\e\\" | |
printf "\e]4;37;rgb:$color17\e\\" | |
printf "\e]4;38;rgb:$color18\e\\" | |
printf "\e]4;39;rgb:$color19\e\\" | |
printf "\e]4;40;rgb:$color20\e\\" | |
printf "\e]4;41;rgb:$color21\e\\" | |
fi | |
# clean up | |
unset color00 | |
unset color01 | |
unset color02 | |
unset color03 | |
unset color04 | |
unset color05 | |
unset color06 | |
unset color07 | |
unset color08 | |
unset color09 | |
unset color10 | |
unset color11 | |
unset color12 | |
unset color13 | |
unset color14 | |
unset color15 | |
unset color16 | |
unset color17 | |
unset color18 | |
unset color19 | |
unset color20 | |
unset color21 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Base16 Default (https://github.com/chriskempson/base16) | |
" Scheme: Chris Kempson (http://chriskempson.com) | |
" GUI color definitions | |
let s:gui00 = "151515" | |
let s:gui01 = "202020" | |
let s:gui02 = "303030" | |
let s:gui03 = "505050" | |
let s:gui04 = "b0b0b0" | |
let s:gui05 = "d0d0d0" | |
let s:gui06 = "e0e0e0" | |
let s:gui07 = "f5f5f5" | |
let s:gui08 = "ac4142" | |
let s:gui09 = "d28445" | |
let s:gui0A = "f4bf75" | |
let s:gui0B = "90a959" | |
let s:gui0C = "75b5aa" | |
let s:gui0D = "6a9fb5" | |
let s:gui0E = "aa759f" | |
let s:gui0F = "8f5536" | |
" Terminal color definitions | |
let s:cterm00 = "20" | |
let s:cterm03 = "28" | |
let s:cterm05 = "27" | |
let s:cterm07 = "35" | |
let s:cterm08 = "21" | |
let s:cterm0A = "23" | |
let s:cterm0B = "22" | |
let s:cterm0C = "26" | |
let s:cterm0D = "24" | |
let s:cterm0E = "25" | |
let s:cterm01 = "38" | |
let s:cterm02 = "39" | |
let s:cterm04 = "40" | |
let s:cterm06 = "41" | |
let s:cterm09 = "36" | |
let s:cterm0F = "37" | |
" Theme setup | |
hi clear | |
syntax reset | |
"set background=dark | |
let g:colors_name = "base16-default-20" | |
" 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" | |
echo &background | |
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, "") | |
set background=dark " setting the ctermbg to non-zero effectively set background=light | |
" This needs to be reset so that s:cterm() returns the correct value | |
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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment