aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Singleton <matt@xcolour.net>2024-11-06 17:19:47 -0600
committerMatt Singleton <matt@xcolour.net>2024-11-11 16:07:28 -0600
commite42262beb9b936a62b7656a55613123632809f92 (patch)
treecc50cb132d4f9729332bcd534f4dd7192a2381cb
parent54a32c6dfd4cc3f2a4547349188a1fa185716354 (diff)
custom vim theme
-rw-r--r--stow/vim/.vim/autoload/airline/themes/mono.vim55
-rw-r--r--stow/vim/.vim/colors/mono.vim192
m---------stow/vim/.vim/pack/my-plugins/start/ale0
m---------stow/vim/.vim/pack/my-plugins/start/ctrlp.vim0
m---------stow/vim/.vim/pack/my-plugins/start/vim-airline0
m---------stow/vim/.vim/pack/my-plugins/start/vim-dirvish0
m---------stow/vim/.vim/pack/my-plugins/start/vim-eunuch0
m---------stow/vim/.vim/pack/my-plugins/start/vim-gitgutter0
m---------stow/vim/.vim/pack/my-plugins/start/vim-sensible0
-rw-r--r--stow/vim/.vimrc4
10 files changed, 249 insertions, 2 deletions
diff --git a/stow/vim/.vim/autoload/airline/themes/mono.vim b/stow/vim/.vim/autoload/airline/themes/mono.vim
new file mode 100644
index 0000000..828a668
--- /dev/null
+++ b/stow/vim/.vim/autoload/airline/themes/mono.vim
@@ -0,0 +1,55 @@
+" 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:md_gray = { "gui": "#dadada", "cterm": "253" }
+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' }
+
+" Color sets
+let s:dark = [ s:black.gui , s:md_gray.gui , s:black.cterm , s:md_gray.cterm ]
+let s:light = [ s:black.gui , s:light_gray.gui , s:black.cterm , s:light_gray.cterm ]
+let s:blue = [ s:black.gui , s:blue_bg.gui , s:black.cterm , s:blue_bg.cterm ]
+let s:yellow = [ s:black.gui , s:yellow_bg.gui , s:black.cterm , s:yellow_bg.cterm ]
+let s:red = [ s:black.gui , s:red_bg.gui , s:black.cterm , s:red_bg.cterm ]
+let s:green = [ s:black.gui , s:green_bg.gui , s:black.cterm , s:green_bg.cterm ]
+
+let g:airline#themes#mono#palette = {}
+
+let g:airline#themes#mono#palette.accents = {
+ \ 'red': [ s:red_fg.gui , '' , s:red_fg.cterm , '' ],
+ \ }
+
+" Normal Mode
+let g:airline#themes#mono#palette.normal = airline#themes#generate_color_map(s:blue, s:dark, s:light)
+
+" Insert Mode
+let g:airline#themes#mono#palette.insert = copy(g:airline#themes#mono#palette.normal)
+let g:airline#themes#mono#palette.insert.airline_a = s:yellow
+let g:airline#themes#mono#palette.insert.airline_z = s:yellow
+
+" Replace Mode
+let g:airline#themes#mono#palette.replace = copy(g:airline#themes#mono#palette.normal)
+let g:airline#themes#mono#palette.replace.airline_a = s:red
+let g:airline#themes#mono#palette.replace.airline_z = s:red
+
+" Visual Mode
+let g:airline#themes#mono#palette.visual = copy(g:airline#themes#mono#palette.normal)
+let g:airline#themes#mono#palette.visual.airline_a = s:green
+let g:airline#themes#mono#palette.visual.airline_z = s:green
+
+" Inactive
+let g:airline#themes#mono#palette.inactive = airline#themes#generate_color_map(s:light, s:light, s:light)
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
diff --git a/stow/vim/.vim/pack/my-plugins/start/ale b/stow/vim/.vim/pack/my-plugins/start/ale
-Subproject adaa7f6f62366e5ed8aa76e79ca74f32a3b196b
+Subproject 4fca3824cc34f731cb5b3e51844698052c5f6c5
diff --git a/stow/vim/.vim/pack/my-plugins/start/ctrlp.vim b/stow/vim/.vim/pack/my-plugins/start/ctrlp.vim
-Subproject 7c972cb19c8544c681ca345c64ec39e04f4651c
+Subproject 475a864e7f01dfc5c93965778417cc66e77f3dc
diff --git a/stow/vim/.vim/pack/my-plugins/start/vim-airline b/stow/vim/.vim/pack/my-plugins/start/vim-airline
-Subproject 16c1638f93f93fad41da8cb6eef2bcd8eed0a57
+Subproject 6c704f4b780e2b687dd21b24a19f598dde06dc2
diff --git a/stow/vim/.vim/pack/my-plugins/start/vim-dirvish b/stow/vim/.vim/pack/my-plugins/start/vim-dirvish
-Subproject 3851bedb7f191b9a4a5531000b6fc0a8795cc9b
+Subproject 2ddd8ee63d6066ae910b29285d9786cbd022665
diff --git a/stow/vim/.vim/pack/my-plugins/start/vim-eunuch b/stow/vim/.vim/pack/my-plugins/start/vim-eunuch
-Subproject 8fb3904be27b6b60d086f87c257008590241406
+Subproject 6c6af39aa0a25223389607338ae965c5dfc7c97
diff --git a/stow/vim/.vim/pack/my-plugins/start/vim-gitgutter b/stow/vim/.vim/pack/my-plugins/start/vim-gitgutter
-Subproject e801371917e52805a4ceb1e93f55ed1fba712f8
+Subproject 7b0b5098e3e57be86bb96cfbf2b8902381eef57
diff --git a/stow/vim/.vim/pack/my-plugins/start/vim-sensible b/stow/vim/.vim/pack/my-plugins/start/vim-sensible
-Subproject 3e878abfd6ddc6fb5dba48b41f2b72c3a2f8249
+Subproject 0ce2d843d6f588bb0c8c7eec6449171615dc56d
diff --git a/stow/vim/.vimrc b/stow/vim/.vimrc
index 83fbd03..2d32bbe 100644
--- a/stow/vim/.vimrc
+++ b/stow/vim/.vimrc
@@ -81,8 +81,8 @@ let g:ale_linters_ignore = {'python': ['mypy']} " mypy is too slow and doesn't
"
set background=light
-silent! colo tempus_totus
-let g:airline_theme='tempus'
+silent! colo mono
+let g:airline_theme='mono'
set hlsearch
syntax enable