" 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")