diff options
| author | 2026-07-08 15:27:33 -0400 | |
|---|---|---|
| committer | 2026-07-08 15:27:33 -0400 | |
| commit | f4e02cd480bf44db1f947c0011f2177b908e9861 (patch) | |
| tree | 63e8f0bdec5240b6499411505b66ef7fa280a6a5 /colors/monochrome.vim | |
| parent | c70759274ba4cd4532bba7a4ce7d61b01634df77 (diff) | |
| download | nvim-f4e02cd480bf44db1f947c0011f2177b908e9861.tar.gz nvim-f4e02cd480bf44db1f947c0011f2177b908e9861.zip | |
Diffstat (limited to 'colors/monochrome.vim')
| -rw-r--r-- | colors/monochrome.vim | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/colors/monochrome.vim b/colors/monochrome.vim new file mode 100644 index 0000000..378ba51 --- /dev/null +++ b/colors/monochrome.vim @@ -0,0 +1,147 @@ +" Vim color scheme +" +" Name: monochrome.vim +" Maintainer: Xavier Noria <fxn@hashref.com> +" Modifications: Michael Smith <mikesmiffy128@gmail.com> +" License: MIT + +set bg=dark + +hi clear +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = 'monochrome' + +let s:white = ['White', 15] +let s:black = ['#06060a', 16] +let s:bgray = ['#181818', 233] +let s:lgray = ['LightGray', 255] +let s:cgray = ['#737373', 243] +let s:dgray = ['DarkGray', 248] +let s:sblue = ['#778899', 67] +let s:sgreen = ['#669988', 67] +let s:yellow = ['Yellow', 226] +let s:red = ['#b6403a', 160] +let s:green = ['#478226', 28] +let s:purple = ['#a652c6', 28] + +let s:italic = 'italic' +let s:bold = 'bold' +let s:underline = 'underline' +let s:none = 'NONE' +let s:cnone = [s:none, s:none] + +let s:default_fg = s:lgray +" For slight terminal transparency, configure the terminal background to be the +" same - or whatever is actually desired. +" let s:default_bg = s:cnone +let s:default_bg = s:cnone + +function! s:hi(...) + let group = a:1 + let fg = get(a:, 2, s:cnone) + let bg = get(a:, 3, s:cnone) + let attr = get(a:, 4, s:none) + let cmd = ['hi', group] + call add(cmd, 'guifg='.fg[0]) + call add(cmd, 'ctermfg='.fg[1]) + call add(cmd, 'guibg='.bg[0]) + call add(cmd, 'ctermbg='.bg[1]) + call add(cmd, 'gui='.attr) + call add(cmd, 'cterm='.attr) + exec join(cmd, ' ') +endfunction + +" Vim interface +call s:hi('Normal', s:default_fg, s:default_bg) +call s:hi('Cursor', s:black, s:lgray) +call s:hi('CursorLine', s:cnone, s:bgray) +call s:hi('CursorLineNr', s:white, s:default_bg, s:bold) +call s:hi('ColorColumn', s:cnone, s:bgray) +call s:hi('Search', s:white, s:sblue) +call s:hi('Visual', s:white, s:sblue) +call s:hi('ErrorMsg', s:white, s:red) +call s:hi('NonText', s:sblue) +call s:hi('FoldColumn', s:dgray) +call s:hi('Folded') +call s:hi('LineNr', s:dgray) +call s:hi('SpecialKey', s:sblue, s:default_bg, s:bold) +call s:hi('Directory', s:white, s:default_bg, s:bold) +call s:hi('helpSpecial') +call s:hi('helpHyperTextJump', s:sblue, s:default_bg, s:underline) +call s:hi('helpNote') +call s:hi('Pmenu', s:white, s:sblue) +call s:hi('PmenuSel', s:sblue, s:white) +call s:hi('Todo', s:white, s:cnone, s:bold.','.s:italic) +call s:hi('SignColumn', s:black, s:bgray) +call s:hi('VertSplit') +call s:hi('Pmenu', s:default_fg, s:bgray) + +" Programming languages +call s:hi('Statement', s:cnone, s:cnone) +call s:hi('PreProc', s:cnone, s:cnone) +call s:hi('String', s:sgreen) +call s:hi('Comment', s:white, s:default_bg, s:bold) +call s:hi('Constant', s:cnone, s:cnone) +call s:hi('Type') +call s:hi('Function') +call s:hi('Identifier') +call s:hi('Special') +call s:hi('MatchParen', s:cnone, s:sblue) + +" LSP inactive regions +call s:hi('InactiveRegion', s:dgray, s:default_bg, s:bold) + +" VimL +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 + +" Perl +call s:hi('perlSharpBang', s:cgray) +call s:hi('perlStringStartEnd', s:sblue) +call s:hi('perlStringEscape', s:sblue) +call s:hi('perlMatchStartEnd', s:sblue) + +" Python +call s:hi('pythonEscape', s:sblue) + +" Diffs and Signify columns +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('DiffAdd', s:white, s:green) +call s:hi('diffRemoved', s:white, s:red) +call s:hi('DiffDelete', s:white, s:red) +call s:hi('DiffChange', s:white, s:purple) + +" Markdown +call s:hi('Title', s:white, s:default_bg, s:bold) +call s:hi('markdownHeadingDelimiter', s:white, s:default_bg, s:bold) +call s:hi('markdownHeadingRule', s:white, s:default_bg, s:bold) +call s:hi('markdownLinkText', s:sblue, s:default_bg, s:underline) + +" My status line +call s:hi('StatusText', s:black, s:dgray) +call s:hi('StatusGap', s:cnone, s:bgray) + +hi link @keyword.import.c PreProc +hi link @function.macro PreProc +hi link @constant.macro PreProc + +hi link DiagnosticUnnecessary InactiveRegion + +" vi: sw=4 ts=4 noet tw=80 cc=80 |
