From 58c3801cffefc213c69898fd3f0ae5b93c6a4893 Mon Sep 17 00:00:00 2001 From: Matthew Lemon Date: Mon, 3 Apr 2023 17:52:23 +0100 Subject: colorscheme --- vim/colors/gruber-darker.vim | 228 +++++++++++++++++++++++++++++++++++++++++++ vim/vimrc | 3 +- 2 files changed, 230 insertions(+), 1 deletion(-) create mode 100644 vim/colors/gruber-darker.vim diff --git a/vim/colors/gruber-darker.vim b/vim/colors/gruber-darker.vim new file mode 100644 index 0000000..1bd9d87 --- /dev/null +++ b/vim/colors/gruber-darker.vim @@ -0,0 +1,228 @@ +" GruberDarker Theme for Vim +" +" Adapted from an Emacs theme: +" https://github.com/rexim/gruber-darker-theme +" +" Colorscheme template: https://github.com/mhartington/oceanic-next/blob/master/colors/OceanicNext.vim +" -------------------------------------------- + +" {{{ Setup + set background=dark + hi clear + if exists("syntax_on") + syntax reset + endif + let g:colors_name="GruberDarker" +" }}} +" {{{ Italics + let g:gruber_terminal_italic = get(g:, 'gruber_terminal_italic', 0) + let s:italic = "" + if g:gruber_terminal_italic == 1 + let s:italic = "italic" + endif +"}}} +" {{{ Bold + let g:gruber_terminal_bold = get(g:, 'gruber_terminal_bold', 0) + let s:bold = "" + if g:gruber_terminal_bold == 1 + let s:bold = "bold" + endif +"}}} +" {{{ Colors + let s:gruberFG=['#e4e4ef', '253'] + let s:gruberFG1=['#f4f4ff', '254'] + let s:gruberFG2=['#f5f5ff', '240'] + let s:gruberFG3=['#65737e', '243'] + let s:gruberWhite=['#ffffff', '15'] + let s:gruberBlack=['#000000', '0'] + let s:gruberBG=['#181818', '233'] + let s:gruberBG1=['#282828', '235'] + let s:gruberBG2=['#453d41', '238'] + let s:gruberLightRed=['#c73c3f', '203'] + let s:gruberRed=['#f43841', '160'] + let s:gruberNiagara=['#96a6c8', '147'] + let s:gruberQuartz=['#95a99f', '108'] + let s:gruberGreen=['#73c936', '70'] + let s:gruberMain=['#ffdd33', '220'] + let s:gruberBrown=['#cc8c3c', '172'] + let s:gruberPurple=['#9e95c7', '98'] + let s:gruberLightBlue=['#0087d7', '32'] + let s:gruberBlue=['#0000d7', '20'] + let s:gruberGold=['#d7af00', '178'] + let s:none=['NONE', 'NONE'] + +" {{{ Highlight function +function! hi(group, fg, bg, attr, attrsp) + " fg, bg, attr, attrsp + if !empty(a:fg) + exec "hi " . a:group . " guifg=" . a:fg[0] + exec "hi " . a:group . " ctermfg=" . a:fg[1] + endif + if !empty(a:bg) + exec "hi " . a:group . " guibg=" . a:bg[0] + exec "hi " . a:group . " ctermbg=" . a:bg[1] + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr + exec "hi " . a:group . " cterm=" . a:attr + endif + if !empty(a:attrsp) + exec "hi " . a:group . " guisp=" . a:attrsp[0] + endif +endfunction +" }}} +" {{{ call :hi(group, fg, bg, gui, guisp) +call hi('Bold', '', '', 'bold', '') +call hi('Debug', s:gruberFG2, '', '', '') +call hi('Directory', s:gruberLightBlue, '', '', '') +call hi('ErrorMsg', s:gruberWhite, s:gruberRed, '', '') +call hi('Exception', s:gruberBrown, '', '', '') +call hi('FoldColumn', s:gruberBrown, s:gruberFG2, '', '') +call hi('Folded', s:gruberBrown, s:gruberFG2, s:italic, '') +call hi('IncSearch', s:gruberBlack, s:gruberFG2, 'NONE', '') +call hi('Italic', '', '', s:italic, '') + +call hi('Macro', s:gruberFG, '', '', '') +call hi('MatchParen', s:gruberBG2, s:gruberMain, '', '') +call hi('ModeMsg', s:gruberFG2, '', '', '') +call hi('MoreMsg', s:gruberFG2, '', '', '') +call hi('Question', s:gruberNiagara, '', '', '') +call hi('Search', s:gruberBlack, s:gruberMain, '', '') +call hi('SpecialKey', s:gruberFG2, '', '', '') +call hi('TooLong', s:gruberFG2, '', '', '') +call hi('Underlined', s:gruberPurple, '', '', '') +call hi('Visual', '', s:gruberBG2, '', '') +call hi('VisualNOS', s:gruberRed, '', '', '') +call hi('WarningMsg', s:gruberRed, '', '', '') +call hi('WildMenu', s:gruberBlack, s:gruberMain, '', '') +call hi('Title', s:gruberQuartz, '', '', '') +call hi('Conceal', s:gruberFG, s:gruberBG, '', '') +call hi('Cursor', s:gruberBG, s:gruberFG, '', '') +call hi('NonText', s:gruberFG2, '', '', '') +call hi('Normal', s:gruberFG, s:gruberBG, '', '') +call hi('EndOfBuffer', s:gruberFG, s:gruberBG, '', '') +call hi('LineNr', s:gruberFG, s:gruberBG, '', '') +call hi('SignColumn', s:none, s:none, '', '') +call hi('VertSplit', s:gruberFG2, s:gruberBG1, '', '') +call hi('ColorColumn', '', s:gruberBG2, '', '') +call hi('CursorColumn', '', s:gruberBG2, '', '') +call hi('CursorLine', '', s:gruberBG2, 'NONE', '') +call hi('CursorLineNr', s:gruberMain, s:gruberBG, '', '') +call hi('PMenu', s:gruberFG, s:gruberBG1, '', '') +call hi('PMenuSel', s:gruberFG, s:gruberBG2, '', '') +call hi('PmenuSbar', '', s:gruberBG, '', '') +call hi('PmenuThumb', '', s:gruberBG, '', '') +call hi('helpExample', s:gruberMain, '', '', '') +call hi('helpCommand', s:gruberMain, '', '', '') + +" Standard syntax highlighting +call hi('Boolean', s:gruberQuartz, '', '', '') +call hi('Character', s:gruberGreen, '', '', '') +call hi('Comment', s:gruberBrown, '', s:italic, '') +call hi('Conditional', s:gruberMain, '', '', '') +call hi('Constant', s:gruberQuartz, '', '', '') +call hi('Define', s:gruberMain, '', '', '') +call hi('Delimiter', s:gruberFG, '', '', '') +call hi('Float', s:gruberQuartz, '', '', '') +call hi('Function', s:gruberNiagara, '', '', '') +call hi('Identifier', s:gruberNiagara, '', '', '') +call hi('Include', s:gruberMain, '', '', '') +call hi('Keyword', s:gruberMain, '', '', '') +call hi('Label', s:gruberFG, '', '', '') +call hi('Number', s:gruberQuartz, '', '', '') +call hi('Operator', s:gruberFG, '', '', '') +call hi('PreProc', s:gruberFG1, '', '', '') +call hi('Repeat', s:gruberMain, '', '', '') +call hi('Special', s:gruberMain, '', '', '') +call hi('SpecialChar', s:gruberMain, '', '', '') +call hi('Statement', s:gruberMain, '', '', '') +call hi('StorageClass', s:gruberMain, '', '', '') +call hi('String', s:gruberGreen, '', '', '') +call hi('Structure', s:gruberMain, '', '', '') +call hi('Todo', s:gruberBG, s:gruberMain, '', '') +call hi('Type', s:gruberQuartz, '', '', '') +call hi('Typedef', s:gruberQuartz, '', '', '') + +call hi('SpellBad', '', '', 'undercurl', '') +call hi('SpellLocal', '', '', 'undercurl', '') +call hi('SpellCap', '', '', 'undercurl', '') +call hi('SpellRare', '', '', 'undercurl', '') + +" Haskell Highlighting +call hi('hsTypeDef', s:gruberMain, '', '', '') +call hi('hsStructure', s:gruberMain, '', '', '') +call hi('hsStatement', s:gruberMain, '', '', '') +call hi('hsconditional', s:gruberMain, '', '', '') +call hi('hsconditional', s:gruberMain, '', '', '') +call hi('hsconditional', s:gruberMain, '', '', '') + +" Java Highlighting +" TODO Fix function definitions +call hi('javaConstant', s:gruberQuartz, '', '', '') +call hi('javaConditional', s:gruberMain, '', '', '') +call hi('javaOperator', s:gruberMain, '', '', '') +call hi('javaExceptions', s:gruberMain, '', '', '') +call hi('javaAssert', s:gruberMain, '', '', '') +call hi('javaClassDecl', s:gruberMain, '', '', '') +call hi('javaBraces', s:gruberFG, '', '', '') +call hi('javaLangObject', s:gruberFG, '', '', '') +call hi('javaType', s:gruberQuartz, '', '', '') + +" Python Highlighting +call hi('pythonRepeat', s:gruberMain, '', '', '') +call hi('pythonOperator', s:gruberMain, '', '', '') +call hi('pythonException', s:gruberMain, '', '', '') + + +call hi('markdownCode', s:gruberGreen, '', '', '') +call hi('markdownCodeBlock', s:gruberGreen, '', '', '') +call hi('markdownHeadingDelimiter', s:gruberNiagara, '', '', '') +call hi('markdownItalic', s:gruberPurple, '', s:italic, '') +call hi('markdownBold', s:gruberMain, '', s:bold, '') +call hi('markdownCodeDelimiter', s:gruberBrown, '', s:italic, '') +call hi('markdownError', s:gruberFG, s:gruberBG1, '', '') + +call hi('ALEErrorSign', s:gruberRed, s:gruberBG2, s:bold, '') +call hi('ALEWarningSign', s:gruberMain, s:gruberBG2, s:bold, '') +call hi('ALEInfoSign', s:gruberGreen, s:gruberBG2, s:bold, '') + +call hi('NERDTreeExecFile', s:gruberFG, '', '', '') +call hi('NERDTreeDirSlash', s:gruberNiagara, '', '', '') +call hi('NERDTreeOpenable', s:gruberNiagara, '', '', '') +call hi('NERDTreeFile', '', s:none, '', '') +call hi('NERDTreeFlags', s:gruberNiagara, '', '', '') + +call hi('vimfilerLeaf', s:gruberFG, '', '', '') +call hi('vimfilerNormalFile', s:gruberFG, s:gruberBG1, '', '') +call hi('vimfilerOpenedFile', s:gruberNiagara, '', '', '') +call hi('vimfilerClosedFile', s:gruberNiagara, '', '', '') + +" }}} + +let g:terminal_color_0=s:gruberBG1[0] +let g:terminal_color_8=s:gruberBG1[0] + +let g:terminal_color_1=s:gruberLightRed[0] +let g:terminal_color_9=s:gruberLightRed[0] + +let g:terminal_color_2=s:gruberGreen[0] +let g:terminal_color_10=s:gruberGreen[0] + +let g:terminal_color_3=s:gruberMain[0] +let g:terminal_color_11=s:gruberMain[0] + +let g:terminal_color_4=s:gruberNiagara[0] +let g:terminal_color_12=s:gruberNiagara[0] + +let g:terminal_color_5=s:gruberPurple[0] +let g:terminal_color_13=s:gruberPurple[0] + +let g:terminal_color_6=s:gruberNiagara[0] +let g:terminal_color_14=s:gruberNiagara[0] + +let g:terminal_color_7=s:gruberFG[0] +let g:terminal_color_15=s:gruberFG[0] + +let g:terminal_color_background=s:gruberBG1[0] +let g:terminal_color_foreground=s:gruberWhite[0] + diff --git a/vim/vimrc b/vim/vimrc index 34cfcd7..13d973c 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -140,7 +140,8 @@ nnoremap a :Rg nnoremap ev sjL:e $MYVIMRC set background=dark -colorscheme hipster +"colorscheme hipster +colorscheme gruber-darker " manual highlights " highlight Visual ctermfg=black ctermbg=LightMagenta -- cgit v1.2.3