From 40b96e3fd75504497e29a564f0178fe2a42a11e5 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Mon, 18 Jul 2022 10:01:54 -0700 Subject: Fix vim colors a bit --- lib/vimrc | 323 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 162 insertions(+), 161 deletions(-) (limited to 'lib/vimrc') diff --git a/lib/vimrc b/lib/vimrc index 4e6c459..c346fbb 100644 --- a/lib/vimrc +++ b/lib/vimrc @@ -112,169 +112,170 @@ function! SynStack() endfunc set background=dark -colorscheme solarized -" disable my color scheme, it doesn't work with vimdiff "let g:colors_name = 'bs_monochrome' + +let s:white = ['White', 15] +let s:black = ['#0e1111', 16] +let s:dblack = ['#111111', 1] +let s:bgray = ['#181818', 233] +let s:lgray = ['LightGray', 255] +let s:cgray = ['#737373', 243] +let s:dgray = ['DarkGray', 248] +let s:sblue = ['LightBlue', 67] +let s:yellow = ['LightYellow', 226] +let s:red = ['LightRed', 160] +let s:green = ['LightGreen', 28] +let s:purple = ['LightMagenta', 13] + +let s:default_fg = s:lgray +let s:default_bg = s:black + +let s:italic = 'italic' +let s:bold = 'bold' +let s:underline = 'underline' +let s:none = 'NONE' + +let s:default_lst = [] +let s:default_str = '' + +if !exists("g:monochrome_italic_comments") + let g:monochrome_italic_comments = 0 +endif +let s:comment_attr = g:monochrome_italic_comments ? s:italic : s:none " -"let s:white = ['White', 15] -"let s:black = ['#0e1111', 16] -"let s:dblack = ['#111111', 1] -"let s:bgray = ['#181818', 233] -"let s:lgray = ['LightGray', 255] -"let s:cgray = ['#737373', 243] -"let s:dgray = ['DarkGray', 248] -"let s:sblue = ['LightBlue', 67] -"let s:yellow = ['LightYellow', 226] -"let s:red = ['LightRed', 160] -"let s:green = ['LightGreen', 28] -"let s:purple = ['LightMagenta', 13] -"" -"let s:default_fg = s:lgray -"let s:default_bg = s:black -" -"let s:italic = 'italic' -"let s:bold = 'bold' -"let s:underline = 'underline' -"let s:none = 'NONE' -" -"let s:default_lst = [] -"let s:default_str = '' -" -"if !exists("g:monochrome_italic_comments") -" let g:monochrome_italic_comments = 0 -"endif -"let s:comment_attr = g:monochrome_italic_comments ? s:italic : s:none -"" -"" A function for setting colors, if I want it... -"function! s:hi(...) -" let group = a:1 -" let fg = get(a:, 2, s:default_fg) -" let bg = get(a:, 3, s:default_bg) -" let attr = get(a:, 4, s:default_str) -" -" let cmd = ['hi', group] -" -" if fg != s:default_lst -" call add(cmd, 'guifg='.fg[0]) -" call add(cmd, 'ctermfg='.fg[1]) -" endif -" -" if bg != s:default_lst && bg != s:default_bg -" call add(cmd, 'guibg='.bg[0]) -" call add(cmd, 'ctermbg='.bg[1]) -" endif -" -" if attr != s:default_str -" call add(cmd, 'gui='.attr) -" call add(cmd, 'cterm='.attr) -" endif -" -" exec join(cmd, ' ') -"endfunction -" -"call s:hi('Normal') -"highlight clear Cursor -"highlight clear CursorLine " clear the underline nonsense -"call s:hi('Cursor', s:black, s:sblue) -"call s:hi('lCursor', s:black, s:sblue) -"call s:hi('CursorLine', s:black, s:sblue, s:none) -"call s:hi('CursorLineNr', s:white, s:sblue, s:bold) -"call s:hi('CursorColumn', s:black, s:sblue, s:none) -"call s:hi('ColorColumn', s:lgray, s:dblack, s:none) -"call s:hi('Search', s:black, s:purple) -"call s:hi('Visual', s:black, s:green) -"call s:hi('ErrorMsg', s:white, s:red) -"call s:hi('StatusLine', s:black, s:purple) -"call s:hi('StatusLineNC', s:black, s:purple) -"call s:hi('VertSplit', s:black, s:purple) -"" -""" Tildes at the bottom of a buffer, etc. -"call s:hi('NonText', s:dgray) -" -"" Folding. -"call s:hi('FoldColumn', s:dgray) -"call s:hi('Folded') -" -"" Line numbers gutter. -"call s:hi('LineNr', s:dgray) -" -"" Small arrow used for tabs. -"call s:hi('SpecialKey', s:sblue, s:default_bg, s:bold) -" -"" File browsers. -"call s:hi('Directory', s:white, s:default_bg, s:bold) -" -"" Help. -"call s:hi('helpSpecial') -"call s:hi('helpHyperTextJump', s:sblue, s:default_bg, s:underline) -"call s:hi('helpNote') -" -"" Popup menu. -"call s:hi('Pmenu', s:white, s:sblue) -"call s:hi('PmenuSel', s:sblue, s:white) -" -"" Notes. -"call s:hi('Todo', s:black, s:yellow, s:bold) -" -"" Signs. -"call s:hi('SignColumn') -" -"" --- Languages --------------------------------------------------------------- -"call s:hi('Statement', s:white, s:default_bg, s:bold) -"call s:hi('PreProc', s:white, s:default_bg, s:bold) -"call s:hi('String', s:sblue) -"call s:hi('Comment', s:cgray, s:default_bg, s:comment_attr) -"call s:hi('Constant') -"call s:hi('Type', s:white, s:default_bg, s:bold) -"call s:hi('Function', s:white) -"call s:hi('Identifier') -"call s:hi('Special') -"call s:hi('MatchParen', s:black, s:lgray) -"call s:hi('vimOption') -"call s:hi('vimGroup') -"call s:hi('vimHiClear') -"call s:hi('vimHiGroup') -"call s:hi('vimHiAttrib') -"call s:hi('vimHiGui') -"call s:hi('vimHiGuiFgBg') -"call s:hi('vimHiCTerm') -"call s:hi('vimHiCTermFgBg') -"call s:hi('vimSynType') -"hi link vimCommentTitle Comment -"call s:hi('pythonEscape', s:sblue) -"call s:hi('javaScriptFunction', s:white, s:default_bg, s:bold) -"call s:hi('perlSharpBang', s:cgray) -"call s:hi('perlStringStartEnd', s:sblue) -"call s:hi('perlStringEscape', s:sblue) -"call s:hi('perlMatchStartEnd', s:sblue) -"call s:hi('elixirAlias', s:default_fg, s:default_bg, s:none) -"call s:hi('elixirDelimiter', s:sblue) -"call s:hi('elixirSelf', s:default_fg, s:default_bg, s:none) -"" For ||, ->, etc. -"call s:hi('elixirOperator') -"" Module attributes like @doc or @type. -"hi link elixirVariable Statement -"" While rendered as comments in other languages, docstrings are strings, -"" experimental. -"hi link elixirDocString String -"hi link elixirDocTest String -"hi link elixirStringDelimiter String -"call s:hi('rubyConstant') -"call s:hi('rubySharpBang', s:cgray) -"call s:hi('rubyStringDelimiter', s:sblue) -"call s:hi('rubyStringEscape', s:sblue) -"call s:hi('rubyRegexpEscape', s:sblue) -"call s:hi('rubyRegexpAnchor', s:sblue) -"call s:hi('rubyRegexpSpecial', s:sblue) -" -"" --- Diffs -------------------------------------------------------------------- -"call s:hi('diffFile', s:cgray) -"call s:hi('diffNewFile', s:cgray) -"call s:hi('diffIndexLine', s:cgray) -"call s:hi('diffLine', s:cgray) -"call s:hi('diffSubname', s:cgray) -"call s:hi('diffAdded', s:white, s:green) -"call s:hi('diffRemoved', s:white, s:red) +" A function for setting colors, if I want it... +function! s:hi(...) + let group = a:1 + let fg = get(a:, 2, s:default_fg) + let bg = get(a:, 3, s:default_bg) + let attr = get(a:, 4, s:default_str) + + let cmd = ['hi', group] + + if fg != s:default_lst + call add(cmd, 'guifg='.fg[0]) + call add(cmd, 'ctermfg='.fg[1]) + endif + + if bg != s:default_lst && bg != s:default_bg + call add(cmd, 'guibg='.bg[0]) + call add(cmd, 'ctermbg='.bg[1]) + endif + + if attr != s:default_str + call add(cmd, 'gui='.attr) + call add(cmd, 'cterm='.attr) + endif + + exec join(cmd, ' ') +endfunction + +call s:hi('Normal') +highlight clear Cursor +highlight clear CursorLine " clear the underline nonsense +call s:hi('Cursor', s:black, s:sblue) +call s:hi('lCursor', s:black, s:sblue) + +" these are the cross-hair colors +call s:hi('CursorLine', s:black, s:lgray, s:none) +call s:hi('CursorColumn', s:black, s:lgray, s:none) + +call s:hi('CursorLineNr', s:white, s:sblue, s:bold) +call s:hi('ColorColumn', s:lgray, s:dblack, s:none) +call s:hi('Search', s:black, s:purple) +call s:hi('Visual', s:black, s:green) +call s:hi('ErrorMsg', s:white, s:red) +call s:hi('StatusLine', s:black, s:purple) +call s:hi('StatusLineNC', s:black, s:purple) +call s:hi('VertSplit', s:black, s:purple) + +" Tildes at the bottom of a buffer, etc. +call s:hi('NonText', s:dgray) + +" Folding. +call s:hi('FoldColumn', s:dgray) +call s:hi('Folded') + +" Line numbers gutter. +call s:hi('LineNr', s:dgray) + +" Small arrow used for tabs. +call s:hi('SpecialKey', s:sblue, s:default_bg, s:bold) + +" File browsers. +call s:hi('Directory', s:white, s:default_bg, s:bold) + +" Help. +call s:hi('helpSpecial') +call s:hi('helpHyperTextJump', s:sblue, s:default_bg, s:underline) +call s:hi('helpNote') + +" Popup menu. +call s:hi('Pmenu', s:white, s:sblue) +call s:hi('PmenuSel', s:sblue, s:white) + +" Notes. +call s:hi('Todo', s:black, s:yellow, s:bold) + +" Signs. +call s:hi('SignColumn') + +" --- Languages --------------------------------------------------------------- +call s:hi('Statement', s:white, s:default_bg, s:bold) +call s:hi('PreProc', s:white, s:default_bg, s:bold) +call s:hi('String', s:sblue) +call s:hi('Comment', s:cgray, s:default_bg, s:comment_attr) +call s:hi('Constant') +call s:hi('Type', s:white, s:default_bg, s:bold) +call s:hi('Function', s:white) +call s:hi('Identifier') +call s:hi('Special') +call s:hi('MatchParen', s:black, s:lgray) +call s:hi('vimOption') +call s:hi('vimGroup') +call s:hi('vimHiClear') +call s:hi('vimHiGroup') +call s:hi('vimHiAttrib') +call s:hi('vimHiGui') +call s:hi('vimHiGuiFgBg') +call s:hi('vimHiCTerm') +call s:hi('vimHiCTermFgBg') +call s:hi('vimSynType') +hi link vimCommentTitle Comment +call s:hi('pythonEscape', s:sblue) +call s:hi('javaScriptFunction', s:white, s:default_bg, s:bold) +call s:hi('perlSharpBang', s:cgray) +call s:hi('perlStringStartEnd', s:sblue) +call s:hi('perlStringEscape', s:sblue) +call s:hi('perlMatchStartEnd', s:sblue) +call s:hi('elixirAlias', s:default_fg, s:default_bg, s:none) +call s:hi('elixirDelimiter', s:sblue) +call s:hi('elixirSelf', s:default_fg, s:default_bg, s:none) +" For ||, ->, etc. +call s:hi('elixirOperator') +" Module attributes like @doc or @type. +hi link elixirVariable Statement +" While rendered as comments in other languages, docstrings are strings, +" experimental. +hi link elixirDocString String +hi link elixirDocTest String +hi link elixirStringDelimiter String +call s:hi('rubyConstant') +call s:hi('rubySharpBang', s:cgray) +call s:hi('rubyStringDelimiter', s:sblue) +call s:hi('rubyStringEscape', s:sblue) +call s:hi('rubyRegexpEscape', s:sblue) +call s:hi('rubyRegexpAnchor', s:sblue) +call s:hi('rubyRegexpSpecial', s:sblue) + +" --- Diffs -------------------------------------------------------------------- +call s:hi('diffFile', s:cgray) +call s:hi('diffNewFile', s:cgray) +call s:hi('diffIndexLine', s:cgray) +call s:hi('diffLine', s:cgray) +call s:hi('diffSubname', s:cgray) +call s:hi('diffAdded', s:white, s:green) +call s:hi('diffRemoved', s:white, s:red) " load ~/.vimrc.local last for local overrides if filereadable(expand('~/.vimrc.local')) -- cgit v1.2.3