diff options
author | Matt Singleton <matt@xcolour.net> | 2024-11-06 17:19:47 -0600 |
---|---|---|
committer | Matt Singleton <matt@xcolour.net> | 2024-11-11 16:07:28 -0600 |
commit | e42262beb9b936a62b7656a55613123632809f92 (patch) | |
tree | cc50cb132d4f9729332bcd534f4dd7192a2381cb /stow/vim/.vim/colors | |
parent | 54a32c6dfd4cc3f2a4547349188a1fa185716354 (diff) |
custom vim theme
Diffstat (limited to 'stow/vim/.vim/colors')
-rw-r--r-- | stow/vim/.vim/colors/mono.vim | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/stow/vim/.vim/colors/mono.vim b/stow/vim/.vim/colors/mono.vim new file mode 100644 index 0000000..ccae503 --- /dev/null +++ b/stow/vim/.vim/colors/mono.vim @@ -0,0 +1,192 @@ +" Name: mono.vim +" Version: 0.1 +" Maintainer: Matt Singleton (matt@xcolour.net) +" License: The MIT License (MIT) +" +" A mostly black and white 256 color scheme. +" +" Adapted from: +" https://github.com/pbrisbin/vim-colors-off +" Which was adapted from: +" https://github.com/reedes/vim-colors-pencil +" +""" +hi clear + +if exists('syntax on') + syntax reset +endif + +let g:colors_name='mono' + +" Foreground colors +let s:black = { "gui": "#303030", "cterm": "236" } +let s:light_black = { "gui": "#585858", "cterm": "240" } +let s:blue_fg = { "gui": "#00005f", "cterm": "17" } +let s:green_fg = { "gui": "#005f00", "cterm": "22" } +let s:cyan_fg = { "gui": "#005f5f", "cterm": "23" } +let s:red_fg = { "gui": "#5f0000", "cterm": "52" } +let s:purple_fg = { "gui": "#5f005f", "cterm": "53" } +let s:yellow_fg = { "gui": "#5f5f00", "cterm": "58" } + +" background colors +let s:white = { "gui": "#ffffff", "cterm": "231" } +let s:light_gray = { "gui": "#eeeeee", "cterm": "255" } +let s:blue_bg = { 'gui': '#d7d7ff', 'cterm': '189' } +let s:green_bg = { 'gui': '#d7ffd7', 'cterm': '194' } +let s:cyan_bg = { 'gui': '#d7ffff', 'cterm': '195' } +let s:red_bg = { 'gui': '#ffd7d7', 'cterm': '224' } +let s:purple_bg = { 'gui': '#ffd7ff', 'cterm': '225' } +let s:yellow_bg = { 'gui': '#ffffd7', 'cterm': '230' } + +let s:bg = s:white +let s:bg_subtle = s:light_gray +let s:norm = s:black + +let s:blue = s:blue_fg +let s:purple = s:purple_fg +let s:cyan = s:cyan_fg +let s:green = s:green_fg +let s:red = s:red_fg +let s:yellow = s:yellow_fg +let s:visual = s:cyan_bg + +" https://github.com/noahfrederick/vim-hemisu/ +function! s:h(group, style) + execute "highlight" a:group + \ "guifg=" (has_key(a:style, "fg") ? a:style.fg.gui : "NONE") + \ "guibg=" (has_key(a:style, "bg") ? a:style.bg.gui : "NONE") + \ "guisp=" (has_key(a:style, "sp") ? a:style.sp.gui : "NONE") + \ "gui=" (has_key(a:style, "gui") ? a:style.gui : "NONE") + \ "ctermfg=" (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE") + \ "ctermbg=" (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE") + \ "cterm=" (has_key(a:style, "cterm") ? a:style.cterm : "NONE") +endfunction + +call s:h("Normal", {"bg": s:bg, "fg": s:norm}) +call s:h("Comment", {"fg": s:light_black}) + +call s:h("Constant", {"fg": s:cyan}) +"hi! link Constant Normal +hi! link Character Constant +hi! link Number Constant +hi! link Boolean Constant +hi! link Float Constant +hi! link String Constant + +"call s:h("Identifier", {"fg": s:text_blue}) +hi! link Identifier Normal +hi! link Function Identifier + +"call s:h("Statement", {"fg": s:text_green}) +call s:h("Statement", {"gui": "bold", "cterm": "bold"}) +"hi! link Statement Normal +hi! link Conditonal Statement +hi! link Repeat Statement +hi! link Label Statement +hi! link Operator Statement +hi! link Keyword Statement +hi! link Exception Statement + +"call s:h("PreProc", {"fg": s:text_red}) +call s:h("PreProc", {"cterm": "bold"}) +"hi! link PreProc Normal +hi! link Include PreProc +hi! link Define PreProc +hi! link Macro PreProc +hi! link PreCondit PreProc + +"call s:h("Type", {"fg": s:text_purple}) +hi! link Type Normal +hi! link StorageClass Type +hi! link Structure Type +hi! link Typedef Type + +"call s:h("Special", {"fg": s:text_red}) +hi! link Special Normal +hi! link SpecialChar Special +hi! link Tag Special +hi! link Delimiter Special +hi! link SpecialComment Special +hi! link Debug Special + +call s:h("Underlined", {"fg": s:norm, "gui": "underline", "cterm": "underline"}) +call s:h("Ignore", {"fg": s:bg}) +call s:h("Error", {"fg": s:white, "bg": s:red, "cterm": "bold"}) +call s:h("Todo", {"fg": s:red_fg, "bg": s:red_bg, "gui": "bold,underline", "cterm": "bold,underline"}) +call s:h("SpecialKey", {"fg": s:yellow}) +call s:h("NonText", {"fg": s:light_black}) +call s:h("Directory", {"fg": s:blue}) +call s:h("ErrorMsg", {"fg": s:red}) +call s:h("IncSearch", {"bg": s:yellow_bg, "gui": "bold,underline", "cterm": "bold,underline"}) +call s:h("Search", {"bg": s:yellow_bg}) +call s:h("MoreMsg", {"fg": s:light_black, "cterm": "bold", "gui": "bold"}) +hi! link ModeMsg MoreMsg +call s:h("LineNr", {"fg": s:bg_subtle}) +call s:h("CursorLineNr", {"fg": s:blue, "bg": s:bg_subtle}) +call s:h("Question", {"fg": s:red}) +call s:h("StatusLine", {"bg": s:bg_subtle}) +call s:h("StatusLineNC", {"bg": s:bg_subtle, "fg": s:light_black}) +call s:h("VertSplit", {"bg": s:bg_subtle, "fg": s:bg_subtle}) +call s:h("Title", {"fg": s:blue}) +call s:h("Visual", {"bg": s:visual}) +call s:h("VisualNOS", {"bg": s:bg_subtle}) +call s:h("WarningMsg", {"fg": s:red}) +call s:h("WildMenu", {"fg": s:bg, "bg": s:norm}) +call s:h("Folded", {"fg": s:light_black}) +call s:h("FoldColumn", {"fg": s:bg_subtle}) +call s:h("DiffAdd", {"fg": s:green}) +call s:h("DiffDelete", {"fg": s:red}) +call s:h("DiffChange", {"fg": s:yellow}) +call s:h("DiffText", {"fg": s:blue}) +call s:h("SignColumn", {"fg": s:yellow}) + +if has("gui_running") + call s:h("SpellBad", {"gui": "underline", "sp": s:red}) + call s:h("SpellCap", {"gui": "underline", "sp": s:yellow}) + call s:h("SpellRare", {"gui": "underline", "sp": s:purple}) + call s:h("SpellLocal", {"gui": "underline", "sp": s:green}) +else + call s:h("SpellBad", {"cterm": "underline", "fg": s:red}) + call s:h("SpellCap", {"cterm": "underline", "fg": s:yellow}) + call s:h("SpellRare", {"cterm": "underline", "fg": s:purple}) + call s:h("SpellLocal", {"cterm": "underline", "fg": s:green}) +endif + +call s:h("Pmenu", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("PmenuSel", {"fg": s:white, "bg": s:blue}) +call s:h("PmenuSbar", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("PmenuThumb", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("TabLine", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("TabLineSel", {"fg": s:blue, "bg": s:bg_subtle, "gui": "bold", "cterm": "bold"}) +call s:h("TabLineFill", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("CursorColumn", {"bg": s:bg_subtle}) +call s:h("CursorLine", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("ColorColumn", {"bg": s:bg_subtle}) + +call s:h("MatchParen", {"bg": s:bg_subtle, "fg": s:norm}) +call s:h("qfLineNr", {"fg": s:light_black}) + +call s:h("htmlH1", {"bg": s:bg, "fg": s:norm}) +call s:h("htmlH2", {"bg": s:bg, "fg": s:norm}) +call s:h("htmlH3", {"bg": s:bg, "fg": s:norm}) +call s:h("htmlH4", {"bg": s:bg, "fg": s:norm}) +call s:h("htmlH5", {"bg": s:bg, "fg": s:norm}) +call s:h("htmlH6", {"bg": s:bg, "fg": s:norm}) + +hi link diffRemoved DiffDelete +hi link diffAdded DiffAdd + +" Signify, git-gutter +hi link SignifySignAdd LineNr +hi link SignifySignDelete LineNr +hi link SignifySignChange LineNr +hi! GitGutterAdd guifg=#10A778 ctermfg=2 +hi! GitGutterChange guifg=#A89C14 ctermfg=3 +hi! GitGutterDelete guifg=#C30771 ctermfg=1 +hi! GitGutterChangeDelete guifg=#C30771 ctermfg=1 + +" Fuzzy Search, Telescope & CtrlP +hi! CtrlPMatch ctermbg=235 ctermfg=250 guibg=NONE guifg=#5FD7A7 cterm=NONE gui=NONE +hi! TelescopeMatching guifg=#5FD7A7 guibg=#303030 ctermbg=NONE +highlight TelescopeSelection guifg=NONE gui=bold guibg=#303030 |