" A simple dark vim colorscheme. " Created by Michael Campagnaro (https://git.michael.is) if has('termguicolors') " Supports 24-bit color range set termguicolors let g:campo_theme_use_rainbow_parens = 0 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 syntax reset source $HOME/.vim/colors/utils let g:colors_name = "campo-dark-blue" " 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 = "f1f1e8" " A majority of the syntax will use this. let s:bg = "072730" let s:select = "546e8f" let s:window = "37474f" let s:comment = "5dea82" let s:tab = "03404a" let s:cursor = "023940" let s:error = "e40e0e" let s:proc = "0eefcb" let s:warn = "dcd53e" let s:spell = "aaf53e" " Vim call X("Normal", s:text, s:bg, "") call X("LineNr", s:grey, "", "") 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, "027990", "bold") " Selected autocompletion item call X("SignColumn", "", s:bg, "none") call X("CursorLine", "", s:cursor, "none") " Horizontal line at the cursor. call X("CursorColumn", "", s:cursor, "none") " Vertical line at the cursor. end if version >= 703 call X("ColorColumn", "", "034a4a", "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:grey, "", "none") call X("Statement", s:text, "", "") " 'return', 'goto', 'case', 'break', etc call X("Conditional", s:text, "", "") call X("Repeat", s:text, "", "") " 'for' and 'while' call X("Structure", "ae90ea", "", "") 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", s:text, "", "") 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", "a5bce4", "", "none") call X("Include", s:text, "", "") " #include in C/C++ call X("Number", s:text, "", "") " Notes call X("Todo", "b8fbb0", s:bg, "underline") call X("Bugs", "d8fbb0", s:bg, "standout") call X("Notes", "ffffff", s:bg, "standout") call X("Notices", s:warn, s:bg, "bold") " 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("jaiTagNote", s:orange, "", "bold") " 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, "", "") " Python Highlighting call X("pythonInclude", s:red, "", "") call X("pythonStatement", s:blue, "", "") call X("pythonConditional", s:purple, "", "") call X("pythonRepeat", s:purple, "", "") call X("pythonException", s:purple, "", "") call X("pythonFunction", s:proc, "", "") call X("pythonSelf", s:grey, "", "") call X("pythonOperator", s:purple, "", "") call X("pythonExtraOperator", s:purple, "", "") call X("pythonClass", s:proc, "", "") call X("pythonDecorator", s:orange, "", "") call X("pythonDocstring", s:comment, "", "") call X("pythonBuiltinObj", s:yellow, "", "") call X("pythonBuiltinType", s:orange, "", "") call X("pythonNumber", s:orange, "", "") " JS Highlighting call X("javaScriptBraces", s:text, "", "") call X("javaScriptFunction", s:purple, "", "") call X("javaScriptConditional", s:purple, "", "") call X("javaScriptRepeat", s:purple, "", "") call X("javaScriptNumber", s:orange, "", "") call X("javaScriptMember", s:orange, "", "") " HTML Highlighting call X("htmlTag", s:text, "", "") call X("htmlTagName", s:text, "", "") call X("htmlArg", s:text, "", "") call X("htmlScriptTag", s:blue, "", "") " 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")