dotfiles/vim/colors/tungsten.vim

209 lines
9.6 KiB
VimL

" tungsten.vim a colorscheme for vim
" Maintainer: Michael Lerch (github.com/mdlerch)
" Version: 1.1
" A darkish color scheme for 256 and gui vim.
" Goals: easy on the eyes,
" non-distracting,
" eye drawn to important parts,
" completeness of highlight groups,
" very obvious diffs,
" consistency between gui and 256 term,
" black 1 (dark)
" red 1 (brick)
" green 1 (sea green)
" yellow 1 (yellow)
" blue 1 (dark)
" magenta 1 (medium black)
" cyan 1 (medium white)
" white 1 (light)
" black 2 (light)
" red 2 (bright)
" green 2 (bright)
" yellow 2 (orange)
" blue 2 (light)
" magenta 2 (magenta)
" cyan 2 (cyan)
" white 2 (dark)
" normal: 6, 5
" theme colors [ [ 256 , true ] ]
let s:themecol = [[234, "#1c1c1c"],
\ [131, "#af5f5f"],
\ [115, "#87d7af"],
\ [187, "#d7d7af"],
\ [60, "#5f5f87"],
\ [236, "#303030"],
\ [252, "#d0d0d0"],
\ [254, "#e4e4e4"],
\ [238, "#444444"],
\ [196, "#ff0000"],
\ [118, "#87ff00"],
\ [180, "#d7af87"],
\ [110, "#87afd7"],
\ [138, "#af8787"],
\ [123, "#87ffff"],
\ [246, "#949494"]]
" {{{ Setup
set background=dark
" highlight clear removes user colors which is annoying if you use them, for
" example, for your status bar.
" highlight clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name = "tungsten"
" }}}
" {{{ Function
function! s:Tungsten(group, fg, bg, cterm, gui)
exec "hi clear " . a:group
if a:fg =~ '\d'
exec "hi " . a:group . " ctermfg=" . expand(s:themecol[a:fg][0]) . "guifg=" . expand(s:themecol[a:fg][1])
elseif a:fg == "NONE"
exec "hi " . a:group . " ctermfg=NONE" . " guifg=NONE"
endif
if a:bg =~ '\d'
exec "hi " . a:group . " ctermbg=" . expand(s:themecol[a:bg][0])
elseif a:bg == "NONE"
exec "hi " . a:group . " ctermbg=NONE" . " guibg=NONE"
endif
if a:cterm != "" && a:cterm != "NONE"
exec "hi " . a:group . " cterm=" . a:cterm
elseif a:cterm == "NONE"
exec "hi " . a:group . " cterm=NONE"
endif
if a:gui != "" && a:gui != "NONE"
exec "hi " . a:group . " gui=" . a:gui
elseif a:gui == "NONE"
exec "hi " . a:group . " gui=NONE"
endif
endfunction
" }}}
" {{{ Vim groups
" Group fg bg term gui
call s:Tungsten("ColorColumn" , "" , 8 , "NONE" , "NONE")
call s:Tungsten("Conceal" , 15 , 5 , "NONE" , "NONE")
call s:Tungsten("Cursor" , "" , "" , "" , "")
" call s:Tungsten ("CursorIM" , "NONE" , 8 , "NONE" , "NONE")
call s:Tungsten("CursorColumn" , "NONE" , 8 , "NONE" , "NONE")
call s:Tungsten("CursorLine" , "" , 8 , "NONE" , "NONE")
" call s:Tungsten("Directory" , "NONE" , 8 , "NONE" , "NONE")
call s:Tungsten("DiffAdd" , 10 , 5 , "NONE" , "NONE")
call s:Tungsten("DiffChange" , 14 , 5 , "NONE" , "NONE")
call s:Tungsten("DiffDelete" , 9 , 5 , "NONE" , "NONE")
call s:Tungsten("DiffText" , 9 , 5 , "NONE" , "NONE")
call s:Tungsten("ErrorMsg" , 1 , 0 , "NONE" , "NONE")
call s:Tungsten("VertSplit" , 4 , 8 , "NONE" , "NONE")
call s:Tungsten("Folded" , 15 , 0 , "NONE" , "NONE")
call s:Tungsten("FoldColumn" , 8 , 0 , "NONE" , "NONE")
" call s:Tungsten("SignColumn" , "NONE" , 8 , "NONE" , "NONE")
call s:Tungsten("IncSearch" , 5 , 3 , "NONE" , "NONE")
call s:Tungsten("LineNr" , 8 , 0 , "NONE" , "NONE")
call s:Tungsten("CursorLineNr" , 7 , 5 , "NONE" , "NONE")
call s:Tungsten("MatchParen" , "" , 0 , "NONE" , "NONE")
" call s:Tungsten("ModeMsg" , "NONE" , 8 , "NONE" , "NONE")
" call s:Tungsten("MoreMsg" , "NONE" , 8 , "NONE" , "NONE")
call s:Tungsten("NonText" , 8 , 5 , "NONE" , "NONE")
call s:Tungsten("Normal" , 6 , 5 , "NONE" , "NONE")
call s:Tungsten("Pmenu" , 15 , 8 , "NONE" , "NONE")
call s:Tungsten("PmenuSel" , 7 , 0 , "NONE" , "NONE")
call s:Tungsten("PmenuSbar" , "" , "NONE" , "NONE" , "NONE")
call s:Tungsten("PmenuThumb" , "" , "NONE" , "NONE" , "NONE")
call s:Tungsten("Question" , 6 , 8 , "NONE" , "NONE")
call s:Tungsten("Search" , 5 , 13 , "NONE" , "NONE")
call s:Tungsten("SignColumn" , 9 , 0 , "NONE" , "NONE")
call s:Tungsten("SpecialKey" , 8 , 5 , "NONE" , "NONE")
call s:Tungsten("SpellBad" , 13 , "" , "underline" , "undercurl")
call s:Tungsten("SpellCap" , 13 , "" , "underline" , "undercurl")
" call s:Tungsten("SpellLocal" , "NONE" , 8 , "NONE" , "NONE")
call s:Tungsten("SpellRare" , 13 , "" , "NONE" , "NONE")
" call s:Tungsten("StatusLine" , "NONE" , 8 , "NONE" , "NONE")
" call s:Tungsten("StatusLineNC" , "NONE" , 8 , "NONE" , "NONE")
call s:Tungsten("TabLine" , 15 , 0 , "NONE" , "NONE")
call s:Tungsten("TabLineFill" , 15 , 0 , "NONE" , "NONE")
call s:Tungsten("TabLineSel" , 7 , 5 , "NONE" , "NONE")
call s:Tungsten("Title" , 2 , "NONE" , "NONE" , "NONE")
call s:Tungsten("Visual" , "" , 0 , "NONE" , "NONE")
" call s:Tungsten("VisualNOS" , "NONE" , 8 , "NONE" , "NONE")
call s:Tungsten("WarningMSG" , 4 , 0 , "NONE" , "NONE")
" call s:Tungsten("WildMenu" , "NONE" , 8 , "NONE" , "NONE")
" }}} Vim groups
" {{{ Highlight groups
call s:Tungsten("Comment" , 4 , "" , "NONE" , "NONE")
call s:Tungsten("Constant" , 11 , "" , "NONE" , "NONE")
call s:Tungsten("String" , 2 , "" , "NONE" , "NONE")
call s:Tungsten("Character" , 1 , "" , "NONE" , "NONE")
call s:Tungsten("Number" , 12 , "" , "NONE" , "NONE")
call s:Tungsten("Boolean" , 12 , "" , "NONE" , "NONE")
call s:Tungsten("Float" , 12 , "" , "NONE" , "NONE")
call s:Tungsten("Identifier" , 2 , "" , "NONE" , "NONE")
call s:Tungsten("Function" , 15 , "" , "NONE" , "NONE")
call s:Tungsten("Statement" , 11 , "" , "NONE" , "NONE")
call s:Tungsten("Conditional" , 3 , "" , "NONE" , "NONE")
call s:Tungsten("Repeat" , 3 , "" , "NONE" , "NONE")
call s:Tungsten("Label" , "" , "" , "NONE" , "NONE")
call s:Tungsten("Operator" , 1 , "" , "NONE" , "NONE")
call s:Tungsten("Keyword" , 3 , "" , "NONE" , "NONE")
call s:Tungsten("Exception" , 13 , "" , "NONE" , "NONE")
call s:Tungsten("PreProc" , 14 , "" , "NONE" , "NONE")
call s:Tungsten("Include" , 14 , "" , "NONE" , "NONE")
call s:Tungsten("Define" , 14 , "" , "NONE" , "NONE")
call s:Tungsten("Macro" , 14 , "" , "NONE" , "NONE")
call s:Tungsten("PreCondit" , 1 , "" , "NONE" , "NONE")
call s:Tungsten("Type" , 11 , "" , "NONE" , "NONE")
call s:Tungsten("StorageClass" , 12 , "" , "NONE" , "NONE")
call s:Tungsten("Structure" , "" , "" , "NONE" , "NONE")
call s:Tungsten("Typedef" , "" , "" , "NONE" , "NONE")
call s:Tungsten("Special" , 1 , "" , "NONE" , "NONE")
call s:Tungsten("SpecialChar" , 6 , "" , "NONE" , "NONE")
call s:Tungsten("Tag" , "" , "" , "NONE" , "NONE")
call s:Tungsten("Delimiter" , 15 , "" , "NONE" , "NONE")
call s:Tungsten("SpecialComment" , 6 , "" , "NONE" , "NONE")
call s:Tungsten("Debug" , 6 , "" , "NONE" , "NONE")
call s:Tungsten("Underlined" , 6 , 5 , "underline" , "underline")
call s:Tungsten("Error" , 9 , "" , "NONE" , "NONE")
call s:Tungsten("Todo" , 9 , 8 , "NONE" , "NONE")
" }}} Highlight groups
" {{{ Misc
" TagHighlight
call s:Tungsten("CTagsLocalVariable" , "" , "" , "NONE" , "NONE")
call s:Tungsten("CTagsMember" , "" , "" , "NONE" , "NONE")
" mail
call s:Tungsten("mailQuoted1" , 11 , "" , "NONE" , "NONE")
call s:Tungsten("mailQuoted2" , 13 , "" , "NONE" , "NONE")
call s:Tungsten("mailQuoted3" , 1 , "" , "NONE" , "NONE")
call s:Tungsten("mailQuoted4" , 4 , "" , "NONE" , "NONE")
call s:Tungsten("mailQuoted5" , 12 , "" , "NONE" , "NONE")
call s:Tungsten("mailQuoted6" , 2 , "" , "NONE" , "NONE")
" Nvim-R / Vim-R-plugin
call s:Tungsten("routInput" , 3 , "" , "NONE" , "NONE")
" status
call s:Tungsten("status1" , 12 , 0 , "NONE" , "NONE")
call s:Tungsten("status2" , 11 , 8 , "NONE" , "NONE")
call s:Tungsten("status3" , 9 , 0 , "NONE" , "NONE")
" vim
call s:Tungsten("vimOption" , 3 , "" , "NONE" , "NONE")
call s:Tungsten("qfLineNr" , 1 , 5 , "NONE" , "NONE")
" yaml
call s:Tungsten("yamlKey" , 11 , "" , "NONE" , "NONE")
" ycm
call s:Tungsten("YcmErrorSign" , 1 , 0 , "NONE" , "NONE")
call s:Tungsten("YcmWarningSign" , 1 , 0 , "NONE" , "NONE")
call s:Tungsten("YcmErrorSection" , 1 , "" , "NONE" , "NONE")
call s:Tungsten("YcmWarningSection" , 1 , "" , "NONE" , "NONE")
" }}}
" vim: set fdm=marker:fdl=1