209 lines
9.6 KiB
VimL
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
|