dotfiles/.vim/colors/campo-dark-earth.vim

137 lines
6.2 KiB
VimL

" A simple dark earth-tone vim colorscheme.
" Created by Michael Campagnaro (https://git.michael.is)
if has('termguicolors')
" Supports 24-bit color range
set termguicolors
else
echoerr "This theme requires 'termguicolors' support!"
endif
if !has("gui_running") && &t_Co != 88 && &t_Co != 256
echoerr "Don't have expected color support!"
endif
set background=dark
hi clear
if exists("syntax_on")
syntax reset
endif
source $HOME/.vim/colors/utils
let g:colors_name = "campo-dark-earth"
" Shared colors
let s:blue = "3699cc"
let s:purple = "ce93d8"
let s:grey = "b0bec5"
let s:orange = "ffb74d"
let s:yellow = "fff176"
let s:green = "88b888"
let s:red = "ef2929"
let s:text = "e5d8d0" " A majority of the syntax will use this.
let s:bg = "24252a"
let s:select = "614853"
let s:window = "1f2126"
let s:comment = "888984"
let s:annotated_note = "aaaba6"
let s:tab = "3d2a38"
let s:error = "e40e0e"
let s:proc = s:text
let s:warn = "dcd53e"
let s:spell = "aaf53e"
let s:soft_red = "9a5d6e"
let s:cursor_line = "2a2a2d"
" Vim
call X("Normal", s:text, s:bg, "")
call X("LineNr", s:comment, "", "")
call X("NonText", s:text, "", "")
call X("SpecialKey", s:blue, "", "")
call X("Search", s:text, s:select, "")
call X("TabLineSel", s:text, s:bg, "bold")
call X("TabLine", "dddddd", s:tab, "none")
call X("TabLineFill", "", s:tab, "none") " The tab line region that doesn't contain tab entries.
call X("StatusLine", s:window, s:text, "reverse")
call X("StatusLineNC", s:window, s:comment, "reverse")
call X("VertSplit", s:window, s:window, "none")
call X("Visual", "", s:select, "")
call X("Directory", s:blue, "", "")
call X("ModeMsg", s:green, "", "")
call X("MoreMsg", s:green, "", "")
call X("Question", s:green, "", "")
call X("MatchParen", "", s:select, "")
call X("Folded", s:comment, s:bg, "")
call X("FoldColumn", s:comment, s:bg, "")
call X("SpellBad", s:spell, s:bg, "bold")
call X("SpellCap", s:text, s:bg, "") " A word that should start with a capital
call X("SpellLocal", s:spell, s:bg, "bold") " Correctly spelled but used in another region.
call X("SpellRare", s:text, s:bg, "") " A correctly spelled that is hardly ever used. Don't care about this.
call X("ErrorMsg", s:error, s:bg, "bold")
if version >= 700
call X("PMenu", s:text, s:select, "none") " Autocompletion menu
call X("PMenuSel", s:text, "926975", "bold") " Selected autocompletion item
call X("SignColumn", "", s:bg, "none")
call X("CursorLine", "", s:cursor_line, "none") " Horizontal line at the cursor.
call X("CursorColumn", "", s:cursor_line, "none") " Vertical line at the cursor.
end
if version >= 703
call X("ColorColumn", "", s:cursor_line, "none") " Vertical line set by colorcolumn option.
end
" Standard Highlighting
call X("Comment", s:comment, "", "")
call X("Title", s:comment, "", "")
call X("Cursor", "", s:text, "")
call X("Identifier", s:soft_red, "", "none")
call X("Statement", s:soft_red, "", "") " 'return', 'goto', 'case', 'break', etc
call X("Conditional", s:soft_red, "", "")
call X("Repeat", s:text, "", "") " 'for' and 'while'
call X("Structure", s:soft_red, "", "") " enum, struct, union
call X("Function", s:proc, "", "")
call X("Constant", s:text, "", "") " Constants, e.g. SOME_CONST
call X("Boolean", s:text, "", "") " true, false
call X("String", "bba76a", "", "")
call X("Special", s:text, "", "")
call X("PreProc", s:text, "", "")
call X("Operator", s:text, "", "none")
call X("Type", s:text, "", "") " Data types
call X("Define", s:text, "", "none")
call X("Include", s:text, "", "") " #include in C/C++
call X("Number", s:soft_red, "", "")
" Notes and annotated comment text
call X("MyTitle", s:annotated_note, "", "bold") " // # Some Title
call X("MyAnnotatedNote", s:annotated_note, "", "bold") " // @incomplete
call X("MyNote", s:soft_red, "", "standout") " // NOTE:, IDEA:, TODO:
call X("MyEmphasis", s:yellow, "", "bold") " // WARNING:, IMPORTANT:
call X("MyBug", s:red, "", "standout") " // FIXME:, BUG:, DEPRECATED:
" Build markers
call X("BuildError", s:error, s:bg, "bold")
call X("BuildWarn", s:warn, s:bg, "bold")
call X("BuildInfo", s:text, s:bg, "bold")
" Jai Highlighting
call X("jaiVariableDeclaration", s:text, "", "")
call X("jaiDirective", s:soft_red, "", "")
" airblade/vim-gitgutter
call X("GitGutterAdd", s:green, "", "")
call X("GitGutterDelete", s:red, "", "")
call X("GitGutterChange", s:yellow, "", "")
call X("GitGutterChangeDelete", s:orange, "", "")
" C Highlighting
call X("cType", s:text, "", "")
call X("cStorageClass", s:text, "", "")
call X("cConditional", s:text, "", "")
call X("cRepeat", s:text, "", "")
" Diff Highlighting
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:bg, s:yellow, "none")