142 lines
6.4 KiB
VimL
142 lines
6.4 KiB
VimL
" 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
|
|
if exists("syntax_on")
|
|
syntax reset
|
|
endif
|
|
|
|
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:annotated_note = "8dea82"
|
|
let s:tab = "03404a"
|
|
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", "", "022f36", "none") " Horizontal line at the cursor.
|
|
call X("CursorColumn", "", "022c33", "none") " Vertical line at the cursor.
|
|
end
|
|
if version >= 703
|
|
call X("ColorColumn", "", "022c33", "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", "", "") " 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", 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 and annotated comment text
|
|
call X("MyTitle", s:text, "", "bold") " // # Some Title
|
|
call X("MyAnnotatedNote", s:text, "", "bold") " // @incomplete
|
|
call X("MyNote", s:annotated_note, "", "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("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, "", "")
|
|
|
|
" 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")
|
|
|