diff --git a/app-config/fzf/hard-badlands-monobiome-dark.active.theme b/app-config/fzf/hard-badlands-monobiome-dark.active.theme new file mode 100644 index 0000000..6c14ca7 --- /dev/null +++ b/app-config/fzf/hard-badlands-monobiome-dark.active.theme @@ -0,0 +1,23 @@ +export FZF_DEFAULT_OPTS=$FZF_DEFAULT_OPTS' + --color=fg:#d5cbca + --color=fg+:#c5bbba + --color=bg:#1b1413 + --color=bg+:#27201f + + --color=hl:#557ecc + --color=hl+:#799ee3 + --color=info:#888346 + --color=marker:#6eb178 + + --color=prompt:#dc4234 + --color=spinner:#888346 + --color=pointer:#dc4234 + --color=header:#6eb178 + + --color=border:#27201f + --color=label:#aeaeae + --color=query:#d5cbca + + --preview-window="border-bold" --prompt="> " --marker=">" --pointer="◆" + --separator="" --scrollbar="│"' + diff --git a/app-config/fzf/hard-badlands-monobiome-light.active.theme b/app-config/fzf/hard-badlands-monobiome-light.active.theme new file mode 100644 index 0000000..e981e13 --- /dev/null +++ b/app-config/fzf/hard-badlands-monobiome-light.active.theme @@ -0,0 +1,23 @@ +export FZF_DEFAULT_OPTS=$FZF_DEFAULT_OPTS' + --color=fg:#332c2b + --color=fg+:#403837 + --color=bg:#f6ecea + --color=bg+:#e5dbda + + --color=hl:#456fbe + --color=hl+:#2d5299 + --color=info:#79743d + --color=marker:#2e6337 + + --color=prompt:#ca2f24 + --color=spinner:#79743d + --color=pointer:#ca2f24 + --color=header:#2e6337 + + --color=border:#e5dbda + --color=label:#aeaeae + --color=query:#332c2b + + --preview-window="border-bold" --prompt="> " --marker=">" --pointer="◆" + --separator="" --scrollbar="│"' + diff --git a/app-config/fzf/hard-chaparral-monobiome-dark.active.theme b/app-config/fzf/hard-chaparral-monobiome-dark.active.theme new file mode 100644 index 0000000..30dccf0 --- /dev/null +++ b/app-config/fzf/hard-chaparral-monobiome-dark.active.theme @@ -0,0 +1,23 @@ +export FZF_DEFAULT_OPTS=$FZF_DEFAULT_OPTS' + --color=fg:#d3ccc7 + --color=fg+:#c3bcb7 + --color=bg:#1a1511 + --color=bg+:#26211c + + --color=hl:#557ecc + --color=hl+:#799ee3 + --color=info:#888346 + --color=marker:#6eb178 + + --color=prompt:#dc4234 + --color=spinner:#888346 + --color=pointer:#dc4234 + --color=header:#6eb178 + + --color=border:#26211c + --color=label:#aeaeae + --color=query:#d3ccc7 + + --preview-window="border-bold" --prompt="> " --marker=">" --pointer="◆" + --separator="" --scrollbar="│"' + diff --git a/app-config/fzf/hard-chaparral-monobiome-light.active.theme b/app-config/fzf/hard-chaparral-monobiome-light.active.theme new file mode 100644 index 0000000..4bb35ad --- /dev/null +++ b/app-config/fzf/hard-chaparral-monobiome-light.active.theme @@ -0,0 +1,23 @@ +export FZF_DEFAULT_OPTS=$FZF_DEFAULT_OPTS' + --color=fg:#322d28 + --color=fg+:#3f3935 + --color=bg:#f4ede7 + --color=bg+:#e4ddd7 + + --color=hl:#456fbe + --color=hl+:#2d5299 + --color=info:#79743d + --color=marker:#2e6337 + + --color=prompt:#ca2f24 + --color=spinner:#79743d + --color=pointer:#ca2f24 + --color=header:#2e6337 + + --color=border:#e4ddd7 + --color=label:#aeaeae + --color=query:#322d28 + + --preview-window="border-bold" --prompt="> " --marker=">" --pointer="◆" + --separator="" --scrollbar="│"' + diff --git a/app-config/fzf/soft-badlands-monobiome-dark.active.theme b/app-config/fzf/soft-badlands-monobiome-dark.active.theme new file mode 100644 index 0000000..0b5a6ec --- /dev/null +++ b/app-config/fzf/soft-badlands-monobiome-dark.active.theme @@ -0,0 +1,23 @@ +export FZF_DEFAULT_OPTS=$FZF_DEFAULT_OPTS' + --color=fg:#f6ecea + --color=fg+:#e5dbda + --color=bg:#332c2b + --color=bg+:#403837 + + --color=hl:#799ee3 + --color=hl+:#a2bef2 + --color=info:#a7a15f + --color=marker:#94cf9c + + --color=prompt:#f37060 + --color=spinner:#a7a15f + --color=pointer:#f37060 + --color=header:#94cf9c + + --color=border:#403837 + --color=label:#aeaeae + --color=query:#f6ecea + + --preview-window="border-bold" --prompt="> " --marker=">" --pointer="◆" + --separator="" --scrollbar="│"' + diff --git a/app-config/fzf/soft-badlands-monobiome-light.active.theme b/app-config/fzf/soft-badlands-monobiome-light.active.theme new file mode 100644 index 0000000..12ef2e5 --- /dev/null +++ b/app-config/fzf/soft-badlands-monobiome-light.active.theme @@ -0,0 +1,23 @@ +export FZF_DEFAULT_OPTS=$FZF_DEFAULT_OPTS' + --color=fg:#1b1413 + --color=fg+:#27201f + --color=bg:#d5cbca + --color=bg+:#c5bbba + + --color=hl:#2d5299 + --color=hl+:#1a3771 + --color=info:#5b572e + --color=marker:#1c4524 + + --color=prompt:#9d1a13 + --color=spinner:#5b572e + --color=pointer:#9d1a13 + --color=header:#1c4524 + + --color=border:#c5bbba + --color=label:#aeaeae + --color=query:#1b1413 + + --preview-window="border-bold" --prompt="> " --marker=">" --pointer="◆" + --separator="" --scrollbar="│"' + diff --git a/app-config/fzf/soft-chaparral-monobiome-dark.active.theme b/app-config/fzf/soft-chaparral-monobiome-dark.active.theme new file mode 100644 index 0000000..7c76df3 --- /dev/null +++ b/app-config/fzf/soft-chaparral-monobiome-dark.active.theme @@ -0,0 +1,23 @@ +export FZF_DEFAULT_OPTS=$FZF_DEFAULT_OPTS' + --color=fg:#f4ede7 + --color=fg+:#e4ddd7 + --color=bg:#322d28 + --color=bg+:#3f3935 + + --color=hl:#799ee3 + --color=hl+:#a2bef2 + --color=info:#a7a15f + --color=marker:#94cf9c + + --color=prompt:#f37060 + --color=spinner:#a7a15f + --color=pointer:#f37060 + --color=header:#94cf9c + + --color=border:#3f3935 + --color=label:#aeaeae + --color=query:#f4ede7 + + --preview-window="border-bold" --prompt="> " --marker=">" --pointer="◆" + --separator="" --scrollbar="│"' + diff --git a/app-config/fzf/soft-chaparral-monobiome-light.active.theme b/app-config/fzf/soft-chaparral-monobiome-light.active.theme new file mode 100644 index 0000000..85865b9 --- /dev/null +++ b/app-config/fzf/soft-chaparral-monobiome-light.active.theme @@ -0,0 +1,23 @@ +export FZF_DEFAULT_OPTS=$FZF_DEFAULT_OPTS' + --color=fg:#1a1511 + --color=fg+:#26211c + --color=bg:#d3ccc7 + --color=bg+:#c3bcb7 + + --color=hl:#2d5299 + --color=hl+:#1a3771 + --color=info:#5b572e + --color=marker:#1c4524 + + --color=prompt:#9d1a13 + --color=spinner:#5b572e + --color=pointer:#9d1a13 + --color=header:#1c4524 + + --color=border:#c3bcb7 + --color=label:#aeaeae + --color=query:#1a1511 + + --preview-window="border-bold" --prompt="> " --marker=">" --pointer="◆" + --separator="" --scrollbar="│"' + diff --git a/app-config/kitty/hard-badlands-monobiome-dark.active.theme b/app-config/kitty/hard-badlands-monobiome-dark.active.theme new file mode 100644 index 0000000..61e92eb --- /dev/null +++ b/app-config/kitty/hard-badlands-monobiome-dark.active.theme @@ -0,0 +1,41 @@ +# base settings +background #1b1413 +foreground #d5cbca + +selection_background #27201f +selection_foreground #c5bbba + +cursor #c5bbba +cursor_text #27201f + +# black +color0 #1b1413 +color8 #332c2b + +# red +color1 #dc4234 +color9 #f37060 + +# green +color2 #4f925a +color10 #6eb178 + +# yellow +color3 #888346 +color11 #a7a15f + +# blue +color4 #557ecc +color12 #799ee3 + +# magenta (red) +color5 #b76b0c +color13 #d98937 + +# cyan (blue) +color6 #557ecc +color14 #799ee3 + +## white +color7 #b5abaa +color15 #d5cbca diff --git a/app-config/kitty/hard-badlands-monobiome-light.active.theme b/app-config/kitty/hard-badlands-monobiome-light.active.theme new file mode 100644 index 0000000..69c96f3 --- /dev/null +++ b/app-config/kitty/hard-badlands-monobiome-light.active.theme @@ -0,0 +1,41 @@ +# base settings +background #f6ecea +foreground #332c2b + +selection_background #e5dbda +selection_foreground #403837 + +cursor #403837 +cursor_text #e5dbda + +# black +color0 #f6ecea +color8 #d5cbca + +# red +color1 #ca2f24 +color9 #9d1a13 + +# green +color2 #42824e +color10 #2e6337 + +# yellow +color3 #79743d +color11 #5b572e + +# blue +color4 #456fbe +color12 #2d5299 + +# magenta (red) +color5 #a45e03 +color13 #7c4706 + +# cyan (blue) +color6 #456fbe +color14 #2d5299 + +## white +color7 #4d4644 +color15 #332c2b diff --git a/app-config/kitty/hard-chaparral-monobiome-dark.active.theme b/app-config/kitty/hard-chaparral-monobiome-dark.active.theme new file mode 100644 index 0000000..00537cc --- /dev/null +++ b/app-config/kitty/hard-chaparral-monobiome-dark.active.theme @@ -0,0 +1,41 @@ +# base settings +background #1a1511 +foreground #d3ccc7 + +selection_background #26211c +selection_foreground #c3bcb7 + +cursor #c3bcb7 +cursor_text #26211c + +# black +color0 #1a1511 +color8 #322d28 + +# red +color1 #dc4234 +color9 #f37060 + +# green +color2 #4f925a +color10 #6eb178 + +# yellow +color3 #888346 +color11 #a7a15f + +# blue +color4 #557ecc +color12 #799ee3 + +# magenta (red) +color5 #b76b0c +color13 #d98937 + +# cyan (blue) +color6 #557ecc +color14 #799ee3 + +## white +color7 #b3ada7 +color15 #d3ccc7 diff --git a/app-config/kitty/hard-chaparral-monobiome-light.active.theme b/app-config/kitty/hard-chaparral-monobiome-light.active.theme new file mode 100644 index 0000000..2ae5ef0 --- /dev/null +++ b/app-config/kitty/hard-chaparral-monobiome-light.active.theme @@ -0,0 +1,41 @@ +# base settings +background #f4ede7 +foreground #322d28 + +selection_background #e4ddd7 +selection_foreground #3f3935 + +cursor #3f3935 +cursor_text #e4ddd7 + +# black +color0 #f4ede7 +color8 #d3ccc7 + +# red +color1 #ca2f24 +color9 #9d1a13 + +# green +color2 #42824e +color10 #2e6337 + +# yellow +color3 #79743d +color11 #5b572e + +# blue +color4 #456fbe +color12 #2d5299 + +# magenta (red) +color5 #a45e03 +color13 #7c4706 + +# cyan (blue) +color6 #456fbe +color14 #2d5299 + +## white +color7 #4c4642 +color15 #322d28 diff --git a/app-config/kitty/soft-badlands-monobiome-dark.active.theme b/app-config/kitty/soft-badlands-monobiome-dark.active.theme new file mode 100644 index 0000000..ea291bd --- /dev/null +++ b/app-config/kitty/soft-badlands-monobiome-dark.active.theme @@ -0,0 +1,41 @@ +# base settings +background #332c2b +foreground #f6ecea + +selection_background #403837 +selection_foreground #e5dbda + +cursor #e5dbda +cursor_text #403837 + +# black +color0 #332c2b +color8 #4d4644 + +# red +color1 #f37060 +color9 #fea294 + +# green +color2 #6eb178 +color10 #94cf9c + +# yellow +color3 #a7a15f +color11 #c6c182 + +# blue +color4 #799ee3 +color12 #a2bef2 + +# magenta (red) +color5 #d98937 +color13 #f1ad6f + +# cyan (blue) +color6 #799ee3 +color14 #a2bef2 + +## white +color7 #d5cbca +color15 #f6ecea diff --git a/app-config/kitty/soft-badlands-monobiome-light.active.theme b/app-config/kitty/soft-badlands-monobiome-light.active.theme new file mode 100644 index 0000000..f857168 --- /dev/null +++ b/app-config/kitty/soft-badlands-monobiome-light.active.theme @@ -0,0 +1,41 @@ +# base settings +background #d5cbca +foreground #1b1413 + +selection_background #c5bbba +selection_foreground #27201f + +cursor #27201f +cursor_text #c5bbba + +# black +color0 #d5cbca +color8 #b5abaa + +# red +color1 #9d1a13 +color9 #6e110b + +# green +color2 #2e6337 +color10 #1c4524 + +# yellow +color3 #5b572e +color11 #3e3c20 + +# blue +color4 #2d5299 +color12 #1a3771 + +# magenta (red) +color5 #7c4706 +color13 #54310d + +# cyan (blue) +color6 #2d5299 +color14 #1a3771 + +## white +color7 #332c2b +color15 #27201f diff --git a/app-config/kitty/soft-chaparral-monobiome-dark.active.theme b/app-config/kitty/soft-chaparral-monobiome-dark.active.theme new file mode 100644 index 0000000..fb904f2 --- /dev/null +++ b/app-config/kitty/soft-chaparral-monobiome-dark.active.theme @@ -0,0 +1,41 @@ +# base settings +background #322d28 +foreground #f4ede7 + +selection_background #3f3935 +selection_foreground #e4ddd7 + +cursor #e4ddd7 +cursor_text #3f3935 + +# black +color0 #322d28 +color8 #4c4642 + +# red +color1 #f37060 +color9 #fea294 + +# green +color2 #6eb178 +color10 #94cf9c + +# yellow +color3 #a7a15f +color11 #c6c182 + +# blue +color4 #799ee3 +color12 #a2bef2 + +# magenta (red) +color5 #d98937 +color13 #f1ad6f + +# cyan (blue) +color6 #799ee3 +color14 #a2bef2 + +## white +color7 #d3ccc7 +color15 #f4ede7 diff --git a/app-config/kitty/soft-chaparral-monobiome-light.active.theme b/app-config/kitty/soft-chaparral-monobiome-light.active.theme new file mode 100644 index 0000000..c516819 --- /dev/null +++ b/app-config/kitty/soft-chaparral-monobiome-light.active.theme @@ -0,0 +1,41 @@ +# base settings +background #d3ccc7 +foreground #1a1511 + +selection_background #c3bcb7 +selection_foreground #26211c + +cursor #26211c +cursor_text #c3bcb7 + +# black +color0 #d3ccc7 +color8 #b3ada7 + +# red +color1 #9d1a13 +color9 #6e110b + +# green +color2 #2e6337 +color10 #1c4524 + +# yellow +color3 #5b572e +color11 #3e3c20 + +# blue +color4 #2d5299 +color12 #1a3771 + +# magenta (red) +color5 #7c4706 +color13 #54310d + +# cyan (blue) +color6 #2d5299 +color14 #1a3771 + +## white +color7 #322d28 +color15 #26211c diff --git a/app-config/nvim/hard-badlands-monobiome-dark.theme.vim b/app-config/nvim/hard-badlands-monobiome-dark.theme.vim new file mode 100644 index 0000000..82f1bd3 --- /dev/null +++ b/app-config/nvim/hard-badlands-monobiome-dark.theme.vim @@ -0,0 +1,995 @@ +" vi:syntax=vim +" +" Top-level remarks: +" +" - `hi` sets highlight colors for syntax groups, allowing one to specify fg and bg colors +" for GUI and terminal Vim. +" - `link` allows for linking one syntax group to another, reusing the same color +" settings. Language-specific groups can then point to one of the base color highlight +" groups, for example, without needing to repeat the raw color values. +" +" There are several kinds of syntax identifiers: +" +" - Vim/editor related (e.g., Normal, Folded): these control colors of central Vim +" elements, like whitespace, bold text, the foldcolumn, etc +" - Generic syntax identifiers (e.g., Boolean, Conditional): these are key groups for +" syntax elements that various language syntax files link to. For instance, Python +" syntax files might have specific patterns that match function keywords like "def," and +" the resulting syntax region can be highlighted by linking it to the core "Function" +" highlight identifier. +" - Treesitter-based identifiers (e.g., @variable, @boolean): highlight groups for +" treesitter-based syntax highlighting, which can replace regex-based matching when +" enabled for richer (and often faster) highlighting. These groups can be linked to the +" core identifiers like any other language. +" +" *Note*: each of these identifiers can add a lang-specific suffix to style those groups +" as they apply to particular languages. For ex, `@boolean.python ThemeRed` would style +" Python booleans red, while the lang-agnostic `@boolean` definition remains. +" - Plugin-oriented identifiers (e.g., SpellBad, ErrorFloat): these are groups mostly core +" to vim/nvim, but often appear only in the context of plugins or certain modules (like +" LSP). For instance, ErrorFloat styles floating windows that might be drawn by nvim's +" built-in LSP hover info. + +" GUI color definitions +let s:gui00 = "#1b1413" +let g:base16_gui00 = "#1b1413" +let s:gui01 = "#27201f" +let g:base16_gui01 = "#27201f" +let s:gui02 = "#332c2b" +let g:base16_gui02 = "#332c2b" +let s:gui03 = "#403837" +let g:base16_gui03 = "#403837" +let s:gui04 = "#a59c9a" +let g:base16_gui04 = "#a59c9a" +let s:gui05 = "#b5abaa" +let g:base16_gui05 = "#b5abaa" +let s:gui06 = "#c5bbba" +let g:base16_gui06 = "#c5bbba" +let s:gui07 = "#d5cbca" +let g:base16_gui07 = "#d5cbca" +let s:gui08 = "#dc4234" +let g:base16_gui08 = "#dc4234" +let s:gui09 = "#b76b0c" +let g:base16_gui09 = "#b76b0c" +let s:gui0A = "#888346" +let g:base16_gui0A = "#888346" +let s:gui0B = "#4f925a" +let g:base16_gui0B = "#4f925a" +let s:gui0C = "#4f925a" +let g:base16_gui0C = "#4f925a" +let s:gui0D = "#557ecc" +let g:base16_gui0D = "#557ecc" +let s:gui0E = "#557ecc" +let g:base16_gui0E = "#557ecc" +let s:gui0F = "#dc4234" +let g:base16_gui0F = "#dc4234" + +let s:grey = "#696160" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" + +let s:cterm01 = "10" +let g:base16_cterm01 = "10" +let s:cterm02 = "11" +let g:base16_cterm02 = "11" +let s:cterm04 = "12" +let g:base16_cterm04 = "12" +let s:cterm06 = "13" +let g:base16_cterm06 = "13" +let s:cterm09 = "09" +let g:base16_cterm09 = "09" +let s:cterm0F = "14" +let g:base16_cterm0F = "14" + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#1b1413" + let g:terminal_color_1 = "#dc4234" + let g:terminal_color_2 = "#4f925a" + let g:terminal_color_3 = "#888346" + let g:terminal_color_4 = "#557ecc" + let g:terminal_color_5 = "#557ecc" + let g:terminal_color_6 = "#4f925a" + let g:terminal_color_7 = "#b5abaa" + let g:terminal_color_8 = "#403837" + let g:terminal_color_9 = "#dc4234" + let g:terminal_color_10 = "#4f925a" + let g:terminal_color_11 = "#888346" + let g:terminal_color_12 = "#557ecc" + let g:terminal_color_13 = "#557ecc" + let g:terminal_color_14 = "#4f925a" + let g:terminal_color_15 = "#d5cbca" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif + +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#1b1413", + \ "#dc4234", + \ "#4f925a", + \ "#888346", + \ "#557ecc", + \ "#557ecc", + \ "#4f925a", + \ "#b5abaa", + \ "#403837", + \ "#dc4234", + \ "#4f925a", + \ "#888346", + \ "#557ecc", + \ "#557ecc", + \ "#4f925a", + \ "#d5cbca", + \ ] +endif + +let s:guibg = s:gui00 +let s:ctermbg = s:cterm00 + +" Theme setup +hi clear +syntax reset +let g:colors_name = "active" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + " For a given syntax group, sets the GUI and terminal foreground and backgrounds + " Optional parameters are interpreted as `attr` and `guisp`, the first of which appears + " to be a modifier for the group (e.g., bold, italic), and `guisp` appears to be + " 'special' colors used for underlines in the GUI. + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=" . a:guifg + endif + endif + + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=" . a:guibg + endif + endif + + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=" . l:guisp + endif + endif +endfunction + + +fun hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + + +" color groups for interpretability +call hi("ThemeBg0", s:gui00, "", s:cterm00, "", "", "") +call hi("ThemeBg1", s:gui01, "", s:cterm01, "", "", "") +call hi("ThemeBg2", s:gui02, "", s:cterm02, "", "", "") +call hi("ThemeBg3", s:gui03, "", s:cterm03, "", "", "") +call hi("ThemeFg3", s:gui04, "", s:cterm04, "", "", "") +call hi("ThemeFg2", s:gui05, "", s:cterm05, "", "", "") +call hi("ThemeFg1", s:gui06, "", s:cterm06, "", "", "") +call hi("ThemeFg0", s:gui07, "", s:cterm07, "", "", "") + +call hi("ThemeBg0bold", s:gui00, "", s:cterm00, "", "bold", "") +call hi("ThemeBg1bold", s:gui01, "", s:cterm01, "", "bold", "") +call hi("ThemeBg2bold", s:gui02, "", s:cterm02, "", "bold", "") +call hi("ThemeBg3bold", s:gui03, "", s:cterm03, "", "bold", "") +call hi("ThemeFg3bold", s:gui04, "", s:cterm04, "", "bold", "") +call hi("ThemeFg2bold", s:gui05, "", s:cterm05, "", "bold", "") +call hi("ThemeFg1bold", s:gui06, "", s:cterm06, "", "bold", "") +call hi("ThemeFg0bold", s:gui07, "", s:cterm07, "", "bold", "") + +call hi("ThemeBg0Italic", s:gui00, "", s:cterm00, "", "italic", "") +call hi("ThemeBg1Italic", s:gui01, "", s:cterm01, "", "italic", "") +call hi("ThemeBg2Italic", s:gui02, "", s:cterm02, "", "italic", "") +call hi("ThemeBg3Italic", s:gui03, "", s:cterm03, "", "italic", "") +call hi("ThemeFg3Italic", s:gui04, "", s:cterm04, "", "italic", "") +call hi("ThemeFg2Italic", s:gui05, "", s:cterm05, "", "italic", "") +call hi("ThemeFg1Italic", s:gui06, "", s:cterm06, "", "italic", "") +call hi("ThemeFg0Italic", s:gui07, "", s:cterm07, "", "italic", "") + +call hi("ThemeRed", s:gui08, "", s:cterm08, "", "", "") +call hi("ThemeOrange", s:gui09, "", s:cterm09, "", "", "") +call hi("ThemeYellow", s:gui0A, "", s:cterm0A, "", "", "") +call hi("ThemeGreen", s:gui0B, "", s:cterm0B, "", "", "") +call hi("ThemeCyan", s:gui0C, "", s:cterm0C, "", "", "") +call hi("ThemeBlue", s:gui0D, "", s:cterm0D, "", "", "") +call hi("ThemeViolet", s:gui0E, "", s:cterm0E, "", "", "") +call hi("ThemeMagenta", s:gui0F, "", s:cterm0F, "", "", "") + +call hi("ThemeRedNone", s:gui08, "", s:cterm08, "", "NONE", "") +call hi("ThemeOrangeNone", s:gui09, "", s:cterm09, "", "NONE", "") +call hi("ThemeYellowNone", s:gui0A, "", s:cterm0A, "", "NONE", "") +call hi("ThemeGreenNone", s:gui0B, "", s:cterm0B, "", "NONE", "") +call hi("ThemeCyanNone", s:gui0C, "", s:cterm0C, "", "NONE", "") +call hi("ThemeBlueNone", s:gui0D, "", s:cterm0D, "", "NONE", "") +call hi("ThemeVioletNone", s:gui0E, "", s:cterm0E, "", "NONE", "") +call hi("ThemeMagentaNone", s:gui0F, "", s:cterm0F, "", "NONE", "") + +call hi("ThemeRedBold", s:gui08, "", s:cterm08, "", "bold", "") +call hi("ThemeOrangeBold", s:gui09, "", s:cterm09, "", "bold", "") +call hi("ThemeYellowBold", s:gui0A, "", s:cterm0A, "", "bold", "") +call hi("ThemeGreenBold", s:gui0B, "", s:cterm0B, "", "bold", "") +call hi("ThemeCyanBold", s:gui0C, "", s:cterm0C, "", "bold", "") +call hi("ThemeBlueBold", s:gui0D, "", s:cterm0D, "", "bold", "") +call hi("ThemeVioletBold", s:gui0E, "", s:cterm0E, "", "bold", "") +call hi("ThemeMagentaBold", s:gui0F, "", s:cterm0F, "", "bold", "") + +call hi("ThemeRedItalic", s:gui08, "", s:cterm08, "", "italic", "") +call hi("ThemeOrangeItalic", s:gui09, "", s:cterm09, "", "italic", "") +call hi("ThemeYellowItalic", s:gui0A, "", s:cterm0A, "", "italic", "") +call hi("ThemeGreenItalic", s:gui0B, "", s:cterm0B, "", "italic", "") +call hi("ThemeCyanItalic", s:gui0C, "", s:cterm0C, "", "italic", "") +call hi("ThemeBlueItalic", s:gui0D, "", s:cterm0D, "", "italic", "") +call hi("ThemeVioletItalic", s:gui0E, "", s:cterm0E, "", "italic", "") +call hi("ThemeMagentaItalic", s:gui0F, "", s:cterm0F, "", "italic", "") + +call hi("ThemeRedBoldItalic", s:gui08, "", s:cterm08, "", "bold,italic", "") +call hi("ThemeOrangeBoldItalic", s:gui09, "", s:cterm09, "", "bold,italic", "") +call hi("ThemeYellowBoldItalic", s:gui0A, "", s:cterm0A, "", "bold,italic", "") +call hi("ThemeGreenBoldItalic", s:gui0B, "", s:cterm0B, "", "bold,italic", "") +call hi("ThemeCyanBoldItalic", s:gui0C, "", s:cterm0C, "", "bold,italic", "") +call hi("ThemeBlueBoldItalic", s:gui0D, "", s:cterm0D, "", "bold,italic", "") +call hi("ThemeVioletBoldItalic", s:gui0E, "", s:cterm0E, "", "bold,italic", "") +call hi("ThemeMagentaBoldItalic", s:gui0F, "", s:cterm0F, "", "bold,italic", "") + +call hi("ThemeGrey", s:grey, "", s:cterm03, "", "", "") +call hi("ThemeGreyItalic", s:grey, "", s:cterm03, "", "italic", "") + + +" Vim editor colors +call hi("Bold", "", "", "", "", "bold", "") +call hi("Italic", "", "", "", "", "italic", "") +call hi("BoldItalic", "", "", "", "", "italic,bold", "") + +call hi("Normal", s:gui05, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Error", s:guibg, s:gui08, s:ctermbg, s:cterm08, "", "") +call hi("ErrorMsg", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call hi("FoldColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("Folded", s:gui03, s:gui01, s:cterm02, s:ctermbg, "", "") +call hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call hi("Macro", s:gui0C, "", s:cterm0C, "", "", "") +call hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call hi("Underlined", "", "", "", "", "underline", "fg") +call hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call hi("WildMenu", s:guibg, s:gui06, s:ctermbg, s:cterm05, "", "") +call hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") + +"call hi("Conceal", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +hi! link Conceal ThemeBlue + +call hi("Cursor", s:gui05, s:guibg, "", "", "inverse", "") +call hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call hi("Whitespace", s:gui03, "", s:cterm03, "", "", "") +call hi("LineNr", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("SignColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("StatusLine", s:gui07, s:gui01, s:cterm07, s:cterm01, "none", "") +call hi("StatusLineNC", s:gui06, s:gui01, s:cterm05, s:cterm01, "none", "") +call hi("VertSplit", s:gui01, s:guibg, s:cterm01, s:ctermbg, "none", "") +call hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLineNr", s:gui04, s:gui00, s:cterm04, s:cterm01, "", "") +call hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "") +call hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "") +call hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "") +call hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "") +call hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax +call hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call hi("Identifier", s:gui06, "", s:cterm05, "", "none", "") +call hi("Keyword", s:gui0D, "", s:cterm0E, "", "none", "") +call hi("Todo", s:gui08, s:guibg, s:cterm08, s:ctermbg, "italic", "") + +hi! link Boolean ThemeOrange +hi! link Character ThemeRed +hi! link Comment ThemeGreyItalic +hi! link Conditional ThemeRed +hi! link Constant ThemeOrange +hi! link Delimiter ThemeFg1 +hi! link Float ThemeOrange +hi! link Function ThemeBlue +hi! link Include ThemeBlue +hi! link Constant ThemeOrange +hi! link Label ThemeOrange +hi! link Number ThemeOrange +hi! link Operator ThemeYellow +hi! link PreProc ThemeOrange +hi! link Repeat ThemeViolet +hi! link Special ThemeYellow +hi! link SpecialChar ThemeMagenta +hi! link Statement ThemeRed +hi! link StorageClass ThemeOrange +hi! link String ThemeGreen +hi! link Structure ThemeOrange +hi! link Tag ThemeOrange +hi! link Type ThemeYellow +hi! link Typedef ThemeOrange + + +" Treesitter +if has("nvim-0.8.0") + hi! link @field ThemeRed + hi! link @property ThemeRed + hi! link @namespace ThemeFg1Italic + hi! link @variable.builtin ThemeFg1Italic + hi! link @variable ThemeFg2 + hi! link @conceal ThemeBlue + + hi! link @text.uri ThemeRedItalic + hi! link @text.reference ThemeRed + + hi! link @annotation ThemeViolet + hi! link @attribute ThemeBlue + + hi! link @boolean ThemeOrange + hi! link @character ThemeRed + hi! link @character.special ThemeMagenta + hi! link @comment Comment + + hi! link @constant ThemeBlue + hi! link @constant.builtin ThemeBlue + + hi! link @constant.macro ThemeRed + + hi! link @keyword.directive.define ThemeViolet + hi! link @keyword.exception ThemeRed + + hi! link @comment.error ThemeRed + hi! link @number.float ThemeRed + hi! link @keyword.function ThemeRed + + hi! link @function ThemeBlue + hi! link @function.builtin ThemeBlue + hi! link @function.call ThemeBlue + hi! link @function.macro ThemeRed + hi! link @function.method ThemeBlue + hi! link @function.method.call ThemeBlue + + hi! link @keyword.debug ThemeRed + hi! link @keyword.conditional ThemeRed + hi! link @keyword.import ThemeViolet + hi! link @keyword.coroutine ThemeViolet + hi! link @keyword.operator ThemeYellow + hi! link @keyword.directive ThemeViolet + hi! link @keyword.repeat ThemeViolet + hi! link @keyword.storage ThemeViolet + hi! link @keyword.return ThemeRed + + hi! link @constructor ThemeBlue + hi! link @namespace.builtin ThemeViolet + + hi! link @none ThemeFg1 + hi! link @number ThemeOrange + hi! link @string ThemeGreen + + hi! link @tag ThemeRed + hi! link @tag.delimiter ThemeViolet + hi! link @tag.attribute ThemeYellow + + " affects markdown + hi! link @markup ThemeYellow + + hi! link @markup.raw ThemeGreen + hi! link @markup.raw.block.lang ThemeFg2Bold + hi! link @markup.raw.block.marker ThemeRed + "call hi("@markup.raw.block.lang", s:gui08, "#1e0000", "", s:ctermbg, "", "") + + hi! link @markup.list ThemeBlue + hi! link @markup.quote ThemeGrey + + hi! link @markup.link ThemeYellow " borders + hi! link @markup.link.text ThemeBlue + hi! link @markup.link.label ThemeYellow + hi! link @markup.link.url ThemeYellow + hi! link @markup.link.dest ThemeFg3 + + hi! link @markup.link.wiki ThemeYellow + hi! link @markup.link.wiki.text ThemeBlue + hi! link @markup.link.wiki.label ThemeYellow + + "hi! link @markup.link.label.symbol ThemeGreen + + "hi! link markdownWikiLink ThemeViolet + " + hi! link @markup.environment ThemeYellow + hi! link @markup.environment.name ThemeYellow + hi! link @markup.math ThemeYellow + hi! link @punctuation.delimiter.latex ThemeOrange + + hi! link @markup.strong Bold + hi! link @markup.emphasis Bold + hi! link @markup.strikethrough ThemeYellow + hi! link @markup.underline ThemeYellow + + hi! link @comment.info ThemeBlue + hi! link @comment.todo ThemeYellow + hi! link @comment.note ThemeBg3 + hi! link @comment.hint ThemeGreen + hi! link @comment.warning ThemeOrange + + hi! link @type ThemeYellow + hi! link @type.builtin ThemeOrange + hi! link @type.definition ThemeViolet + hi! link @type.qualifier ThemeViolet + + " Markdown + " hi! link @spell.markdown ThemeFg3 + + "call hi("@markup.heading.marker", s:gui08, "", "", s:ctermbg, "bold", "") + "hi! link @markup.heading ThemeRed + hi! link @markup.heading.marker ThemeOrange + hi! link @markup.heading.title ThemeRed "Italic + + " set this for a strong background + "call hi("@markup.heading.title", s:gui08, "#440503", "", s:ctermbg, "italic", "") + + hi! link @markup.heading.title.1 Bold + hi! link @markup.heading.title.3 Italic + "hi! link @markup.heading.4.title Italic + + " YAML + hi! link @string.yaml ThemeBlue + hi! link @punctuation.delimiter.yaml ThemeGreen + hi! link @property.yaml ThemeFg2 + + " Diff + hi! link @diff.minus ThemeRed + hi! link @diff.plus ThemeGreen + + call hi("TreesitterContext", "", s:gui00, "", "", "", "") + "hi TreesitterContextLineNumberBottom gui=underline guisp=Gray + "call hi("TreesitterContextBottom", "", "", "", "", "underline", s:gui02) + call hi("TreesitterContextSeparator", s:gui03, "", "", "", "", "") + "call hi("TreesitterContextLineNumberBottom", "", "", "", "", "underline", s:gui02) +endif + +" Standard highlights to be used by plugins +if has("patch-8.0.1038") + call hi("Deprecated", "", "", "", "", "strikethrough", "") +endif +call hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "") + +call hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "") +call hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "") +call hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "") +call hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "") + +call hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningSign", s:gui09, "", s:cterm09, "", "", "") +call hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "") +call hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "") +call hi("OkSign", s:gui0B, "", s:cterm0B, "", "", "") + +call hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "") +call hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call hi("OkFloat", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("NormalFloat", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "") + +call hi("ErrorHighlight", "", "", s:ctermbg, s:cterm08, "underline", s:gui08) +call hi("WarningHighlight", "", "", s:ctermbg, s:cterm09, "underline", s:gui09) +call hi("InfoHighlight", "", "", s:ctermbg, s:cterm0D, "underline", s:gui0D) +call hi("HintHighlight", "", "", s:ctermbg, s:cterm0C, "underline", s:gui0C) +call hi("OkHighlight", "", "", s:ctermbg, s:cterm0B, "underline", s:gui0B) + +call hi("SpellBad", "", "", s:ctermbg, s:cterm08, "undercurl", s:gui08) +call hi("SpellLocal", "", "", s:ctermbg, s:cterm0C, "undercurl", s:gui0C) +call hi("SpellCap", "", "", s:ctermbg, s:cterm0D, "undercurl", s:gui0D) +call hi("SpellRare", "", "", s:ctermbg, s:cterm0E, "undercurl", s:gui0E) + +call hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "") + +" LSP +if has("nvim") + hi! link DiagnosticError ErrorSign + hi! link DiagnosticWarn WarningSign + hi! link DiagnosticInfo InfoSign + hi! link DiagnosticHint HintSign + hi! link DiagnosticOk OkSign + + hi! link DiagnosticFloatingError ErrorFloat + hi! link DiagnosticFloatingWarn WarningFloat + hi! link DiagnosticFloatingInfo InfoFloat + hi! link DiagnosticFloatingHint HintFloat + hi! link DiagnosticFloatingOk OkFloat + + hi! link DiagnosticUnderlineError ErrorHighlight + hi! link DiagnosticUnderlineWarn WarningHighlight + hi! link DiagnosticUnderlineInfo InfoHighlight + hi! link DiagnosticUnderlineHint HintHighlight + hi! link DiagnosticUnderlineOk OkHighlight + + hi! link DiagnosticsVirtualTextError ErrorSign + hi! link DiagnosticsVirtualTextWarning WarningSign + hi! link DiagnosticsVirtualTextInfo InfoSign + hi! link DiagnosticsVirtualTextHint HintSign + hi! link DiagnosticsVirtualTextOk OkSign + + " Remove untill endif on next nvim release + hi! link LspDiagnosticsSignError ErrorSign + hi! link LspDiagnosticsSignWarning WarningSign + hi! link LspDiagnosticsSignInfo InfoSign + hi! link LspDiagnosticsSignHint HintSign + + hi! link LspDiagnosticsVirtualTextError ErrorSign + hi! link LspDiagnosticsVirtualTextWarning WarningSign + hi! link LspDiagnosticsVirtualTextInfo InfoSign + hi! link LspDiagnosticsVirtualTextHint HintSign + + hi! link LspDiagnosticsFloatingError ErrorFloat + hi! link LspDiagnosticsFloatingWarning WarningFloat + hi! link LspDiagnosticsFloatingInfo InfoFloat + hi! link LspDiagnosticsFloatingHint HintFloat + + hi! link LspDiagnosticsUnderlineError ErrorHighlight + hi! link LspDiagnosticsUnderlineWarning WarningHighlight + hi! link LspDiagnosticsUnderlineInfo InfoHighlight + hi! link LspDiagnosticsUnderlineHint HintHighlight + + hi! link LspReferenceText ReferenceText + hi! link LspReferenceRead ReferenceRead + hi! link LspReferenceWrite ReferenceWrite +endif + +" " +" LANGUAGES +" " + +" C +call hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# +call hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csType", s:gui08, "", s:cterm08, "", "", "") +call hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" Clap +hi! link ClapInput ColorColumn +hi! link ClapSpinner ColorColumn +hi! link ClapDisplay Default +hi! link ClapPreview ColorColumn +hi! link ClapCurrentSelection CursorLine +hi! link ClapNoMatchesFound ErrorFloat + +" Coc +hi! link CocErrorSign ErrorSign +hi! link CocWarningSign WarningSign +hi! link CocInfoSign InfoSign +hi! link CocHintSign HintSign + +hi! link CocErrorFloat ErrorFloat +hi! link CocWarningFloat WarningFloat +hi! link CocInfoFloat InfoFloat +hi! link CocHintFloat HintFloat + +hi! link CocErrorHighlight ErrorHighlight +hi! link CocWarningHighlight WarningHighlight +hi! link CocInfoHighlight InfoHighlight +hi! link CocHintHighlight HintHighlight + +hi! link CocSem_angle Keyword +hi! link CocSem_annotation Keyword +hi! link CocSem_attribute Type +hi! link CocSem_bitwise Keyword +hi! link CocSem_boolean Boolean +hi! link CocSem_brace Normal +hi! link CocSem_bracket Normal +hi! link CocSem_builtinAttribute Type +hi! link CocSem_builtinType Type +hi! link CocSem_character String +hi! link CocSem_class Structure +hi! link CocSem_colon Normal +hi! link CocSem_comma Normal +hi! link CocSem_comment Comment +hi! link CocSem_comparison Keyword +hi! link CocSem_concept Keyword +hi! link CocSem_constParameter Identifier +hi! link CocSem_dependent Keyword +hi! link CocSem_dot Keyword +hi! link CocSem_enum Structure +hi! link CocSem_enumMember Constant +hi! link CocSem_escapeSequence Type +hi! link CocSem_event Identifier +hi! link CocSem_formatSpecifier Type +hi! link CocSem_function Function +hi! link CocSem_interface Type +hi! link CocSem_keyword Keyword +hi! link CocSem_label Keyword +hi! link CocSem_logical Keyword +hi! link CocSem_macro Macro +hi! link CocSem_method Function +hi! link CocSem_modifier Keyword +hi! link CocSem_namespace Identifier +hi! link CocSem_number Number +hi! link CocSem_operator Operator +hi! link CocSem_parameter Identifier +hi! link CocSem_parenthesis Normal +hi! link CocSem_property Identifier +hi! link CocSem_punctuation Keyword +hi! link CocSem_regexp Type +hi! link CocSem_selfKeyword Constant +hi! link CocSem_semicolon Normal +hi! link CocSem_string String +hi! link CocSem_struct Structure +hi! link CocSem_type Type +hi! link CocSem_typeAlias Type +hi! link CocSem_typeParameter Type +hi! link CocSem_unknown Normal +hi! link CocSem_variable Identifier + +call hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "") +call hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("CocSessionsName", s:gui06, "", s:cterm05, "", "", "") + +" CSS +hi! link cssBraces ThemeBlue +hi! link cssFunctionName ThemeYellow +hi! link cssIdentifier ThemeOrange +hi! link cssClassName ThemeGreen +hi! link cssColor ThemeBlue +hi! link cssSelectorOp ThemeBlue +hi! link cssSelectorOp2 ThemeBlue +hi! link cssImportant ThemeGreen +hi! link cssVendor ThemeFg1 + +hi! link cssTextProp ThemeCyan +hi! link cssAnimationProp ThemeCyan +hi! link cssUIProp ThemeYellow +hi! link cssTransformProp ThemeCyan +hi! link cssTransitionProp ThemeCyan +hi! link cssPrintProp ThemeCyan +hi! link cssPositioningProp ThemeYellow +hi! link cssBoxProp ThemeCyan +hi! link cssFontDescriptorProp ThemeCyan +hi! link cssFlexibleBoxProp ThemeCyan +hi! link cssBorderOutlineProp ThemeCyan +hi! link cssBackgroundProp ThemeCyan +hi! link cssMarginProp ThemeCyan +hi! link cssListProp ThemeCyan +hi! link cssTableProp ThemeCyan +hi! link cssFontProp ThemeCyan +hi! link cssPaddingProp ThemeCyan +hi! link cssDimensionProp ThemeCyan +hi! link cssRenderProp ThemeCyan +hi! link cssColorProp ThemeCyan +hi! link cssGeneratedContentProp ThemeCyan + + +" CMP +hi! link CmpItemAbbrDeprecated Deprecated +hi! link CmpItemAbbrMatch SearchMatch +hi! link CmpItemAbbrMatchFuzzy SearchMatch +hi! link CmpItemKindClass Type +hi! link CmpItemKindColor Keyword +hi! link CmpItemKindConstant Constant +hi! link CmpItemKindConstructor Special +hi! link CmpItemKindEnum Type +hi! link CmpItemKindEnumMember Constant +hi! link CmpItemKindEvent Identifier +hi! link CmpItemKindField Character +hi! link CmpItemKindFile Directory +hi! link CmpItemKindFolder Directory +hi! link CmpItemKindFunction Function +hi! link CmpItemKindInterface Type +hi! link CmpItemKindKeyword Keyword +hi! link CmpItemKindMethod Function +hi! link CmpItemKindModule Namespace +hi! link CmpItemKindOperator Operator +hi! link CmpItemKindProperty Identifier +hi! link CmpItemKindReference Character +hi! link CmpItemKindSnippet String +hi! link CmpItemKindStruct Type +hi! link CmpItemKindText Text +hi! link CmpItemKindUnit Namespace +hi! link CmpItemKindValue Comment +hi! link CmpItemKindVariable Identifier + +if has("nvim-0.8.0") + hi! link CmpItemKindField @field + hi! link CmpItemKindProperty @property +endif + +" Diff +call hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("DiffChange", s:gui06, s:gui01, s:cterm05, s:cterm01, "", "") +call hi("DiffDelete", s:gui02, s:guibg, s:cterm02, s:ctermbg, "", "") +call hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("DiffAdded", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffFile", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("DiffNewFile", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffLine", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +call hi("DiffRemoved", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") + +" Git +call hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter +hi! link GitGutterAdd GitAddSign +hi! link GitGutterChange GitChangeSign +hi! link GitGutterDelete GitDeleteSign +hi! link GitGutterChangeDelete GitChangeDeleteSign + +" indent-blankline (nvim) +if has("nvim") + call hi("@ibl.indent.char.1",s:gui01, "", s:cterm01, "", "", "") +endif + +" HTML +call hi("htmlBold", s:gui07, "", s:cterm0A, "", "bold", "") +call hi("htmlItalic", s:gui06, "", s:cterm0E, "", "italic", "") +call hi("htmlEndTag", s:gui06, "", s:cterm05, "", "", "") +call hi("htmlTag", s:gui06, "", s:cterm05, "", "", "") + +" JavaScript +call hi("javaScript", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptBraces", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript +call hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail +call hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown +call hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownError", s:gui06, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" Matchup +call hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "") + +" NERDTree +call hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call hi("NERDTreeExecFile", s:gui06, "", s:cterm05, "", "", "") + +" Netrw +hi! link netrwDir ThemeCyan +hi! link netrwClassify ThemeCyan +hi! link netrwLink ThemeBg3 +hi! link netrwSymLink ThemeFg1 +hi! link netrwExe ThemeYellow +hi! link netrwComment ThemeBg3 +hi! link netrwList ThemeBlue +hi! link netrwHelpCmd ThemeCyan +hi! link netrwCmdSep ThemeFg3 +hi! link netrwVersion ThemeGreen + +" PHP +call hi("phpMemberSelector", s:gui06, "", s:cterm05, "", "", "") +call hi("phpComparison", s:gui06, "", s:cterm05, "", "", "") +call hi("phpParent", s:gui06, "", s:cterm05, "", "", "") +call hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python +"call hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" hi! link pythonBuiltin ThemeCyan +" hi! link pythonBuiltinObj ThemeCyan +" hi! link pythonBuiltinFunc ThemeGreen +" hi! link pythonFunction Function +" hi! link pythonDecorator ThemeYellow +" hi! link pythonDecoratorName ThemeYellow +" hi! link pythonTripleQuotes ThemeGreenItalic +" hi! link pythonInclude ThemeBlue +" hi! link pythonImport ThemeBlue +" hi! link pythonRun ThemeBlue +" hi! link pythonCoding ThemeBlue +" hi! link pythonOperator ThemeRed +" hi! link pythonException ThemeRed +" hi! link pythonExceptions ThemeYellow +" hi! link pythonBoolean ThemeYellow +" hi! link pythonDot ThemeFg3 +" hi! link pythonConditional ThemeCyan +" hi! link pythonRepeat ThemeRed +" hi! link pythonDottedName ThemeGreen + + +" Ruby +call hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS +call hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify +hi! link SignifySignAdd GitAddSign +hi! link SignifySignChange GitChangeSign +hi! link SignifySignDelete GitDeleteSign + +" Startify +call hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Java +call hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" JSON +hi! link jsonKeyword ThemeGreen +hi! link jsonQuote ThemeGreen +hi! link jsonBraces ThemeFg1 +hi! link jsonString ThemeFg1 + +" Markdown +hi! link markdownH1 ThemeRedBold +hi! link markdownH2 ThemeRed +hi! link markdownH3 ThemeRed +hi! link markdownH4 ThemeRed +hi! link markdownH5 ThemeRed +hi! link markdownH6 ThemeRed + +hi! link markdownCode ThemeYellow +hi! link markdownCodeBlock ThemeYellow +hi! link markdownCodeDelimiter ThemeYellow + +hi! link markdownBlockquote ThemeGrey +hi! link markdownListMarker ThemeBlue +hi! link markdownOrderedListMarker ThemeBlue +hi! link markdownRule ThemeGrey +hi! link markdownHeadingRule ThemeGrey + +hi! link markdownUrlDelimiter ThemeFg3 +hi! link markdownLinkDelimiter ThemeFg3 +hi! link markdownLinkTextDelimiter ThemeFg3 +hi! link markdownHeadingDelimiter ThemeOrange +hi! link markdownUrlTitleDelimiter ThemeGreen + +hi! link markdownLink ThemeGreen +hi! link markdownWikiLink ThemeViolet +"hi! link markdownUrl ThemeOrange +hi! link markdownUrl ThemeRed +hi! link markdownUrlProtocol ThemeGreenItalic +hi! link markdownInlineUrl ThemeOrange + +hi! link markdownLinkText ThemeViolet +hi! link markdownIdDeclaration markdownLinkText + +hi! link pandocAtxHeader ThemeRed +hi! link pandocAtxStart ThemeOrange + + +"call s:HL('markdownItalic', s:fg3, s:none, s:italic) +"call s:HL('markdownLinkText', s:gray, s:none, s:underline) + + +" Remove functions +delf hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F s:guibg +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F s:ctermbg + diff --git a/app-config/nvim/hard-badlands-monobiome-light.theme.vim b/app-config/nvim/hard-badlands-monobiome-light.theme.vim new file mode 100644 index 0000000..7c92d0f --- /dev/null +++ b/app-config/nvim/hard-badlands-monobiome-light.theme.vim @@ -0,0 +1,995 @@ +" vi:syntax=vim +" +" Top-level remarks: +" +" - `hi` sets highlight colors for syntax groups, allowing one to specify fg and bg colors +" for GUI and terminal Vim. +" - `link` allows for linking one syntax group to another, reusing the same color +" settings. Language-specific groups can then point to one of the base color highlight +" groups, for example, without needing to repeat the raw color values. +" +" There are several kinds of syntax identifiers: +" +" - Vim/editor related (e.g., Normal, Folded): these control colors of central Vim +" elements, like whitespace, bold text, the foldcolumn, etc +" - Generic syntax identifiers (e.g., Boolean, Conditional): these are key groups for +" syntax elements that various language syntax files link to. For instance, Python +" syntax files might have specific patterns that match function keywords like "def," and +" the resulting syntax region can be highlighted by linking it to the core "Function" +" highlight identifier. +" - Treesitter-based identifiers (e.g., @variable, @boolean): highlight groups for +" treesitter-based syntax highlighting, which can replace regex-based matching when +" enabled for richer (and often faster) highlighting. These groups can be linked to the +" core identifiers like any other language. +" +" *Note*: each of these identifiers can add a lang-specific suffix to style those groups +" as they apply to particular languages. For ex, `@boolean.python ThemeRed` would style +" Python booleans red, while the lang-agnostic `@boolean` definition remains. +" - Plugin-oriented identifiers (e.g., SpellBad, ErrorFloat): these are groups mostly core +" to vim/nvim, but often appear only in the context of plugins or certain modules (like +" LSP). For instance, ErrorFloat styles floating windows that might be drawn by nvim's +" built-in LSP hover info. + +" GUI color definitions +let s:gui00 = "#f6ecea" +let g:base16_gui00 = "#f6ecea" +let s:gui01 = "#e5dbda" +let g:base16_gui01 = "#e5dbda" +let s:gui02 = "#d5cbca" +let g:base16_gui02 = "#d5cbca" +let s:gui03 = "#c5bbba" +let g:base16_gui03 = "#c5bbba" +let s:gui04 = "#5b5352" +let g:base16_gui04 = "#5b5352" +let s:gui05 = "#4d4644" +let g:base16_gui05 = "#4d4644" +let s:gui06 = "#403837" +let g:base16_gui06 = "#403837" +let s:gui07 = "#332c2b" +let g:base16_gui07 = "#332c2b" +let s:gui08 = "#ca2f24" +let g:base16_gui08 = "#ca2f24" +let s:gui09 = "#a45e03" +let g:base16_gui09 = "#a45e03" +let s:gui0A = "#79743d" +let g:base16_gui0A = "#79743d" +let s:gui0B = "#42824e" +let g:base16_gui0B = "#42824e" +let s:gui0C = "#42824e" +let g:base16_gui0C = "#42824e" +let s:gui0D = "#456fbe" +let g:base16_gui0D = "#456fbe" +let s:gui0E = "#456fbe" +let g:base16_gui0E = "#456fbe" +let s:gui0F = "#ca2f24" +let g:base16_gui0F = "#ca2f24" + +let s:grey = "#968d8b" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" + +let s:cterm01 = "10" +let g:base16_cterm01 = "10" +let s:cterm02 = "11" +let g:base16_cterm02 = "11" +let s:cterm04 = "12" +let g:base16_cterm04 = "12" +let s:cterm06 = "13" +let g:base16_cterm06 = "13" +let s:cterm09 = "09" +let g:base16_cterm09 = "09" +let s:cterm0F = "14" +let g:base16_cterm0F = "14" + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#f6ecea" + let g:terminal_color_1 = "#ca2f24" + let g:terminal_color_2 = "#42824e" + let g:terminal_color_3 = "#79743d" + let g:terminal_color_4 = "#456fbe" + let g:terminal_color_5 = "#456fbe" + let g:terminal_color_6 = "#42824e" + let g:terminal_color_7 = "#4d4644" + let g:terminal_color_8 = "#c5bbba" + let g:terminal_color_9 = "#ca2f24" + let g:terminal_color_10 = "#42824e" + let g:terminal_color_11 = "#79743d" + let g:terminal_color_12 = "#456fbe" + let g:terminal_color_13 = "#456fbe" + let g:terminal_color_14 = "#42824e" + let g:terminal_color_15 = "#332c2b" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif + +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#f6ecea", + \ "#ca2f24", + \ "#42824e", + \ "#79743d", + \ "#456fbe", + \ "#456fbe", + \ "#42824e", + \ "#4d4644", + \ "#c5bbba", + \ "#ca2f24", + \ "#42824e", + \ "#79743d", + \ "#456fbe", + \ "#456fbe", + \ "#42824e", + \ "#332c2b", + \ ] +endif + +let s:guibg = s:gui00 +let s:ctermbg = s:cterm00 + +" Theme setup +hi clear +syntax reset +let g:colors_name = "active" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + " For a given syntax group, sets the GUI and terminal foreground and backgrounds + " Optional parameters are interpreted as `attr` and `guisp`, the first of which appears + " to be a modifier for the group (e.g., bold, italic), and `guisp` appears to be + " 'special' colors used for underlines in the GUI. + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=" . a:guifg + endif + endif + + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=" . a:guibg + endif + endif + + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=" . l:guisp + endif + endif +endfunction + + +fun hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + + +" color groups for interpretability +call hi("ThemeBg0", s:gui00, "", s:cterm00, "", "", "") +call hi("ThemeBg1", s:gui01, "", s:cterm01, "", "", "") +call hi("ThemeBg2", s:gui02, "", s:cterm02, "", "", "") +call hi("ThemeBg3", s:gui03, "", s:cterm03, "", "", "") +call hi("ThemeFg3", s:gui04, "", s:cterm04, "", "", "") +call hi("ThemeFg2", s:gui05, "", s:cterm05, "", "", "") +call hi("ThemeFg1", s:gui06, "", s:cterm06, "", "", "") +call hi("ThemeFg0", s:gui07, "", s:cterm07, "", "", "") + +call hi("ThemeBg0bold", s:gui00, "", s:cterm00, "", "bold", "") +call hi("ThemeBg1bold", s:gui01, "", s:cterm01, "", "bold", "") +call hi("ThemeBg2bold", s:gui02, "", s:cterm02, "", "bold", "") +call hi("ThemeBg3bold", s:gui03, "", s:cterm03, "", "bold", "") +call hi("ThemeFg3bold", s:gui04, "", s:cterm04, "", "bold", "") +call hi("ThemeFg2bold", s:gui05, "", s:cterm05, "", "bold", "") +call hi("ThemeFg1bold", s:gui06, "", s:cterm06, "", "bold", "") +call hi("ThemeFg0bold", s:gui07, "", s:cterm07, "", "bold", "") + +call hi("ThemeBg0Italic", s:gui00, "", s:cterm00, "", "italic", "") +call hi("ThemeBg1Italic", s:gui01, "", s:cterm01, "", "italic", "") +call hi("ThemeBg2Italic", s:gui02, "", s:cterm02, "", "italic", "") +call hi("ThemeBg3Italic", s:gui03, "", s:cterm03, "", "italic", "") +call hi("ThemeFg3Italic", s:gui04, "", s:cterm04, "", "italic", "") +call hi("ThemeFg2Italic", s:gui05, "", s:cterm05, "", "italic", "") +call hi("ThemeFg1Italic", s:gui06, "", s:cterm06, "", "italic", "") +call hi("ThemeFg0Italic", s:gui07, "", s:cterm07, "", "italic", "") + +call hi("ThemeRed", s:gui08, "", s:cterm08, "", "", "") +call hi("ThemeOrange", s:gui09, "", s:cterm09, "", "", "") +call hi("ThemeYellow", s:gui0A, "", s:cterm0A, "", "", "") +call hi("ThemeGreen", s:gui0B, "", s:cterm0B, "", "", "") +call hi("ThemeCyan", s:gui0C, "", s:cterm0C, "", "", "") +call hi("ThemeBlue", s:gui0D, "", s:cterm0D, "", "", "") +call hi("ThemeViolet", s:gui0E, "", s:cterm0E, "", "", "") +call hi("ThemeMagenta", s:gui0F, "", s:cterm0F, "", "", "") + +call hi("ThemeRedNone", s:gui08, "", s:cterm08, "", "NONE", "") +call hi("ThemeOrangeNone", s:gui09, "", s:cterm09, "", "NONE", "") +call hi("ThemeYellowNone", s:gui0A, "", s:cterm0A, "", "NONE", "") +call hi("ThemeGreenNone", s:gui0B, "", s:cterm0B, "", "NONE", "") +call hi("ThemeCyanNone", s:gui0C, "", s:cterm0C, "", "NONE", "") +call hi("ThemeBlueNone", s:gui0D, "", s:cterm0D, "", "NONE", "") +call hi("ThemeVioletNone", s:gui0E, "", s:cterm0E, "", "NONE", "") +call hi("ThemeMagentaNone", s:gui0F, "", s:cterm0F, "", "NONE", "") + +call hi("ThemeRedBold", s:gui08, "", s:cterm08, "", "bold", "") +call hi("ThemeOrangeBold", s:gui09, "", s:cterm09, "", "bold", "") +call hi("ThemeYellowBold", s:gui0A, "", s:cterm0A, "", "bold", "") +call hi("ThemeGreenBold", s:gui0B, "", s:cterm0B, "", "bold", "") +call hi("ThemeCyanBold", s:gui0C, "", s:cterm0C, "", "bold", "") +call hi("ThemeBlueBold", s:gui0D, "", s:cterm0D, "", "bold", "") +call hi("ThemeVioletBold", s:gui0E, "", s:cterm0E, "", "bold", "") +call hi("ThemeMagentaBold", s:gui0F, "", s:cterm0F, "", "bold", "") + +call hi("ThemeRedItalic", s:gui08, "", s:cterm08, "", "italic", "") +call hi("ThemeOrangeItalic", s:gui09, "", s:cterm09, "", "italic", "") +call hi("ThemeYellowItalic", s:gui0A, "", s:cterm0A, "", "italic", "") +call hi("ThemeGreenItalic", s:gui0B, "", s:cterm0B, "", "italic", "") +call hi("ThemeCyanItalic", s:gui0C, "", s:cterm0C, "", "italic", "") +call hi("ThemeBlueItalic", s:gui0D, "", s:cterm0D, "", "italic", "") +call hi("ThemeVioletItalic", s:gui0E, "", s:cterm0E, "", "italic", "") +call hi("ThemeMagentaItalic", s:gui0F, "", s:cterm0F, "", "italic", "") + +call hi("ThemeRedBoldItalic", s:gui08, "", s:cterm08, "", "bold,italic", "") +call hi("ThemeOrangeBoldItalic", s:gui09, "", s:cterm09, "", "bold,italic", "") +call hi("ThemeYellowBoldItalic", s:gui0A, "", s:cterm0A, "", "bold,italic", "") +call hi("ThemeGreenBoldItalic", s:gui0B, "", s:cterm0B, "", "bold,italic", "") +call hi("ThemeCyanBoldItalic", s:gui0C, "", s:cterm0C, "", "bold,italic", "") +call hi("ThemeBlueBoldItalic", s:gui0D, "", s:cterm0D, "", "bold,italic", "") +call hi("ThemeVioletBoldItalic", s:gui0E, "", s:cterm0E, "", "bold,italic", "") +call hi("ThemeMagentaBoldItalic", s:gui0F, "", s:cterm0F, "", "bold,italic", "") + +call hi("ThemeGrey", s:grey, "", s:cterm03, "", "", "") +call hi("ThemeGreyItalic", s:grey, "", s:cterm03, "", "italic", "") + + +" Vim editor colors +call hi("Bold", "", "", "", "", "bold", "") +call hi("Italic", "", "", "", "", "italic", "") +call hi("BoldItalic", "", "", "", "", "italic,bold", "") + +call hi("Normal", s:gui05, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Error", s:guibg, s:gui08, s:ctermbg, s:cterm08, "", "") +call hi("ErrorMsg", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call hi("FoldColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("Folded", s:gui03, s:gui01, s:cterm02, s:ctermbg, "", "") +call hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call hi("Macro", s:gui0C, "", s:cterm0C, "", "", "") +call hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call hi("Underlined", "", "", "", "", "underline", "fg") +call hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call hi("WildMenu", s:guibg, s:gui06, s:ctermbg, s:cterm05, "", "") +call hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") + +"call hi("Conceal", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +hi! link Conceal ThemeBlue + +call hi("Cursor", s:gui05, s:guibg, "", "", "inverse", "") +call hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call hi("Whitespace", s:gui03, "", s:cterm03, "", "", "") +call hi("LineNr", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("SignColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("StatusLine", s:gui07, s:gui01, s:cterm07, s:cterm01, "none", "") +call hi("StatusLineNC", s:gui06, s:gui01, s:cterm05, s:cterm01, "none", "") +call hi("VertSplit", s:gui01, s:guibg, s:cterm01, s:ctermbg, "none", "") +call hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLineNr", s:gui04, s:gui00, s:cterm04, s:cterm01, "", "") +call hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "") +call hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "") +call hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "") +call hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "") +call hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax +call hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call hi("Identifier", s:gui06, "", s:cterm05, "", "none", "") +call hi("Keyword", s:gui0D, "", s:cterm0E, "", "none", "") +call hi("Todo", s:gui08, s:guibg, s:cterm08, s:ctermbg, "italic", "") + +hi! link Boolean ThemeOrange +hi! link Character ThemeRed +hi! link Comment ThemeGreyItalic +hi! link Conditional ThemeRed +hi! link Constant ThemeOrange +hi! link Delimiter ThemeFg1 +hi! link Float ThemeOrange +hi! link Function ThemeBlue +hi! link Include ThemeBlue +hi! link Constant ThemeOrange +hi! link Label ThemeOrange +hi! link Number ThemeOrange +hi! link Operator ThemeYellow +hi! link PreProc ThemeOrange +hi! link Repeat ThemeViolet +hi! link Special ThemeYellow +hi! link SpecialChar ThemeMagenta +hi! link Statement ThemeRed +hi! link StorageClass ThemeOrange +hi! link String ThemeGreen +hi! link Structure ThemeOrange +hi! link Tag ThemeOrange +hi! link Type ThemeYellow +hi! link Typedef ThemeOrange + + +" Treesitter +if has("nvim-0.8.0") + hi! link @field ThemeRed + hi! link @property ThemeRed + hi! link @namespace ThemeFg1Italic + hi! link @variable.builtin ThemeFg1Italic + hi! link @variable ThemeFg2 + hi! link @conceal ThemeBlue + + hi! link @text.uri ThemeRedItalic + hi! link @text.reference ThemeRed + + hi! link @annotation ThemeViolet + hi! link @attribute ThemeBlue + + hi! link @boolean ThemeOrange + hi! link @character ThemeRed + hi! link @character.special ThemeMagenta + hi! link @comment Comment + + hi! link @constant ThemeBlue + hi! link @constant.builtin ThemeBlue + + hi! link @constant.macro ThemeRed + + hi! link @keyword.directive.define ThemeViolet + hi! link @keyword.exception ThemeRed + + hi! link @comment.error ThemeRed + hi! link @number.float ThemeRed + hi! link @keyword.function ThemeRed + + hi! link @function ThemeBlue + hi! link @function.builtin ThemeBlue + hi! link @function.call ThemeBlue + hi! link @function.macro ThemeRed + hi! link @function.method ThemeBlue + hi! link @function.method.call ThemeBlue + + hi! link @keyword.debug ThemeRed + hi! link @keyword.conditional ThemeRed + hi! link @keyword.import ThemeViolet + hi! link @keyword.coroutine ThemeViolet + hi! link @keyword.operator ThemeYellow + hi! link @keyword.directive ThemeViolet + hi! link @keyword.repeat ThemeViolet + hi! link @keyword.storage ThemeViolet + hi! link @keyword.return ThemeRed + + hi! link @constructor ThemeBlue + hi! link @namespace.builtin ThemeViolet + + hi! link @none ThemeFg1 + hi! link @number ThemeOrange + hi! link @string ThemeGreen + + hi! link @tag ThemeRed + hi! link @tag.delimiter ThemeViolet + hi! link @tag.attribute ThemeYellow + + " affects markdown + hi! link @markup ThemeYellow + + hi! link @markup.raw ThemeGreen + hi! link @markup.raw.block.lang ThemeFg2Bold + hi! link @markup.raw.block.marker ThemeRed + "call hi("@markup.raw.block.lang", s:gui08, "#1e0000", "", s:ctermbg, "", "") + + hi! link @markup.list ThemeBlue + hi! link @markup.quote ThemeGrey + + hi! link @markup.link ThemeYellow " borders + hi! link @markup.link.text ThemeBlue + hi! link @markup.link.label ThemeYellow + hi! link @markup.link.url ThemeYellow + hi! link @markup.link.dest ThemeFg3 + + hi! link @markup.link.wiki ThemeYellow + hi! link @markup.link.wiki.text ThemeBlue + hi! link @markup.link.wiki.label ThemeYellow + + "hi! link @markup.link.label.symbol ThemeGreen + + "hi! link markdownWikiLink ThemeViolet + " + hi! link @markup.environment ThemeYellow + hi! link @markup.environment.name ThemeYellow + hi! link @markup.math ThemeYellow + hi! link @punctuation.delimiter.latex ThemeOrange + + hi! link @markup.strong Bold + hi! link @markup.emphasis Bold + hi! link @markup.strikethrough ThemeYellow + hi! link @markup.underline ThemeYellow + + hi! link @comment.info ThemeBlue + hi! link @comment.todo ThemeYellow + hi! link @comment.note ThemeBg3 + hi! link @comment.hint ThemeGreen + hi! link @comment.warning ThemeOrange + + hi! link @type ThemeYellow + hi! link @type.builtin ThemeOrange + hi! link @type.definition ThemeViolet + hi! link @type.qualifier ThemeViolet + + " Markdown + " hi! link @spell.markdown ThemeFg3 + + "call hi("@markup.heading.marker", s:gui08, "", "", s:ctermbg, "bold", "") + "hi! link @markup.heading ThemeRed + hi! link @markup.heading.marker ThemeOrange + hi! link @markup.heading.title ThemeRed "Italic + + " set this for a strong background + "call hi("@markup.heading.title", s:gui08, "#440503", "", s:ctermbg, "italic", "") + + hi! link @markup.heading.title.1 Bold + hi! link @markup.heading.title.3 Italic + "hi! link @markup.heading.4.title Italic + + " YAML + hi! link @string.yaml ThemeBlue + hi! link @punctuation.delimiter.yaml ThemeGreen + hi! link @property.yaml ThemeFg2 + + " Diff + hi! link @diff.minus ThemeRed + hi! link @diff.plus ThemeGreen + + call hi("TreesitterContext", "", s:gui00, "", "", "", "") + "hi TreesitterContextLineNumberBottom gui=underline guisp=Gray + "call hi("TreesitterContextBottom", "", "", "", "", "underline", s:gui02) + call hi("TreesitterContextSeparator", s:gui03, "", "", "", "", "") + "call hi("TreesitterContextLineNumberBottom", "", "", "", "", "underline", s:gui02) +endif + +" Standard highlights to be used by plugins +if has("patch-8.0.1038") + call hi("Deprecated", "", "", "", "", "strikethrough", "") +endif +call hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "") + +call hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "") +call hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "") +call hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "") +call hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "") + +call hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningSign", s:gui09, "", s:cterm09, "", "", "") +call hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "") +call hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "") +call hi("OkSign", s:gui0B, "", s:cterm0B, "", "", "") + +call hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "") +call hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call hi("OkFloat", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("NormalFloat", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "") + +call hi("ErrorHighlight", "", "", s:ctermbg, s:cterm08, "underline", s:gui08) +call hi("WarningHighlight", "", "", s:ctermbg, s:cterm09, "underline", s:gui09) +call hi("InfoHighlight", "", "", s:ctermbg, s:cterm0D, "underline", s:gui0D) +call hi("HintHighlight", "", "", s:ctermbg, s:cterm0C, "underline", s:gui0C) +call hi("OkHighlight", "", "", s:ctermbg, s:cterm0B, "underline", s:gui0B) + +call hi("SpellBad", "", "", s:ctermbg, s:cterm08, "undercurl", s:gui08) +call hi("SpellLocal", "", "", s:ctermbg, s:cterm0C, "undercurl", s:gui0C) +call hi("SpellCap", "", "", s:ctermbg, s:cterm0D, "undercurl", s:gui0D) +call hi("SpellRare", "", "", s:ctermbg, s:cterm0E, "undercurl", s:gui0E) + +call hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "") + +" LSP +if has("nvim") + hi! link DiagnosticError ErrorSign + hi! link DiagnosticWarn WarningSign + hi! link DiagnosticInfo InfoSign + hi! link DiagnosticHint HintSign + hi! link DiagnosticOk OkSign + + hi! link DiagnosticFloatingError ErrorFloat + hi! link DiagnosticFloatingWarn WarningFloat + hi! link DiagnosticFloatingInfo InfoFloat + hi! link DiagnosticFloatingHint HintFloat + hi! link DiagnosticFloatingOk OkFloat + + hi! link DiagnosticUnderlineError ErrorHighlight + hi! link DiagnosticUnderlineWarn WarningHighlight + hi! link DiagnosticUnderlineInfo InfoHighlight + hi! link DiagnosticUnderlineHint HintHighlight + hi! link DiagnosticUnderlineOk OkHighlight + + hi! link DiagnosticsVirtualTextError ErrorSign + hi! link DiagnosticsVirtualTextWarning WarningSign + hi! link DiagnosticsVirtualTextInfo InfoSign + hi! link DiagnosticsVirtualTextHint HintSign + hi! link DiagnosticsVirtualTextOk OkSign + + " Remove untill endif on next nvim release + hi! link LspDiagnosticsSignError ErrorSign + hi! link LspDiagnosticsSignWarning WarningSign + hi! link LspDiagnosticsSignInfo InfoSign + hi! link LspDiagnosticsSignHint HintSign + + hi! link LspDiagnosticsVirtualTextError ErrorSign + hi! link LspDiagnosticsVirtualTextWarning WarningSign + hi! link LspDiagnosticsVirtualTextInfo InfoSign + hi! link LspDiagnosticsVirtualTextHint HintSign + + hi! link LspDiagnosticsFloatingError ErrorFloat + hi! link LspDiagnosticsFloatingWarning WarningFloat + hi! link LspDiagnosticsFloatingInfo InfoFloat + hi! link LspDiagnosticsFloatingHint HintFloat + + hi! link LspDiagnosticsUnderlineError ErrorHighlight + hi! link LspDiagnosticsUnderlineWarning WarningHighlight + hi! link LspDiagnosticsUnderlineInfo InfoHighlight + hi! link LspDiagnosticsUnderlineHint HintHighlight + + hi! link LspReferenceText ReferenceText + hi! link LspReferenceRead ReferenceRead + hi! link LspReferenceWrite ReferenceWrite +endif + +" " +" LANGUAGES +" " + +" C +call hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# +call hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csType", s:gui08, "", s:cterm08, "", "", "") +call hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" Clap +hi! link ClapInput ColorColumn +hi! link ClapSpinner ColorColumn +hi! link ClapDisplay Default +hi! link ClapPreview ColorColumn +hi! link ClapCurrentSelection CursorLine +hi! link ClapNoMatchesFound ErrorFloat + +" Coc +hi! link CocErrorSign ErrorSign +hi! link CocWarningSign WarningSign +hi! link CocInfoSign InfoSign +hi! link CocHintSign HintSign + +hi! link CocErrorFloat ErrorFloat +hi! link CocWarningFloat WarningFloat +hi! link CocInfoFloat InfoFloat +hi! link CocHintFloat HintFloat + +hi! link CocErrorHighlight ErrorHighlight +hi! link CocWarningHighlight WarningHighlight +hi! link CocInfoHighlight InfoHighlight +hi! link CocHintHighlight HintHighlight + +hi! link CocSem_angle Keyword +hi! link CocSem_annotation Keyword +hi! link CocSem_attribute Type +hi! link CocSem_bitwise Keyword +hi! link CocSem_boolean Boolean +hi! link CocSem_brace Normal +hi! link CocSem_bracket Normal +hi! link CocSem_builtinAttribute Type +hi! link CocSem_builtinType Type +hi! link CocSem_character String +hi! link CocSem_class Structure +hi! link CocSem_colon Normal +hi! link CocSem_comma Normal +hi! link CocSem_comment Comment +hi! link CocSem_comparison Keyword +hi! link CocSem_concept Keyword +hi! link CocSem_constParameter Identifier +hi! link CocSem_dependent Keyword +hi! link CocSem_dot Keyword +hi! link CocSem_enum Structure +hi! link CocSem_enumMember Constant +hi! link CocSem_escapeSequence Type +hi! link CocSem_event Identifier +hi! link CocSem_formatSpecifier Type +hi! link CocSem_function Function +hi! link CocSem_interface Type +hi! link CocSem_keyword Keyword +hi! link CocSem_label Keyword +hi! link CocSem_logical Keyword +hi! link CocSem_macro Macro +hi! link CocSem_method Function +hi! link CocSem_modifier Keyword +hi! link CocSem_namespace Identifier +hi! link CocSem_number Number +hi! link CocSem_operator Operator +hi! link CocSem_parameter Identifier +hi! link CocSem_parenthesis Normal +hi! link CocSem_property Identifier +hi! link CocSem_punctuation Keyword +hi! link CocSem_regexp Type +hi! link CocSem_selfKeyword Constant +hi! link CocSem_semicolon Normal +hi! link CocSem_string String +hi! link CocSem_struct Structure +hi! link CocSem_type Type +hi! link CocSem_typeAlias Type +hi! link CocSem_typeParameter Type +hi! link CocSem_unknown Normal +hi! link CocSem_variable Identifier + +call hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "") +call hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("CocSessionsName", s:gui06, "", s:cterm05, "", "", "") + +" CSS +hi! link cssBraces ThemeBlue +hi! link cssFunctionName ThemeYellow +hi! link cssIdentifier ThemeOrange +hi! link cssClassName ThemeGreen +hi! link cssColor ThemeBlue +hi! link cssSelectorOp ThemeBlue +hi! link cssSelectorOp2 ThemeBlue +hi! link cssImportant ThemeGreen +hi! link cssVendor ThemeFg1 + +hi! link cssTextProp ThemeCyan +hi! link cssAnimationProp ThemeCyan +hi! link cssUIProp ThemeYellow +hi! link cssTransformProp ThemeCyan +hi! link cssTransitionProp ThemeCyan +hi! link cssPrintProp ThemeCyan +hi! link cssPositioningProp ThemeYellow +hi! link cssBoxProp ThemeCyan +hi! link cssFontDescriptorProp ThemeCyan +hi! link cssFlexibleBoxProp ThemeCyan +hi! link cssBorderOutlineProp ThemeCyan +hi! link cssBackgroundProp ThemeCyan +hi! link cssMarginProp ThemeCyan +hi! link cssListProp ThemeCyan +hi! link cssTableProp ThemeCyan +hi! link cssFontProp ThemeCyan +hi! link cssPaddingProp ThemeCyan +hi! link cssDimensionProp ThemeCyan +hi! link cssRenderProp ThemeCyan +hi! link cssColorProp ThemeCyan +hi! link cssGeneratedContentProp ThemeCyan + + +" CMP +hi! link CmpItemAbbrDeprecated Deprecated +hi! link CmpItemAbbrMatch SearchMatch +hi! link CmpItemAbbrMatchFuzzy SearchMatch +hi! link CmpItemKindClass Type +hi! link CmpItemKindColor Keyword +hi! link CmpItemKindConstant Constant +hi! link CmpItemKindConstructor Special +hi! link CmpItemKindEnum Type +hi! link CmpItemKindEnumMember Constant +hi! link CmpItemKindEvent Identifier +hi! link CmpItemKindField Character +hi! link CmpItemKindFile Directory +hi! link CmpItemKindFolder Directory +hi! link CmpItemKindFunction Function +hi! link CmpItemKindInterface Type +hi! link CmpItemKindKeyword Keyword +hi! link CmpItemKindMethod Function +hi! link CmpItemKindModule Namespace +hi! link CmpItemKindOperator Operator +hi! link CmpItemKindProperty Identifier +hi! link CmpItemKindReference Character +hi! link CmpItemKindSnippet String +hi! link CmpItemKindStruct Type +hi! link CmpItemKindText Text +hi! link CmpItemKindUnit Namespace +hi! link CmpItemKindValue Comment +hi! link CmpItemKindVariable Identifier + +if has("nvim-0.8.0") + hi! link CmpItemKindField @field + hi! link CmpItemKindProperty @property +endif + +" Diff +call hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("DiffChange", s:gui06, s:gui01, s:cterm05, s:cterm01, "", "") +call hi("DiffDelete", s:gui02, s:guibg, s:cterm02, s:ctermbg, "", "") +call hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("DiffAdded", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffFile", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("DiffNewFile", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffLine", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +call hi("DiffRemoved", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") + +" Git +call hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter +hi! link GitGutterAdd GitAddSign +hi! link GitGutterChange GitChangeSign +hi! link GitGutterDelete GitDeleteSign +hi! link GitGutterChangeDelete GitChangeDeleteSign + +" indent-blankline (nvim) +if has("nvim") + call hi("@ibl.indent.char.1",s:gui01, "", s:cterm01, "", "", "") +endif + +" HTML +call hi("htmlBold", s:gui07, "", s:cterm0A, "", "bold", "") +call hi("htmlItalic", s:gui06, "", s:cterm0E, "", "italic", "") +call hi("htmlEndTag", s:gui06, "", s:cterm05, "", "", "") +call hi("htmlTag", s:gui06, "", s:cterm05, "", "", "") + +" JavaScript +call hi("javaScript", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptBraces", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript +call hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail +call hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown +call hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownError", s:gui06, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" Matchup +call hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "") + +" NERDTree +call hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call hi("NERDTreeExecFile", s:gui06, "", s:cterm05, "", "", "") + +" Netrw +hi! link netrwDir ThemeCyan +hi! link netrwClassify ThemeCyan +hi! link netrwLink ThemeBg3 +hi! link netrwSymLink ThemeFg1 +hi! link netrwExe ThemeYellow +hi! link netrwComment ThemeBg3 +hi! link netrwList ThemeBlue +hi! link netrwHelpCmd ThemeCyan +hi! link netrwCmdSep ThemeFg3 +hi! link netrwVersion ThemeGreen + +" PHP +call hi("phpMemberSelector", s:gui06, "", s:cterm05, "", "", "") +call hi("phpComparison", s:gui06, "", s:cterm05, "", "", "") +call hi("phpParent", s:gui06, "", s:cterm05, "", "", "") +call hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python +"call hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" hi! link pythonBuiltin ThemeCyan +" hi! link pythonBuiltinObj ThemeCyan +" hi! link pythonBuiltinFunc ThemeGreen +" hi! link pythonFunction Function +" hi! link pythonDecorator ThemeYellow +" hi! link pythonDecoratorName ThemeYellow +" hi! link pythonTripleQuotes ThemeGreenItalic +" hi! link pythonInclude ThemeBlue +" hi! link pythonImport ThemeBlue +" hi! link pythonRun ThemeBlue +" hi! link pythonCoding ThemeBlue +" hi! link pythonOperator ThemeRed +" hi! link pythonException ThemeRed +" hi! link pythonExceptions ThemeYellow +" hi! link pythonBoolean ThemeYellow +" hi! link pythonDot ThemeFg3 +" hi! link pythonConditional ThemeCyan +" hi! link pythonRepeat ThemeRed +" hi! link pythonDottedName ThemeGreen + + +" Ruby +call hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS +call hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify +hi! link SignifySignAdd GitAddSign +hi! link SignifySignChange GitChangeSign +hi! link SignifySignDelete GitDeleteSign + +" Startify +call hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Java +call hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" JSON +hi! link jsonKeyword ThemeGreen +hi! link jsonQuote ThemeGreen +hi! link jsonBraces ThemeFg1 +hi! link jsonString ThemeFg1 + +" Markdown +hi! link markdownH1 ThemeRedBold +hi! link markdownH2 ThemeRed +hi! link markdownH3 ThemeRed +hi! link markdownH4 ThemeRed +hi! link markdownH5 ThemeRed +hi! link markdownH6 ThemeRed + +hi! link markdownCode ThemeYellow +hi! link markdownCodeBlock ThemeYellow +hi! link markdownCodeDelimiter ThemeYellow + +hi! link markdownBlockquote ThemeGrey +hi! link markdownListMarker ThemeBlue +hi! link markdownOrderedListMarker ThemeBlue +hi! link markdownRule ThemeGrey +hi! link markdownHeadingRule ThemeGrey + +hi! link markdownUrlDelimiter ThemeFg3 +hi! link markdownLinkDelimiter ThemeFg3 +hi! link markdownLinkTextDelimiter ThemeFg3 +hi! link markdownHeadingDelimiter ThemeOrange +hi! link markdownUrlTitleDelimiter ThemeGreen + +hi! link markdownLink ThemeGreen +hi! link markdownWikiLink ThemeViolet +"hi! link markdownUrl ThemeOrange +hi! link markdownUrl ThemeRed +hi! link markdownUrlProtocol ThemeGreenItalic +hi! link markdownInlineUrl ThemeOrange + +hi! link markdownLinkText ThemeViolet +hi! link markdownIdDeclaration markdownLinkText + +hi! link pandocAtxHeader ThemeRed +hi! link pandocAtxStart ThemeOrange + + +"call s:HL('markdownItalic', s:fg3, s:none, s:italic) +"call s:HL('markdownLinkText', s:gray, s:none, s:underline) + + +" Remove functions +delf hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F s:guibg +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F s:ctermbg + diff --git a/app-config/nvim/hard-chaparral-monobiome-dark.theme.vim b/app-config/nvim/hard-chaparral-monobiome-dark.theme.vim new file mode 100644 index 0000000..889e759 --- /dev/null +++ b/app-config/nvim/hard-chaparral-monobiome-dark.theme.vim @@ -0,0 +1,995 @@ +" vi:syntax=vim +" +" Top-level remarks: +" +" - `hi` sets highlight colors for syntax groups, allowing one to specify fg and bg colors +" for GUI and terminal Vim. +" - `link` allows for linking one syntax group to another, reusing the same color +" settings. Language-specific groups can then point to one of the base color highlight +" groups, for example, without needing to repeat the raw color values. +" +" There are several kinds of syntax identifiers: +" +" - Vim/editor related (e.g., Normal, Folded): these control colors of central Vim +" elements, like whitespace, bold text, the foldcolumn, etc +" - Generic syntax identifiers (e.g., Boolean, Conditional): these are key groups for +" syntax elements that various language syntax files link to. For instance, Python +" syntax files might have specific patterns that match function keywords like "def," and +" the resulting syntax region can be highlighted by linking it to the core "Function" +" highlight identifier. +" - Treesitter-based identifiers (e.g., @variable, @boolean): highlight groups for +" treesitter-based syntax highlighting, which can replace regex-based matching when +" enabled for richer (and often faster) highlighting. These groups can be linked to the +" core identifiers like any other language. +" +" *Note*: each of these identifiers can add a lang-specific suffix to style those groups +" as they apply to particular languages. For ex, `@boolean.python ThemeRed` would style +" Python booleans red, while the lang-agnostic `@boolean` definition remains. +" - Plugin-oriented identifiers (e.g., SpellBad, ErrorFloat): these are groups mostly core +" to vim/nvim, but often appear only in the context of plugins or certain modules (like +" LSP). For instance, ErrorFloat styles floating windows that might be drawn by nvim's +" built-in LSP hover info. + +" GUI color definitions +let s:gui00 = "#1a1511" +let g:base16_gui00 = "#1a1511" +let s:gui01 = "#26211c" +let g:base16_gui01 = "#26211c" +let s:gui02 = "#322d28" +let g:base16_gui02 = "#322d28" +let s:gui03 = "#3f3935" +let g:base16_gui03 = "#3f3935" +let s:gui04 = "#a49d98" +let g:base16_gui04 = "#a49d98" +let s:gui05 = "#b3ada7" +let g:base16_gui05 = "#b3ada7" +let s:gui06 = "#c3bcb7" +let g:base16_gui06 = "#c3bcb7" +let s:gui07 = "#d3ccc7" +let g:base16_gui07 = "#d3ccc7" +let s:gui08 = "#dc4234" +let g:base16_gui08 = "#dc4234" +let s:gui09 = "#b76b0c" +let g:base16_gui09 = "#b76b0c" +let s:gui0A = "#888346" +let g:base16_gui0A = "#888346" +let s:gui0B = "#4f925a" +let g:base16_gui0B = "#4f925a" +let s:gui0C = "#4f925a" +let g:base16_gui0C = "#4f925a" +let s:gui0D = "#557ecc" +let g:base16_gui0D = "#557ecc" +let s:gui0E = "#557ecc" +let g:base16_gui0E = "#557ecc" +let s:gui0F = "#dc4234" +let g:base16_gui0F = "#dc4234" + +let s:grey = "#68625d" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" + +let s:cterm01 = "10" +let g:base16_cterm01 = "10" +let s:cterm02 = "11" +let g:base16_cterm02 = "11" +let s:cterm04 = "12" +let g:base16_cterm04 = "12" +let s:cterm06 = "13" +let g:base16_cterm06 = "13" +let s:cterm09 = "09" +let g:base16_cterm09 = "09" +let s:cterm0F = "14" +let g:base16_cterm0F = "14" + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#1a1511" + let g:terminal_color_1 = "#dc4234" + let g:terminal_color_2 = "#4f925a" + let g:terminal_color_3 = "#888346" + let g:terminal_color_4 = "#557ecc" + let g:terminal_color_5 = "#557ecc" + let g:terminal_color_6 = "#4f925a" + let g:terminal_color_7 = "#b3ada7" + let g:terminal_color_8 = "#3f3935" + let g:terminal_color_9 = "#dc4234" + let g:terminal_color_10 = "#4f925a" + let g:terminal_color_11 = "#888346" + let g:terminal_color_12 = "#557ecc" + let g:terminal_color_13 = "#557ecc" + let g:terminal_color_14 = "#4f925a" + let g:terminal_color_15 = "#d3ccc7" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif + +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#1a1511", + \ "#dc4234", + \ "#4f925a", + \ "#888346", + \ "#557ecc", + \ "#557ecc", + \ "#4f925a", + \ "#b3ada7", + \ "#3f3935", + \ "#dc4234", + \ "#4f925a", + \ "#888346", + \ "#557ecc", + \ "#557ecc", + \ "#4f925a", + \ "#d3ccc7", + \ ] +endif + +let s:guibg = s:gui00 +let s:ctermbg = s:cterm00 + +" Theme setup +hi clear +syntax reset +let g:colors_name = "active" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + " For a given syntax group, sets the GUI and terminal foreground and backgrounds + " Optional parameters are interpreted as `attr` and `guisp`, the first of which appears + " to be a modifier for the group (e.g., bold, italic), and `guisp` appears to be + " 'special' colors used for underlines in the GUI. + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=" . a:guifg + endif + endif + + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=" . a:guibg + endif + endif + + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=" . l:guisp + endif + endif +endfunction + + +fun hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + + +" color groups for interpretability +call hi("ThemeBg0", s:gui00, "", s:cterm00, "", "", "") +call hi("ThemeBg1", s:gui01, "", s:cterm01, "", "", "") +call hi("ThemeBg2", s:gui02, "", s:cterm02, "", "", "") +call hi("ThemeBg3", s:gui03, "", s:cterm03, "", "", "") +call hi("ThemeFg3", s:gui04, "", s:cterm04, "", "", "") +call hi("ThemeFg2", s:gui05, "", s:cterm05, "", "", "") +call hi("ThemeFg1", s:gui06, "", s:cterm06, "", "", "") +call hi("ThemeFg0", s:gui07, "", s:cterm07, "", "", "") + +call hi("ThemeBg0bold", s:gui00, "", s:cterm00, "", "bold", "") +call hi("ThemeBg1bold", s:gui01, "", s:cterm01, "", "bold", "") +call hi("ThemeBg2bold", s:gui02, "", s:cterm02, "", "bold", "") +call hi("ThemeBg3bold", s:gui03, "", s:cterm03, "", "bold", "") +call hi("ThemeFg3bold", s:gui04, "", s:cterm04, "", "bold", "") +call hi("ThemeFg2bold", s:gui05, "", s:cterm05, "", "bold", "") +call hi("ThemeFg1bold", s:gui06, "", s:cterm06, "", "bold", "") +call hi("ThemeFg0bold", s:gui07, "", s:cterm07, "", "bold", "") + +call hi("ThemeBg0Italic", s:gui00, "", s:cterm00, "", "italic", "") +call hi("ThemeBg1Italic", s:gui01, "", s:cterm01, "", "italic", "") +call hi("ThemeBg2Italic", s:gui02, "", s:cterm02, "", "italic", "") +call hi("ThemeBg3Italic", s:gui03, "", s:cterm03, "", "italic", "") +call hi("ThemeFg3Italic", s:gui04, "", s:cterm04, "", "italic", "") +call hi("ThemeFg2Italic", s:gui05, "", s:cterm05, "", "italic", "") +call hi("ThemeFg1Italic", s:gui06, "", s:cterm06, "", "italic", "") +call hi("ThemeFg0Italic", s:gui07, "", s:cterm07, "", "italic", "") + +call hi("ThemeRed", s:gui08, "", s:cterm08, "", "", "") +call hi("ThemeOrange", s:gui09, "", s:cterm09, "", "", "") +call hi("ThemeYellow", s:gui0A, "", s:cterm0A, "", "", "") +call hi("ThemeGreen", s:gui0B, "", s:cterm0B, "", "", "") +call hi("ThemeCyan", s:gui0C, "", s:cterm0C, "", "", "") +call hi("ThemeBlue", s:gui0D, "", s:cterm0D, "", "", "") +call hi("ThemeViolet", s:gui0E, "", s:cterm0E, "", "", "") +call hi("ThemeMagenta", s:gui0F, "", s:cterm0F, "", "", "") + +call hi("ThemeRedNone", s:gui08, "", s:cterm08, "", "NONE", "") +call hi("ThemeOrangeNone", s:gui09, "", s:cterm09, "", "NONE", "") +call hi("ThemeYellowNone", s:gui0A, "", s:cterm0A, "", "NONE", "") +call hi("ThemeGreenNone", s:gui0B, "", s:cterm0B, "", "NONE", "") +call hi("ThemeCyanNone", s:gui0C, "", s:cterm0C, "", "NONE", "") +call hi("ThemeBlueNone", s:gui0D, "", s:cterm0D, "", "NONE", "") +call hi("ThemeVioletNone", s:gui0E, "", s:cterm0E, "", "NONE", "") +call hi("ThemeMagentaNone", s:gui0F, "", s:cterm0F, "", "NONE", "") + +call hi("ThemeRedBold", s:gui08, "", s:cterm08, "", "bold", "") +call hi("ThemeOrangeBold", s:gui09, "", s:cterm09, "", "bold", "") +call hi("ThemeYellowBold", s:gui0A, "", s:cterm0A, "", "bold", "") +call hi("ThemeGreenBold", s:gui0B, "", s:cterm0B, "", "bold", "") +call hi("ThemeCyanBold", s:gui0C, "", s:cterm0C, "", "bold", "") +call hi("ThemeBlueBold", s:gui0D, "", s:cterm0D, "", "bold", "") +call hi("ThemeVioletBold", s:gui0E, "", s:cterm0E, "", "bold", "") +call hi("ThemeMagentaBold", s:gui0F, "", s:cterm0F, "", "bold", "") + +call hi("ThemeRedItalic", s:gui08, "", s:cterm08, "", "italic", "") +call hi("ThemeOrangeItalic", s:gui09, "", s:cterm09, "", "italic", "") +call hi("ThemeYellowItalic", s:gui0A, "", s:cterm0A, "", "italic", "") +call hi("ThemeGreenItalic", s:gui0B, "", s:cterm0B, "", "italic", "") +call hi("ThemeCyanItalic", s:gui0C, "", s:cterm0C, "", "italic", "") +call hi("ThemeBlueItalic", s:gui0D, "", s:cterm0D, "", "italic", "") +call hi("ThemeVioletItalic", s:gui0E, "", s:cterm0E, "", "italic", "") +call hi("ThemeMagentaItalic", s:gui0F, "", s:cterm0F, "", "italic", "") + +call hi("ThemeRedBoldItalic", s:gui08, "", s:cterm08, "", "bold,italic", "") +call hi("ThemeOrangeBoldItalic", s:gui09, "", s:cterm09, "", "bold,italic", "") +call hi("ThemeYellowBoldItalic", s:gui0A, "", s:cterm0A, "", "bold,italic", "") +call hi("ThemeGreenBoldItalic", s:gui0B, "", s:cterm0B, "", "bold,italic", "") +call hi("ThemeCyanBoldItalic", s:gui0C, "", s:cterm0C, "", "bold,italic", "") +call hi("ThemeBlueBoldItalic", s:gui0D, "", s:cterm0D, "", "bold,italic", "") +call hi("ThemeVioletBoldItalic", s:gui0E, "", s:cterm0E, "", "bold,italic", "") +call hi("ThemeMagentaBoldItalic", s:gui0F, "", s:cterm0F, "", "bold,italic", "") + +call hi("ThemeGrey", s:grey, "", s:cterm03, "", "", "") +call hi("ThemeGreyItalic", s:grey, "", s:cterm03, "", "italic", "") + + +" Vim editor colors +call hi("Bold", "", "", "", "", "bold", "") +call hi("Italic", "", "", "", "", "italic", "") +call hi("BoldItalic", "", "", "", "", "italic,bold", "") + +call hi("Normal", s:gui05, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Error", s:guibg, s:gui08, s:ctermbg, s:cterm08, "", "") +call hi("ErrorMsg", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call hi("FoldColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("Folded", s:gui03, s:gui01, s:cterm02, s:ctermbg, "", "") +call hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call hi("Macro", s:gui0C, "", s:cterm0C, "", "", "") +call hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call hi("Underlined", "", "", "", "", "underline", "fg") +call hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call hi("WildMenu", s:guibg, s:gui06, s:ctermbg, s:cterm05, "", "") +call hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") + +"call hi("Conceal", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +hi! link Conceal ThemeBlue + +call hi("Cursor", s:gui05, s:guibg, "", "", "inverse", "") +call hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call hi("Whitespace", s:gui03, "", s:cterm03, "", "", "") +call hi("LineNr", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("SignColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("StatusLine", s:gui07, s:gui01, s:cterm07, s:cterm01, "none", "") +call hi("StatusLineNC", s:gui06, s:gui01, s:cterm05, s:cterm01, "none", "") +call hi("VertSplit", s:gui01, s:guibg, s:cterm01, s:ctermbg, "none", "") +call hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLineNr", s:gui04, s:gui00, s:cterm04, s:cterm01, "", "") +call hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "") +call hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "") +call hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "") +call hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "") +call hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax +call hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call hi("Identifier", s:gui06, "", s:cterm05, "", "none", "") +call hi("Keyword", s:gui0D, "", s:cterm0E, "", "none", "") +call hi("Todo", s:gui08, s:guibg, s:cterm08, s:ctermbg, "italic", "") + +hi! link Boolean ThemeOrange +hi! link Character ThemeRed +hi! link Comment ThemeGreyItalic +hi! link Conditional ThemeRed +hi! link Constant ThemeOrange +hi! link Delimiter ThemeFg1 +hi! link Float ThemeOrange +hi! link Function ThemeBlue +hi! link Include ThemeBlue +hi! link Constant ThemeOrange +hi! link Label ThemeOrange +hi! link Number ThemeOrange +hi! link Operator ThemeYellow +hi! link PreProc ThemeOrange +hi! link Repeat ThemeViolet +hi! link Special ThemeYellow +hi! link SpecialChar ThemeMagenta +hi! link Statement ThemeRed +hi! link StorageClass ThemeOrange +hi! link String ThemeGreen +hi! link Structure ThemeOrange +hi! link Tag ThemeOrange +hi! link Type ThemeYellow +hi! link Typedef ThemeOrange + + +" Treesitter +if has("nvim-0.8.0") + hi! link @field ThemeRed + hi! link @property ThemeRed + hi! link @namespace ThemeFg1Italic + hi! link @variable.builtin ThemeFg1Italic + hi! link @variable ThemeFg2 + hi! link @conceal ThemeBlue + + hi! link @text.uri ThemeRedItalic + hi! link @text.reference ThemeRed + + hi! link @annotation ThemeViolet + hi! link @attribute ThemeBlue + + hi! link @boolean ThemeOrange + hi! link @character ThemeRed + hi! link @character.special ThemeMagenta + hi! link @comment Comment + + hi! link @constant ThemeBlue + hi! link @constant.builtin ThemeBlue + + hi! link @constant.macro ThemeRed + + hi! link @keyword.directive.define ThemeViolet + hi! link @keyword.exception ThemeRed + + hi! link @comment.error ThemeRed + hi! link @number.float ThemeRed + hi! link @keyword.function ThemeRed + + hi! link @function ThemeBlue + hi! link @function.builtin ThemeBlue + hi! link @function.call ThemeBlue + hi! link @function.macro ThemeRed + hi! link @function.method ThemeBlue + hi! link @function.method.call ThemeBlue + + hi! link @keyword.debug ThemeRed + hi! link @keyword.conditional ThemeRed + hi! link @keyword.import ThemeViolet + hi! link @keyword.coroutine ThemeViolet + hi! link @keyword.operator ThemeYellow + hi! link @keyword.directive ThemeViolet + hi! link @keyword.repeat ThemeViolet + hi! link @keyword.storage ThemeViolet + hi! link @keyword.return ThemeRed + + hi! link @constructor ThemeBlue + hi! link @namespace.builtin ThemeViolet + + hi! link @none ThemeFg1 + hi! link @number ThemeOrange + hi! link @string ThemeGreen + + hi! link @tag ThemeRed + hi! link @tag.delimiter ThemeViolet + hi! link @tag.attribute ThemeYellow + + " affects markdown + hi! link @markup ThemeYellow + + hi! link @markup.raw ThemeGreen + hi! link @markup.raw.block.lang ThemeFg2Bold + hi! link @markup.raw.block.marker ThemeRed + "call hi("@markup.raw.block.lang", s:gui08, "#1e0000", "", s:ctermbg, "", "") + + hi! link @markup.list ThemeBlue + hi! link @markup.quote ThemeGrey + + hi! link @markup.link ThemeYellow " borders + hi! link @markup.link.text ThemeBlue + hi! link @markup.link.label ThemeYellow + hi! link @markup.link.url ThemeYellow + hi! link @markup.link.dest ThemeFg3 + + hi! link @markup.link.wiki ThemeYellow + hi! link @markup.link.wiki.text ThemeBlue + hi! link @markup.link.wiki.label ThemeYellow + + "hi! link @markup.link.label.symbol ThemeGreen + + "hi! link markdownWikiLink ThemeViolet + " + hi! link @markup.environment ThemeYellow + hi! link @markup.environment.name ThemeYellow + hi! link @markup.math ThemeYellow + hi! link @punctuation.delimiter.latex ThemeOrange + + hi! link @markup.strong Bold + hi! link @markup.emphasis Bold + hi! link @markup.strikethrough ThemeYellow + hi! link @markup.underline ThemeYellow + + hi! link @comment.info ThemeBlue + hi! link @comment.todo ThemeYellow + hi! link @comment.note ThemeBg3 + hi! link @comment.hint ThemeGreen + hi! link @comment.warning ThemeOrange + + hi! link @type ThemeYellow + hi! link @type.builtin ThemeOrange + hi! link @type.definition ThemeViolet + hi! link @type.qualifier ThemeViolet + + " Markdown + " hi! link @spell.markdown ThemeFg3 + + "call hi("@markup.heading.marker", s:gui08, "", "", s:ctermbg, "bold", "") + "hi! link @markup.heading ThemeRed + hi! link @markup.heading.marker ThemeOrange + hi! link @markup.heading.title ThemeRed "Italic + + " set this for a strong background + "call hi("@markup.heading.title", s:gui08, "#440503", "", s:ctermbg, "italic", "") + + hi! link @markup.heading.title.1 Bold + hi! link @markup.heading.title.3 Italic + "hi! link @markup.heading.4.title Italic + + " YAML + hi! link @string.yaml ThemeBlue + hi! link @punctuation.delimiter.yaml ThemeGreen + hi! link @property.yaml ThemeFg2 + + " Diff + hi! link @diff.minus ThemeRed + hi! link @diff.plus ThemeGreen + + call hi("TreesitterContext", "", s:gui00, "", "", "", "") + "hi TreesitterContextLineNumberBottom gui=underline guisp=Gray + "call hi("TreesitterContextBottom", "", "", "", "", "underline", s:gui02) + call hi("TreesitterContextSeparator", s:gui03, "", "", "", "", "") + "call hi("TreesitterContextLineNumberBottom", "", "", "", "", "underline", s:gui02) +endif + +" Standard highlights to be used by plugins +if has("patch-8.0.1038") + call hi("Deprecated", "", "", "", "", "strikethrough", "") +endif +call hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "") + +call hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "") +call hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "") +call hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "") +call hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "") + +call hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningSign", s:gui09, "", s:cterm09, "", "", "") +call hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "") +call hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "") +call hi("OkSign", s:gui0B, "", s:cterm0B, "", "", "") + +call hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "") +call hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call hi("OkFloat", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("NormalFloat", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "") + +call hi("ErrorHighlight", "", "", s:ctermbg, s:cterm08, "underline", s:gui08) +call hi("WarningHighlight", "", "", s:ctermbg, s:cterm09, "underline", s:gui09) +call hi("InfoHighlight", "", "", s:ctermbg, s:cterm0D, "underline", s:gui0D) +call hi("HintHighlight", "", "", s:ctermbg, s:cterm0C, "underline", s:gui0C) +call hi("OkHighlight", "", "", s:ctermbg, s:cterm0B, "underline", s:gui0B) + +call hi("SpellBad", "", "", s:ctermbg, s:cterm08, "undercurl", s:gui08) +call hi("SpellLocal", "", "", s:ctermbg, s:cterm0C, "undercurl", s:gui0C) +call hi("SpellCap", "", "", s:ctermbg, s:cterm0D, "undercurl", s:gui0D) +call hi("SpellRare", "", "", s:ctermbg, s:cterm0E, "undercurl", s:gui0E) + +call hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "") + +" LSP +if has("nvim") + hi! link DiagnosticError ErrorSign + hi! link DiagnosticWarn WarningSign + hi! link DiagnosticInfo InfoSign + hi! link DiagnosticHint HintSign + hi! link DiagnosticOk OkSign + + hi! link DiagnosticFloatingError ErrorFloat + hi! link DiagnosticFloatingWarn WarningFloat + hi! link DiagnosticFloatingInfo InfoFloat + hi! link DiagnosticFloatingHint HintFloat + hi! link DiagnosticFloatingOk OkFloat + + hi! link DiagnosticUnderlineError ErrorHighlight + hi! link DiagnosticUnderlineWarn WarningHighlight + hi! link DiagnosticUnderlineInfo InfoHighlight + hi! link DiagnosticUnderlineHint HintHighlight + hi! link DiagnosticUnderlineOk OkHighlight + + hi! link DiagnosticsVirtualTextError ErrorSign + hi! link DiagnosticsVirtualTextWarning WarningSign + hi! link DiagnosticsVirtualTextInfo InfoSign + hi! link DiagnosticsVirtualTextHint HintSign + hi! link DiagnosticsVirtualTextOk OkSign + + " Remove untill endif on next nvim release + hi! link LspDiagnosticsSignError ErrorSign + hi! link LspDiagnosticsSignWarning WarningSign + hi! link LspDiagnosticsSignInfo InfoSign + hi! link LspDiagnosticsSignHint HintSign + + hi! link LspDiagnosticsVirtualTextError ErrorSign + hi! link LspDiagnosticsVirtualTextWarning WarningSign + hi! link LspDiagnosticsVirtualTextInfo InfoSign + hi! link LspDiagnosticsVirtualTextHint HintSign + + hi! link LspDiagnosticsFloatingError ErrorFloat + hi! link LspDiagnosticsFloatingWarning WarningFloat + hi! link LspDiagnosticsFloatingInfo InfoFloat + hi! link LspDiagnosticsFloatingHint HintFloat + + hi! link LspDiagnosticsUnderlineError ErrorHighlight + hi! link LspDiagnosticsUnderlineWarning WarningHighlight + hi! link LspDiagnosticsUnderlineInfo InfoHighlight + hi! link LspDiagnosticsUnderlineHint HintHighlight + + hi! link LspReferenceText ReferenceText + hi! link LspReferenceRead ReferenceRead + hi! link LspReferenceWrite ReferenceWrite +endif + +" " +" LANGUAGES +" " + +" C +call hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# +call hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csType", s:gui08, "", s:cterm08, "", "", "") +call hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" Clap +hi! link ClapInput ColorColumn +hi! link ClapSpinner ColorColumn +hi! link ClapDisplay Default +hi! link ClapPreview ColorColumn +hi! link ClapCurrentSelection CursorLine +hi! link ClapNoMatchesFound ErrorFloat + +" Coc +hi! link CocErrorSign ErrorSign +hi! link CocWarningSign WarningSign +hi! link CocInfoSign InfoSign +hi! link CocHintSign HintSign + +hi! link CocErrorFloat ErrorFloat +hi! link CocWarningFloat WarningFloat +hi! link CocInfoFloat InfoFloat +hi! link CocHintFloat HintFloat + +hi! link CocErrorHighlight ErrorHighlight +hi! link CocWarningHighlight WarningHighlight +hi! link CocInfoHighlight InfoHighlight +hi! link CocHintHighlight HintHighlight + +hi! link CocSem_angle Keyword +hi! link CocSem_annotation Keyword +hi! link CocSem_attribute Type +hi! link CocSem_bitwise Keyword +hi! link CocSem_boolean Boolean +hi! link CocSem_brace Normal +hi! link CocSem_bracket Normal +hi! link CocSem_builtinAttribute Type +hi! link CocSem_builtinType Type +hi! link CocSem_character String +hi! link CocSem_class Structure +hi! link CocSem_colon Normal +hi! link CocSem_comma Normal +hi! link CocSem_comment Comment +hi! link CocSem_comparison Keyword +hi! link CocSem_concept Keyword +hi! link CocSem_constParameter Identifier +hi! link CocSem_dependent Keyword +hi! link CocSem_dot Keyword +hi! link CocSem_enum Structure +hi! link CocSem_enumMember Constant +hi! link CocSem_escapeSequence Type +hi! link CocSem_event Identifier +hi! link CocSem_formatSpecifier Type +hi! link CocSem_function Function +hi! link CocSem_interface Type +hi! link CocSem_keyword Keyword +hi! link CocSem_label Keyword +hi! link CocSem_logical Keyword +hi! link CocSem_macro Macro +hi! link CocSem_method Function +hi! link CocSem_modifier Keyword +hi! link CocSem_namespace Identifier +hi! link CocSem_number Number +hi! link CocSem_operator Operator +hi! link CocSem_parameter Identifier +hi! link CocSem_parenthesis Normal +hi! link CocSem_property Identifier +hi! link CocSem_punctuation Keyword +hi! link CocSem_regexp Type +hi! link CocSem_selfKeyword Constant +hi! link CocSem_semicolon Normal +hi! link CocSem_string String +hi! link CocSem_struct Structure +hi! link CocSem_type Type +hi! link CocSem_typeAlias Type +hi! link CocSem_typeParameter Type +hi! link CocSem_unknown Normal +hi! link CocSem_variable Identifier + +call hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "") +call hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("CocSessionsName", s:gui06, "", s:cterm05, "", "", "") + +" CSS +hi! link cssBraces ThemeBlue +hi! link cssFunctionName ThemeYellow +hi! link cssIdentifier ThemeOrange +hi! link cssClassName ThemeGreen +hi! link cssColor ThemeBlue +hi! link cssSelectorOp ThemeBlue +hi! link cssSelectorOp2 ThemeBlue +hi! link cssImportant ThemeGreen +hi! link cssVendor ThemeFg1 + +hi! link cssTextProp ThemeCyan +hi! link cssAnimationProp ThemeCyan +hi! link cssUIProp ThemeYellow +hi! link cssTransformProp ThemeCyan +hi! link cssTransitionProp ThemeCyan +hi! link cssPrintProp ThemeCyan +hi! link cssPositioningProp ThemeYellow +hi! link cssBoxProp ThemeCyan +hi! link cssFontDescriptorProp ThemeCyan +hi! link cssFlexibleBoxProp ThemeCyan +hi! link cssBorderOutlineProp ThemeCyan +hi! link cssBackgroundProp ThemeCyan +hi! link cssMarginProp ThemeCyan +hi! link cssListProp ThemeCyan +hi! link cssTableProp ThemeCyan +hi! link cssFontProp ThemeCyan +hi! link cssPaddingProp ThemeCyan +hi! link cssDimensionProp ThemeCyan +hi! link cssRenderProp ThemeCyan +hi! link cssColorProp ThemeCyan +hi! link cssGeneratedContentProp ThemeCyan + + +" CMP +hi! link CmpItemAbbrDeprecated Deprecated +hi! link CmpItemAbbrMatch SearchMatch +hi! link CmpItemAbbrMatchFuzzy SearchMatch +hi! link CmpItemKindClass Type +hi! link CmpItemKindColor Keyword +hi! link CmpItemKindConstant Constant +hi! link CmpItemKindConstructor Special +hi! link CmpItemKindEnum Type +hi! link CmpItemKindEnumMember Constant +hi! link CmpItemKindEvent Identifier +hi! link CmpItemKindField Character +hi! link CmpItemKindFile Directory +hi! link CmpItemKindFolder Directory +hi! link CmpItemKindFunction Function +hi! link CmpItemKindInterface Type +hi! link CmpItemKindKeyword Keyword +hi! link CmpItemKindMethod Function +hi! link CmpItemKindModule Namespace +hi! link CmpItemKindOperator Operator +hi! link CmpItemKindProperty Identifier +hi! link CmpItemKindReference Character +hi! link CmpItemKindSnippet String +hi! link CmpItemKindStruct Type +hi! link CmpItemKindText Text +hi! link CmpItemKindUnit Namespace +hi! link CmpItemKindValue Comment +hi! link CmpItemKindVariable Identifier + +if has("nvim-0.8.0") + hi! link CmpItemKindField @field + hi! link CmpItemKindProperty @property +endif + +" Diff +call hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("DiffChange", s:gui06, s:gui01, s:cterm05, s:cterm01, "", "") +call hi("DiffDelete", s:gui02, s:guibg, s:cterm02, s:ctermbg, "", "") +call hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("DiffAdded", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffFile", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("DiffNewFile", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffLine", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +call hi("DiffRemoved", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") + +" Git +call hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter +hi! link GitGutterAdd GitAddSign +hi! link GitGutterChange GitChangeSign +hi! link GitGutterDelete GitDeleteSign +hi! link GitGutterChangeDelete GitChangeDeleteSign + +" indent-blankline (nvim) +if has("nvim") + call hi("@ibl.indent.char.1",s:gui01, "", s:cterm01, "", "", "") +endif + +" HTML +call hi("htmlBold", s:gui07, "", s:cterm0A, "", "bold", "") +call hi("htmlItalic", s:gui06, "", s:cterm0E, "", "italic", "") +call hi("htmlEndTag", s:gui06, "", s:cterm05, "", "", "") +call hi("htmlTag", s:gui06, "", s:cterm05, "", "", "") + +" JavaScript +call hi("javaScript", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptBraces", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript +call hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail +call hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown +call hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownError", s:gui06, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" Matchup +call hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "") + +" NERDTree +call hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call hi("NERDTreeExecFile", s:gui06, "", s:cterm05, "", "", "") + +" Netrw +hi! link netrwDir ThemeCyan +hi! link netrwClassify ThemeCyan +hi! link netrwLink ThemeBg3 +hi! link netrwSymLink ThemeFg1 +hi! link netrwExe ThemeYellow +hi! link netrwComment ThemeBg3 +hi! link netrwList ThemeBlue +hi! link netrwHelpCmd ThemeCyan +hi! link netrwCmdSep ThemeFg3 +hi! link netrwVersion ThemeGreen + +" PHP +call hi("phpMemberSelector", s:gui06, "", s:cterm05, "", "", "") +call hi("phpComparison", s:gui06, "", s:cterm05, "", "", "") +call hi("phpParent", s:gui06, "", s:cterm05, "", "", "") +call hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python +"call hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" hi! link pythonBuiltin ThemeCyan +" hi! link pythonBuiltinObj ThemeCyan +" hi! link pythonBuiltinFunc ThemeGreen +" hi! link pythonFunction Function +" hi! link pythonDecorator ThemeYellow +" hi! link pythonDecoratorName ThemeYellow +" hi! link pythonTripleQuotes ThemeGreenItalic +" hi! link pythonInclude ThemeBlue +" hi! link pythonImport ThemeBlue +" hi! link pythonRun ThemeBlue +" hi! link pythonCoding ThemeBlue +" hi! link pythonOperator ThemeRed +" hi! link pythonException ThemeRed +" hi! link pythonExceptions ThemeYellow +" hi! link pythonBoolean ThemeYellow +" hi! link pythonDot ThemeFg3 +" hi! link pythonConditional ThemeCyan +" hi! link pythonRepeat ThemeRed +" hi! link pythonDottedName ThemeGreen + + +" Ruby +call hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS +call hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify +hi! link SignifySignAdd GitAddSign +hi! link SignifySignChange GitChangeSign +hi! link SignifySignDelete GitDeleteSign + +" Startify +call hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Java +call hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" JSON +hi! link jsonKeyword ThemeGreen +hi! link jsonQuote ThemeGreen +hi! link jsonBraces ThemeFg1 +hi! link jsonString ThemeFg1 + +" Markdown +hi! link markdownH1 ThemeRedBold +hi! link markdownH2 ThemeRed +hi! link markdownH3 ThemeRed +hi! link markdownH4 ThemeRed +hi! link markdownH5 ThemeRed +hi! link markdownH6 ThemeRed + +hi! link markdownCode ThemeYellow +hi! link markdownCodeBlock ThemeYellow +hi! link markdownCodeDelimiter ThemeYellow + +hi! link markdownBlockquote ThemeGrey +hi! link markdownListMarker ThemeBlue +hi! link markdownOrderedListMarker ThemeBlue +hi! link markdownRule ThemeGrey +hi! link markdownHeadingRule ThemeGrey + +hi! link markdownUrlDelimiter ThemeFg3 +hi! link markdownLinkDelimiter ThemeFg3 +hi! link markdownLinkTextDelimiter ThemeFg3 +hi! link markdownHeadingDelimiter ThemeOrange +hi! link markdownUrlTitleDelimiter ThemeGreen + +hi! link markdownLink ThemeGreen +hi! link markdownWikiLink ThemeViolet +"hi! link markdownUrl ThemeOrange +hi! link markdownUrl ThemeRed +hi! link markdownUrlProtocol ThemeGreenItalic +hi! link markdownInlineUrl ThemeOrange + +hi! link markdownLinkText ThemeViolet +hi! link markdownIdDeclaration markdownLinkText + +hi! link pandocAtxHeader ThemeRed +hi! link pandocAtxStart ThemeOrange + + +"call s:HL('markdownItalic', s:fg3, s:none, s:italic) +"call s:HL('markdownLinkText', s:gray, s:none, s:underline) + + +" Remove functions +delf hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F s:guibg +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F s:ctermbg + diff --git a/app-config/nvim/hard-chaparral-monobiome-light.theme.vim b/app-config/nvim/hard-chaparral-monobiome-light.theme.vim new file mode 100644 index 0000000..9d4ff43 --- /dev/null +++ b/app-config/nvim/hard-chaparral-monobiome-light.theme.vim @@ -0,0 +1,995 @@ +" vi:syntax=vim +" +" Top-level remarks: +" +" - `hi` sets highlight colors for syntax groups, allowing one to specify fg and bg colors +" for GUI and terminal Vim. +" - `link` allows for linking one syntax group to another, reusing the same color +" settings. Language-specific groups can then point to one of the base color highlight +" groups, for example, without needing to repeat the raw color values. +" +" There are several kinds of syntax identifiers: +" +" - Vim/editor related (e.g., Normal, Folded): these control colors of central Vim +" elements, like whitespace, bold text, the foldcolumn, etc +" - Generic syntax identifiers (e.g., Boolean, Conditional): these are key groups for +" syntax elements that various language syntax files link to. For instance, Python +" syntax files might have specific patterns that match function keywords like "def," and +" the resulting syntax region can be highlighted by linking it to the core "Function" +" highlight identifier. +" - Treesitter-based identifiers (e.g., @variable, @boolean): highlight groups for +" treesitter-based syntax highlighting, which can replace regex-based matching when +" enabled for richer (and often faster) highlighting. These groups can be linked to the +" core identifiers like any other language. +" +" *Note*: each of these identifiers can add a lang-specific suffix to style those groups +" as they apply to particular languages. For ex, `@boolean.python ThemeRed` would style +" Python booleans red, while the lang-agnostic `@boolean` definition remains. +" - Plugin-oriented identifiers (e.g., SpellBad, ErrorFloat): these are groups mostly core +" to vim/nvim, but often appear only in the context of plugins or certain modules (like +" LSP). For instance, ErrorFloat styles floating windows that might be drawn by nvim's +" built-in LSP hover info. + +" GUI color definitions +let s:gui00 = "#f4ede7" +let g:base16_gui00 = "#f4ede7" +let s:gui01 = "#e4ddd7" +let g:base16_gui01 = "#e4ddd7" +let s:gui02 = "#d3ccc7" +let g:base16_gui02 = "#d3ccc7" +let s:gui03 = "#c3bcb7" +let g:base16_gui03 = "#c3bcb7" +let s:gui04 = "#5a544f" +let g:base16_gui04 = "#5a544f" +let s:gui05 = "#4c4642" +let g:base16_gui05 = "#4c4642" +let s:gui06 = "#3f3935" +let g:base16_gui06 = "#3f3935" +let s:gui07 = "#322d28" +let g:base16_gui07 = "#322d28" +let s:gui08 = "#ca2f24" +let g:base16_gui08 = "#ca2f24" +let s:gui09 = "#a45e03" +let g:base16_gui09 = "#a45e03" +let s:gui0A = "#79743d" +let g:base16_gui0A = "#79743d" +let s:gui0B = "#42824e" +let g:base16_gui0B = "#42824e" +let s:gui0C = "#42824e" +let g:base16_gui0C = "#42824e" +let s:gui0D = "#456fbe" +let g:base16_gui0D = "#456fbe" +let s:gui0E = "#456fbe" +let g:base16_gui0E = "#456fbe" +let s:gui0F = "#ca2f24" +let g:base16_gui0F = "#ca2f24" + +let s:grey = "#948e88" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" + +let s:cterm01 = "10" +let g:base16_cterm01 = "10" +let s:cterm02 = "11" +let g:base16_cterm02 = "11" +let s:cterm04 = "12" +let g:base16_cterm04 = "12" +let s:cterm06 = "13" +let g:base16_cterm06 = "13" +let s:cterm09 = "09" +let g:base16_cterm09 = "09" +let s:cterm0F = "14" +let g:base16_cterm0F = "14" + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#f4ede7" + let g:terminal_color_1 = "#ca2f24" + let g:terminal_color_2 = "#42824e" + let g:terminal_color_3 = "#79743d" + let g:terminal_color_4 = "#456fbe" + let g:terminal_color_5 = "#456fbe" + let g:terminal_color_6 = "#42824e" + let g:terminal_color_7 = "#4c4642" + let g:terminal_color_8 = "#c3bcb7" + let g:terminal_color_9 = "#ca2f24" + let g:terminal_color_10 = "#42824e" + let g:terminal_color_11 = "#79743d" + let g:terminal_color_12 = "#456fbe" + let g:terminal_color_13 = "#456fbe" + let g:terminal_color_14 = "#42824e" + let g:terminal_color_15 = "#322d28" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif + +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#f4ede7", + \ "#ca2f24", + \ "#42824e", + \ "#79743d", + \ "#456fbe", + \ "#456fbe", + \ "#42824e", + \ "#4c4642", + \ "#c3bcb7", + \ "#ca2f24", + \ "#42824e", + \ "#79743d", + \ "#456fbe", + \ "#456fbe", + \ "#42824e", + \ "#322d28", + \ ] +endif + +let s:guibg = s:gui00 +let s:ctermbg = s:cterm00 + +" Theme setup +hi clear +syntax reset +let g:colors_name = "active" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + " For a given syntax group, sets the GUI and terminal foreground and backgrounds + " Optional parameters are interpreted as `attr` and `guisp`, the first of which appears + " to be a modifier for the group (e.g., bold, italic), and `guisp` appears to be + " 'special' colors used for underlines in the GUI. + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=" . a:guifg + endif + endif + + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=" . a:guibg + endif + endif + + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=" . l:guisp + endif + endif +endfunction + + +fun hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + + +" color groups for interpretability +call hi("ThemeBg0", s:gui00, "", s:cterm00, "", "", "") +call hi("ThemeBg1", s:gui01, "", s:cterm01, "", "", "") +call hi("ThemeBg2", s:gui02, "", s:cterm02, "", "", "") +call hi("ThemeBg3", s:gui03, "", s:cterm03, "", "", "") +call hi("ThemeFg3", s:gui04, "", s:cterm04, "", "", "") +call hi("ThemeFg2", s:gui05, "", s:cterm05, "", "", "") +call hi("ThemeFg1", s:gui06, "", s:cterm06, "", "", "") +call hi("ThemeFg0", s:gui07, "", s:cterm07, "", "", "") + +call hi("ThemeBg0bold", s:gui00, "", s:cterm00, "", "bold", "") +call hi("ThemeBg1bold", s:gui01, "", s:cterm01, "", "bold", "") +call hi("ThemeBg2bold", s:gui02, "", s:cterm02, "", "bold", "") +call hi("ThemeBg3bold", s:gui03, "", s:cterm03, "", "bold", "") +call hi("ThemeFg3bold", s:gui04, "", s:cterm04, "", "bold", "") +call hi("ThemeFg2bold", s:gui05, "", s:cterm05, "", "bold", "") +call hi("ThemeFg1bold", s:gui06, "", s:cterm06, "", "bold", "") +call hi("ThemeFg0bold", s:gui07, "", s:cterm07, "", "bold", "") + +call hi("ThemeBg0Italic", s:gui00, "", s:cterm00, "", "italic", "") +call hi("ThemeBg1Italic", s:gui01, "", s:cterm01, "", "italic", "") +call hi("ThemeBg2Italic", s:gui02, "", s:cterm02, "", "italic", "") +call hi("ThemeBg3Italic", s:gui03, "", s:cterm03, "", "italic", "") +call hi("ThemeFg3Italic", s:gui04, "", s:cterm04, "", "italic", "") +call hi("ThemeFg2Italic", s:gui05, "", s:cterm05, "", "italic", "") +call hi("ThemeFg1Italic", s:gui06, "", s:cterm06, "", "italic", "") +call hi("ThemeFg0Italic", s:gui07, "", s:cterm07, "", "italic", "") + +call hi("ThemeRed", s:gui08, "", s:cterm08, "", "", "") +call hi("ThemeOrange", s:gui09, "", s:cterm09, "", "", "") +call hi("ThemeYellow", s:gui0A, "", s:cterm0A, "", "", "") +call hi("ThemeGreen", s:gui0B, "", s:cterm0B, "", "", "") +call hi("ThemeCyan", s:gui0C, "", s:cterm0C, "", "", "") +call hi("ThemeBlue", s:gui0D, "", s:cterm0D, "", "", "") +call hi("ThemeViolet", s:gui0E, "", s:cterm0E, "", "", "") +call hi("ThemeMagenta", s:gui0F, "", s:cterm0F, "", "", "") + +call hi("ThemeRedNone", s:gui08, "", s:cterm08, "", "NONE", "") +call hi("ThemeOrangeNone", s:gui09, "", s:cterm09, "", "NONE", "") +call hi("ThemeYellowNone", s:gui0A, "", s:cterm0A, "", "NONE", "") +call hi("ThemeGreenNone", s:gui0B, "", s:cterm0B, "", "NONE", "") +call hi("ThemeCyanNone", s:gui0C, "", s:cterm0C, "", "NONE", "") +call hi("ThemeBlueNone", s:gui0D, "", s:cterm0D, "", "NONE", "") +call hi("ThemeVioletNone", s:gui0E, "", s:cterm0E, "", "NONE", "") +call hi("ThemeMagentaNone", s:gui0F, "", s:cterm0F, "", "NONE", "") + +call hi("ThemeRedBold", s:gui08, "", s:cterm08, "", "bold", "") +call hi("ThemeOrangeBold", s:gui09, "", s:cterm09, "", "bold", "") +call hi("ThemeYellowBold", s:gui0A, "", s:cterm0A, "", "bold", "") +call hi("ThemeGreenBold", s:gui0B, "", s:cterm0B, "", "bold", "") +call hi("ThemeCyanBold", s:gui0C, "", s:cterm0C, "", "bold", "") +call hi("ThemeBlueBold", s:gui0D, "", s:cterm0D, "", "bold", "") +call hi("ThemeVioletBold", s:gui0E, "", s:cterm0E, "", "bold", "") +call hi("ThemeMagentaBold", s:gui0F, "", s:cterm0F, "", "bold", "") + +call hi("ThemeRedItalic", s:gui08, "", s:cterm08, "", "italic", "") +call hi("ThemeOrangeItalic", s:gui09, "", s:cterm09, "", "italic", "") +call hi("ThemeYellowItalic", s:gui0A, "", s:cterm0A, "", "italic", "") +call hi("ThemeGreenItalic", s:gui0B, "", s:cterm0B, "", "italic", "") +call hi("ThemeCyanItalic", s:gui0C, "", s:cterm0C, "", "italic", "") +call hi("ThemeBlueItalic", s:gui0D, "", s:cterm0D, "", "italic", "") +call hi("ThemeVioletItalic", s:gui0E, "", s:cterm0E, "", "italic", "") +call hi("ThemeMagentaItalic", s:gui0F, "", s:cterm0F, "", "italic", "") + +call hi("ThemeRedBoldItalic", s:gui08, "", s:cterm08, "", "bold,italic", "") +call hi("ThemeOrangeBoldItalic", s:gui09, "", s:cterm09, "", "bold,italic", "") +call hi("ThemeYellowBoldItalic", s:gui0A, "", s:cterm0A, "", "bold,italic", "") +call hi("ThemeGreenBoldItalic", s:gui0B, "", s:cterm0B, "", "bold,italic", "") +call hi("ThemeCyanBoldItalic", s:gui0C, "", s:cterm0C, "", "bold,italic", "") +call hi("ThemeBlueBoldItalic", s:gui0D, "", s:cterm0D, "", "bold,italic", "") +call hi("ThemeVioletBoldItalic", s:gui0E, "", s:cterm0E, "", "bold,italic", "") +call hi("ThemeMagentaBoldItalic", s:gui0F, "", s:cterm0F, "", "bold,italic", "") + +call hi("ThemeGrey", s:grey, "", s:cterm03, "", "", "") +call hi("ThemeGreyItalic", s:grey, "", s:cterm03, "", "italic", "") + + +" Vim editor colors +call hi("Bold", "", "", "", "", "bold", "") +call hi("Italic", "", "", "", "", "italic", "") +call hi("BoldItalic", "", "", "", "", "italic,bold", "") + +call hi("Normal", s:gui05, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Error", s:guibg, s:gui08, s:ctermbg, s:cterm08, "", "") +call hi("ErrorMsg", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call hi("FoldColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("Folded", s:gui03, s:gui01, s:cterm02, s:ctermbg, "", "") +call hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call hi("Macro", s:gui0C, "", s:cterm0C, "", "", "") +call hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call hi("Underlined", "", "", "", "", "underline", "fg") +call hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call hi("WildMenu", s:guibg, s:gui06, s:ctermbg, s:cterm05, "", "") +call hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") + +"call hi("Conceal", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +hi! link Conceal ThemeBlue + +call hi("Cursor", s:gui05, s:guibg, "", "", "inverse", "") +call hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call hi("Whitespace", s:gui03, "", s:cterm03, "", "", "") +call hi("LineNr", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("SignColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("StatusLine", s:gui07, s:gui01, s:cterm07, s:cterm01, "none", "") +call hi("StatusLineNC", s:gui06, s:gui01, s:cterm05, s:cterm01, "none", "") +call hi("VertSplit", s:gui01, s:guibg, s:cterm01, s:ctermbg, "none", "") +call hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLineNr", s:gui04, s:gui00, s:cterm04, s:cterm01, "", "") +call hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "") +call hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "") +call hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "") +call hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "") +call hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax +call hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call hi("Identifier", s:gui06, "", s:cterm05, "", "none", "") +call hi("Keyword", s:gui0D, "", s:cterm0E, "", "none", "") +call hi("Todo", s:gui08, s:guibg, s:cterm08, s:ctermbg, "italic", "") + +hi! link Boolean ThemeOrange +hi! link Character ThemeRed +hi! link Comment ThemeGreyItalic +hi! link Conditional ThemeRed +hi! link Constant ThemeOrange +hi! link Delimiter ThemeFg1 +hi! link Float ThemeOrange +hi! link Function ThemeBlue +hi! link Include ThemeBlue +hi! link Constant ThemeOrange +hi! link Label ThemeOrange +hi! link Number ThemeOrange +hi! link Operator ThemeYellow +hi! link PreProc ThemeOrange +hi! link Repeat ThemeViolet +hi! link Special ThemeYellow +hi! link SpecialChar ThemeMagenta +hi! link Statement ThemeRed +hi! link StorageClass ThemeOrange +hi! link String ThemeGreen +hi! link Structure ThemeOrange +hi! link Tag ThemeOrange +hi! link Type ThemeYellow +hi! link Typedef ThemeOrange + + +" Treesitter +if has("nvim-0.8.0") + hi! link @field ThemeRed + hi! link @property ThemeRed + hi! link @namespace ThemeFg1Italic + hi! link @variable.builtin ThemeFg1Italic + hi! link @variable ThemeFg2 + hi! link @conceal ThemeBlue + + hi! link @text.uri ThemeRedItalic + hi! link @text.reference ThemeRed + + hi! link @annotation ThemeViolet + hi! link @attribute ThemeBlue + + hi! link @boolean ThemeOrange + hi! link @character ThemeRed + hi! link @character.special ThemeMagenta + hi! link @comment Comment + + hi! link @constant ThemeBlue + hi! link @constant.builtin ThemeBlue + + hi! link @constant.macro ThemeRed + + hi! link @keyword.directive.define ThemeViolet + hi! link @keyword.exception ThemeRed + + hi! link @comment.error ThemeRed + hi! link @number.float ThemeRed + hi! link @keyword.function ThemeRed + + hi! link @function ThemeBlue + hi! link @function.builtin ThemeBlue + hi! link @function.call ThemeBlue + hi! link @function.macro ThemeRed + hi! link @function.method ThemeBlue + hi! link @function.method.call ThemeBlue + + hi! link @keyword.debug ThemeRed + hi! link @keyword.conditional ThemeRed + hi! link @keyword.import ThemeViolet + hi! link @keyword.coroutine ThemeViolet + hi! link @keyword.operator ThemeYellow + hi! link @keyword.directive ThemeViolet + hi! link @keyword.repeat ThemeViolet + hi! link @keyword.storage ThemeViolet + hi! link @keyword.return ThemeRed + + hi! link @constructor ThemeBlue + hi! link @namespace.builtin ThemeViolet + + hi! link @none ThemeFg1 + hi! link @number ThemeOrange + hi! link @string ThemeGreen + + hi! link @tag ThemeRed + hi! link @tag.delimiter ThemeViolet + hi! link @tag.attribute ThemeYellow + + " affects markdown + hi! link @markup ThemeYellow + + hi! link @markup.raw ThemeGreen + hi! link @markup.raw.block.lang ThemeFg2Bold + hi! link @markup.raw.block.marker ThemeRed + "call hi("@markup.raw.block.lang", s:gui08, "#1e0000", "", s:ctermbg, "", "") + + hi! link @markup.list ThemeBlue + hi! link @markup.quote ThemeGrey + + hi! link @markup.link ThemeYellow " borders + hi! link @markup.link.text ThemeBlue + hi! link @markup.link.label ThemeYellow + hi! link @markup.link.url ThemeYellow + hi! link @markup.link.dest ThemeFg3 + + hi! link @markup.link.wiki ThemeYellow + hi! link @markup.link.wiki.text ThemeBlue + hi! link @markup.link.wiki.label ThemeYellow + + "hi! link @markup.link.label.symbol ThemeGreen + + "hi! link markdownWikiLink ThemeViolet + " + hi! link @markup.environment ThemeYellow + hi! link @markup.environment.name ThemeYellow + hi! link @markup.math ThemeYellow + hi! link @punctuation.delimiter.latex ThemeOrange + + hi! link @markup.strong Bold + hi! link @markup.emphasis Bold + hi! link @markup.strikethrough ThemeYellow + hi! link @markup.underline ThemeYellow + + hi! link @comment.info ThemeBlue + hi! link @comment.todo ThemeYellow + hi! link @comment.note ThemeBg3 + hi! link @comment.hint ThemeGreen + hi! link @comment.warning ThemeOrange + + hi! link @type ThemeYellow + hi! link @type.builtin ThemeOrange + hi! link @type.definition ThemeViolet + hi! link @type.qualifier ThemeViolet + + " Markdown + " hi! link @spell.markdown ThemeFg3 + + "call hi("@markup.heading.marker", s:gui08, "", "", s:ctermbg, "bold", "") + "hi! link @markup.heading ThemeRed + hi! link @markup.heading.marker ThemeOrange + hi! link @markup.heading.title ThemeRed "Italic + + " set this for a strong background + "call hi("@markup.heading.title", s:gui08, "#440503", "", s:ctermbg, "italic", "") + + hi! link @markup.heading.title.1 Bold + hi! link @markup.heading.title.3 Italic + "hi! link @markup.heading.4.title Italic + + " YAML + hi! link @string.yaml ThemeBlue + hi! link @punctuation.delimiter.yaml ThemeGreen + hi! link @property.yaml ThemeFg2 + + " Diff + hi! link @diff.minus ThemeRed + hi! link @diff.plus ThemeGreen + + call hi("TreesitterContext", "", s:gui00, "", "", "", "") + "hi TreesitterContextLineNumberBottom gui=underline guisp=Gray + "call hi("TreesitterContextBottom", "", "", "", "", "underline", s:gui02) + call hi("TreesitterContextSeparator", s:gui03, "", "", "", "", "") + "call hi("TreesitterContextLineNumberBottom", "", "", "", "", "underline", s:gui02) +endif + +" Standard highlights to be used by plugins +if has("patch-8.0.1038") + call hi("Deprecated", "", "", "", "", "strikethrough", "") +endif +call hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "") + +call hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "") +call hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "") +call hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "") +call hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "") + +call hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningSign", s:gui09, "", s:cterm09, "", "", "") +call hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "") +call hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "") +call hi("OkSign", s:gui0B, "", s:cterm0B, "", "", "") + +call hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "") +call hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call hi("OkFloat", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("NormalFloat", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "") + +call hi("ErrorHighlight", "", "", s:ctermbg, s:cterm08, "underline", s:gui08) +call hi("WarningHighlight", "", "", s:ctermbg, s:cterm09, "underline", s:gui09) +call hi("InfoHighlight", "", "", s:ctermbg, s:cterm0D, "underline", s:gui0D) +call hi("HintHighlight", "", "", s:ctermbg, s:cterm0C, "underline", s:gui0C) +call hi("OkHighlight", "", "", s:ctermbg, s:cterm0B, "underline", s:gui0B) + +call hi("SpellBad", "", "", s:ctermbg, s:cterm08, "undercurl", s:gui08) +call hi("SpellLocal", "", "", s:ctermbg, s:cterm0C, "undercurl", s:gui0C) +call hi("SpellCap", "", "", s:ctermbg, s:cterm0D, "undercurl", s:gui0D) +call hi("SpellRare", "", "", s:ctermbg, s:cterm0E, "undercurl", s:gui0E) + +call hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "") + +" LSP +if has("nvim") + hi! link DiagnosticError ErrorSign + hi! link DiagnosticWarn WarningSign + hi! link DiagnosticInfo InfoSign + hi! link DiagnosticHint HintSign + hi! link DiagnosticOk OkSign + + hi! link DiagnosticFloatingError ErrorFloat + hi! link DiagnosticFloatingWarn WarningFloat + hi! link DiagnosticFloatingInfo InfoFloat + hi! link DiagnosticFloatingHint HintFloat + hi! link DiagnosticFloatingOk OkFloat + + hi! link DiagnosticUnderlineError ErrorHighlight + hi! link DiagnosticUnderlineWarn WarningHighlight + hi! link DiagnosticUnderlineInfo InfoHighlight + hi! link DiagnosticUnderlineHint HintHighlight + hi! link DiagnosticUnderlineOk OkHighlight + + hi! link DiagnosticsVirtualTextError ErrorSign + hi! link DiagnosticsVirtualTextWarning WarningSign + hi! link DiagnosticsVirtualTextInfo InfoSign + hi! link DiagnosticsVirtualTextHint HintSign + hi! link DiagnosticsVirtualTextOk OkSign + + " Remove untill endif on next nvim release + hi! link LspDiagnosticsSignError ErrorSign + hi! link LspDiagnosticsSignWarning WarningSign + hi! link LspDiagnosticsSignInfo InfoSign + hi! link LspDiagnosticsSignHint HintSign + + hi! link LspDiagnosticsVirtualTextError ErrorSign + hi! link LspDiagnosticsVirtualTextWarning WarningSign + hi! link LspDiagnosticsVirtualTextInfo InfoSign + hi! link LspDiagnosticsVirtualTextHint HintSign + + hi! link LspDiagnosticsFloatingError ErrorFloat + hi! link LspDiagnosticsFloatingWarning WarningFloat + hi! link LspDiagnosticsFloatingInfo InfoFloat + hi! link LspDiagnosticsFloatingHint HintFloat + + hi! link LspDiagnosticsUnderlineError ErrorHighlight + hi! link LspDiagnosticsUnderlineWarning WarningHighlight + hi! link LspDiagnosticsUnderlineInfo InfoHighlight + hi! link LspDiagnosticsUnderlineHint HintHighlight + + hi! link LspReferenceText ReferenceText + hi! link LspReferenceRead ReferenceRead + hi! link LspReferenceWrite ReferenceWrite +endif + +" " +" LANGUAGES +" " + +" C +call hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# +call hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csType", s:gui08, "", s:cterm08, "", "", "") +call hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" Clap +hi! link ClapInput ColorColumn +hi! link ClapSpinner ColorColumn +hi! link ClapDisplay Default +hi! link ClapPreview ColorColumn +hi! link ClapCurrentSelection CursorLine +hi! link ClapNoMatchesFound ErrorFloat + +" Coc +hi! link CocErrorSign ErrorSign +hi! link CocWarningSign WarningSign +hi! link CocInfoSign InfoSign +hi! link CocHintSign HintSign + +hi! link CocErrorFloat ErrorFloat +hi! link CocWarningFloat WarningFloat +hi! link CocInfoFloat InfoFloat +hi! link CocHintFloat HintFloat + +hi! link CocErrorHighlight ErrorHighlight +hi! link CocWarningHighlight WarningHighlight +hi! link CocInfoHighlight InfoHighlight +hi! link CocHintHighlight HintHighlight + +hi! link CocSem_angle Keyword +hi! link CocSem_annotation Keyword +hi! link CocSem_attribute Type +hi! link CocSem_bitwise Keyword +hi! link CocSem_boolean Boolean +hi! link CocSem_brace Normal +hi! link CocSem_bracket Normal +hi! link CocSem_builtinAttribute Type +hi! link CocSem_builtinType Type +hi! link CocSem_character String +hi! link CocSem_class Structure +hi! link CocSem_colon Normal +hi! link CocSem_comma Normal +hi! link CocSem_comment Comment +hi! link CocSem_comparison Keyword +hi! link CocSem_concept Keyword +hi! link CocSem_constParameter Identifier +hi! link CocSem_dependent Keyword +hi! link CocSem_dot Keyword +hi! link CocSem_enum Structure +hi! link CocSem_enumMember Constant +hi! link CocSem_escapeSequence Type +hi! link CocSem_event Identifier +hi! link CocSem_formatSpecifier Type +hi! link CocSem_function Function +hi! link CocSem_interface Type +hi! link CocSem_keyword Keyword +hi! link CocSem_label Keyword +hi! link CocSem_logical Keyword +hi! link CocSem_macro Macro +hi! link CocSem_method Function +hi! link CocSem_modifier Keyword +hi! link CocSem_namespace Identifier +hi! link CocSem_number Number +hi! link CocSem_operator Operator +hi! link CocSem_parameter Identifier +hi! link CocSem_parenthesis Normal +hi! link CocSem_property Identifier +hi! link CocSem_punctuation Keyword +hi! link CocSem_regexp Type +hi! link CocSem_selfKeyword Constant +hi! link CocSem_semicolon Normal +hi! link CocSem_string String +hi! link CocSem_struct Structure +hi! link CocSem_type Type +hi! link CocSem_typeAlias Type +hi! link CocSem_typeParameter Type +hi! link CocSem_unknown Normal +hi! link CocSem_variable Identifier + +call hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "") +call hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("CocSessionsName", s:gui06, "", s:cterm05, "", "", "") + +" CSS +hi! link cssBraces ThemeBlue +hi! link cssFunctionName ThemeYellow +hi! link cssIdentifier ThemeOrange +hi! link cssClassName ThemeGreen +hi! link cssColor ThemeBlue +hi! link cssSelectorOp ThemeBlue +hi! link cssSelectorOp2 ThemeBlue +hi! link cssImportant ThemeGreen +hi! link cssVendor ThemeFg1 + +hi! link cssTextProp ThemeCyan +hi! link cssAnimationProp ThemeCyan +hi! link cssUIProp ThemeYellow +hi! link cssTransformProp ThemeCyan +hi! link cssTransitionProp ThemeCyan +hi! link cssPrintProp ThemeCyan +hi! link cssPositioningProp ThemeYellow +hi! link cssBoxProp ThemeCyan +hi! link cssFontDescriptorProp ThemeCyan +hi! link cssFlexibleBoxProp ThemeCyan +hi! link cssBorderOutlineProp ThemeCyan +hi! link cssBackgroundProp ThemeCyan +hi! link cssMarginProp ThemeCyan +hi! link cssListProp ThemeCyan +hi! link cssTableProp ThemeCyan +hi! link cssFontProp ThemeCyan +hi! link cssPaddingProp ThemeCyan +hi! link cssDimensionProp ThemeCyan +hi! link cssRenderProp ThemeCyan +hi! link cssColorProp ThemeCyan +hi! link cssGeneratedContentProp ThemeCyan + + +" CMP +hi! link CmpItemAbbrDeprecated Deprecated +hi! link CmpItemAbbrMatch SearchMatch +hi! link CmpItemAbbrMatchFuzzy SearchMatch +hi! link CmpItemKindClass Type +hi! link CmpItemKindColor Keyword +hi! link CmpItemKindConstant Constant +hi! link CmpItemKindConstructor Special +hi! link CmpItemKindEnum Type +hi! link CmpItemKindEnumMember Constant +hi! link CmpItemKindEvent Identifier +hi! link CmpItemKindField Character +hi! link CmpItemKindFile Directory +hi! link CmpItemKindFolder Directory +hi! link CmpItemKindFunction Function +hi! link CmpItemKindInterface Type +hi! link CmpItemKindKeyword Keyword +hi! link CmpItemKindMethod Function +hi! link CmpItemKindModule Namespace +hi! link CmpItemKindOperator Operator +hi! link CmpItemKindProperty Identifier +hi! link CmpItemKindReference Character +hi! link CmpItemKindSnippet String +hi! link CmpItemKindStruct Type +hi! link CmpItemKindText Text +hi! link CmpItemKindUnit Namespace +hi! link CmpItemKindValue Comment +hi! link CmpItemKindVariable Identifier + +if has("nvim-0.8.0") + hi! link CmpItemKindField @field + hi! link CmpItemKindProperty @property +endif + +" Diff +call hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("DiffChange", s:gui06, s:gui01, s:cterm05, s:cterm01, "", "") +call hi("DiffDelete", s:gui02, s:guibg, s:cterm02, s:ctermbg, "", "") +call hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("DiffAdded", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffFile", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("DiffNewFile", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffLine", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +call hi("DiffRemoved", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") + +" Git +call hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter +hi! link GitGutterAdd GitAddSign +hi! link GitGutterChange GitChangeSign +hi! link GitGutterDelete GitDeleteSign +hi! link GitGutterChangeDelete GitChangeDeleteSign + +" indent-blankline (nvim) +if has("nvim") + call hi("@ibl.indent.char.1",s:gui01, "", s:cterm01, "", "", "") +endif + +" HTML +call hi("htmlBold", s:gui07, "", s:cterm0A, "", "bold", "") +call hi("htmlItalic", s:gui06, "", s:cterm0E, "", "italic", "") +call hi("htmlEndTag", s:gui06, "", s:cterm05, "", "", "") +call hi("htmlTag", s:gui06, "", s:cterm05, "", "", "") + +" JavaScript +call hi("javaScript", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptBraces", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript +call hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail +call hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown +call hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownError", s:gui06, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" Matchup +call hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "") + +" NERDTree +call hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call hi("NERDTreeExecFile", s:gui06, "", s:cterm05, "", "", "") + +" Netrw +hi! link netrwDir ThemeCyan +hi! link netrwClassify ThemeCyan +hi! link netrwLink ThemeBg3 +hi! link netrwSymLink ThemeFg1 +hi! link netrwExe ThemeYellow +hi! link netrwComment ThemeBg3 +hi! link netrwList ThemeBlue +hi! link netrwHelpCmd ThemeCyan +hi! link netrwCmdSep ThemeFg3 +hi! link netrwVersion ThemeGreen + +" PHP +call hi("phpMemberSelector", s:gui06, "", s:cterm05, "", "", "") +call hi("phpComparison", s:gui06, "", s:cterm05, "", "", "") +call hi("phpParent", s:gui06, "", s:cterm05, "", "", "") +call hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python +"call hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" hi! link pythonBuiltin ThemeCyan +" hi! link pythonBuiltinObj ThemeCyan +" hi! link pythonBuiltinFunc ThemeGreen +" hi! link pythonFunction Function +" hi! link pythonDecorator ThemeYellow +" hi! link pythonDecoratorName ThemeYellow +" hi! link pythonTripleQuotes ThemeGreenItalic +" hi! link pythonInclude ThemeBlue +" hi! link pythonImport ThemeBlue +" hi! link pythonRun ThemeBlue +" hi! link pythonCoding ThemeBlue +" hi! link pythonOperator ThemeRed +" hi! link pythonException ThemeRed +" hi! link pythonExceptions ThemeYellow +" hi! link pythonBoolean ThemeYellow +" hi! link pythonDot ThemeFg3 +" hi! link pythonConditional ThemeCyan +" hi! link pythonRepeat ThemeRed +" hi! link pythonDottedName ThemeGreen + + +" Ruby +call hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS +call hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify +hi! link SignifySignAdd GitAddSign +hi! link SignifySignChange GitChangeSign +hi! link SignifySignDelete GitDeleteSign + +" Startify +call hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Java +call hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" JSON +hi! link jsonKeyword ThemeGreen +hi! link jsonQuote ThemeGreen +hi! link jsonBraces ThemeFg1 +hi! link jsonString ThemeFg1 + +" Markdown +hi! link markdownH1 ThemeRedBold +hi! link markdownH2 ThemeRed +hi! link markdownH3 ThemeRed +hi! link markdownH4 ThemeRed +hi! link markdownH5 ThemeRed +hi! link markdownH6 ThemeRed + +hi! link markdownCode ThemeYellow +hi! link markdownCodeBlock ThemeYellow +hi! link markdownCodeDelimiter ThemeYellow + +hi! link markdownBlockquote ThemeGrey +hi! link markdownListMarker ThemeBlue +hi! link markdownOrderedListMarker ThemeBlue +hi! link markdownRule ThemeGrey +hi! link markdownHeadingRule ThemeGrey + +hi! link markdownUrlDelimiter ThemeFg3 +hi! link markdownLinkDelimiter ThemeFg3 +hi! link markdownLinkTextDelimiter ThemeFg3 +hi! link markdownHeadingDelimiter ThemeOrange +hi! link markdownUrlTitleDelimiter ThemeGreen + +hi! link markdownLink ThemeGreen +hi! link markdownWikiLink ThemeViolet +"hi! link markdownUrl ThemeOrange +hi! link markdownUrl ThemeRed +hi! link markdownUrlProtocol ThemeGreenItalic +hi! link markdownInlineUrl ThemeOrange + +hi! link markdownLinkText ThemeViolet +hi! link markdownIdDeclaration markdownLinkText + +hi! link pandocAtxHeader ThemeRed +hi! link pandocAtxStart ThemeOrange + + +"call s:HL('markdownItalic', s:fg3, s:none, s:italic) +"call s:HL('markdownLinkText', s:gray, s:none, s:underline) + + +" Remove functions +delf hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F s:guibg +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F s:ctermbg + diff --git a/app-config/nvim/soft-badlands-monobiome-dark.theme.vim b/app-config/nvim/soft-badlands-monobiome-dark.theme.vim new file mode 100644 index 0000000..d9b0a0d --- /dev/null +++ b/app-config/nvim/soft-badlands-monobiome-dark.theme.vim @@ -0,0 +1,995 @@ +" vi:syntax=vim +" +" Top-level remarks: +" +" - `hi` sets highlight colors for syntax groups, allowing one to specify fg and bg colors +" for GUI and terminal Vim. +" - `link` allows for linking one syntax group to another, reusing the same color +" settings. Language-specific groups can then point to one of the base color highlight +" groups, for example, without needing to repeat the raw color values. +" +" There are several kinds of syntax identifiers: +" +" - Vim/editor related (e.g., Normal, Folded): these control colors of central Vim +" elements, like whitespace, bold text, the foldcolumn, etc +" - Generic syntax identifiers (e.g., Boolean, Conditional): these are key groups for +" syntax elements that various language syntax files link to. For instance, Python +" syntax files might have specific patterns that match function keywords like "def," and +" the resulting syntax region can be highlighted by linking it to the core "Function" +" highlight identifier. +" - Treesitter-based identifiers (e.g., @variable, @boolean): highlight groups for +" treesitter-based syntax highlighting, which can replace regex-based matching when +" enabled for richer (and often faster) highlighting. These groups can be linked to the +" core identifiers like any other language. +" +" *Note*: each of these identifiers can add a lang-specific suffix to style those groups +" as they apply to particular languages. For ex, `@boolean.python ThemeRed` would style +" Python booleans red, while the lang-agnostic `@boolean` definition remains. +" - Plugin-oriented identifiers (e.g., SpellBad, ErrorFloat): these are groups mostly core +" to vim/nvim, but often appear only in the context of plugins or certain modules (like +" LSP). For instance, ErrorFloat styles floating windows that might be drawn by nvim's +" built-in LSP hover info. + +" GUI color definitions +let s:gui00 = "#332c2b" +let g:base16_gui00 = "#332c2b" +let s:gui01 = "#403837" +let g:base16_gui01 = "#403837" +let s:gui02 = "#4d4644" +let g:base16_gui02 = "#4d4644" +let s:gui03 = "#5b5352" +let g:base16_gui03 = "#5b5352" +let s:gui04 = "#c5bbba" +let g:base16_gui04 = "#c5bbba" +let s:gui05 = "#d5cbca" +let g:base16_gui05 = "#d5cbca" +let s:gui06 = "#e5dbda" +let g:base16_gui06 = "#e5dbda" +let s:gui07 = "#f6ecea" +let g:base16_gui07 = "#f6ecea" +let s:gui08 = "#f37060" +let g:base16_gui08 = "#f37060" +let s:gui09 = "#d98937" +let g:base16_gui09 = "#d98937" +let s:gui0A = "#a7a15f" +let g:base16_gui0A = "#a7a15f" +let s:gui0B = "#6eb178" +let g:base16_gui0B = "#6eb178" +let s:gui0C = "#6eb178" +let g:base16_gui0C = "#6eb178" +let s:gui0D = "#799ee3" +let g:base16_gui0D = "#799ee3" +let s:gui0E = "#799ee3" +let g:base16_gui0E = "#799ee3" +let s:gui0F = "#f37060" +let g:base16_gui0F = "#f37060" + +let s:grey = "#877e7c" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" + +let s:cterm01 = "10" +let g:base16_cterm01 = "10" +let s:cterm02 = "11" +let g:base16_cterm02 = "11" +let s:cterm04 = "12" +let g:base16_cterm04 = "12" +let s:cterm06 = "13" +let g:base16_cterm06 = "13" +let s:cterm09 = "09" +let g:base16_cterm09 = "09" +let s:cterm0F = "14" +let g:base16_cterm0F = "14" + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#332c2b" + let g:terminal_color_1 = "#f37060" + let g:terminal_color_2 = "#6eb178" + let g:terminal_color_3 = "#a7a15f" + let g:terminal_color_4 = "#799ee3" + let g:terminal_color_5 = "#799ee3" + let g:terminal_color_6 = "#6eb178" + let g:terminal_color_7 = "#d5cbca" + let g:terminal_color_8 = "#5b5352" + let g:terminal_color_9 = "#f37060" + let g:terminal_color_10 = "#6eb178" + let g:terminal_color_11 = "#a7a15f" + let g:terminal_color_12 = "#799ee3" + let g:terminal_color_13 = "#799ee3" + let g:terminal_color_14 = "#6eb178" + let g:terminal_color_15 = "#f6ecea" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif + +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#332c2b", + \ "#f37060", + \ "#6eb178", + \ "#a7a15f", + \ "#799ee3", + \ "#799ee3", + \ "#6eb178", + \ "#d5cbca", + \ "#5b5352", + \ "#f37060", + \ "#6eb178", + \ "#a7a15f", + \ "#799ee3", + \ "#799ee3", + \ "#6eb178", + \ "#f6ecea", + \ ] +endif + +let s:guibg = s:gui00 +let s:ctermbg = s:cterm00 + +" Theme setup +hi clear +syntax reset +let g:colors_name = "active" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + " For a given syntax group, sets the GUI and terminal foreground and backgrounds + " Optional parameters are interpreted as `attr` and `guisp`, the first of which appears + " to be a modifier for the group (e.g., bold, italic), and `guisp` appears to be + " 'special' colors used for underlines in the GUI. + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=" . a:guifg + endif + endif + + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=" . a:guibg + endif + endif + + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=" . l:guisp + endif + endif +endfunction + + +fun hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + + +" color groups for interpretability +call hi("ThemeBg0", s:gui00, "", s:cterm00, "", "", "") +call hi("ThemeBg1", s:gui01, "", s:cterm01, "", "", "") +call hi("ThemeBg2", s:gui02, "", s:cterm02, "", "", "") +call hi("ThemeBg3", s:gui03, "", s:cterm03, "", "", "") +call hi("ThemeFg3", s:gui04, "", s:cterm04, "", "", "") +call hi("ThemeFg2", s:gui05, "", s:cterm05, "", "", "") +call hi("ThemeFg1", s:gui06, "", s:cterm06, "", "", "") +call hi("ThemeFg0", s:gui07, "", s:cterm07, "", "", "") + +call hi("ThemeBg0bold", s:gui00, "", s:cterm00, "", "bold", "") +call hi("ThemeBg1bold", s:gui01, "", s:cterm01, "", "bold", "") +call hi("ThemeBg2bold", s:gui02, "", s:cterm02, "", "bold", "") +call hi("ThemeBg3bold", s:gui03, "", s:cterm03, "", "bold", "") +call hi("ThemeFg3bold", s:gui04, "", s:cterm04, "", "bold", "") +call hi("ThemeFg2bold", s:gui05, "", s:cterm05, "", "bold", "") +call hi("ThemeFg1bold", s:gui06, "", s:cterm06, "", "bold", "") +call hi("ThemeFg0bold", s:gui07, "", s:cterm07, "", "bold", "") + +call hi("ThemeBg0Italic", s:gui00, "", s:cterm00, "", "italic", "") +call hi("ThemeBg1Italic", s:gui01, "", s:cterm01, "", "italic", "") +call hi("ThemeBg2Italic", s:gui02, "", s:cterm02, "", "italic", "") +call hi("ThemeBg3Italic", s:gui03, "", s:cterm03, "", "italic", "") +call hi("ThemeFg3Italic", s:gui04, "", s:cterm04, "", "italic", "") +call hi("ThemeFg2Italic", s:gui05, "", s:cterm05, "", "italic", "") +call hi("ThemeFg1Italic", s:gui06, "", s:cterm06, "", "italic", "") +call hi("ThemeFg0Italic", s:gui07, "", s:cterm07, "", "italic", "") + +call hi("ThemeRed", s:gui08, "", s:cterm08, "", "", "") +call hi("ThemeOrange", s:gui09, "", s:cterm09, "", "", "") +call hi("ThemeYellow", s:gui0A, "", s:cterm0A, "", "", "") +call hi("ThemeGreen", s:gui0B, "", s:cterm0B, "", "", "") +call hi("ThemeCyan", s:gui0C, "", s:cterm0C, "", "", "") +call hi("ThemeBlue", s:gui0D, "", s:cterm0D, "", "", "") +call hi("ThemeViolet", s:gui0E, "", s:cterm0E, "", "", "") +call hi("ThemeMagenta", s:gui0F, "", s:cterm0F, "", "", "") + +call hi("ThemeRedNone", s:gui08, "", s:cterm08, "", "NONE", "") +call hi("ThemeOrangeNone", s:gui09, "", s:cterm09, "", "NONE", "") +call hi("ThemeYellowNone", s:gui0A, "", s:cterm0A, "", "NONE", "") +call hi("ThemeGreenNone", s:gui0B, "", s:cterm0B, "", "NONE", "") +call hi("ThemeCyanNone", s:gui0C, "", s:cterm0C, "", "NONE", "") +call hi("ThemeBlueNone", s:gui0D, "", s:cterm0D, "", "NONE", "") +call hi("ThemeVioletNone", s:gui0E, "", s:cterm0E, "", "NONE", "") +call hi("ThemeMagentaNone", s:gui0F, "", s:cterm0F, "", "NONE", "") + +call hi("ThemeRedBold", s:gui08, "", s:cterm08, "", "bold", "") +call hi("ThemeOrangeBold", s:gui09, "", s:cterm09, "", "bold", "") +call hi("ThemeYellowBold", s:gui0A, "", s:cterm0A, "", "bold", "") +call hi("ThemeGreenBold", s:gui0B, "", s:cterm0B, "", "bold", "") +call hi("ThemeCyanBold", s:gui0C, "", s:cterm0C, "", "bold", "") +call hi("ThemeBlueBold", s:gui0D, "", s:cterm0D, "", "bold", "") +call hi("ThemeVioletBold", s:gui0E, "", s:cterm0E, "", "bold", "") +call hi("ThemeMagentaBold", s:gui0F, "", s:cterm0F, "", "bold", "") + +call hi("ThemeRedItalic", s:gui08, "", s:cterm08, "", "italic", "") +call hi("ThemeOrangeItalic", s:gui09, "", s:cterm09, "", "italic", "") +call hi("ThemeYellowItalic", s:gui0A, "", s:cterm0A, "", "italic", "") +call hi("ThemeGreenItalic", s:gui0B, "", s:cterm0B, "", "italic", "") +call hi("ThemeCyanItalic", s:gui0C, "", s:cterm0C, "", "italic", "") +call hi("ThemeBlueItalic", s:gui0D, "", s:cterm0D, "", "italic", "") +call hi("ThemeVioletItalic", s:gui0E, "", s:cterm0E, "", "italic", "") +call hi("ThemeMagentaItalic", s:gui0F, "", s:cterm0F, "", "italic", "") + +call hi("ThemeRedBoldItalic", s:gui08, "", s:cterm08, "", "bold,italic", "") +call hi("ThemeOrangeBoldItalic", s:gui09, "", s:cterm09, "", "bold,italic", "") +call hi("ThemeYellowBoldItalic", s:gui0A, "", s:cterm0A, "", "bold,italic", "") +call hi("ThemeGreenBoldItalic", s:gui0B, "", s:cterm0B, "", "bold,italic", "") +call hi("ThemeCyanBoldItalic", s:gui0C, "", s:cterm0C, "", "bold,italic", "") +call hi("ThemeBlueBoldItalic", s:gui0D, "", s:cterm0D, "", "bold,italic", "") +call hi("ThemeVioletBoldItalic", s:gui0E, "", s:cterm0E, "", "bold,italic", "") +call hi("ThemeMagentaBoldItalic", s:gui0F, "", s:cterm0F, "", "bold,italic", "") + +call hi("ThemeGrey", s:grey, "", s:cterm03, "", "", "") +call hi("ThemeGreyItalic", s:grey, "", s:cterm03, "", "italic", "") + + +" Vim editor colors +call hi("Bold", "", "", "", "", "bold", "") +call hi("Italic", "", "", "", "", "italic", "") +call hi("BoldItalic", "", "", "", "", "italic,bold", "") + +call hi("Normal", s:gui05, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Error", s:guibg, s:gui08, s:ctermbg, s:cterm08, "", "") +call hi("ErrorMsg", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call hi("FoldColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("Folded", s:gui03, s:gui01, s:cterm02, s:ctermbg, "", "") +call hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call hi("Macro", s:gui0C, "", s:cterm0C, "", "", "") +call hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call hi("Underlined", "", "", "", "", "underline", "fg") +call hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call hi("WildMenu", s:guibg, s:gui06, s:ctermbg, s:cterm05, "", "") +call hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") + +"call hi("Conceal", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +hi! link Conceal ThemeBlue + +call hi("Cursor", s:gui05, s:guibg, "", "", "inverse", "") +call hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call hi("Whitespace", s:gui03, "", s:cterm03, "", "", "") +call hi("LineNr", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("SignColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("StatusLine", s:gui07, s:gui01, s:cterm07, s:cterm01, "none", "") +call hi("StatusLineNC", s:gui06, s:gui01, s:cterm05, s:cterm01, "none", "") +call hi("VertSplit", s:gui01, s:guibg, s:cterm01, s:ctermbg, "none", "") +call hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLineNr", s:gui04, s:gui00, s:cterm04, s:cterm01, "", "") +call hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "") +call hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "") +call hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "") +call hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "") +call hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax +call hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call hi("Identifier", s:gui06, "", s:cterm05, "", "none", "") +call hi("Keyword", s:gui0D, "", s:cterm0E, "", "none", "") +call hi("Todo", s:gui08, s:guibg, s:cterm08, s:ctermbg, "italic", "") + +hi! link Boolean ThemeOrange +hi! link Character ThemeRed +hi! link Comment ThemeGreyItalic +hi! link Conditional ThemeRed +hi! link Constant ThemeOrange +hi! link Delimiter ThemeFg1 +hi! link Float ThemeOrange +hi! link Function ThemeBlue +hi! link Include ThemeBlue +hi! link Constant ThemeOrange +hi! link Label ThemeOrange +hi! link Number ThemeOrange +hi! link Operator ThemeYellow +hi! link PreProc ThemeOrange +hi! link Repeat ThemeViolet +hi! link Special ThemeYellow +hi! link SpecialChar ThemeMagenta +hi! link Statement ThemeRed +hi! link StorageClass ThemeOrange +hi! link String ThemeGreen +hi! link Structure ThemeOrange +hi! link Tag ThemeOrange +hi! link Type ThemeYellow +hi! link Typedef ThemeOrange + + +" Treesitter +if has("nvim-0.8.0") + hi! link @field ThemeRed + hi! link @property ThemeRed + hi! link @namespace ThemeFg1Italic + hi! link @variable.builtin ThemeFg1Italic + hi! link @variable ThemeFg2 + hi! link @conceal ThemeBlue + + hi! link @text.uri ThemeRedItalic + hi! link @text.reference ThemeRed + + hi! link @annotation ThemeViolet + hi! link @attribute ThemeBlue + + hi! link @boolean ThemeOrange + hi! link @character ThemeRed + hi! link @character.special ThemeMagenta + hi! link @comment Comment + + hi! link @constant ThemeBlue + hi! link @constant.builtin ThemeBlue + + hi! link @constant.macro ThemeRed + + hi! link @keyword.directive.define ThemeViolet + hi! link @keyword.exception ThemeRed + + hi! link @comment.error ThemeRed + hi! link @number.float ThemeRed + hi! link @keyword.function ThemeRed + + hi! link @function ThemeBlue + hi! link @function.builtin ThemeBlue + hi! link @function.call ThemeBlue + hi! link @function.macro ThemeRed + hi! link @function.method ThemeBlue + hi! link @function.method.call ThemeBlue + + hi! link @keyword.debug ThemeRed + hi! link @keyword.conditional ThemeRed + hi! link @keyword.import ThemeViolet + hi! link @keyword.coroutine ThemeViolet + hi! link @keyword.operator ThemeYellow + hi! link @keyword.directive ThemeViolet + hi! link @keyword.repeat ThemeViolet + hi! link @keyword.storage ThemeViolet + hi! link @keyword.return ThemeRed + + hi! link @constructor ThemeBlue + hi! link @namespace.builtin ThemeViolet + + hi! link @none ThemeFg1 + hi! link @number ThemeOrange + hi! link @string ThemeGreen + + hi! link @tag ThemeRed + hi! link @tag.delimiter ThemeViolet + hi! link @tag.attribute ThemeYellow + + " affects markdown + hi! link @markup ThemeYellow + + hi! link @markup.raw ThemeGreen + hi! link @markup.raw.block.lang ThemeFg2Bold + hi! link @markup.raw.block.marker ThemeRed + "call hi("@markup.raw.block.lang", s:gui08, "#1e0000", "", s:ctermbg, "", "") + + hi! link @markup.list ThemeBlue + hi! link @markup.quote ThemeGrey + + hi! link @markup.link ThemeYellow " borders + hi! link @markup.link.text ThemeBlue + hi! link @markup.link.label ThemeYellow + hi! link @markup.link.url ThemeYellow + hi! link @markup.link.dest ThemeFg3 + + hi! link @markup.link.wiki ThemeYellow + hi! link @markup.link.wiki.text ThemeBlue + hi! link @markup.link.wiki.label ThemeYellow + + "hi! link @markup.link.label.symbol ThemeGreen + + "hi! link markdownWikiLink ThemeViolet + " + hi! link @markup.environment ThemeYellow + hi! link @markup.environment.name ThemeYellow + hi! link @markup.math ThemeYellow + hi! link @punctuation.delimiter.latex ThemeOrange + + hi! link @markup.strong Bold + hi! link @markup.emphasis Bold + hi! link @markup.strikethrough ThemeYellow + hi! link @markup.underline ThemeYellow + + hi! link @comment.info ThemeBlue + hi! link @comment.todo ThemeYellow + hi! link @comment.note ThemeBg3 + hi! link @comment.hint ThemeGreen + hi! link @comment.warning ThemeOrange + + hi! link @type ThemeYellow + hi! link @type.builtin ThemeOrange + hi! link @type.definition ThemeViolet + hi! link @type.qualifier ThemeViolet + + " Markdown + " hi! link @spell.markdown ThemeFg3 + + "call hi("@markup.heading.marker", s:gui08, "", "", s:ctermbg, "bold", "") + "hi! link @markup.heading ThemeRed + hi! link @markup.heading.marker ThemeOrange + hi! link @markup.heading.title ThemeRed "Italic + + " set this for a strong background + "call hi("@markup.heading.title", s:gui08, "#440503", "", s:ctermbg, "italic", "") + + hi! link @markup.heading.title.1 Bold + hi! link @markup.heading.title.3 Italic + "hi! link @markup.heading.4.title Italic + + " YAML + hi! link @string.yaml ThemeBlue + hi! link @punctuation.delimiter.yaml ThemeGreen + hi! link @property.yaml ThemeFg2 + + " Diff + hi! link @diff.minus ThemeRed + hi! link @diff.plus ThemeGreen + + call hi("TreesitterContext", "", s:gui00, "", "", "", "") + "hi TreesitterContextLineNumberBottom gui=underline guisp=Gray + "call hi("TreesitterContextBottom", "", "", "", "", "underline", s:gui02) + call hi("TreesitterContextSeparator", s:gui03, "", "", "", "", "") + "call hi("TreesitterContextLineNumberBottom", "", "", "", "", "underline", s:gui02) +endif + +" Standard highlights to be used by plugins +if has("patch-8.0.1038") + call hi("Deprecated", "", "", "", "", "strikethrough", "") +endif +call hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "") + +call hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "") +call hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "") +call hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "") +call hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "") + +call hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningSign", s:gui09, "", s:cterm09, "", "", "") +call hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "") +call hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "") +call hi("OkSign", s:gui0B, "", s:cterm0B, "", "", "") + +call hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "") +call hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call hi("OkFloat", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("NormalFloat", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "") + +call hi("ErrorHighlight", "", "", s:ctermbg, s:cterm08, "underline", s:gui08) +call hi("WarningHighlight", "", "", s:ctermbg, s:cterm09, "underline", s:gui09) +call hi("InfoHighlight", "", "", s:ctermbg, s:cterm0D, "underline", s:gui0D) +call hi("HintHighlight", "", "", s:ctermbg, s:cterm0C, "underline", s:gui0C) +call hi("OkHighlight", "", "", s:ctermbg, s:cterm0B, "underline", s:gui0B) + +call hi("SpellBad", "", "", s:ctermbg, s:cterm08, "undercurl", s:gui08) +call hi("SpellLocal", "", "", s:ctermbg, s:cterm0C, "undercurl", s:gui0C) +call hi("SpellCap", "", "", s:ctermbg, s:cterm0D, "undercurl", s:gui0D) +call hi("SpellRare", "", "", s:ctermbg, s:cterm0E, "undercurl", s:gui0E) + +call hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "") + +" LSP +if has("nvim") + hi! link DiagnosticError ErrorSign + hi! link DiagnosticWarn WarningSign + hi! link DiagnosticInfo InfoSign + hi! link DiagnosticHint HintSign + hi! link DiagnosticOk OkSign + + hi! link DiagnosticFloatingError ErrorFloat + hi! link DiagnosticFloatingWarn WarningFloat + hi! link DiagnosticFloatingInfo InfoFloat + hi! link DiagnosticFloatingHint HintFloat + hi! link DiagnosticFloatingOk OkFloat + + hi! link DiagnosticUnderlineError ErrorHighlight + hi! link DiagnosticUnderlineWarn WarningHighlight + hi! link DiagnosticUnderlineInfo InfoHighlight + hi! link DiagnosticUnderlineHint HintHighlight + hi! link DiagnosticUnderlineOk OkHighlight + + hi! link DiagnosticsVirtualTextError ErrorSign + hi! link DiagnosticsVirtualTextWarning WarningSign + hi! link DiagnosticsVirtualTextInfo InfoSign + hi! link DiagnosticsVirtualTextHint HintSign + hi! link DiagnosticsVirtualTextOk OkSign + + " Remove untill endif on next nvim release + hi! link LspDiagnosticsSignError ErrorSign + hi! link LspDiagnosticsSignWarning WarningSign + hi! link LspDiagnosticsSignInfo InfoSign + hi! link LspDiagnosticsSignHint HintSign + + hi! link LspDiagnosticsVirtualTextError ErrorSign + hi! link LspDiagnosticsVirtualTextWarning WarningSign + hi! link LspDiagnosticsVirtualTextInfo InfoSign + hi! link LspDiagnosticsVirtualTextHint HintSign + + hi! link LspDiagnosticsFloatingError ErrorFloat + hi! link LspDiagnosticsFloatingWarning WarningFloat + hi! link LspDiagnosticsFloatingInfo InfoFloat + hi! link LspDiagnosticsFloatingHint HintFloat + + hi! link LspDiagnosticsUnderlineError ErrorHighlight + hi! link LspDiagnosticsUnderlineWarning WarningHighlight + hi! link LspDiagnosticsUnderlineInfo InfoHighlight + hi! link LspDiagnosticsUnderlineHint HintHighlight + + hi! link LspReferenceText ReferenceText + hi! link LspReferenceRead ReferenceRead + hi! link LspReferenceWrite ReferenceWrite +endif + +" " +" LANGUAGES +" " + +" C +call hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# +call hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csType", s:gui08, "", s:cterm08, "", "", "") +call hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" Clap +hi! link ClapInput ColorColumn +hi! link ClapSpinner ColorColumn +hi! link ClapDisplay Default +hi! link ClapPreview ColorColumn +hi! link ClapCurrentSelection CursorLine +hi! link ClapNoMatchesFound ErrorFloat + +" Coc +hi! link CocErrorSign ErrorSign +hi! link CocWarningSign WarningSign +hi! link CocInfoSign InfoSign +hi! link CocHintSign HintSign + +hi! link CocErrorFloat ErrorFloat +hi! link CocWarningFloat WarningFloat +hi! link CocInfoFloat InfoFloat +hi! link CocHintFloat HintFloat + +hi! link CocErrorHighlight ErrorHighlight +hi! link CocWarningHighlight WarningHighlight +hi! link CocInfoHighlight InfoHighlight +hi! link CocHintHighlight HintHighlight + +hi! link CocSem_angle Keyword +hi! link CocSem_annotation Keyword +hi! link CocSem_attribute Type +hi! link CocSem_bitwise Keyword +hi! link CocSem_boolean Boolean +hi! link CocSem_brace Normal +hi! link CocSem_bracket Normal +hi! link CocSem_builtinAttribute Type +hi! link CocSem_builtinType Type +hi! link CocSem_character String +hi! link CocSem_class Structure +hi! link CocSem_colon Normal +hi! link CocSem_comma Normal +hi! link CocSem_comment Comment +hi! link CocSem_comparison Keyword +hi! link CocSem_concept Keyword +hi! link CocSem_constParameter Identifier +hi! link CocSem_dependent Keyword +hi! link CocSem_dot Keyword +hi! link CocSem_enum Structure +hi! link CocSem_enumMember Constant +hi! link CocSem_escapeSequence Type +hi! link CocSem_event Identifier +hi! link CocSem_formatSpecifier Type +hi! link CocSem_function Function +hi! link CocSem_interface Type +hi! link CocSem_keyword Keyword +hi! link CocSem_label Keyword +hi! link CocSem_logical Keyword +hi! link CocSem_macro Macro +hi! link CocSem_method Function +hi! link CocSem_modifier Keyword +hi! link CocSem_namespace Identifier +hi! link CocSem_number Number +hi! link CocSem_operator Operator +hi! link CocSem_parameter Identifier +hi! link CocSem_parenthesis Normal +hi! link CocSem_property Identifier +hi! link CocSem_punctuation Keyword +hi! link CocSem_regexp Type +hi! link CocSem_selfKeyword Constant +hi! link CocSem_semicolon Normal +hi! link CocSem_string String +hi! link CocSem_struct Structure +hi! link CocSem_type Type +hi! link CocSem_typeAlias Type +hi! link CocSem_typeParameter Type +hi! link CocSem_unknown Normal +hi! link CocSem_variable Identifier + +call hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "") +call hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("CocSessionsName", s:gui06, "", s:cterm05, "", "", "") + +" CSS +hi! link cssBraces ThemeBlue +hi! link cssFunctionName ThemeYellow +hi! link cssIdentifier ThemeOrange +hi! link cssClassName ThemeGreen +hi! link cssColor ThemeBlue +hi! link cssSelectorOp ThemeBlue +hi! link cssSelectorOp2 ThemeBlue +hi! link cssImportant ThemeGreen +hi! link cssVendor ThemeFg1 + +hi! link cssTextProp ThemeCyan +hi! link cssAnimationProp ThemeCyan +hi! link cssUIProp ThemeYellow +hi! link cssTransformProp ThemeCyan +hi! link cssTransitionProp ThemeCyan +hi! link cssPrintProp ThemeCyan +hi! link cssPositioningProp ThemeYellow +hi! link cssBoxProp ThemeCyan +hi! link cssFontDescriptorProp ThemeCyan +hi! link cssFlexibleBoxProp ThemeCyan +hi! link cssBorderOutlineProp ThemeCyan +hi! link cssBackgroundProp ThemeCyan +hi! link cssMarginProp ThemeCyan +hi! link cssListProp ThemeCyan +hi! link cssTableProp ThemeCyan +hi! link cssFontProp ThemeCyan +hi! link cssPaddingProp ThemeCyan +hi! link cssDimensionProp ThemeCyan +hi! link cssRenderProp ThemeCyan +hi! link cssColorProp ThemeCyan +hi! link cssGeneratedContentProp ThemeCyan + + +" CMP +hi! link CmpItemAbbrDeprecated Deprecated +hi! link CmpItemAbbrMatch SearchMatch +hi! link CmpItemAbbrMatchFuzzy SearchMatch +hi! link CmpItemKindClass Type +hi! link CmpItemKindColor Keyword +hi! link CmpItemKindConstant Constant +hi! link CmpItemKindConstructor Special +hi! link CmpItemKindEnum Type +hi! link CmpItemKindEnumMember Constant +hi! link CmpItemKindEvent Identifier +hi! link CmpItemKindField Character +hi! link CmpItemKindFile Directory +hi! link CmpItemKindFolder Directory +hi! link CmpItemKindFunction Function +hi! link CmpItemKindInterface Type +hi! link CmpItemKindKeyword Keyword +hi! link CmpItemKindMethod Function +hi! link CmpItemKindModule Namespace +hi! link CmpItemKindOperator Operator +hi! link CmpItemKindProperty Identifier +hi! link CmpItemKindReference Character +hi! link CmpItemKindSnippet String +hi! link CmpItemKindStruct Type +hi! link CmpItemKindText Text +hi! link CmpItemKindUnit Namespace +hi! link CmpItemKindValue Comment +hi! link CmpItemKindVariable Identifier + +if has("nvim-0.8.0") + hi! link CmpItemKindField @field + hi! link CmpItemKindProperty @property +endif + +" Diff +call hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("DiffChange", s:gui06, s:gui01, s:cterm05, s:cterm01, "", "") +call hi("DiffDelete", s:gui02, s:guibg, s:cterm02, s:ctermbg, "", "") +call hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("DiffAdded", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffFile", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("DiffNewFile", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffLine", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +call hi("DiffRemoved", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") + +" Git +call hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter +hi! link GitGutterAdd GitAddSign +hi! link GitGutterChange GitChangeSign +hi! link GitGutterDelete GitDeleteSign +hi! link GitGutterChangeDelete GitChangeDeleteSign + +" indent-blankline (nvim) +if has("nvim") + call hi("@ibl.indent.char.1",s:gui01, "", s:cterm01, "", "", "") +endif + +" HTML +call hi("htmlBold", s:gui07, "", s:cterm0A, "", "bold", "") +call hi("htmlItalic", s:gui06, "", s:cterm0E, "", "italic", "") +call hi("htmlEndTag", s:gui06, "", s:cterm05, "", "", "") +call hi("htmlTag", s:gui06, "", s:cterm05, "", "", "") + +" JavaScript +call hi("javaScript", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptBraces", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript +call hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail +call hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown +call hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownError", s:gui06, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" Matchup +call hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "") + +" NERDTree +call hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call hi("NERDTreeExecFile", s:gui06, "", s:cterm05, "", "", "") + +" Netrw +hi! link netrwDir ThemeCyan +hi! link netrwClassify ThemeCyan +hi! link netrwLink ThemeBg3 +hi! link netrwSymLink ThemeFg1 +hi! link netrwExe ThemeYellow +hi! link netrwComment ThemeBg3 +hi! link netrwList ThemeBlue +hi! link netrwHelpCmd ThemeCyan +hi! link netrwCmdSep ThemeFg3 +hi! link netrwVersion ThemeGreen + +" PHP +call hi("phpMemberSelector", s:gui06, "", s:cterm05, "", "", "") +call hi("phpComparison", s:gui06, "", s:cterm05, "", "", "") +call hi("phpParent", s:gui06, "", s:cterm05, "", "", "") +call hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python +"call hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" hi! link pythonBuiltin ThemeCyan +" hi! link pythonBuiltinObj ThemeCyan +" hi! link pythonBuiltinFunc ThemeGreen +" hi! link pythonFunction Function +" hi! link pythonDecorator ThemeYellow +" hi! link pythonDecoratorName ThemeYellow +" hi! link pythonTripleQuotes ThemeGreenItalic +" hi! link pythonInclude ThemeBlue +" hi! link pythonImport ThemeBlue +" hi! link pythonRun ThemeBlue +" hi! link pythonCoding ThemeBlue +" hi! link pythonOperator ThemeRed +" hi! link pythonException ThemeRed +" hi! link pythonExceptions ThemeYellow +" hi! link pythonBoolean ThemeYellow +" hi! link pythonDot ThemeFg3 +" hi! link pythonConditional ThemeCyan +" hi! link pythonRepeat ThemeRed +" hi! link pythonDottedName ThemeGreen + + +" Ruby +call hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS +call hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify +hi! link SignifySignAdd GitAddSign +hi! link SignifySignChange GitChangeSign +hi! link SignifySignDelete GitDeleteSign + +" Startify +call hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Java +call hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" JSON +hi! link jsonKeyword ThemeGreen +hi! link jsonQuote ThemeGreen +hi! link jsonBraces ThemeFg1 +hi! link jsonString ThemeFg1 + +" Markdown +hi! link markdownH1 ThemeRedBold +hi! link markdownH2 ThemeRed +hi! link markdownH3 ThemeRed +hi! link markdownH4 ThemeRed +hi! link markdownH5 ThemeRed +hi! link markdownH6 ThemeRed + +hi! link markdownCode ThemeYellow +hi! link markdownCodeBlock ThemeYellow +hi! link markdownCodeDelimiter ThemeYellow + +hi! link markdownBlockquote ThemeGrey +hi! link markdownListMarker ThemeBlue +hi! link markdownOrderedListMarker ThemeBlue +hi! link markdownRule ThemeGrey +hi! link markdownHeadingRule ThemeGrey + +hi! link markdownUrlDelimiter ThemeFg3 +hi! link markdownLinkDelimiter ThemeFg3 +hi! link markdownLinkTextDelimiter ThemeFg3 +hi! link markdownHeadingDelimiter ThemeOrange +hi! link markdownUrlTitleDelimiter ThemeGreen + +hi! link markdownLink ThemeGreen +hi! link markdownWikiLink ThemeViolet +"hi! link markdownUrl ThemeOrange +hi! link markdownUrl ThemeRed +hi! link markdownUrlProtocol ThemeGreenItalic +hi! link markdownInlineUrl ThemeOrange + +hi! link markdownLinkText ThemeViolet +hi! link markdownIdDeclaration markdownLinkText + +hi! link pandocAtxHeader ThemeRed +hi! link pandocAtxStart ThemeOrange + + +"call s:HL('markdownItalic', s:fg3, s:none, s:italic) +"call s:HL('markdownLinkText', s:gray, s:none, s:underline) + + +" Remove functions +delf hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F s:guibg +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F s:ctermbg + diff --git a/app-config/nvim/soft-badlands-monobiome-light.theme.vim b/app-config/nvim/soft-badlands-monobiome-light.theme.vim new file mode 100644 index 0000000..3991570 --- /dev/null +++ b/app-config/nvim/soft-badlands-monobiome-light.theme.vim @@ -0,0 +1,995 @@ +" vi:syntax=vim +" +" Top-level remarks: +" +" - `hi` sets highlight colors for syntax groups, allowing one to specify fg and bg colors +" for GUI and terminal Vim. +" - `link` allows for linking one syntax group to another, reusing the same color +" settings. Language-specific groups can then point to one of the base color highlight +" groups, for example, without needing to repeat the raw color values. +" +" There are several kinds of syntax identifiers: +" +" - Vim/editor related (e.g., Normal, Folded): these control colors of central Vim +" elements, like whitespace, bold text, the foldcolumn, etc +" - Generic syntax identifiers (e.g., Boolean, Conditional): these are key groups for +" syntax elements that various language syntax files link to. For instance, Python +" syntax files might have specific patterns that match function keywords like "def," and +" the resulting syntax region can be highlighted by linking it to the core "Function" +" highlight identifier. +" - Treesitter-based identifiers (e.g., @variable, @boolean): highlight groups for +" treesitter-based syntax highlighting, which can replace regex-based matching when +" enabled for richer (and often faster) highlighting. These groups can be linked to the +" core identifiers like any other language. +" +" *Note*: each of these identifiers can add a lang-specific suffix to style those groups +" as they apply to particular languages. For ex, `@boolean.python ThemeRed` would style +" Python booleans red, while the lang-agnostic `@boolean` definition remains. +" - Plugin-oriented identifiers (e.g., SpellBad, ErrorFloat): these are groups mostly core +" to vim/nvim, but often appear only in the context of plugins or certain modules (like +" LSP). For instance, ErrorFloat styles floating windows that might be drawn by nvim's +" built-in LSP hover info. + +" GUI color definitions +let s:gui00 = "#d5cbca" +let g:base16_gui00 = "#d5cbca" +let s:gui01 = "#c5bbba" +let g:base16_gui01 = "#c5bbba" +let s:gui02 = "#b5abaa" +let g:base16_gui02 = "#b5abaa" +let s:gui03 = "#a59c9a" +let g:base16_gui03 = "#a59c9a" +let s:gui04 = "#403837" +let g:base16_gui04 = "#403837" +let s:gui05 = "#332c2b" +let g:base16_gui05 = "#332c2b" +let s:gui06 = "#27201f" +let g:base16_gui06 = "#27201f" +let s:gui07 = "#1b1413" +let g:base16_gui07 = "#1b1413" +let s:gui08 = "#9d1a13" +let g:base16_gui08 = "#9d1a13" +let s:gui09 = "#7c4706" +let g:base16_gui09 = "#7c4706" +let s:gui0A = "#5b572e" +let g:base16_gui0A = "#5b572e" +let s:gui0B = "#2e6337" +let g:base16_gui0B = "#2e6337" +let s:gui0C = "#2e6337" +let g:base16_gui0C = "#2e6337" +let s:gui0D = "#2d5299" +let g:base16_gui0D = "#2d5299" +let s:gui0E = "#2d5299" +let g:base16_gui0E = "#2d5299" +let s:gui0F = "#9d1a13" +let g:base16_gui0F = "#9d1a13" + +let s:grey = "#786f6e" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" + +let s:cterm01 = "10" +let g:base16_cterm01 = "10" +let s:cterm02 = "11" +let g:base16_cterm02 = "11" +let s:cterm04 = "12" +let g:base16_cterm04 = "12" +let s:cterm06 = "13" +let g:base16_cterm06 = "13" +let s:cterm09 = "09" +let g:base16_cterm09 = "09" +let s:cterm0F = "14" +let g:base16_cterm0F = "14" + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#d5cbca" + let g:terminal_color_1 = "#9d1a13" + let g:terminal_color_2 = "#2e6337" + let g:terminal_color_3 = "#5b572e" + let g:terminal_color_4 = "#2d5299" + let g:terminal_color_5 = "#2d5299" + let g:terminal_color_6 = "#2e6337" + let g:terminal_color_7 = "#332c2b" + let g:terminal_color_8 = "#a59c9a" + let g:terminal_color_9 = "#9d1a13" + let g:terminal_color_10 = "#2e6337" + let g:terminal_color_11 = "#5b572e" + let g:terminal_color_12 = "#2d5299" + let g:terminal_color_13 = "#2d5299" + let g:terminal_color_14 = "#2e6337" + let g:terminal_color_15 = "#1b1413" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif + +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#d5cbca", + \ "#9d1a13", + \ "#2e6337", + \ "#5b572e", + \ "#2d5299", + \ "#2d5299", + \ "#2e6337", + \ "#332c2b", + \ "#a59c9a", + \ "#9d1a13", + \ "#2e6337", + \ "#5b572e", + \ "#2d5299", + \ "#2d5299", + \ "#2e6337", + \ "#1b1413", + \ ] +endif + +let s:guibg = s:gui00 +let s:ctermbg = s:cterm00 + +" Theme setup +hi clear +syntax reset +let g:colors_name = "active" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + " For a given syntax group, sets the GUI and terminal foreground and backgrounds + " Optional parameters are interpreted as `attr` and `guisp`, the first of which appears + " to be a modifier for the group (e.g., bold, italic), and `guisp` appears to be + " 'special' colors used for underlines in the GUI. + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=" . a:guifg + endif + endif + + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=" . a:guibg + endif + endif + + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=" . l:guisp + endif + endif +endfunction + + +fun hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + + +" color groups for interpretability +call hi("ThemeBg0", s:gui00, "", s:cterm00, "", "", "") +call hi("ThemeBg1", s:gui01, "", s:cterm01, "", "", "") +call hi("ThemeBg2", s:gui02, "", s:cterm02, "", "", "") +call hi("ThemeBg3", s:gui03, "", s:cterm03, "", "", "") +call hi("ThemeFg3", s:gui04, "", s:cterm04, "", "", "") +call hi("ThemeFg2", s:gui05, "", s:cterm05, "", "", "") +call hi("ThemeFg1", s:gui06, "", s:cterm06, "", "", "") +call hi("ThemeFg0", s:gui07, "", s:cterm07, "", "", "") + +call hi("ThemeBg0bold", s:gui00, "", s:cterm00, "", "bold", "") +call hi("ThemeBg1bold", s:gui01, "", s:cterm01, "", "bold", "") +call hi("ThemeBg2bold", s:gui02, "", s:cterm02, "", "bold", "") +call hi("ThemeBg3bold", s:gui03, "", s:cterm03, "", "bold", "") +call hi("ThemeFg3bold", s:gui04, "", s:cterm04, "", "bold", "") +call hi("ThemeFg2bold", s:gui05, "", s:cterm05, "", "bold", "") +call hi("ThemeFg1bold", s:gui06, "", s:cterm06, "", "bold", "") +call hi("ThemeFg0bold", s:gui07, "", s:cterm07, "", "bold", "") + +call hi("ThemeBg0Italic", s:gui00, "", s:cterm00, "", "italic", "") +call hi("ThemeBg1Italic", s:gui01, "", s:cterm01, "", "italic", "") +call hi("ThemeBg2Italic", s:gui02, "", s:cterm02, "", "italic", "") +call hi("ThemeBg3Italic", s:gui03, "", s:cterm03, "", "italic", "") +call hi("ThemeFg3Italic", s:gui04, "", s:cterm04, "", "italic", "") +call hi("ThemeFg2Italic", s:gui05, "", s:cterm05, "", "italic", "") +call hi("ThemeFg1Italic", s:gui06, "", s:cterm06, "", "italic", "") +call hi("ThemeFg0Italic", s:gui07, "", s:cterm07, "", "italic", "") + +call hi("ThemeRed", s:gui08, "", s:cterm08, "", "", "") +call hi("ThemeOrange", s:gui09, "", s:cterm09, "", "", "") +call hi("ThemeYellow", s:gui0A, "", s:cterm0A, "", "", "") +call hi("ThemeGreen", s:gui0B, "", s:cterm0B, "", "", "") +call hi("ThemeCyan", s:gui0C, "", s:cterm0C, "", "", "") +call hi("ThemeBlue", s:gui0D, "", s:cterm0D, "", "", "") +call hi("ThemeViolet", s:gui0E, "", s:cterm0E, "", "", "") +call hi("ThemeMagenta", s:gui0F, "", s:cterm0F, "", "", "") + +call hi("ThemeRedNone", s:gui08, "", s:cterm08, "", "NONE", "") +call hi("ThemeOrangeNone", s:gui09, "", s:cterm09, "", "NONE", "") +call hi("ThemeYellowNone", s:gui0A, "", s:cterm0A, "", "NONE", "") +call hi("ThemeGreenNone", s:gui0B, "", s:cterm0B, "", "NONE", "") +call hi("ThemeCyanNone", s:gui0C, "", s:cterm0C, "", "NONE", "") +call hi("ThemeBlueNone", s:gui0D, "", s:cterm0D, "", "NONE", "") +call hi("ThemeVioletNone", s:gui0E, "", s:cterm0E, "", "NONE", "") +call hi("ThemeMagentaNone", s:gui0F, "", s:cterm0F, "", "NONE", "") + +call hi("ThemeRedBold", s:gui08, "", s:cterm08, "", "bold", "") +call hi("ThemeOrangeBold", s:gui09, "", s:cterm09, "", "bold", "") +call hi("ThemeYellowBold", s:gui0A, "", s:cterm0A, "", "bold", "") +call hi("ThemeGreenBold", s:gui0B, "", s:cterm0B, "", "bold", "") +call hi("ThemeCyanBold", s:gui0C, "", s:cterm0C, "", "bold", "") +call hi("ThemeBlueBold", s:gui0D, "", s:cterm0D, "", "bold", "") +call hi("ThemeVioletBold", s:gui0E, "", s:cterm0E, "", "bold", "") +call hi("ThemeMagentaBold", s:gui0F, "", s:cterm0F, "", "bold", "") + +call hi("ThemeRedItalic", s:gui08, "", s:cterm08, "", "italic", "") +call hi("ThemeOrangeItalic", s:gui09, "", s:cterm09, "", "italic", "") +call hi("ThemeYellowItalic", s:gui0A, "", s:cterm0A, "", "italic", "") +call hi("ThemeGreenItalic", s:gui0B, "", s:cterm0B, "", "italic", "") +call hi("ThemeCyanItalic", s:gui0C, "", s:cterm0C, "", "italic", "") +call hi("ThemeBlueItalic", s:gui0D, "", s:cterm0D, "", "italic", "") +call hi("ThemeVioletItalic", s:gui0E, "", s:cterm0E, "", "italic", "") +call hi("ThemeMagentaItalic", s:gui0F, "", s:cterm0F, "", "italic", "") + +call hi("ThemeRedBoldItalic", s:gui08, "", s:cterm08, "", "bold,italic", "") +call hi("ThemeOrangeBoldItalic", s:gui09, "", s:cterm09, "", "bold,italic", "") +call hi("ThemeYellowBoldItalic", s:gui0A, "", s:cterm0A, "", "bold,italic", "") +call hi("ThemeGreenBoldItalic", s:gui0B, "", s:cterm0B, "", "bold,italic", "") +call hi("ThemeCyanBoldItalic", s:gui0C, "", s:cterm0C, "", "bold,italic", "") +call hi("ThemeBlueBoldItalic", s:gui0D, "", s:cterm0D, "", "bold,italic", "") +call hi("ThemeVioletBoldItalic", s:gui0E, "", s:cterm0E, "", "bold,italic", "") +call hi("ThemeMagentaBoldItalic", s:gui0F, "", s:cterm0F, "", "bold,italic", "") + +call hi("ThemeGrey", s:grey, "", s:cterm03, "", "", "") +call hi("ThemeGreyItalic", s:grey, "", s:cterm03, "", "italic", "") + + +" Vim editor colors +call hi("Bold", "", "", "", "", "bold", "") +call hi("Italic", "", "", "", "", "italic", "") +call hi("BoldItalic", "", "", "", "", "italic,bold", "") + +call hi("Normal", s:gui05, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Error", s:guibg, s:gui08, s:ctermbg, s:cterm08, "", "") +call hi("ErrorMsg", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call hi("FoldColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("Folded", s:gui03, s:gui01, s:cterm02, s:ctermbg, "", "") +call hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call hi("Macro", s:gui0C, "", s:cterm0C, "", "", "") +call hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call hi("Underlined", "", "", "", "", "underline", "fg") +call hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call hi("WildMenu", s:guibg, s:gui06, s:ctermbg, s:cterm05, "", "") +call hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") + +"call hi("Conceal", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +hi! link Conceal ThemeBlue + +call hi("Cursor", s:gui05, s:guibg, "", "", "inverse", "") +call hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call hi("Whitespace", s:gui03, "", s:cterm03, "", "", "") +call hi("LineNr", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("SignColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("StatusLine", s:gui07, s:gui01, s:cterm07, s:cterm01, "none", "") +call hi("StatusLineNC", s:gui06, s:gui01, s:cterm05, s:cterm01, "none", "") +call hi("VertSplit", s:gui01, s:guibg, s:cterm01, s:ctermbg, "none", "") +call hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLineNr", s:gui04, s:gui00, s:cterm04, s:cterm01, "", "") +call hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "") +call hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "") +call hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "") +call hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "") +call hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax +call hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call hi("Identifier", s:gui06, "", s:cterm05, "", "none", "") +call hi("Keyword", s:gui0D, "", s:cterm0E, "", "none", "") +call hi("Todo", s:gui08, s:guibg, s:cterm08, s:ctermbg, "italic", "") + +hi! link Boolean ThemeOrange +hi! link Character ThemeRed +hi! link Comment ThemeGreyItalic +hi! link Conditional ThemeRed +hi! link Constant ThemeOrange +hi! link Delimiter ThemeFg1 +hi! link Float ThemeOrange +hi! link Function ThemeBlue +hi! link Include ThemeBlue +hi! link Constant ThemeOrange +hi! link Label ThemeOrange +hi! link Number ThemeOrange +hi! link Operator ThemeYellow +hi! link PreProc ThemeOrange +hi! link Repeat ThemeViolet +hi! link Special ThemeYellow +hi! link SpecialChar ThemeMagenta +hi! link Statement ThemeRed +hi! link StorageClass ThemeOrange +hi! link String ThemeGreen +hi! link Structure ThemeOrange +hi! link Tag ThemeOrange +hi! link Type ThemeYellow +hi! link Typedef ThemeOrange + + +" Treesitter +if has("nvim-0.8.0") + hi! link @field ThemeRed + hi! link @property ThemeRed + hi! link @namespace ThemeFg1Italic + hi! link @variable.builtin ThemeFg1Italic + hi! link @variable ThemeFg2 + hi! link @conceal ThemeBlue + + hi! link @text.uri ThemeRedItalic + hi! link @text.reference ThemeRed + + hi! link @annotation ThemeViolet + hi! link @attribute ThemeBlue + + hi! link @boolean ThemeOrange + hi! link @character ThemeRed + hi! link @character.special ThemeMagenta + hi! link @comment Comment + + hi! link @constant ThemeBlue + hi! link @constant.builtin ThemeBlue + + hi! link @constant.macro ThemeRed + + hi! link @keyword.directive.define ThemeViolet + hi! link @keyword.exception ThemeRed + + hi! link @comment.error ThemeRed + hi! link @number.float ThemeRed + hi! link @keyword.function ThemeRed + + hi! link @function ThemeBlue + hi! link @function.builtin ThemeBlue + hi! link @function.call ThemeBlue + hi! link @function.macro ThemeRed + hi! link @function.method ThemeBlue + hi! link @function.method.call ThemeBlue + + hi! link @keyword.debug ThemeRed + hi! link @keyword.conditional ThemeRed + hi! link @keyword.import ThemeViolet + hi! link @keyword.coroutine ThemeViolet + hi! link @keyword.operator ThemeYellow + hi! link @keyword.directive ThemeViolet + hi! link @keyword.repeat ThemeViolet + hi! link @keyword.storage ThemeViolet + hi! link @keyword.return ThemeRed + + hi! link @constructor ThemeBlue + hi! link @namespace.builtin ThemeViolet + + hi! link @none ThemeFg1 + hi! link @number ThemeOrange + hi! link @string ThemeGreen + + hi! link @tag ThemeRed + hi! link @tag.delimiter ThemeViolet + hi! link @tag.attribute ThemeYellow + + " affects markdown + hi! link @markup ThemeYellow + + hi! link @markup.raw ThemeGreen + hi! link @markup.raw.block.lang ThemeFg2Bold + hi! link @markup.raw.block.marker ThemeRed + "call hi("@markup.raw.block.lang", s:gui08, "#1e0000", "", s:ctermbg, "", "") + + hi! link @markup.list ThemeBlue + hi! link @markup.quote ThemeGrey + + hi! link @markup.link ThemeYellow " borders + hi! link @markup.link.text ThemeBlue + hi! link @markup.link.label ThemeYellow + hi! link @markup.link.url ThemeYellow + hi! link @markup.link.dest ThemeFg3 + + hi! link @markup.link.wiki ThemeYellow + hi! link @markup.link.wiki.text ThemeBlue + hi! link @markup.link.wiki.label ThemeYellow + + "hi! link @markup.link.label.symbol ThemeGreen + + "hi! link markdownWikiLink ThemeViolet + " + hi! link @markup.environment ThemeYellow + hi! link @markup.environment.name ThemeYellow + hi! link @markup.math ThemeYellow + hi! link @punctuation.delimiter.latex ThemeOrange + + hi! link @markup.strong Bold + hi! link @markup.emphasis Bold + hi! link @markup.strikethrough ThemeYellow + hi! link @markup.underline ThemeYellow + + hi! link @comment.info ThemeBlue + hi! link @comment.todo ThemeYellow + hi! link @comment.note ThemeBg3 + hi! link @comment.hint ThemeGreen + hi! link @comment.warning ThemeOrange + + hi! link @type ThemeYellow + hi! link @type.builtin ThemeOrange + hi! link @type.definition ThemeViolet + hi! link @type.qualifier ThemeViolet + + " Markdown + " hi! link @spell.markdown ThemeFg3 + + "call hi("@markup.heading.marker", s:gui08, "", "", s:ctermbg, "bold", "") + "hi! link @markup.heading ThemeRed + hi! link @markup.heading.marker ThemeOrange + hi! link @markup.heading.title ThemeRed "Italic + + " set this for a strong background + "call hi("@markup.heading.title", s:gui08, "#440503", "", s:ctermbg, "italic", "") + + hi! link @markup.heading.title.1 Bold + hi! link @markup.heading.title.3 Italic + "hi! link @markup.heading.4.title Italic + + " YAML + hi! link @string.yaml ThemeBlue + hi! link @punctuation.delimiter.yaml ThemeGreen + hi! link @property.yaml ThemeFg2 + + " Diff + hi! link @diff.minus ThemeRed + hi! link @diff.plus ThemeGreen + + call hi("TreesitterContext", "", s:gui00, "", "", "", "") + "hi TreesitterContextLineNumberBottom gui=underline guisp=Gray + "call hi("TreesitterContextBottom", "", "", "", "", "underline", s:gui02) + call hi("TreesitterContextSeparator", s:gui03, "", "", "", "", "") + "call hi("TreesitterContextLineNumberBottom", "", "", "", "", "underline", s:gui02) +endif + +" Standard highlights to be used by plugins +if has("patch-8.0.1038") + call hi("Deprecated", "", "", "", "", "strikethrough", "") +endif +call hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "") + +call hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "") +call hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "") +call hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "") +call hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "") + +call hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningSign", s:gui09, "", s:cterm09, "", "", "") +call hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "") +call hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "") +call hi("OkSign", s:gui0B, "", s:cterm0B, "", "", "") + +call hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "") +call hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call hi("OkFloat", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("NormalFloat", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "") + +call hi("ErrorHighlight", "", "", s:ctermbg, s:cterm08, "underline", s:gui08) +call hi("WarningHighlight", "", "", s:ctermbg, s:cterm09, "underline", s:gui09) +call hi("InfoHighlight", "", "", s:ctermbg, s:cterm0D, "underline", s:gui0D) +call hi("HintHighlight", "", "", s:ctermbg, s:cterm0C, "underline", s:gui0C) +call hi("OkHighlight", "", "", s:ctermbg, s:cterm0B, "underline", s:gui0B) + +call hi("SpellBad", "", "", s:ctermbg, s:cterm08, "undercurl", s:gui08) +call hi("SpellLocal", "", "", s:ctermbg, s:cterm0C, "undercurl", s:gui0C) +call hi("SpellCap", "", "", s:ctermbg, s:cterm0D, "undercurl", s:gui0D) +call hi("SpellRare", "", "", s:ctermbg, s:cterm0E, "undercurl", s:gui0E) + +call hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "") + +" LSP +if has("nvim") + hi! link DiagnosticError ErrorSign + hi! link DiagnosticWarn WarningSign + hi! link DiagnosticInfo InfoSign + hi! link DiagnosticHint HintSign + hi! link DiagnosticOk OkSign + + hi! link DiagnosticFloatingError ErrorFloat + hi! link DiagnosticFloatingWarn WarningFloat + hi! link DiagnosticFloatingInfo InfoFloat + hi! link DiagnosticFloatingHint HintFloat + hi! link DiagnosticFloatingOk OkFloat + + hi! link DiagnosticUnderlineError ErrorHighlight + hi! link DiagnosticUnderlineWarn WarningHighlight + hi! link DiagnosticUnderlineInfo InfoHighlight + hi! link DiagnosticUnderlineHint HintHighlight + hi! link DiagnosticUnderlineOk OkHighlight + + hi! link DiagnosticsVirtualTextError ErrorSign + hi! link DiagnosticsVirtualTextWarning WarningSign + hi! link DiagnosticsVirtualTextInfo InfoSign + hi! link DiagnosticsVirtualTextHint HintSign + hi! link DiagnosticsVirtualTextOk OkSign + + " Remove untill endif on next nvim release + hi! link LspDiagnosticsSignError ErrorSign + hi! link LspDiagnosticsSignWarning WarningSign + hi! link LspDiagnosticsSignInfo InfoSign + hi! link LspDiagnosticsSignHint HintSign + + hi! link LspDiagnosticsVirtualTextError ErrorSign + hi! link LspDiagnosticsVirtualTextWarning WarningSign + hi! link LspDiagnosticsVirtualTextInfo InfoSign + hi! link LspDiagnosticsVirtualTextHint HintSign + + hi! link LspDiagnosticsFloatingError ErrorFloat + hi! link LspDiagnosticsFloatingWarning WarningFloat + hi! link LspDiagnosticsFloatingInfo InfoFloat + hi! link LspDiagnosticsFloatingHint HintFloat + + hi! link LspDiagnosticsUnderlineError ErrorHighlight + hi! link LspDiagnosticsUnderlineWarning WarningHighlight + hi! link LspDiagnosticsUnderlineInfo InfoHighlight + hi! link LspDiagnosticsUnderlineHint HintHighlight + + hi! link LspReferenceText ReferenceText + hi! link LspReferenceRead ReferenceRead + hi! link LspReferenceWrite ReferenceWrite +endif + +" " +" LANGUAGES +" " + +" C +call hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# +call hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csType", s:gui08, "", s:cterm08, "", "", "") +call hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" Clap +hi! link ClapInput ColorColumn +hi! link ClapSpinner ColorColumn +hi! link ClapDisplay Default +hi! link ClapPreview ColorColumn +hi! link ClapCurrentSelection CursorLine +hi! link ClapNoMatchesFound ErrorFloat + +" Coc +hi! link CocErrorSign ErrorSign +hi! link CocWarningSign WarningSign +hi! link CocInfoSign InfoSign +hi! link CocHintSign HintSign + +hi! link CocErrorFloat ErrorFloat +hi! link CocWarningFloat WarningFloat +hi! link CocInfoFloat InfoFloat +hi! link CocHintFloat HintFloat + +hi! link CocErrorHighlight ErrorHighlight +hi! link CocWarningHighlight WarningHighlight +hi! link CocInfoHighlight InfoHighlight +hi! link CocHintHighlight HintHighlight + +hi! link CocSem_angle Keyword +hi! link CocSem_annotation Keyword +hi! link CocSem_attribute Type +hi! link CocSem_bitwise Keyword +hi! link CocSem_boolean Boolean +hi! link CocSem_brace Normal +hi! link CocSem_bracket Normal +hi! link CocSem_builtinAttribute Type +hi! link CocSem_builtinType Type +hi! link CocSem_character String +hi! link CocSem_class Structure +hi! link CocSem_colon Normal +hi! link CocSem_comma Normal +hi! link CocSem_comment Comment +hi! link CocSem_comparison Keyword +hi! link CocSem_concept Keyword +hi! link CocSem_constParameter Identifier +hi! link CocSem_dependent Keyword +hi! link CocSem_dot Keyword +hi! link CocSem_enum Structure +hi! link CocSem_enumMember Constant +hi! link CocSem_escapeSequence Type +hi! link CocSem_event Identifier +hi! link CocSem_formatSpecifier Type +hi! link CocSem_function Function +hi! link CocSem_interface Type +hi! link CocSem_keyword Keyword +hi! link CocSem_label Keyword +hi! link CocSem_logical Keyword +hi! link CocSem_macro Macro +hi! link CocSem_method Function +hi! link CocSem_modifier Keyword +hi! link CocSem_namespace Identifier +hi! link CocSem_number Number +hi! link CocSem_operator Operator +hi! link CocSem_parameter Identifier +hi! link CocSem_parenthesis Normal +hi! link CocSem_property Identifier +hi! link CocSem_punctuation Keyword +hi! link CocSem_regexp Type +hi! link CocSem_selfKeyword Constant +hi! link CocSem_semicolon Normal +hi! link CocSem_string String +hi! link CocSem_struct Structure +hi! link CocSem_type Type +hi! link CocSem_typeAlias Type +hi! link CocSem_typeParameter Type +hi! link CocSem_unknown Normal +hi! link CocSem_variable Identifier + +call hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "") +call hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("CocSessionsName", s:gui06, "", s:cterm05, "", "", "") + +" CSS +hi! link cssBraces ThemeBlue +hi! link cssFunctionName ThemeYellow +hi! link cssIdentifier ThemeOrange +hi! link cssClassName ThemeGreen +hi! link cssColor ThemeBlue +hi! link cssSelectorOp ThemeBlue +hi! link cssSelectorOp2 ThemeBlue +hi! link cssImportant ThemeGreen +hi! link cssVendor ThemeFg1 + +hi! link cssTextProp ThemeCyan +hi! link cssAnimationProp ThemeCyan +hi! link cssUIProp ThemeYellow +hi! link cssTransformProp ThemeCyan +hi! link cssTransitionProp ThemeCyan +hi! link cssPrintProp ThemeCyan +hi! link cssPositioningProp ThemeYellow +hi! link cssBoxProp ThemeCyan +hi! link cssFontDescriptorProp ThemeCyan +hi! link cssFlexibleBoxProp ThemeCyan +hi! link cssBorderOutlineProp ThemeCyan +hi! link cssBackgroundProp ThemeCyan +hi! link cssMarginProp ThemeCyan +hi! link cssListProp ThemeCyan +hi! link cssTableProp ThemeCyan +hi! link cssFontProp ThemeCyan +hi! link cssPaddingProp ThemeCyan +hi! link cssDimensionProp ThemeCyan +hi! link cssRenderProp ThemeCyan +hi! link cssColorProp ThemeCyan +hi! link cssGeneratedContentProp ThemeCyan + + +" CMP +hi! link CmpItemAbbrDeprecated Deprecated +hi! link CmpItemAbbrMatch SearchMatch +hi! link CmpItemAbbrMatchFuzzy SearchMatch +hi! link CmpItemKindClass Type +hi! link CmpItemKindColor Keyword +hi! link CmpItemKindConstant Constant +hi! link CmpItemKindConstructor Special +hi! link CmpItemKindEnum Type +hi! link CmpItemKindEnumMember Constant +hi! link CmpItemKindEvent Identifier +hi! link CmpItemKindField Character +hi! link CmpItemKindFile Directory +hi! link CmpItemKindFolder Directory +hi! link CmpItemKindFunction Function +hi! link CmpItemKindInterface Type +hi! link CmpItemKindKeyword Keyword +hi! link CmpItemKindMethod Function +hi! link CmpItemKindModule Namespace +hi! link CmpItemKindOperator Operator +hi! link CmpItemKindProperty Identifier +hi! link CmpItemKindReference Character +hi! link CmpItemKindSnippet String +hi! link CmpItemKindStruct Type +hi! link CmpItemKindText Text +hi! link CmpItemKindUnit Namespace +hi! link CmpItemKindValue Comment +hi! link CmpItemKindVariable Identifier + +if has("nvim-0.8.0") + hi! link CmpItemKindField @field + hi! link CmpItemKindProperty @property +endif + +" Diff +call hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("DiffChange", s:gui06, s:gui01, s:cterm05, s:cterm01, "", "") +call hi("DiffDelete", s:gui02, s:guibg, s:cterm02, s:ctermbg, "", "") +call hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("DiffAdded", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffFile", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("DiffNewFile", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffLine", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +call hi("DiffRemoved", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") + +" Git +call hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter +hi! link GitGutterAdd GitAddSign +hi! link GitGutterChange GitChangeSign +hi! link GitGutterDelete GitDeleteSign +hi! link GitGutterChangeDelete GitChangeDeleteSign + +" indent-blankline (nvim) +if has("nvim") + call hi("@ibl.indent.char.1",s:gui01, "", s:cterm01, "", "", "") +endif + +" HTML +call hi("htmlBold", s:gui07, "", s:cterm0A, "", "bold", "") +call hi("htmlItalic", s:gui06, "", s:cterm0E, "", "italic", "") +call hi("htmlEndTag", s:gui06, "", s:cterm05, "", "", "") +call hi("htmlTag", s:gui06, "", s:cterm05, "", "", "") + +" JavaScript +call hi("javaScript", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptBraces", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript +call hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail +call hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown +call hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownError", s:gui06, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" Matchup +call hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "") + +" NERDTree +call hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call hi("NERDTreeExecFile", s:gui06, "", s:cterm05, "", "", "") + +" Netrw +hi! link netrwDir ThemeCyan +hi! link netrwClassify ThemeCyan +hi! link netrwLink ThemeBg3 +hi! link netrwSymLink ThemeFg1 +hi! link netrwExe ThemeYellow +hi! link netrwComment ThemeBg3 +hi! link netrwList ThemeBlue +hi! link netrwHelpCmd ThemeCyan +hi! link netrwCmdSep ThemeFg3 +hi! link netrwVersion ThemeGreen + +" PHP +call hi("phpMemberSelector", s:gui06, "", s:cterm05, "", "", "") +call hi("phpComparison", s:gui06, "", s:cterm05, "", "", "") +call hi("phpParent", s:gui06, "", s:cterm05, "", "", "") +call hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python +"call hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" hi! link pythonBuiltin ThemeCyan +" hi! link pythonBuiltinObj ThemeCyan +" hi! link pythonBuiltinFunc ThemeGreen +" hi! link pythonFunction Function +" hi! link pythonDecorator ThemeYellow +" hi! link pythonDecoratorName ThemeYellow +" hi! link pythonTripleQuotes ThemeGreenItalic +" hi! link pythonInclude ThemeBlue +" hi! link pythonImport ThemeBlue +" hi! link pythonRun ThemeBlue +" hi! link pythonCoding ThemeBlue +" hi! link pythonOperator ThemeRed +" hi! link pythonException ThemeRed +" hi! link pythonExceptions ThemeYellow +" hi! link pythonBoolean ThemeYellow +" hi! link pythonDot ThemeFg3 +" hi! link pythonConditional ThemeCyan +" hi! link pythonRepeat ThemeRed +" hi! link pythonDottedName ThemeGreen + + +" Ruby +call hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS +call hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify +hi! link SignifySignAdd GitAddSign +hi! link SignifySignChange GitChangeSign +hi! link SignifySignDelete GitDeleteSign + +" Startify +call hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Java +call hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" JSON +hi! link jsonKeyword ThemeGreen +hi! link jsonQuote ThemeGreen +hi! link jsonBraces ThemeFg1 +hi! link jsonString ThemeFg1 + +" Markdown +hi! link markdownH1 ThemeRedBold +hi! link markdownH2 ThemeRed +hi! link markdownH3 ThemeRed +hi! link markdownH4 ThemeRed +hi! link markdownH5 ThemeRed +hi! link markdownH6 ThemeRed + +hi! link markdownCode ThemeYellow +hi! link markdownCodeBlock ThemeYellow +hi! link markdownCodeDelimiter ThemeYellow + +hi! link markdownBlockquote ThemeGrey +hi! link markdownListMarker ThemeBlue +hi! link markdownOrderedListMarker ThemeBlue +hi! link markdownRule ThemeGrey +hi! link markdownHeadingRule ThemeGrey + +hi! link markdownUrlDelimiter ThemeFg3 +hi! link markdownLinkDelimiter ThemeFg3 +hi! link markdownLinkTextDelimiter ThemeFg3 +hi! link markdownHeadingDelimiter ThemeOrange +hi! link markdownUrlTitleDelimiter ThemeGreen + +hi! link markdownLink ThemeGreen +hi! link markdownWikiLink ThemeViolet +"hi! link markdownUrl ThemeOrange +hi! link markdownUrl ThemeRed +hi! link markdownUrlProtocol ThemeGreenItalic +hi! link markdownInlineUrl ThemeOrange + +hi! link markdownLinkText ThemeViolet +hi! link markdownIdDeclaration markdownLinkText + +hi! link pandocAtxHeader ThemeRed +hi! link pandocAtxStart ThemeOrange + + +"call s:HL('markdownItalic', s:fg3, s:none, s:italic) +"call s:HL('markdownLinkText', s:gray, s:none, s:underline) + + +" Remove functions +delf hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F s:guibg +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F s:ctermbg + diff --git a/app-config/nvim/soft-chaparral-monobiome-dark.theme.vim b/app-config/nvim/soft-chaparral-monobiome-dark.theme.vim new file mode 100644 index 0000000..2745a1c --- /dev/null +++ b/app-config/nvim/soft-chaparral-monobiome-dark.theme.vim @@ -0,0 +1,995 @@ +" vi:syntax=vim +" +" Top-level remarks: +" +" - `hi` sets highlight colors for syntax groups, allowing one to specify fg and bg colors +" for GUI and terminal Vim. +" - `link` allows for linking one syntax group to another, reusing the same color +" settings. Language-specific groups can then point to one of the base color highlight +" groups, for example, without needing to repeat the raw color values. +" +" There are several kinds of syntax identifiers: +" +" - Vim/editor related (e.g., Normal, Folded): these control colors of central Vim +" elements, like whitespace, bold text, the foldcolumn, etc +" - Generic syntax identifiers (e.g., Boolean, Conditional): these are key groups for +" syntax elements that various language syntax files link to. For instance, Python +" syntax files might have specific patterns that match function keywords like "def," and +" the resulting syntax region can be highlighted by linking it to the core "Function" +" highlight identifier. +" - Treesitter-based identifiers (e.g., @variable, @boolean): highlight groups for +" treesitter-based syntax highlighting, which can replace regex-based matching when +" enabled for richer (and often faster) highlighting. These groups can be linked to the +" core identifiers like any other language. +" +" *Note*: each of these identifiers can add a lang-specific suffix to style those groups +" as they apply to particular languages. For ex, `@boolean.python ThemeRed` would style +" Python booleans red, while the lang-agnostic `@boolean` definition remains. +" - Plugin-oriented identifiers (e.g., SpellBad, ErrorFloat): these are groups mostly core +" to vim/nvim, but often appear only in the context of plugins or certain modules (like +" LSP). For instance, ErrorFloat styles floating windows that might be drawn by nvim's +" built-in LSP hover info. + +" GUI color definitions +let s:gui00 = "#322d28" +let g:base16_gui00 = "#322d28" +let s:gui01 = "#3f3935" +let g:base16_gui01 = "#3f3935" +let s:gui02 = "#4c4642" +let g:base16_gui02 = "#4c4642" +let s:gui03 = "#5a544f" +let g:base16_gui03 = "#5a544f" +let s:gui04 = "#c3bcb7" +let g:base16_gui04 = "#c3bcb7" +let s:gui05 = "#d3ccc7" +let g:base16_gui05 = "#d3ccc7" +let s:gui06 = "#e4ddd7" +let g:base16_gui06 = "#e4ddd7" +let s:gui07 = "#f4ede7" +let g:base16_gui07 = "#f4ede7" +let s:gui08 = "#f37060" +let g:base16_gui08 = "#f37060" +let s:gui09 = "#d98937" +let g:base16_gui09 = "#d98937" +let s:gui0A = "#a7a15f" +let g:base16_gui0A = "#a7a15f" +let s:gui0B = "#6eb178" +let g:base16_gui0B = "#6eb178" +let s:gui0C = "#6eb178" +let g:base16_gui0C = "#6eb178" +let s:gui0D = "#799ee3" +let g:base16_gui0D = "#799ee3" +let s:gui0E = "#799ee3" +let g:base16_gui0E = "#799ee3" +let s:gui0F = "#f37060" +let g:base16_gui0F = "#f37060" + +let s:grey = "#857f7a" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" + +let s:cterm01 = "10" +let g:base16_cterm01 = "10" +let s:cterm02 = "11" +let g:base16_cterm02 = "11" +let s:cterm04 = "12" +let g:base16_cterm04 = "12" +let s:cterm06 = "13" +let g:base16_cterm06 = "13" +let s:cterm09 = "09" +let g:base16_cterm09 = "09" +let s:cterm0F = "14" +let g:base16_cterm0F = "14" + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#322d28" + let g:terminal_color_1 = "#f37060" + let g:terminal_color_2 = "#6eb178" + let g:terminal_color_3 = "#a7a15f" + let g:terminal_color_4 = "#799ee3" + let g:terminal_color_5 = "#799ee3" + let g:terminal_color_6 = "#6eb178" + let g:terminal_color_7 = "#d3ccc7" + let g:terminal_color_8 = "#5a544f" + let g:terminal_color_9 = "#f37060" + let g:terminal_color_10 = "#6eb178" + let g:terminal_color_11 = "#a7a15f" + let g:terminal_color_12 = "#799ee3" + let g:terminal_color_13 = "#799ee3" + let g:terminal_color_14 = "#6eb178" + let g:terminal_color_15 = "#f4ede7" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif + +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#322d28", + \ "#f37060", + \ "#6eb178", + \ "#a7a15f", + \ "#799ee3", + \ "#799ee3", + \ "#6eb178", + \ "#d3ccc7", + \ "#5a544f", + \ "#f37060", + \ "#6eb178", + \ "#a7a15f", + \ "#799ee3", + \ "#799ee3", + \ "#6eb178", + \ "#f4ede7", + \ ] +endif + +let s:guibg = s:gui00 +let s:ctermbg = s:cterm00 + +" Theme setup +hi clear +syntax reset +let g:colors_name = "active" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + " For a given syntax group, sets the GUI and terminal foreground and backgrounds + " Optional parameters are interpreted as `attr` and `guisp`, the first of which appears + " to be a modifier for the group (e.g., bold, italic), and `guisp` appears to be + " 'special' colors used for underlines in the GUI. + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=" . a:guifg + endif + endif + + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=" . a:guibg + endif + endif + + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=" . l:guisp + endif + endif +endfunction + + +fun hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + + +" color groups for interpretability +call hi("ThemeBg0", s:gui00, "", s:cterm00, "", "", "") +call hi("ThemeBg1", s:gui01, "", s:cterm01, "", "", "") +call hi("ThemeBg2", s:gui02, "", s:cterm02, "", "", "") +call hi("ThemeBg3", s:gui03, "", s:cterm03, "", "", "") +call hi("ThemeFg3", s:gui04, "", s:cterm04, "", "", "") +call hi("ThemeFg2", s:gui05, "", s:cterm05, "", "", "") +call hi("ThemeFg1", s:gui06, "", s:cterm06, "", "", "") +call hi("ThemeFg0", s:gui07, "", s:cterm07, "", "", "") + +call hi("ThemeBg0bold", s:gui00, "", s:cterm00, "", "bold", "") +call hi("ThemeBg1bold", s:gui01, "", s:cterm01, "", "bold", "") +call hi("ThemeBg2bold", s:gui02, "", s:cterm02, "", "bold", "") +call hi("ThemeBg3bold", s:gui03, "", s:cterm03, "", "bold", "") +call hi("ThemeFg3bold", s:gui04, "", s:cterm04, "", "bold", "") +call hi("ThemeFg2bold", s:gui05, "", s:cterm05, "", "bold", "") +call hi("ThemeFg1bold", s:gui06, "", s:cterm06, "", "bold", "") +call hi("ThemeFg0bold", s:gui07, "", s:cterm07, "", "bold", "") + +call hi("ThemeBg0Italic", s:gui00, "", s:cterm00, "", "italic", "") +call hi("ThemeBg1Italic", s:gui01, "", s:cterm01, "", "italic", "") +call hi("ThemeBg2Italic", s:gui02, "", s:cterm02, "", "italic", "") +call hi("ThemeBg3Italic", s:gui03, "", s:cterm03, "", "italic", "") +call hi("ThemeFg3Italic", s:gui04, "", s:cterm04, "", "italic", "") +call hi("ThemeFg2Italic", s:gui05, "", s:cterm05, "", "italic", "") +call hi("ThemeFg1Italic", s:gui06, "", s:cterm06, "", "italic", "") +call hi("ThemeFg0Italic", s:gui07, "", s:cterm07, "", "italic", "") + +call hi("ThemeRed", s:gui08, "", s:cterm08, "", "", "") +call hi("ThemeOrange", s:gui09, "", s:cterm09, "", "", "") +call hi("ThemeYellow", s:gui0A, "", s:cterm0A, "", "", "") +call hi("ThemeGreen", s:gui0B, "", s:cterm0B, "", "", "") +call hi("ThemeCyan", s:gui0C, "", s:cterm0C, "", "", "") +call hi("ThemeBlue", s:gui0D, "", s:cterm0D, "", "", "") +call hi("ThemeViolet", s:gui0E, "", s:cterm0E, "", "", "") +call hi("ThemeMagenta", s:gui0F, "", s:cterm0F, "", "", "") + +call hi("ThemeRedNone", s:gui08, "", s:cterm08, "", "NONE", "") +call hi("ThemeOrangeNone", s:gui09, "", s:cterm09, "", "NONE", "") +call hi("ThemeYellowNone", s:gui0A, "", s:cterm0A, "", "NONE", "") +call hi("ThemeGreenNone", s:gui0B, "", s:cterm0B, "", "NONE", "") +call hi("ThemeCyanNone", s:gui0C, "", s:cterm0C, "", "NONE", "") +call hi("ThemeBlueNone", s:gui0D, "", s:cterm0D, "", "NONE", "") +call hi("ThemeVioletNone", s:gui0E, "", s:cterm0E, "", "NONE", "") +call hi("ThemeMagentaNone", s:gui0F, "", s:cterm0F, "", "NONE", "") + +call hi("ThemeRedBold", s:gui08, "", s:cterm08, "", "bold", "") +call hi("ThemeOrangeBold", s:gui09, "", s:cterm09, "", "bold", "") +call hi("ThemeYellowBold", s:gui0A, "", s:cterm0A, "", "bold", "") +call hi("ThemeGreenBold", s:gui0B, "", s:cterm0B, "", "bold", "") +call hi("ThemeCyanBold", s:gui0C, "", s:cterm0C, "", "bold", "") +call hi("ThemeBlueBold", s:gui0D, "", s:cterm0D, "", "bold", "") +call hi("ThemeVioletBold", s:gui0E, "", s:cterm0E, "", "bold", "") +call hi("ThemeMagentaBold", s:gui0F, "", s:cterm0F, "", "bold", "") + +call hi("ThemeRedItalic", s:gui08, "", s:cterm08, "", "italic", "") +call hi("ThemeOrangeItalic", s:gui09, "", s:cterm09, "", "italic", "") +call hi("ThemeYellowItalic", s:gui0A, "", s:cterm0A, "", "italic", "") +call hi("ThemeGreenItalic", s:gui0B, "", s:cterm0B, "", "italic", "") +call hi("ThemeCyanItalic", s:gui0C, "", s:cterm0C, "", "italic", "") +call hi("ThemeBlueItalic", s:gui0D, "", s:cterm0D, "", "italic", "") +call hi("ThemeVioletItalic", s:gui0E, "", s:cterm0E, "", "italic", "") +call hi("ThemeMagentaItalic", s:gui0F, "", s:cterm0F, "", "italic", "") + +call hi("ThemeRedBoldItalic", s:gui08, "", s:cterm08, "", "bold,italic", "") +call hi("ThemeOrangeBoldItalic", s:gui09, "", s:cterm09, "", "bold,italic", "") +call hi("ThemeYellowBoldItalic", s:gui0A, "", s:cterm0A, "", "bold,italic", "") +call hi("ThemeGreenBoldItalic", s:gui0B, "", s:cterm0B, "", "bold,italic", "") +call hi("ThemeCyanBoldItalic", s:gui0C, "", s:cterm0C, "", "bold,italic", "") +call hi("ThemeBlueBoldItalic", s:gui0D, "", s:cterm0D, "", "bold,italic", "") +call hi("ThemeVioletBoldItalic", s:gui0E, "", s:cterm0E, "", "bold,italic", "") +call hi("ThemeMagentaBoldItalic", s:gui0F, "", s:cterm0F, "", "bold,italic", "") + +call hi("ThemeGrey", s:grey, "", s:cterm03, "", "", "") +call hi("ThemeGreyItalic", s:grey, "", s:cterm03, "", "italic", "") + + +" Vim editor colors +call hi("Bold", "", "", "", "", "bold", "") +call hi("Italic", "", "", "", "", "italic", "") +call hi("BoldItalic", "", "", "", "", "italic,bold", "") + +call hi("Normal", s:gui05, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Error", s:guibg, s:gui08, s:ctermbg, s:cterm08, "", "") +call hi("ErrorMsg", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call hi("FoldColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("Folded", s:gui03, s:gui01, s:cterm02, s:ctermbg, "", "") +call hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call hi("Macro", s:gui0C, "", s:cterm0C, "", "", "") +call hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call hi("Underlined", "", "", "", "", "underline", "fg") +call hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call hi("WildMenu", s:guibg, s:gui06, s:ctermbg, s:cterm05, "", "") +call hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") + +"call hi("Conceal", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +hi! link Conceal ThemeBlue + +call hi("Cursor", s:gui05, s:guibg, "", "", "inverse", "") +call hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call hi("Whitespace", s:gui03, "", s:cterm03, "", "", "") +call hi("LineNr", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("SignColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("StatusLine", s:gui07, s:gui01, s:cterm07, s:cterm01, "none", "") +call hi("StatusLineNC", s:gui06, s:gui01, s:cterm05, s:cterm01, "none", "") +call hi("VertSplit", s:gui01, s:guibg, s:cterm01, s:ctermbg, "none", "") +call hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLineNr", s:gui04, s:gui00, s:cterm04, s:cterm01, "", "") +call hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "") +call hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "") +call hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "") +call hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "") +call hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax +call hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call hi("Identifier", s:gui06, "", s:cterm05, "", "none", "") +call hi("Keyword", s:gui0D, "", s:cterm0E, "", "none", "") +call hi("Todo", s:gui08, s:guibg, s:cterm08, s:ctermbg, "italic", "") + +hi! link Boolean ThemeOrange +hi! link Character ThemeRed +hi! link Comment ThemeGreyItalic +hi! link Conditional ThemeRed +hi! link Constant ThemeOrange +hi! link Delimiter ThemeFg1 +hi! link Float ThemeOrange +hi! link Function ThemeBlue +hi! link Include ThemeBlue +hi! link Constant ThemeOrange +hi! link Label ThemeOrange +hi! link Number ThemeOrange +hi! link Operator ThemeYellow +hi! link PreProc ThemeOrange +hi! link Repeat ThemeViolet +hi! link Special ThemeYellow +hi! link SpecialChar ThemeMagenta +hi! link Statement ThemeRed +hi! link StorageClass ThemeOrange +hi! link String ThemeGreen +hi! link Structure ThemeOrange +hi! link Tag ThemeOrange +hi! link Type ThemeYellow +hi! link Typedef ThemeOrange + + +" Treesitter +if has("nvim-0.8.0") + hi! link @field ThemeRed + hi! link @property ThemeRed + hi! link @namespace ThemeFg1Italic + hi! link @variable.builtin ThemeFg1Italic + hi! link @variable ThemeFg2 + hi! link @conceal ThemeBlue + + hi! link @text.uri ThemeRedItalic + hi! link @text.reference ThemeRed + + hi! link @annotation ThemeViolet + hi! link @attribute ThemeBlue + + hi! link @boolean ThemeOrange + hi! link @character ThemeRed + hi! link @character.special ThemeMagenta + hi! link @comment Comment + + hi! link @constant ThemeBlue + hi! link @constant.builtin ThemeBlue + + hi! link @constant.macro ThemeRed + + hi! link @keyword.directive.define ThemeViolet + hi! link @keyword.exception ThemeRed + + hi! link @comment.error ThemeRed + hi! link @number.float ThemeRed + hi! link @keyword.function ThemeRed + + hi! link @function ThemeBlue + hi! link @function.builtin ThemeBlue + hi! link @function.call ThemeBlue + hi! link @function.macro ThemeRed + hi! link @function.method ThemeBlue + hi! link @function.method.call ThemeBlue + + hi! link @keyword.debug ThemeRed + hi! link @keyword.conditional ThemeRed + hi! link @keyword.import ThemeViolet + hi! link @keyword.coroutine ThemeViolet + hi! link @keyword.operator ThemeYellow + hi! link @keyword.directive ThemeViolet + hi! link @keyword.repeat ThemeViolet + hi! link @keyword.storage ThemeViolet + hi! link @keyword.return ThemeRed + + hi! link @constructor ThemeBlue + hi! link @namespace.builtin ThemeViolet + + hi! link @none ThemeFg1 + hi! link @number ThemeOrange + hi! link @string ThemeGreen + + hi! link @tag ThemeRed + hi! link @tag.delimiter ThemeViolet + hi! link @tag.attribute ThemeYellow + + " affects markdown + hi! link @markup ThemeYellow + + hi! link @markup.raw ThemeGreen + hi! link @markup.raw.block.lang ThemeFg2Bold + hi! link @markup.raw.block.marker ThemeRed + "call hi("@markup.raw.block.lang", s:gui08, "#1e0000", "", s:ctermbg, "", "") + + hi! link @markup.list ThemeBlue + hi! link @markup.quote ThemeGrey + + hi! link @markup.link ThemeYellow " borders + hi! link @markup.link.text ThemeBlue + hi! link @markup.link.label ThemeYellow + hi! link @markup.link.url ThemeYellow + hi! link @markup.link.dest ThemeFg3 + + hi! link @markup.link.wiki ThemeYellow + hi! link @markup.link.wiki.text ThemeBlue + hi! link @markup.link.wiki.label ThemeYellow + + "hi! link @markup.link.label.symbol ThemeGreen + + "hi! link markdownWikiLink ThemeViolet + " + hi! link @markup.environment ThemeYellow + hi! link @markup.environment.name ThemeYellow + hi! link @markup.math ThemeYellow + hi! link @punctuation.delimiter.latex ThemeOrange + + hi! link @markup.strong Bold + hi! link @markup.emphasis Bold + hi! link @markup.strikethrough ThemeYellow + hi! link @markup.underline ThemeYellow + + hi! link @comment.info ThemeBlue + hi! link @comment.todo ThemeYellow + hi! link @comment.note ThemeBg3 + hi! link @comment.hint ThemeGreen + hi! link @comment.warning ThemeOrange + + hi! link @type ThemeYellow + hi! link @type.builtin ThemeOrange + hi! link @type.definition ThemeViolet + hi! link @type.qualifier ThemeViolet + + " Markdown + " hi! link @spell.markdown ThemeFg3 + + "call hi("@markup.heading.marker", s:gui08, "", "", s:ctermbg, "bold", "") + "hi! link @markup.heading ThemeRed + hi! link @markup.heading.marker ThemeOrange + hi! link @markup.heading.title ThemeRed "Italic + + " set this for a strong background + "call hi("@markup.heading.title", s:gui08, "#440503", "", s:ctermbg, "italic", "") + + hi! link @markup.heading.title.1 Bold + hi! link @markup.heading.title.3 Italic + "hi! link @markup.heading.4.title Italic + + " YAML + hi! link @string.yaml ThemeBlue + hi! link @punctuation.delimiter.yaml ThemeGreen + hi! link @property.yaml ThemeFg2 + + " Diff + hi! link @diff.minus ThemeRed + hi! link @diff.plus ThemeGreen + + call hi("TreesitterContext", "", s:gui00, "", "", "", "") + "hi TreesitterContextLineNumberBottom gui=underline guisp=Gray + "call hi("TreesitterContextBottom", "", "", "", "", "underline", s:gui02) + call hi("TreesitterContextSeparator", s:gui03, "", "", "", "", "") + "call hi("TreesitterContextLineNumberBottom", "", "", "", "", "underline", s:gui02) +endif + +" Standard highlights to be used by plugins +if has("patch-8.0.1038") + call hi("Deprecated", "", "", "", "", "strikethrough", "") +endif +call hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "") + +call hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "") +call hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "") +call hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "") +call hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "") + +call hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningSign", s:gui09, "", s:cterm09, "", "", "") +call hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "") +call hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "") +call hi("OkSign", s:gui0B, "", s:cterm0B, "", "", "") + +call hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "") +call hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call hi("OkFloat", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("NormalFloat", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "") + +call hi("ErrorHighlight", "", "", s:ctermbg, s:cterm08, "underline", s:gui08) +call hi("WarningHighlight", "", "", s:ctermbg, s:cterm09, "underline", s:gui09) +call hi("InfoHighlight", "", "", s:ctermbg, s:cterm0D, "underline", s:gui0D) +call hi("HintHighlight", "", "", s:ctermbg, s:cterm0C, "underline", s:gui0C) +call hi("OkHighlight", "", "", s:ctermbg, s:cterm0B, "underline", s:gui0B) + +call hi("SpellBad", "", "", s:ctermbg, s:cterm08, "undercurl", s:gui08) +call hi("SpellLocal", "", "", s:ctermbg, s:cterm0C, "undercurl", s:gui0C) +call hi("SpellCap", "", "", s:ctermbg, s:cterm0D, "undercurl", s:gui0D) +call hi("SpellRare", "", "", s:ctermbg, s:cterm0E, "undercurl", s:gui0E) + +call hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "") + +" LSP +if has("nvim") + hi! link DiagnosticError ErrorSign + hi! link DiagnosticWarn WarningSign + hi! link DiagnosticInfo InfoSign + hi! link DiagnosticHint HintSign + hi! link DiagnosticOk OkSign + + hi! link DiagnosticFloatingError ErrorFloat + hi! link DiagnosticFloatingWarn WarningFloat + hi! link DiagnosticFloatingInfo InfoFloat + hi! link DiagnosticFloatingHint HintFloat + hi! link DiagnosticFloatingOk OkFloat + + hi! link DiagnosticUnderlineError ErrorHighlight + hi! link DiagnosticUnderlineWarn WarningHighlight + hi! link DiagnosticUnderlineInfo InfoHighlight + hi! link DiagnosticUnderlineHint HintHighlight + hi! link DiagnosticUnderlineOk OkHighlight + + hi! link DiagnosticsVirtualTextError ErrorSign + hi! link DiagnosticsVirtualTextWarning WarningSign + hi! link DiagnosticsVirtualTextInfo InfoSign + hi! link DiagnosticsVirtualTextHint HintSign + hi! link DiagnosticsVirtualTextOk OkSign + + " Remove untill endif on next nvim release + hi! link LspDiagnosticsSignError ErrorSign + hi! link LspDiagnosticsSignWarning WarningSign + hi! link LspDiagnosticsSignInfo InfoSign + hi! link LspDiagnosticsSignHint HintSign + + hi! link LspDiagnosticsVirtualTextError ErrorSign + hi! link LspDiagnosticsVirtualTextWarning WarningSign + hi! link LspDiagnosticsVirtualTextInfo InfoSign + hi! link LspDiagnosticsVirtualTextHint HintSign + + hi! link LspDiagnosticsFloatingError ErrorFloat + hi! link LspDiagnosticsFloatingWarning WarningFloat + hi! link LspDiagnosticsFloatingInfo InfoFloat + hi! link LspDiagnosticsFloatingHint HintFloat + + hi! link LspDiagnosticsUnderlineError ErrorHighlight + hi! link LspDiagnosticsUnderlineWarning WarningHighlight + hi! link LspDiagnosticsUnderlineInfo InfoHighlight + hi! link LspDiagnosticsUnderlineHint HintHighlight + + hi! link LspReferenceText ReferenceText + hi! link LspReferenceRead ReferenceRead + hi! link LspReferenceWrite ReferenceWrite +endif + +" " +" LANGUAGES +" " + +" C +call hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# +call hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csType", s:gui08, "", s:cterm08, "", "", "") +call hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" Clap +hi! link ClapInput ColorColumn +hi! link ClapSpinner ColorColumn +hi! link ClapDisplay Default +hi! link ClapPreview ColorColumn +hi! link ClapCurrentSelection CursorLine +hi! link ClapNoMatchesFound ErrorFloat + +" Coc +hi! link CocErrorSign ErrorSign +hi! link CocWarningSign WarningSign +hi! link CocInfoSign InfoSign +hi! link CocHintSign HintSign + +hi! link CocErrorFloat ErrorFloat +hi! link CocWarningFloat WarningFloat +hi! link CocInfoFloat InfoFloat +hi! link CocHintFloat HintFloat + +hi! link CocErrorHighlight ErrorHighlight +hi! link CocWarningHighlight WarningHighlight +hi! link CocInfoHighlight InfoHighlight +hi! link CocHintHighlight HintHighlight + +hi! link CocSem_angle Keyword +hi! link CocSem_annotation Keyword +hi! link CocSem_attribute Type +hi! link CocSem_bitwise Keyword +hi! link CocSem_boolean Boolean +hi! link CocSem_brace Normal +hi! link CocSem_bracket Normal +hi! link CocSem_builtinAttribute Type +hi! link CocSem_builtinType Type +hi! link CocSem_character String +hi! link CocSem_class Structure +hi! link CocSem_colon Normal +hi! link CocSem_comma Normal +hi! link CocSem_comment Comment +hi! link CocSem_comparison Keyword +hi! link CocSem_concept Keyword +hi! link CocSem_constParameter Identifier +hi! link CocSem_dependent Keyword +hi! link CocSem_dot Keyword +hi! link CocSem_enum Structure +hi! link CocSem_enumMember Constant +hi! link CocSem_escapeSequence Type +hi! link CocSem_event Identifier +hi! link CocSem_formatSpecifier Type +hi! link CocSem_function Function +hi! link CocSem_interface Type +hi! link CocSem_keyword Keyword +hi! link CocSem_label Keyword +hi! link CocSem_logical Keyword +hi! link CocSem_macro Macro +hi! link CocSem_method Function +hi! link CocSem_modifier Keyword +hi! link CocSem_namespace Identifier +hi! link CocSem_number Number +hi! link CocSem_operator Operator +hi! link CocSem_parameter Identifier +hi! link CocSem_parenthesis Normal +hi! link CocSem_property Identifier +hi! link CocSem_punctuation Keyword +hi! link CocSem_regexp Type +hi! link CocSem_selfKeyword Constant +hi! link CocSem_semicolon Normal +hi! link CocSem_string String +hi! link CocSem_struct Structure +hi! link CocSem_type Type +hi! link CocSem_typeAlias Type +hi! link CocSem_typeParameter Type +hi! link CocSem_unknown Normal +hi! link CocSem_variable Identifier + +call hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "") +call hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("CocSessionsName", s:gui06, "", s:cterm05, "", "", "") + +" CSS +hi! link cssBraces ThemeBlue +hi! link cssFunctionName ThemeYellow +hi! link cssIdentifier ThemeOrange +hi! link cssClassName ThemeGreen +hi! link cssColor ThemeBlue +hi! link cssSelectorOp ThemeBlue +hi! link cssSelectorOp2 ThemeBlue +hi! link cssImportant ThemeGreen +hi! link cssVendor ThemeFg1 + +hi! link cssTextProp ThemeCyan +hi! link cssAnimationProp ThemeCyan +hi! link cssUIProp ThemeYellow +hi! link cssTransformProp ThemeCyan +hi! link cssTransitionProp ThemeCyan +hi! link cssPrintProp ThemeCyan +hi! link cssPositioningProp ThemeYellow +hi! link cssBoxProp ThemeCyan +hi! link cssFontDescriptorProp ThemeCyan +hi! link cssFlexibleBoxProp ThemeCyan +hi! link cssBorderOutlineProp ThemeCyan +hi! link cssBackgroundProp ThemeCyan +hi! link cssMarginProp ThemeCyan +hi! link cssListProp ThemeCyan +hi! link cssTableProp ThemeCyan +hi! link cssFontProp ThemeCyan +hi! link cssPaddingProp ThemeCyan +hi! link cssDimensionProp ThemeCyan +hi! link cssRenderProp ThemeCyan +hi! link cssColorProp ThemeCyan +hi! link cssGeneratedContentProp ThemeCyan + + +" CMP +hi! link CmpItemAbbrDeprecated Deprecated +hi! link CmpItemAbbrMatch SearchMatch +hi! link CmpItemAbbrMatchFuzzy SearchMatch +hi! link CmpItemKindClass Type +hi! link CmpItemKindColor Keyword +hi! link CmpItemKindConstant Constant +hi! link CmpItemKindConstructor Special +hi! link CmpItemKindEnum Type +hi! link CmpItemKindEnumMember Constant +hi! link CmpItemKindEvent Identifier +hi! link CmpItemKindField Character +hi! link CmpItemKindFile Directory +hi! link CmpItemKindFolder Directory +hi! link CmpItemKindFunction Function +hi! link CmpItemKindInterface Type +hi! link CmpItemKindKeyword Keyword +hi! link CmpItemKindMethod Function +hi! link CmpItemKindModule Namespace +hi! link CmpItemKindOperator Operator +hi! link CmpItemKindProperty Identifier +hi! link CmpItemKindReference Character +hi! link CmpItemKindSnippet String +hi! link CmpItemKindStruct Type +hi! link CmpItemKindText Text +hi! link CmpItemKindUnit Namespace +hi! link CmpItemKindValue Comment +hi! link CmpItemKindVariable Identifier + +if has("nvim-0.8.0") + hi! link CmpItemKindField @field + hi! link CmpItemKindProperty @property +endif + +" Diff +call hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("DiffChange", s:gui06, s:gui01, s:cterm05, s:cterm01, "", "") +call hi("DiffDelete", s:gui02, s:guibg, s:cterm02, s:ctermbg, "", "") +call hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("DiffAdded", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffFile", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("DiffNewFile", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffLine", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +call hi("DiffRemoved", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") + +" Git +call hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter +hi! link GitGutterAdd GitAddSign +hi! link GitGutterChange GitChangeSign +hi! link GitGutterDelete GitDeleteSign +hi! link GitGutterChangeDelete GitChangeDeleteSign + +" indent-blankline (nvim) +if has("nvim") + call hi("@ibl.indent.char.1",s:gui01, "", s:cterm01, "", "", "") +endif + +" HTML +call hi("htmlBold", s:gui07, "", s:cterm0A, "", "bold", "") +call hi("htmlItalic", s:gui06, "", s:cterm0E, "", "italic", "") +call hi("htmlEndTag", s:gui06, "", s:cterm05, "", "", "") +call hi("htmlTag", s:gui06, "", s:cterm05, "", "", "") + +" JavaScript +call hi("javaScript", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptBraces", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript +call hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail +call hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown +call hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownError", s:gui06, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" Matchup +call hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "") + +" NERDTree +call hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call hi("NERDTreeExecFile", s:gui06, "", s:cterm05, "", "", "") + +" Netrw +hi! link netrwDir ThemeCyan +hi! link netrwClassify ThemeCyan +hi! link netrwLink ThemeBg3 +hi! link netrwSymLink ThemeFg1 +hi! link netrwExe ThemeYellow +hi! link netrwComment ThemeBg3 +hi! link netrwList ThemeBlue +hi! link netrwHelpCmd ThemeCyan +hi! link netrwCmdSep ThemeFg3 +hi! link netrwVersion ThemeGreen + +" PHP +call hi("phpMemberSelector", s:gui06, "", s:cterm05, "", "", "") +call hi("phpComparison", s:gui06, "", s:cterm05, "", "", "") +call hi("phpParent", s:gui06, "", s:cterm05, "", "", "") +call hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python +"call hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" hi! link pythonBuiltin ThemeCyan +" hi! link pythonBuiltinObj ThemeCyan +" hi! link pythonBuiltinFunc ThemeGreen +" hi! link pythonFunction Function +" hi! link pythonDecorator ThemeYellow +" hi! link pythonDecoratorName ThemeYellow +" hi! link pythonTripleQuotes ThemeGreenItalic +" hi! link pythonInclude ThemeBlue +" hi! link pythonImport ThemeBlue +" hi! link pythonRun ThemeBlue +" hi! link pythonCoding ThemeBlue +" hi! link pythonOperator ThemeRed +" hi! link pythonException ThemeRed +" hi! link pythonExceptions ThemeYellow +" hi! link pythonBoolean ThemeYellow +" hi! link pythonDot ThemeFg3 +" hi! link pythonConditional ThemeCyan +" hi! link pythonRepeat ThemeRed +" hi! link pythonDottedName ThemeGreen + + +" Ruby +call hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS +call hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify +hi! link SignifySignAdd GitAddSign +hi! link SignifySignChange GitChangeSign +hi! link SignifySignDelete GitDeleteSign + +" Startify +call hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Java +call hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" JSON +hi! link jsonKeyword ThemeGreen +hi! link jsonQuote ThemeGreen +hi! link jsonBraces ThemeFg1 +hi! link jsonString ThemeFg1 + +" Markdown +hi! link markdownH1 ThemeRedBold +hi! link markdownH2 ThemeRed +hi! link markdownH3 ThemeRed +hi! link markdownH4 ThemeRed +hi! link markdownH5 ThemeRed +hi! link markdownH6 ThemeRed + +hi! link markdownCode ThemeYellow +hi! link markdownCodeBlock ThemeYellow +hi! link markdownCodeDelimiter ThemeYellow + +hi! link markdownBlockquote ThemeGrey +hi! link markdownListMarker ThemeBlue +hi! link markdownOrderedListMarker ThemeBlue +hi! link markdownRule ThemeGrey +hi! link markdownHeadingRule ThemeGrey + +hi! link markdownUrlDelimiter ThemeFg3 +hi! link markdownLinkDelimiter ThemeFg3 +hi! link markdownLinkTextDelimiter ThemeFg3 +hi! link markdownHeadingDelimiter ThemeOrange +hi! link markdownUrlTitleDelimiter ThemeGreen + +hi! link markdownLink ThemeGreen +hi! link markdownWikiLink ThemeViolet +"hi! link markdownUrl ThemeOrange +hi! link markdownUrl ThemeRed +hi! link markdownUrlProtocol ThemeGreenItalic +hi! link markdownInlineUrl ThemeOrange + +hi! link markdownLinkText ThemeViolet +hi! link markdownIdDeclaration markdownLinkText + +hi! link pandocAtxHeader ThemeRed +hi! link pandocAtxStart ThemeOrange + + +"call s:HL('markdownItalic', s:fg3, s:none, s:italic) +"call s:HL('markdownLinkText', s:gray, s:none, s:underline) + + +" Remove functions +delf hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F s:guibg +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F s:ctermbg + diff --git a/app-config/nvim/soft-chaparral-monobiome-light.theme.vim b/app-config/nvim/soft-chaparral-monobiome-light.theme.vim new file mode 100644 index 0000000..6f917a9 --- /dev/null +++ b/app-config/nvim/soft-chaparral-monobiome-light.theme.vim @@ -0,0 +1,995 @@ +" vi:syntax=vim +" +" Top-level remarks: +" +" - `hi` sets highlight colors for syntax groups, allowing one to specify fg and bg colors +" for GUI and terminal Vim. +" - `link` allows for linking one syntax group to another, reusing the same color +" settings. Language-specific groups can then point to one of the base color highlight +" groups, for example, without needing to repeat the raw color values. +" +" There are several kinds of syntax identifiers: +" +" - Vim/editor related (e.g., Normal, Folded): these control colors of central Vim +" elements, like whitespace, bold text, the foldcolumn, etc +" - Generic syntax identifiers (e.g., Boolean, Conditional): these are key groups for +" syntax elements that various language syntax files link to. For instance, Python +" syntax files might have specific patterns that match function keywords like "def," and +" the resulting syntax region can be highlighted by linking it to the core "Function" +" highlight identifier. +" - Treesitter-based identifiers (e.g., @variable, @boolean): highlight groups for +" treesitter-based syntax highlighting, which can replace regex-based matching when +" enabled for richer (and often faster) highlighting. These groups can be linked to the +" core identifiers like any other language. +" +" *Note*: each of these identifiers can add a lang-specific suffix to style those groups +" as they apply to particular languages. For ex, `@boolean.python ThemeRed` would style +" Python booleans red, while the lang-agnostic `@boolean` definition remains. +" - Plugin-oriented identifiers (e.g., SpellBad, ErrorFloat): these are groups mostly core +" to vim/nvim, but often appear only in the context of plugins or certain modules (like +" LSP). For instance, ErrorFloat styles floating windows that might be drawn by nvim's +" built-in LSP hover info. + +" GUI color definitions +let s:gui00 = "#d3ccc7" +let g:base16_gui00 = "#d3ccc7" +let s:gui01 = "#c3bcb7" +let g:base16_gui01 = "#c3bcb7" +let s:gui02 = "#b3ada7" +let g:base16_gui02 = "#b3ada7" +let s:gui03 = "#a49d98" +let g:base16_gui03 = "#a49d98" +let s:gui04 = "#3f3935" +let g:base16_gui04 = "#3f3935" +let s:gui05 = "#322d28" +let g:base16_gui05 = "#322d28" +let s:gui06 = "#26211c" +let g:base16_gui06 = "#26211c" +let s:gui07 = "#1a1511" +let g:base16_gui07 = "#1a1511" +let s:gui08 = "#9d1a13" +let g:base16_gui08 = "#9d1a13" +let s:gui09 = "#7c4706" +let g:base16_gui09 = "#7c4706" +let s:gui0A = "#5b572e" +let g:base16_gui0A = "#5b572e" +let s:gui0B = "#2e6337" +let g:base16_gui0B = "#2e6337" +let s:gui0C = "#2e6337" +let g:base16_gui0C = "#2e6337" +let s:gui0D = "#2d5299" +let g:base16_gui0D = "#2d5299" +let s:gui0E = "#2d5299" +let g:base16_gui0E = "#2d5299" +let s:gui0F = "#9d1a13" +let g:base16_gui0F = "#9d1a13" + +let s:grey = "#76706b" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" + +let s:cterm01 = "10" +let g:base16_cterm01 = "10" +let s:cterm02 = "11" +let g:base16_cterm02 = "11" +let s:cterm04 = "12" +let g:base16_cterm04 = "12" +let s:cterm06 = "13" +let g:base16_cterm06 = "13" +let s:cterm09 = "09" +let g:base16_cterm09 = "09" +let s:cterm0F = "14" +let g:base16_cterm0F = "14" + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#d3ccc7" + let g:terminal_color_1 = "#9d1a13" + let g:terminal_color_2 = "#2e6337" + let g:terminal_color_3 = "#5b572e" + let g:terminal_color_4 = "#2d5299" + let g:terminal_color_5 = "#2d5299" + let g:terminal_color_6 = "#2e6337" + let g:terminal_color_7 = "#322d28" + let g:terminal_color_8 = "#a49d98" + let g:terminal_color_9 = "#9d1a13" + let g:terminal_color_10 = "#2e6337" + let g:terminal_color_11 = "#5b572e" + let g:terminal_color_12 = "#2d5299" + let g:terminal_color_13 = "#2d5299" + let g:terminal_color_14 = "#2e6337" + let g:terminal_color_15 = "#1a1511" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif + +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#d3ccc7", + \ "#9d1a13", + \ "#2e6337", + \ "#5b572e", + \ "#2d5299", + \ "#2d5299", + \ "#2e6337", + \ "#322d28", + \ "#a49d98", + \ "#9d1a13", + \ "#2e6337", + \ "#5b572e", + \ "#2d5299", + \ "#2d5299", + \ "#2e6337", + \ "#1a1511", + \ ] +endif + +let s:guibg = s:gui00 +let s:ctermbg = s:cterm00 + +" Theme setup +hi clear +syntax reset +let g:colors_name = "active" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + " For a given syntax group, sets the GUI and terminal foreground and backgrounds + " Optional parameters are interpreted as `attr` and `guisp`, the first of which appears + " to be a modifier for the group (e.g., bold, italic), and `guisp` appears to be + " 'special' colors used for underlines in the GUI. + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=" . a:guifg + endif + endif + + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=" . a:guibg + endif + endif + + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=" . l:guisp + endif + endif +endfunction + + +fun hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + + +" color groups for interpretability +call hi("ThemeBg0", s:gui00, "", s:cterm00, "", "", "") +call hi("ThemeBg1", s:gui01, "", s:cterm01, "", "", "") +call hi("ThemeBg2", s:gui02, "", s:cterm02, "", "", "") +call hi("ThemeBg3", s:gui03, "", s:cterm03, "", "", "") +call hi("ThemeFg3", s:gui04, "", s:cterm04, "", "", "") +call hi("ThemeFg2", s:gui05, "", s:cterm05, "", "", "") +call hi("ThemeFg1", s:gui06, "", s:cterm06, "", "", "") +call hi("ThemeFg0", s:gui07, "", s:cterm07, "", "", "") + +call hi("ThemeBg0bold", s:gui00, "", s:cterm00, "", "bold", "") +call hi("ThemeBg1bold", s:gui01, "", s:cterm01, "", "bold", "") +call hi("ThemeBg2bold", s:gui02, "", s:cterm02, "", "bold", "") +call hi("ThemeBg3bold", s:gui03, "", s:cterm03, "", "bold", "") +call hi("ThemeFg3bold", s:gui04, "", s:cterm04, "", "bold", "") +call hi("ThemeFg2bold", s:gui05, "", s:cterm05, "", "bold", "") +call hi("ThemeFg1bold", s:gui06, "", s:cterm06, "", "bold", "") +call hi("ThemeFg0bold", s:gui07, "", s:cterm07, "", "bold", "") + +call hi("ThemeBg0Italic", s:gui00, "", s:cterm00, "", "italic", "") +call hi("ThemeBg1Italic", s:gui01, "", s:cterm01, "", "italic", "") +call hi("ThemeBg2Italic", s:gui02, "", s:cterm02, "", "italic", "") +call hi("ThemeBg3Italic", s:gui03, "", s:cterm03, "", "italic", "") +call hi("ThemeFg3Italic", s:gui04, "", s:cterm04, "", "italic", "") +call hi("ThemeFg2Italic", s:gui05, "", s:cterm05, "", "italic", "") +call hi("ThemeFg1Italic", s:gui06, "", s:cterm06, "", "italic", "") +call hi("ThemeFg0Italic", s:gui07, "", s:cterm07, "", "italic", "") + +call hi("ThemeRed", s:gui08, "", s:cterm08, "", "", "") +call hi("ThemeOrange", s:gui09, "", s:cterm09, "", "", "") +call hi("ThemeYellow", s:gui0A, "", s:cterm0A, "", "", "") +call hi("ThemeGreen", s:gui0B, "", s:cterm0B, "", "", "") +call hi("ThemeCyan", s:gui0C, "", s:cterm0C, "", "", "") +call hi("ThemeBlue", s:gui0D, "", s:cterm0D, "", "", "") +call hi("ThemeViolet", s:gui0E, "", s:cterm0E, "", "", "") +call hi("ThemeMagenta", s:gui0F, "", s:cterm0F, "", "", "") + +call hi("ThemeRedNone", s:gui08, "", s:cterm08, "", "NONE", "") +call hi("ThemeOrangeNone", s:gui09, "", s:cterm09, "", "NONE", "") +call hi("ThemeYellowNone", s:gui0A, "", s:cterm0A, "", "NONE", "") +call hi("ThemeGreenNone", s:gui0B, "", s:cterm0B, "", "NONE", "") +call hi("ThemeCyanNone", s:gui0C, "", s:cterm0C, "", "NONE", "") +call hi("ThemeBlueNone", s:gui0D, "", s:cterm0D, "", "NONE", "") +call hi("ThemeVioletNone", s:gui0E, "", s:cterm0E, "", "NONE", "") +call hi("ThemeMagentaNone", s:gui0F, "", s:cterm0F, "", "NONE", "") + +call hi("ThemeRedBold", s:gui08, "", s:cterm08, "", "bold", "") +call hi("ThemeOrangeBold", s:gui09, "", s:cterm09, "", "bold", "") +call hi("ThemeYellowBold", s:gui0A, "", s:cterm0A, "", "bold", "") +call hi("ThemeGreenBold", s:gui0B, "", s:cterm0B, "", "bold", "") +call hi("ThemeCyanBold", s:gui0C, "", s:cterm0C, "", "bold", "") +call hi("ThemeBlueBold", s:gui0D, "", s:cterm0D, "", "bold", "") +call hi("ThemeVioletBold", s:gui0E, "", s:cterm0E, "", "bold", "") +call hi("ThemeMagentaBold", s:gui0F, "", s:cterm0F, "", "bold", "") + +call hi("ThemeRedItalic", s:gui08, "", s:cterm08, "", "italic", "") +call hi("ThemeOrangeItalic", s:gui09, "", s:cterm09, "", "italic", "") +call hi("ThemeYellowItalic", s:gui0A, "", s:cterm0A, "", "italic", "") +call hi("ThemeGreenItalic", s:gui0B, "", s:cterm0B, "", "italic", "") +call hi("ThemeCyanItalic", s:gui0C, "", s:cterm0C, "", "italic", "") +call hi("ThemeBlueItalic", s:gui0D, "", s:cterm0D, "", "italic", "") +call hi("ThemeVioletItalic", s:gui0E, "", s:cterm0E, "", "italic", "") +call hi("ThemeMagentaItalic", s:gui0F, "", s:cterm0F, "", "italic", "") + +call hi("ThemeRedBoldItalic", s:gui08, "", s:cterm08, "", "bold,italic", "") +call hi("ThemeOrangeBoldItalic", s:gui09, "", s:cterm09, "", "bold,italic", "") +call hi("ThemeYellowBoldItalic", s:gui0A, "", s:cterm0A, "", "bold,italic", "") +call hi("ThemeGreenBoldItalic", s:gui0B, "", s:cterm0B, "", "bold,italic", "") +call hi("ThemeCyanBoldItalic", s:gui0C, "", s:cterm0C, "", "bold,italic", "") +call hi("ThemeBlueBoldItalic", s:gui0D, "", s:cterm0D, "", "bold,italic", "") +call hi("ThemeVioletBoldItalic", s:gui0E, "", s:cterm0E, "", "bold,italic", "") +call hi("ThemeMagentaBoldItalic", s:gui0F, "", s:cterm0F, "", "bold,italic", "") + +call hi("ThemeGrey", s:grey, "", s:cterm03, "", "", "") +call hi("ThemeGreyItalic", s:grey, "", s:cterm03, "", "italic", "") + + +" Vim editor colors +call hi("Bold", "", "", "", "", "bold", "") +call hi("Italic", "", "", "", "", "italic", "") +call hi("BoldItalic", "", "", "", "", "italic,bold", "") + +call hi("Normal", s:gui05, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Error", s:guibg, s:gui08, s:ctermbg, s:cterm08, "", "") +call hi("ErrorMsg", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call hi("FoldColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("Folded", s:gui03, s:gui01, s:cterm02, s:ctermbg, "", "") +call hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call hi("Macro", s:gui0C, "", s:cterm0C, "", "", "") +call hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call hi("Underlined", "", "", "", "", "underline", "fg") +call hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call hi("WildMenu", s:guibg, s:gui06, s:ctermbg, s:cterm05, "", "") +call hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") + +"call hi("Conceal", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +hi! link Conceal ThemeBlue + +call hi("Cursor", s:gui05, s:guibg, "", "", "inverse", "") +call hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call hi("Whitespace", s:gui03, "", s:cterm03, "", "", "") +call hi("LineNr", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("SignColumn", s:gui03, s:guibg, s:cterm03, s:ctermbg, "", "") +call hi("StatusLine", s:gui07, s:gui01, s:cterm07, s:cterm01, "none", "") +call hi("StatusLineNC", s:gui06, s:gui01, s:cterm05, s:cterm01, "none", "") +call hi("VertSplit", s:gui01, s:guibg, s:cterm01, s:ctermbg, "none", "") +call hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("CursorLineNr", s:gui04, s:gui00, s:cterm04, s:cterm01, "", "") +call hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "") +call hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "") +call hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "") +call hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "") +call hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax +call hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call hi("Identifier", s:gui06, "", s:cterm05, "", "none", "") +call hi("Keyword", s:gui0D, "", s:cterm0E, "", "none", "") +call hi("Todo", s:gui08, s:guibg, s:cterm08, s:ctermbg, "italic", "") + +hi! link Boolean ThemeOrange +hi! link Character ThemeRed +hi! link Comment ThemeGreyItalic +hi! link Conditional ThemeRed +hi! link Constant ThemeOrange +hi! link Delimiter ThemeFg1 +hi! link Float ThemeOrange +hi! link Function ThemeBlue +hi! link Include ThemeBlue +hi! link Constant ThemeOrange +hi! link Label ThemeOrange +hi! link Number ThemeOrange +hi! link Operator ThemeYellow +hi! link PreProc ThemeOrange +hi! link Repeat ThemeViolet +hi! link Special ThemeYellow +hi! link SpecialChar ThemeMagenta +hi! link Statement ThemeRed +hi! link StorageClass ThemeOrange +hi! link String ThemeGreen +hi! link Structure ThemeOrange +hi! link Tag ThemeOrange +hi! link Type ThemeYellow +hi! link Typedef ThemeOrange + + +" Treesitter +if has("nvim-0.8.0") + hi! link @field ThemeRed + hi! link @property ThemeRed + hi! link @namespace ThemeFg1Italic + hi! link @variable.builtin ThemeFg1Italic + hi! link @variable ThemeFg2 + hi! link @conceal ThemeBlue + + hi! link @text.uri ThemeRedItalic + hi! link @text.reference ThemeRed + + hi! link @annotation ThemeViolet + hi! link @attribute ThemeBlue + + hi! link @boolean ThemeOrange + hi! link @character ThemeRed + hi! link @character.special ThemeMagenta + hi! link @comment Comment + + hi! link @constant ThemeBlue + hi! link @constant.builtin ThemeBlue + + hi! link @constant.macro ThemeRed + + hi! link @keyword.directive.define ThemeViolet + hi! link @keyword.exception ThemeRed + + hi! link @comment.error ThemeRed + hi! link @number.float ThemeRed + hi! link @keyword.function ThemeRed + + hi! link @function ThemeBlue + hi! link @function.builtin ThemeBlue + hi! link @function.call ThemeBlue + hi! link @function.macro ThemeRed + hi! link @function.method ThemeBlue + hi! link @function.method.call ThemeBlue + + hi! link @keyword.debug ThemeRed + hi! link @keyword.conditional ThemeRed + hi! link @keyword.import ThemeViolet + hi! link @keyword.coroutine ThemeViolet + hi! link @keyword.operator ThemeYellow + hi! link @keyword.directive ThemeViolet + hi! link @keyword.repeat ThemeViolet + hi! link @keyword.storage ThemeViolet + hi! link @keyword.return ThemeRed + + hi! link @constructor ThemeBlue + hi! link @namespace.builtin ThemeViolet + + hi! link @none ThemeFg1 + hi! link @number ThemeOrange + hi! link @string ThemeGreen + + hi! link @tag ThemeRed + hi! link @tag.delimiter ThemeViolet + hi! link @tag.attribute ThemeYellow + + " affects markdown + hi! link @markup ThemeYellow + + hi! link @markup.raw ThemeGreen + hi! link @markup.raw.block.lang ThemeFg2Bold + hi! link @markup.raw.block.marker ThemeRed + "call hi("@markup.raw.block.lang", s:gui08, "#1e0000", "", s:ctermbg, "", "") + + hi! link @markup.list ThemeBlue + hi! link @markup.quote ThemeGrey + + hi! link @markup.link ThemeYellow " borders + hi! link @markup.link.text ThemeBlue + hi! link @markup.link.label ThemeYellow + hi! link @markup.link.url ThemeYellow + hi! link @markup.link.dest ThemeFg3 + + hi! link @markup.link.wiki ThemeYellow + hi! link @markup.link.wiki.text ThemeBlue + hi! link @markup.link.wiki.label ThemeYellow + + "hi! link @markup.link.label.symbol ThemeGreen + + "hi! link markdownWikiLink ThemeViolet + " + hi! link @markup.environment ThemeYellow + hi! link @markup.environment.name ThemeYellow + hi! link @markup.math ThemeYellow + hi! link @punctuation.delimiter.latex ThemeOrange + + hi! link @markup.strong Bold + hi! link @markup.emphasis Bold + hi! link @markup.strikethrough ThemeYellow + hi! link @markup.underline ThemeYellow + + hi! link @comment.info ThemeBlue + hi! link @comment.todo ThemeYellow + hi! link @comment.note ThemeBg3 + hi! link @comment.hint ThemeGreen + hi! link @comment.warning ThemeOrange + + hi! link @type ThemeYellow + hi! link @type.builtin ThemeOrange + hi! link @type.definition ThemeViolet + hi! link @type.qualifier ThemeViolet + + " Markdown + " hi! link @spell.markdown ThemeFg3 + + "call hi("@markup.heading.marker", s:gui08, "", "", s:ctermbg, "bold", "") + "hi! link @markup.heading ThemeRed + hi! link @markup.heading.marker ThemeOrange + hi! link @markup.heading.title ThemeRed "Italic + + " set this for a strong background + "call hi("@markup.heading.title", s:gui08, "#440503", "", s:ctermbg, "italic", "") + + hi! link @markup.heading.title.1 Bold + hi! link @markup.heading.title.3 Italic + "hi! link @markup.heading.4.title Italic + + " YAML + hi! link @string.yaml ThemeBlue + hi! link @punctuation.delimiter.yaml ThemeGreen + hi! link @property.yaml ThemeFg2 + + " Diff + hi! link @diff.minus ThemeRed + hi! link @diff.plus ThemeGreen + + call hi("TreesitterContext", "", s:gui00, "", "", "", "") + "hi TreesitterContextLineNumberBottom gui=underline guisp=Gray + "call hi("TreesitterContextBottom", "", "", "", "", "underline", s:gui02) + call hi("TreesitterContextSeparator", s:gui03, "", "", "", "", "") + "call hi("TreesitterContextLineNumberBottom", "", "", "", "", "underline", s:gui02) +endif + +" Standard highlights to be used by plugins +if has("patch-8.0.1038") + call hi("Deprecated", "", "", "", "", "strikethrough", "") +endif +call hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "") + +call hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "") +call hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "") +call hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "") +call hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "") + +call hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "") +call hi("WarningSign", s:gui09, "", s:cterm09, "", "", "") +call hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "") +call hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "") +call hi("OkSign", s:gui0B, "", s:cterm0B, "", "", "") + +call hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "") +call hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call hi("OkFloat", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("NormalFloat", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "") + +call hi("ErrorHighlight", "", "", s:ctermbg, s:cterm08, "underline", s:gui08) +call hi("WarningHighlight", "", "", s:ctermbg, s:cterm09, "underline", s:gui09) +call hi("InfoHighlight", "", "", s:ctermbg, s:cterm0D, "underline", s:gui0D) +call hi("HintHighlight", "", "", s:ctermbg, s:cterm0C, "underline", s:gui0C) +call hi("OkHighlight", "", "", s:ctermbg, s:cterm0B, "underline", s:gui0B) + +call hi("SpellBad", "", "", s:ctermbg, s:cterm08, "undercurl", s:gui08) +call hi("SpellLocal", "", "", s:ctermbg, s:cterm0C, "undercurl", s:gui0C) +call hi("SpellCap", "", "", s:ctermbg, s:cterm0D, "undercurl", s:gui0D) +call hi("SpellRare", "", "", s:ctermbg, s:cterm0E, "undercurl", s:gui0E) + +call hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "") + +" LSP +if has("nvim") + hi! link DiagnosticError ErrorSign + hi! link DiagnosticWarn WarningSign + hi! link DiagnosticInfo InfoSign + hi! link DiagnosticHint HintSign + hi! link DiagnosticOk OkSign + + hi! link DiagnosticFloatingError ErrorFloat + hi! link DiagnosticFloatingWarn WarningFloat + hi! link DiagnosticFloatingInfo InfoFloat + hi! link DiagnosticFloatingHint HintFloat + hi! link DiagnosticFloatingOk OkFloat + + hi! link DiagnosticUnderlineError ErrorHighlight + hi! link DiagnosticUnderlineWarn WarningHighlight + hi! link DiagnosticUnderlineInfo InfoHighlight + hi! link DiagnosticUnderlineHint HintHighlight + hi! link DiagnosticUnderlineOk OkHighlight + + hi! link DiagnosticsVirtualTextError ErrorSign + hi! link DiagnosticsVirtualTextWarning WarningSign + hi! link DiagnosticsVirtualTextInfo InfoSign + hi! link DiagnosticsVirtualTextHint HintSign + hi! link DiagnosticsVirtualTextOk OkSign + + " Remove untill endif on next nvim release + hi! link LspDiagnosticsSignError ErrorSign + hi! link LspDiagnosticsSignWarning WarningSign + hi! link LspDiagnosticsSignInfo InfoSign + hi! link LspDiagnosticsSignHint HintSign + + hi! link LspDiagnosticsVirtualTextError ErrorSign + hi! link LspDiagnosticsVirtualTextWarning WarningSign + hi! link LspDiagnosticsVirtualTextInfo InfoSign + hi! link LspDiagnosticsVirtualTextHint HintSign + + hi! link LspDiagnosticsFloatingError ErrorFloat + hi! link LspDiagnosticsFloatingWarning WarningFloat + hi! link LspDiagnosticsFloatingInfo InfoFloat + hi! link LspDiagnosticsFloatingHint HintFloat + + hi! link LspDiagnosticsUnderlineError ErrorHighlight + hi! link LspDiagnosticsUnderlineWarning WarningHighlight + hi! link LspDiagnosticsUnderlineInfo InfoHighlight + hi! link LspDiagnosticsUnderlineHint HintHighlight + + hi! link LspReferenceText ReferenceText + hi! link LspReferenceRead ReferenceRead + hi! link LspReferenceWrite ReferenceWrite +endif + +" " +" LANGUAGES +" " + +" C +call hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# +call hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csType", s:gui08, "", s:cterm08, "", "", "") +call hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" Clap +hi! link ClapInput ColorColumn +hi! link ClapSpinner ColorColumn +hi! link ClapDisplay Default +hi! link ClapPreview ColorColumn +hi! link ClapCurrentSelection CursorLine +hi! link ClapNoMatchesFound ErrorFloat + +" Coc +hi! link CocErrorSign ErrorSign +hi! link CocWarningSign WarningSign +hi! link CocInfoSign InfoSign +hi! link CocHintSign HintSign + +hi! link CocErrorFloat ErrorFloat +hi! link CocWarningFloat WarningFloat +hi! link CocInfoFloat InfoFloat +hi! link CocHintFloat HintFloat + +hi! link CocErrorHighlight ErrorHighlight +hi! link CocWarningHighlight WarningHighlight +hi! link CocInfoHighlight InfoHighlight +hi! link CocHintHighlight HintHighlight + +hi! link CocSem_angle Keyword +hi! link CocSem_annotation Keyword +hi! link CocSem_attribute Type +hi! link CocSem_bitwise Keyword +hi! link CocSem_boolean Boolean +hi! link CocSem_brace Normal +hi! link CocSem_bracket Normal +hi! link CocSem_builtinAttribute Type +hi! link CocSem_builtinType Type +hi! link CocSem_character String +hi! link CocSem_class Structure +hi! link CocSem_colon Normal +hi! link CocSem_comma Normal +hi! link CocSem_comment Comment +hi! link CocSem_comparison Keyword +hi! link CocSem_concept Keyword +hi! link CocSem_constParameter Identifier +hi! link CocSem_dependent Keyword +hi! link CocSem_dot Keyword +hi! link CocSem_enum Structure +hi! link CocSem_enumMember Constant +hi! link CocSem_escapeSequence Type +hi! link CocSem_event Identifier +hi! link CocSem_formatSpecifier Type +hi! link CocSem_function Function +hi! link CocSem_interface Type +hi! link CocSem_keyword Keyword +hi! link CocSem_label Keyword +hi! link CocSem_logical Keyword +hi! link CocSem_macro Macro +hi! link CocSem_method Function +hi! link CocSem_modifier Keyword +hi! link CocSem_namespace Identifier +hi! link CocSem_number Number +hi! link CocSem_operator Operator +hi! link CocSem_parameter Identifier +hi! link CocSem_parenthesis Normal +hi! link CocSem_property Identifier +hi! link CocSem_punctuation Keyword +hi! link CocSem_regexp Type +hi! link CocSem_selfKeyword Constant +hi! link CocSem_semicolon Normal +hi! link CocSem_string String +hi! link CocSem_struct Structure +hi! link CocSem_type Type +hi! link CocSem_typeAlias Type +hi! link CocSem_typeParameter Type +hi! link CocSem_unknown Normal +hi! link CocSem_variable Identifier + +call hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "") +call hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") +call hi("CocSessionsName", s:gui06, "", s:cterm05, "", "", "") + +" CSS +hi! link cssBraces ThemeBlue +hi! link cssFunctionName ThemeYellow +hi! link cssIdentifier ThemeOrange +hi! link cssClassName ThemeGreen +hi! link cssColor ThemeBlue +hi! link cssSelectorOp ThemeBlue +hi! link cssSelectorOp2 ThemeBlue +hi! link cssImportant ThemeGreen +hi! link cssVendor ThemeFg1 + +hi! link cssTextProp ThemeCyan +hi! link cssAnimationProp ThemeCyan +hi! link cssUIProp ThemeYellow +hi! link cssTransformProp ThemeCyan +hi! link cssTransitionProp ThemeCyan +hi! link cssPrintProp ThemeCyan +hi! link cssPositioningProp ThemeYellow +hi! link cssBoxProp ThemeCyan +hi! link cssFontDescriptorProp ThemeCyan +hi! link cssFlexibleBoxProp ThemeCyan +hi! link cssBorderOutlineProp ThemeCyan +hi! link cssBackgroundProp ThemeCyan +hi! link cssMarginProp ThemeCyan +hi! link cssListProp ThemeCyan +hi! link cssTableProp ThemeCyan +hi! link cssFontProp ThemeCyan +hi! link cssPaddingProp ThemeCyan +hi! link cssDimensionProp ThemeCyan +hi! link cssRenderProp ThemeCyan +hi! link cssColorProp ThemeCyan +hi! link cssGeneratedContentProp ThemeCyan + + +" CMP +hi! link CmpItemAbbrDeprecated Deprecated +hi! link CmpItemAbbrMatch SearchMatch +hi! link CmpItemAbbrMatchFuzzy SearchMatch +hi! link CmpItemKindClass Type +hi! link CmpItemKindColor Keyword +hi! link CmpItemKindConstant Constant +hi! link CmpItemKindConstructor Special +hi! link CmpItemKindEnum Type +hi! link CmpItemKindEnumMember Constant +hi! link CmpItemKindEvent Identifier +hi! link CmpItemKindField Character +hi! link CmpItemKindFile Directory +hi! link CmpItemKindFolder Directory +hi! link CmpItemKindFunction Function +hi! link CmpItemKindInterface Type +hi! link CmpItemKindKeyword Keyword +hi! link CmpItemKindMethod Function +hi! link CmpItemKindModule Namespace +hi! link CmpItemKindOperator Operator +hi! link CmpItemKindProperty Identifier +hi! link CmpItemKindReference Character +hi! link CmpItemKindSnippet String +hi! link CmpItemKindStruct Type +hi! link CmpItemKindText Text +hi! link CmpItemKindUnit Namespace +hi! link CmpItemKindValue Comment +hi! link CmpItemKindVariable Identifier + +if has("nvim-0.8.0") + hi! link CmpItemKindField @field + hi! link CmpItemKindProperty @property +endif + +" Diff +call hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call hi("DiffChange", s:gui06, s:gui01, s:cterm05, s:cterm01, "", "") +call hi("DiffDelete", s:gui02, s:guibg, s:cterm02, s:ctermbg, "", "") +call hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call hi("DiffAdded", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffFile", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") +call hi("DiffNewFile", s:gui0B, s:guibg, s:cterm0B, s:ctermbg, "", "") +call hi("DiffLine", s:gui0D, s:guibg, s:cterm0D, s:ctermbg, "", "") +call hi("DiffRemoved", s:gui08, s:guibg, s:cterm08, s:ctermbg, "", "") + +" Git +call hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter +hi! link GitGutterAdd GitAddSign +hi! link GitGutterChange GitChangeSign +hi! link GitGutterDelete GitDeleteSign +hi! link GitGutterChangeDelete GitChangeDeleteSign + +" indent-blankline (nvim) +if has("nvim") + call hi("@ibl.indent.char.1",s:gui01, "", s:cterm01, "", "", "") +endif + +" HTML +call hi("htmlBold", s:gui07, "", s:cterm0A, "", "bold", "") +call hi("htmlItalic", s:gui06, "", s:cterm0E, "", "italic", "") +call hi("htmlEndTag", s:gui06, "", s:cterm05, "", "", "") +call hi("htmlTag", s:gui06, "", s:cterm05, "", "", "") + +" JavaScript +call hi("javaScript", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptBraces", s:gui06, "", s:cterm05, "", "", "") +call hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript +call hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail +call hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown +call hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownError", s:gui06, s:guibg, s:cterm05, s:ctermbg, "", "") +call hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" Matchup +call hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "") + +" NERDTree +call hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call hi("NERDTreeExecFile", s:gui06, "", s:cterm05, "", "", "") + +" Netrw +hi! link netrwDir ThemeCyan +hi! link netrwClassify ThemeCyan +hi! link netrwLink ThemeBg3 +hi! link netrwSymLink ThemeFg1 +hi! link netrwExe ThemeYellow +hi! link netrwComment ThemeBg3 +hi! link netrwList ThemeBlue +hi! link netrwHelpCmd ThemeCyan +hi! link netrwCmdSep ThemeFg3 +hi! link netrwVersion ThemeGreen + +" PHP +call hi("phpMemberSelector", s:gui06, "", s:cterm05, "", "", "") +call hi("phpComparison", s:gui06, "", s:cterm05, "", "", "") +call hi("phpParent", s:gui06, "", s:cterm05, "", "", "") +call hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python +"call hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +"call hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" hi! link pythonBuiltin ThemeCyan +" hi! link pythonBuiltinObj ThemeCyan +" hi! link pythonBuiltinFunc ThemeGreen +" hi! link pythonFunction Function +" hi! link pythonDecorator ThemeYellow +" hi! link pythonDecoratorName ThemeYellow +" hi! link pythonTripleQuotes ThemeGreenItalic +" hi! link pythonInclude ThemeBlue +" hi! link pythonImport ThemeBlue +" hi! link pythonRun ThemeBlue +" hi! link pythonCoding ThemeBlue +" hi! link pythonOperator ThemeRed +" hi! link pythonException ThemeRed +" hi! link pythonExceptions ThemeYellow +" hi! link pythonBoolean ThemeYellow +" hi! link pythonDot ThemeFg3 +" hi! link pythonConditional ThemeCyan +" hi! link pythonRepeat ThemeRed +" hi! link pythonDottedName ThemeGreen + + +" Ruby +call hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS +call hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify +hi! link SignifySignAdd GitAddSign +hi! link SignifySignChange GitChangeSign +hi! link SignifySignDelete GitDeleteSign + +" Startify +call hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Java +call hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" JSON +hi! link jsonKeyword ThemeGreen +hi! link jsonQuote ThemeGreen +hi! link jsonBraces ThemeFg1 +hi! link jsonString ThemeFg1 + +" Markdown +hi! link markdownH1 ThemeRedBold +hi! link markdownH2 ThemeRed +hi! link markdownH3 ThemeRed +hi! link markdownH4 ThemeRed +hi! link markdownH5 ThemeRed +hi! link markdownH6 ThemeRed + +hi! link markdownCode ThemeYellow +hi! link markdownCodeBlock ThemeYellow +hi! link markdownCodeDelimiter ThemeYellow + +hi! link markdownBlockquote ThemeGrey +hi! link markdownListMarker ThemeBlue +hi! link markdownOrderedListMarker ThemeBlue +hi! link markdownRule ThemeGrey +hi! link markdownHeadingRule ThemeGrey + +hi! link markdownUrlDelimiter ThemeFg3 +hi! link markdownLinkDelimiter ThemeFg3 +hi! link markdownLinkTextDelimiter ThemeFg3 +hi! link markdownHeadingDelimiter ThemeOrange +hi! link markdownUrlTitleDelimiter ThemeGreen + +hi! link markdownLink ThemeGreen +hi! link markdownWikiLink ThemeViolet +"hi! link markdownUrl ThemeOrange +hi! link markdownUrl ThemeRed +hi! link markdownUrlProtocol ThemeGreenItalic +hi! link markdownInlineUrl ThemeOrange + +hi! link markdownLinkText ThemeViolet +hi! link markdownIdDeclaration markdownLinkText + +hi! link pandocAtxHeader ThemeRed +hi! link pandocAtxStart ThemeOrange + + +"call s:HL('markdownItalic', s:fg3, s:none, s:italic) +"call s:HL('markdownLinkText', s:gray, s:none, s:underline) + + +" Remove functions +delf hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F s:guibg +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F s:ctermbg + diff --git a/generate.sh b/generate.sh new file mode 100755 index 0000000..22d5721 --- /dev/null +++ b/generate.sh @@ -0,0 +1 @@ +symconf -c templates/ generate -o app-config diff --git a/templates/groups/theme/hard-badlands-monobiome-dark.toml b/templates/groups/theme/hard-badlands-monobiome-dark.toml new file mode 100644 index 0000000..2377112 --- /dev/null +++ b/templates/groups/theme/hard-badlands-monobiome-dark.toml @@ -0,0 +1,87 @@ +# - META ------------------------------------- +# MONOBIOME :mode=dark :contrast=hard +# BADLANDS +# +# pat :: < 0-bg-3 > | gra | acc | < 3-fg-0 > +# abs :: min -- +15 | +30 | +40 | +50 -- +65 +# rel :: min -- +15 | +15 | +10 | +10 -- +15 +# sys :: l15 -- l30 | l45 | l55 | l65 -- l80 +# app :: l20 -- l35 | l50 | l60 | l70 -- l85 +# -------------------------------------------- + +# - SYS -------------------------------------- +bg0 = "f{{badlands.l15}}" # < MIN > +bg1 = "f{{badlands.l20}}" # < +05 > +bg2 = "f{{badlands.l25}}" # < +10 > +bg3 = "f{{badlands.l30}}" # < +15 > + +grey = "f{{badlands.l45}}" # < +30 > + +red = "f{{red.l55}}" # < +40 > +orange = "f{{orange.l55}}" # < +40 > +yellow = "f{{yellow.l55}}" # < +40 > +green = "f{{green.l55}}" # < +40 > +cyan = "f{{green.l55}}" # < +40 > +blue = "f{{blue.l55}}" # < +40 > +violet = "f{{blue.l55}}" # < +40 > +magenta = "f{{red.l55}}" # < +40 > + +fg3 = "f{{badlands.l65}}" # < +50 > +fg2 = "f{{badlands.l70}}" # < +55 > +fg1 = "f{{badlands.l75}}" # < +60 > +fg0 = "f{{badlands.l80}}" # < MAX > +# -------------------------------------------- + +# - APP -------------------------------------- +[term] +foreground = "f{{badlands.l85}}" # < MAX > +selection_fg = "f{{badlands.l80}}" # < -05 > + +background = "f{{badlands.l20}}" # < MIN > +selection_bg = "f{{badlands.l25}}" # < +05 > + +cursor = "f{{badlands.l80}}" # +cursor_text = "f{{badlands.l25}}" # + +[term.normal] +black = "f{{badlands.l20}}" # < MIN > +red = "f{{red.l60}}" # < +40 > +green = "f{{green.l60}}" # < +40 > +yellow = "f{{yellow.l60}}" # < +40 > +blue = "f{{blue.l60}}" # < +40 > +magenta = "f{{orange.l60}}" # < +40 > +cyan = "f{{blue.l60}}" # < +40 > +white = "f{{badlands.l75}}" # < +55 > + +[term.bright] +black = "f{{badlands.l30}}" # < +10 > +red = "f{{red.l70}}" # < +50 > +green = "f{{green.l70}}" # < +50 > +yellow = "f{{yellow.l70}}" # < +50 > +blue = "f{{blue.l70}}" # < +50 > +magenta = "f{{orange.l70}}" # < +50 > +cyan = "f{{blue.l70}}" # < +50 > +white = "f{{badlands.l85}}" # < MAX > + +[vim] +bg0 = "f{{badlands.l20}}" # < MIN > +bg1 = "f{{badlands.l25}}" # < +05 > +bg2 = "f{{badlands.l30}}" # < +10 > +bg3 = "f{{badlands.l35}}" # < +15 > + +grey = "f{{badlands.l50}}" # < +30 > + +red = "f{{red.l60}}" # < +40 > +orange = "f{{orange.l60}}" # < +40 > +yellow = "f{{yellow.l60}}" # < +40 > +green = "f{{green.l60}}" # < +40 > +cyan = "f{{green.l60}}" # < +40 > +blue = "f{{blue.l60}}" # < +40 > +violet = "f{{blue.l60}}" # < +40 > +magenta = "f{{red.l60}}" # < +40 > + +fg3 = "f{{badlands.l70}}" # < +50 > +fg2 = "f{{badlands.l75}}" # < +55 > +fg1 = "f{{badlands.l80}}" # < +60 > +fg0 = "f{{badlands.l85}}" # < MAX > +# -------------------------------------------- diff --git a/templates/groups/theme/hard-badlands-monobiome-light.toml b/templates/groups/theme/hard-badlands-monobiome-light.toml new file mode 100644 index 0000000..38ddd6c --- /dev/null +++ b/templates/groups/theme/hard-badlands-monobiome-light.toml @@ -0,0 +1,87 @@ +# - META ------------------------------------- +# MONOBIOME :mode=light :contrast=hard +# BADLANDS +# +# pat :: < 0-bg-3 > | gra | acc | < 3-fg-0 > +# abs :: max -- -15 | -30 | -40 | -50 -- -65 +# rel :: max -- -15 | -15 | -10 | -10 -- -15 +# sys :: l90 -- l75 | l60 | l50 | l40 -- l25 +# app :: l95 -- l80 | l65 | l55 | l45 -- l30 +# -------------------------------------------- + +# - SYS -------------------------------------- +bg0 = "f{{badlands.l90}}" # < MAX > +bg1 = "f{{badlands.l85}}" # < -05 > +bg2 = "f{{badlands.l80}}" # < -10 > +bg3 = "f{{badlands.l75}}" # < -15 > + +grey = "f{{badlands.l60}}" # < -30 > + +red = "f{{red.l50}}" # < -40 > +orange = "f{{orange.l50}}" # < -40 > +yellow = "f{{yellow.l50}}" # < -40 > +green = "f{{green.l50}}" # < -40 > +cyan = "f{{green.l50}}" # < -40 > +blue = "f{{blue.l50}}" # < -40 > +violet = "f{{blue.l50}}" # < -40 > +magenta = "f{{red.l50}}" # < -40 > + +fg3 = "f{{badlands.l40}}" # < -50 > +fg2 = "f{{badlands.l35}}" # < -55 > +fg1 = "f{{badlands.l30}}" # < -60 > +fg0 = "f{{badlands.l25}}" # < MIN > +# -------------------------------------------- + +# - APP -------------------------------------- +[term] +foreground = "f{{badlands.l30}}" # < MIN > +selection_fg = "f{{badlands.l35}}" # < +05 > + +background = "f{{badlands.l95}}" # < MAX > +selection_bg = "f{{badlands.l90}}" # < -05 > + +cursor = "f{{badlands.l35}}" # +cursor_text = "f{{badlands.l90}}" # + +[term.normal] +black = "f{{badlands.l95}}" # < MAX > +red = "f{{red.l55}}" # < -40 > +green = "f{{green.l55}}" # < -40 > +yellow = "f{{yellow.l55}}" # < -40 > +blue = "f{{blue.l55}}" # < -40 > +magenta = "f{{orange.l55}}" # < -40 > +cyan = "f{{blue.l55}}" # < -40 > +white = "f{{badlands.l40}}" # < -55 > + +[term.bright] +black = "f{{badlands.l85}}" # < -10 > +red = "f{{red.l45}}" # < -50 > +green = "f{{green.l45}}" # < -50 > +yellow = "f{{yellow.l45}}" # < -50 > +blue = "f{{blue.l45}}" # < -50 > +magenta = "f{{orange.l45}}" # < -50 > +cyan = "f{{blue.l45}}" # < -50 > +white = "f{{badlands.l30}}" # < MIN > + +[vim] +bg0 = "f{{badlands.l95}}" # < MAX > +bg1 = "f{{badlands.l90}}" # < -05 > +bg2 = "f{{badlands.l85}}" # < -10 > +bg3 = "f{{badlands.l80}}" # < -15 > + +grey = "f{{badlands.l65}}" # < -30 > + +red = "f{{red.l55}}" # < -40 > +orange = "f{{orange.l55}}" # < -40 > +yellow = "f{{yellow.l55}}" # < -40 > +green = "f{{green.l55}}" # < -40 > +cyan = "f{{green.l55}}" # < -40 > +blue = "f{{blue.l55}}" # < -40 > +violet = "f{{blue.l55}}" # < -40 > +magenta = "f{{red.l55}}" # < -40 > + +fg3 = "f{{badlands.l45}}" # < -50 > +fg2 = "f{{badlands.l40}}" # < -55 > +fg1 = "f{{badlands.l35}}" # < -60 > +fg0 = "f{{badlands.l30}}" # < MIN > +# -------------------------------------------- diff --git a/templates/groups/theme/hard-chaparral-monobiome-dark.toml b/templates/groups/theme/hard-chaparral-monobiome-dark.toml new file mode 100644 index 0000000..4384193 --- /dev/null +++ b/templates/groups/theme/hard-chaparral-monobiome-dark.toml @@ -0,0 +1,87 @@ +# - META ------------------------------------- +# MONOBIOME :mode=dark :contrast=hard +# CHAPARRAL +# +# pat :: < 0-bg-3 > | gra | acc | < 3-fg-0 > +# abs :: min -- +15 | +30 | +40 | +50 -- +65 +# rel :: min -- +15 | +15 | +10 | +10 -- +15 +# sys :: l15 -- l30 | l45 | l55 | l65 -- l80 +# app :: l20 -- l35 | l50 | l60 | l70 -- l85 +# -------------------------------------------- + +# - SYS -------------------------------------- +bg0 = "f{{chaparral.l15}}" # < MIN > +bg1 = "f{{chaparral.l20}}" # < +05 > +bg2 = "f{{chaparral.l25}}" # < +10 > +bg3 = "f{{chaparral.l30}}" # < +15 > + +grey = "f{{chaparral.l45}}" # < +30 > + +red = "f{{red.l55}}" # < +40 > +orange = "f{{orange.l55}}" # < +40 > +yellow = "f{{yellow.l55}}" # < +40 > +green = "f{{green.l55}}" # < +40 > +cyan = "f{{green.l55}}" # < +40 > +blue = "f{{blue.l55}}" # < +40 > +violet = "f{{blue.l55}}" # < +40 > +magenta = "f{{red.l55}}" # < +40 > + +fg3 = "f{{chaparral.l65}}" # < +50 > +fg2 = "f{{chaparral.l70}}" # < +55 > +fg1 = "f{{chaparral.l75}}" # < +60 > +fg0 = "f{{chaparral.l80}}" # < MAX > +# -------------------------------------------- + +# - APP -------------------------------------- +[term] +foreground = "f{{chaparral.l85}}" # < MAX > +selection_fg = "f{{chaparral.l80}}" # < -05 > + +background = "f{{chaparral.l20}}" # < MIN > +selection_bg = "f{{chaparral.l25}}" # < +05 > + +cursor = "f{{chaparral.l80}}" # +cursor_text = "f{{chaparral.l25}}" # + +[term.normal] +black = "f{{chaparral.l20}}" # < MIN > +red = "f{{red.l60}}" # < +40 > +green = "f{{green.l60}}" # < +40 > +yellow = "f{{yellow.l60}}" # < +40 > +blue = "f{{blue.l60}}" # < +40 > +magenta = "f{{orange.l60}}" # < +40 > +cyan = "f{{blue.l60}}" # < +40 > +white = "f{{chaparral.l75}}" # < +55 > + +[term.bright] +black = "f{{chaparral.l30}}" # < +10 > +red = "f{{red.l70}}" # < +50 > +green = "f{{green.l70}}" # < +50 > +yellow = "f{{yellow.l70}}" # < +50 > +blue = "f{{blue.l70}}" # < +50 > +magenta = "f{{orange.l70}}" # < +50 > +cyan = "f{{blue.l70}}" # < +50 > +white = "f{{chaparral.l85}}" # < MAX > + +[vim] +bg0 = "f{{chaparral.l20}}" # < MIN > +bg1 = "f{{chaparral.l25}}" # < +05 > +bg2 = "f{{chaparral.l30}}" # < +10 > +bg3 = "f{{chaparral.l35}}" # < +15 > + +grey = "f{{chaparral.l50}}" # < +30 > + +red = "f{{red.l60}}" # < +40 > +orange = "f{{orange.l60}}" # < +40 > +yellow = "f{{yellow.l60}}" # < +40 > +green = "f{{green.l60}}" # < +40 > +cyan = "f{{green.l60}}" # < +40 > +blue = "f{{blue.l60}}" # < +40 > +violet = "f{{blue.l60}}" # < +40 > +magenta = "f{{red.l60}}" # < +40 > + +fg3 = "f{{chaparral.l70}}" # < +50 > +fg2 = "f{{chaparral.l75}}" # < +55 > +fg1 = "f{{chaparral.l80}}" # < +60 > +fg0 = "f{{chaparral.l85}}" # < MAX > +# -------------------------------------------- diff --git a/templates/groups/theme/hard-chaparral-monobiome-light.toml b/templates/groups/theme/hard-chaparral-monobiome-light.toml new file mode 100644 index 0000000..9b6897c --- /dev/null +++ b/templates/groups/theme/hard-chaparral-monobiome-light.toml @@ -0,0 +1,87 @@ +# - META ------------------------------------- +# MONOBIOME :mode=light :contrast=hard +# CHAPARRAL +# +# pat :: < 0-bg-3 > | gra | acc | < 3-fg-0 > +# abs :: max -- -15 | -30 | -40 | -50 -- -65 +# rel :: max -- -15 | -15 | -10 | -10 -- -15 +# sys :: l90 -- l75 | l60 | l50 | l40 -- l25 +# app :: l95 -- l80 | l65 | l55 | l45 -- l30 +# -------------------------------------------- + +# - SYS -------------------------------------- +bg0 = "f{{chaparral.l90}}" # < MAX > +bg1 = "f{{chaparral.l85}}" # < -05 > +bg2 = "f{{chaparral.l80}}" # < -10 > +bg3 = "f{{chaparral.l75}}" # < -15 > + +grey = "f{{chaparral.l60}}" # < -30 > + +red = "f{{red.l50}}" # < -40 > +orange = "f{{orange.l50}}" # < -40 > +yellow = "f{{yellow.l50}}" # < -40 > +green = "f{{green.l50}}" # < -40 > +cyan = "f{{green.l50}}" # < -40 > +blue = "f{{blue.l50}}" # < -40 > +violet = "f{{blue.l50}}" # < -40 > +magenta = "f{{red.l50}}" # < -40 > + +fg3 = "f{{chaparral.l40}}" # < -50 > +fg2 = "f{{chaparral.l35}}" # < -55 > +fg1 = "f{{chaparral.l30}}" # < -60 > +fg0 = "f{{chaparral.l25}}" # < MIN > +# -------------------------------------------- + +# - APP -------------------------------------- +[term] +foreground = "f{{chaparral.l30}}" # < MIN > +selection_fg = "f{{chaparral.l35}}" # < +05 > + +background = "f{{chaparral.l95}}" # < MAX > +selection_bg = "f{{chaparral.l90}}" # < -05 > + +cursor = "f{{chaparral.l35}}" # +cursor_text = "f{{chaparral.l90}}" # + +[term.normal] +black = "f{{chaparral.l95}}" # < MAX > +red = "f{{red.l55}}" # < -40 > +green = "f{{green.l55}}" # < -40 > +yellow = "f{{yellow.l55}}" # < -40 > +blue = "f{{blue.l55}}" # < -40 > +magenta = "f{{orange.l55}}" # < -40 > +cyan = "f{{blue.l55}}" # < -40 > +white = "f{{chaparral.l40}}" # < -55 > + +[term.bright] +black = "f{{chaparral.l85}}" # < -10 > +red = "f{{red.l45}}" # < -50 > +green = "f{{green.l45}}" # < -50 > +yellow = "f{{yellow.l45}}" # < -50 > +blue = "f{{blue.l45}}" # < -50 > +magenta = "f{{orange.l45}}" # < -50 > +cyan = "f{{blue.l45}}" # < -50 > +white = "f{{chaparral.l30}}" # < MIN > + +[vim] +bg0 = "f{{chaparral.l95}}" # < MAX > +bg1 = "f{{chaparral.l90}}" # < -05 > +bg2 = "f{{chaparral.l85}}" # < -10 > +bg3 = "f{{chaparral.l80}}" # < -15 > + +grey = "f{{chaparral.l65}}" # < -30 > + +red = "f{{red.l55}}" # < -40 > +orange = "f{{orange.l55}}" # < -40 > +yellow = "f{{yellow.l55}}" # < -40 > +green = "f{{green.l55}}" # < -40 > +cyan = "f{{green.l55}}" # < -40 > +blue = "f{{blue.l55}}" # < -40 > +violet = "f{{blue.l55}}" # < -40 > +magenta = "f{{red.l55}}" # < -40 > + +fg3 = "f{{chaparral.l45}}" # < -50 > +fg2 = "f{{chaparral.l40}}" # < -55 > +fg1 = "f{{chaparral.l35}}" # < -60 > +fg0 = "f{{chaparral.l30}}" # < MIN > +# -------------------------------------------- diff --git a/templates/groups/theme/soft-badlands-monobiome-dark.toml b/templates/groups/theme/soft-badlands-monobiome-dark.toml new file mode 100644 index 0000000..184be19 --- /dev/null +++ b/templates/groups/theme/soft-badlands-monobiome-dark.toml @@ -0,0 +1,87 @@ +# - META ------------------------------------- +# MONOBIOME :mode=dark :contrast=soft +# BADLANDS +# +# pat :: < 0-bg-3 > | gra | acc | < 3-fg-0 > +# abs :: min -- +15 | +30 | +40 | +50 -- +65 +# rel :: min -- +15 | +15 | +10 | +10 -- +15 +# sys :: l25 -- l40 | l55 | l65 | l75 -- l90 +# app :: l30 -- l45 | l60 | l70 | l80 -- l95 +# -------------------------------------------- + +# - SYS -------------------------------------- +bg0 = "f{{badlands.l25}}" # < MIN > +bg1 = "f{{badlands.l30}}" # < +05 > +bg2 = "f{{badlands.l35}}" # < +10 > +bg3 = "f{{badlands.l30}}" # < +15 > + +grey = "f{{badlands.l55}}" # < +30 > + +red = "f{{red.l65}}" # < +40 > +orange = "f{{orange.l65}}" # < +40 > +yellow = "f{{yellow.l65}}" # < +40 > +green = "f{{green.l65}}" # < +40 > +cyan = "f{{green.l65}}" # < +40 > +blue = "f{{blue.l65}}" # < +40 > +violet = "f{{blue.l65}}" # < +40 > +magenta = "f{{red.l65}}" # < +40 > + +fg3 = "f{{badlands.l75}}" # < +50 > +fg2 = "f{{badlands.l80}}" # < +55 > +fg1 = "f{{badlands.l85}}" # < +60 > +fg0 = "f{{badlands.l90}}" # < MAX > +# -------------------------------------------- + +# - APP -------------------------------------- +[term] +foreground = "f{{badlands.l95}}" # < MAX > +selection_fg = "f{{badlands.l90}}" # < -05 > + +background = "f{{badlands.l30}}" # < MIN > +selection_bg = "f{{badlands.l35}}" # < +05 > + +cursor = "f{{badlands.l90}}" # +cursor_text = "f{{badlands.l35}}" # + +[term.normal] +black = "f{{badlands.l30}}" # < MIN > +red = "f{{red.l70}}" # < +40 > +green = "f{{green.l70}}" # < +40 > +yellow = "f{{yellow.l70}}" # < +40 > +blue = "f{{blue.l70}}" # < +40 > +magenta = "f{{orange.l70}}" # < +40 > +cyan = "f{{blue.l70}}" # < +40 > +white = "f{{badlands.l85}}" # < +55 > + +[term.bright] +black = "f{{badlands.l40}}" # < +10 > +red = "f{{red.l80}}" # < +50 > +green = "f{{green.l80}}" # < +50 > +yellow = "f{{yellow.l80}}" # < +50 > +blue = "f{{blue.l80}}" # < +50 > +magenta = "f{{orange.l80}}" # < +50 > +cyan = "f{{blue.l80}}" # < +50 > +white = "f{{badlands.l95}}" # < MAX > + +[vim] +bg0 = "f{{badlands.l30}}" # < MIN > +bg1 = "f{{badlands.l35}}" # < +05 > +bg2 = "f{{badlands.l40}}" # < +10 > +bg3 = "f{{badlands.l45}}" # < +15 > + +grey = "f{{badlands.l60}}" # < +30 > + +red = "f{{red.l70}}" # < +40 > +orange = "f{{orange.l70}}" # < +40 > +yellow = "f{{yellow.l70}}" # < +40 > +green = "f{{green.l70}}" # < +40 > +cyan = "f{{green.l70}}" # < +40 > +blue = "f{{blue.l70}}" # < +40 > +violet = "f{{blue.l70}}" # < +40 > +magenta = "f{{red.l70}}" # < +40 > + +fg3 = "f{{badlands.l80}}" # < +50 > +fg2 = "f{{badlands.l85}}" # < +55 > +fg1 = "f{{badlands.l90}}" # < +60 > +fg0 = "f{{badlands.l95}}" # < MAX > +# -------------------------------------------- diff --git a/templates/groups/theme/soft-badlands-monobiome-light.toml b/templates/groups/theme/soft-badlands-monobiome-light.toml new file mode 100644 index 0000000..4fa27f1 --- /dev/null +++ b/templates/groups/theme/soft-badlands-monobiome-light.toml @@ -0,0 +1,87 @@ +# - META ------------------------------------- +# MONOBIOME :mode=light :contrast=soft +# BADLANDS +# +# pat :: < 0-bg-3 > | gra | acc | < 3-fg-0 > +# abs :: max -- -15 | -30 | -40 | -50 -- -65 +# rel :: max -- -15 | -15 | -10 | -10 -- -15 +# sys :: l80 -- l65 | l50 | l40 | l30 -- l15 +# app :: l85 -- l70 | l55 | l45 | l35 -- l20 +# -------------------------------------------- + +# - SYS -------------------------------------- +bg0 = "f{{badlands.l80}}" # < MAX > +bg1 = "f{{badlands.l75}}" # < -05 > +bg2 = "f{{badlands.l70}}" # < -10 > +bg3 = "f{{badlands.l65}}" # < -15 > + +grey = "f{{badlands.l50}}" # < -30 > + +red = "f{{red.l40}}" # < -40 > +orange = "f{{orange.l40}}" # < -40 > +yellow = "f{{yellow.l40}}" # < -40 > +green = "f{{green.l40}}" # < -40 > +cyan = "f{{green.l40}}" # < -40 > +blue = "f{{blue.l40}}" # < -40 > +violet = "f{{blue.l40}}" # < -40 > +magenta = "f{{red.l40}}" # < -40 > + +fg3 = "f{{badlands.l30}}" # < -50 > +fg2 = "f{{badlands.l25}}" # < -55 > +fg1 = "f{{badlands.l20}}" # < -60 > +fg0 = "f{{badlands.l15}}" # < MIN > +# -------------------------------------------- + +# - APP -------------------------------------- +[term] +foreground = "f{{badlands.l20}}" # < MIN > +selection_fg = "f{{badlands.l25}}" # < +05 > + +background = "f{{badlands.l85}}" # < MAX > +selection_bg = "f{{badlands.l80}}" # < -05 > + +cursor = "f{{badlands.l25}}" # +cursor_text = "f{{badlands.l80}}" # + +[term.normal] +black = "f{{badlands.l85}}" # < MAX > +red = "f{{red.l45}}" # < -40 > +green = "f{{green.l45}}" # < -40 > +yellow = "f{{yellow.l45}}" # < -40 > +blue = "f{{blue.l45}}" # < -40 > +magenta = "f{{orange.l45}}" # < -40 > +cyan = "f{{blue.l45}}" # < -40 > +white = "f{{badlands.l30}}" # < -55 > + +[term.bright] +black = "f{{badlands.l75}}" # < -10 > +red = "f{{red.l35}}" # < -50 > +green = "f{{green.l35}}" # < -50 > +yellow = "f{{yellow.l35}}" # < -50 > +blue = "f{{blue.l35}}" # < -50 > +magenta = "f{{orange.l35}}" # < -50 > +cyan = "f{{blue.l35}}" # < -50 > +white = "f{{badlands.l25}}" # < MIN > + +[vim] +bg0 = "f{{badlands.l85}}" # < MAX > +bg1 = "f{{badlands.l80}}" # < -05 > +bg2 = "f{{badlands.l75}}" # < -10 > +bg3 = "f{{badlands.l70}}" # < -15 > + +grey = "f{{badlands.l55}}" # < -30 > + +red = "f{{red.l45}}" # < -40 > +orange = "f{{orange.l45}}" # < -40 > +yellow = "f{{yellow.l45}}" # < -40 > +green = "f{{green.l45}}" # < -40 > +cyan = "f{{green.l45}}" # < -40 > +blue = "f{{blue.l45}}" # < -40 > +violet = "f{{blue.l45}}" # < -40 > +magenta = "f{{red.l45}}" # < -40 > + +fg3 = "f{{badlands.l35}}" # < -50 > +fg2 = "f{{badlands.l30}}" # < -55 > +fg1 = "f{{badlands.l25}}" # < -60 > +fg0 = "f{{badlands.l20}}" # < MIN > +# -------------------------------------------- diff --git a/templates/groups/theme/soft-chaparral-monobiome-dark.toml b/templates/groups/theme/soft-chaparral-monobiome-dark.toml new file mode 100644 index 0000000..d27b6e8 --- /dev/null +++ b/templates/groups/theme/soft-chaparral-monobiome-dark.toml @@ -0,0 +1,87 @@ +# - META ------------------------------------- +# MONOBIOME :mode=dark :contrast=soft +# CHAPARRAL +# +# pat :: < 0-bg-3 > | gra | acc | < 3-fg-0 > +# abs :: min -- +15 | +30 | +40 | +50 -- +65 +# rel :: min -- +15 | +15 | +10 | +10 -- +15 +# sys :: l25 -- l40 | l55 | l65 | l75 -- l90 +# app :: l30 -- l45 | l60 | l70 | l80 -- l95 +# -------------------------------------------- + +# - SYS -------------------------------------- +bg0 = "f{{chaparral.l25}}" # < MIN > +bg1 = "f{{chaparral.l30}}" # < +05 > +bg2 = "f{{chaparral.l35}}" # < +10 > +bg3 = "f{{chaparral.l30}}" # < +15 > + +grey = "f{{chaparral.l55}}" # < +30 > + +red = "f{{red.l65}}" # < +40 > +orange = "f{{orange.l65}}" # < +40 > +yellow = "f{{yellow.l65}}" # < +40 > +green = "f{{green.l65}}" # < +40 > +cyan = "f{{green.l65}}" # < +40 > +blue = "f{{blue.l65}}" # < +40 > +violet = "f{{blue.l65}}" # < +40 > +magenta = "f{{red.l65}}" # < +40 > + +fg3 = "f{{chaparral.l75}}" # < +50 > +fg2 = "f{{chaparral.l80}}" # < +55 > +fg1 = "f{{chaparral.l85}}" # < +60 > +fg0 = "f{{chaparral.l90}}" # < MAX > +# -------------------------------------------- + +# - APP -------------------------------------- +[term] +foreground = "f{{chaparral.l95}}" # < MAX > +selection_fg = "f{{chaparral.l90}}" # < -05 > + +background = "f{{chaparral.l30}}" # < MIN > +selection_bg = "f{{chaparral.l35}}" # < +05 > + +cursor = "f{{chaparral.l90}}" # +cursor_text = "f{{chaparral.l35}}" # + +[term.normal] +black = "f{{chaparral.l30}}" # < MIN > +red = "f{{red.l70}}" # < +40 > +green = "f{{green.l70}}" # < +40 > +yellow = "f{{yellow.l70}}" # < +40 > +blue = "f{{blue.l70}}" # < +40 > +magenta = "f{{orange.l70}}" # < +40 > +cyan = "f{{blue.l70}}" # < +40 > +white = "f{{chaparral.l85}}" # < +55 > + +[term.bright] +black = "f{{chaparral.l40}}" # < +10 > +red = "f{{red.l80}}" # < +50 > +green = "f{{green.l80}}" # < +50 > +yellow = "f{{yellow.l80}}" # < +50 > +blue = "f{{blue.l80}}" # < +50 > +magenta = "f{{orange.l80}}" # < +50 > +cyan = "f{{blue.l80}}" # < +50 > +white = "f{{chaparral.l95}}" # < MAX > + +[vim] +bg0 = "f{{chaparral.l30}}" # < MIN > +bg1 = "f{{chaparral.l35}}" # < +05 > +bg2 = "f{{chaparral.l40}}" # < +10 > +bg3 = "f{{chaparral.l45}}" # < +15 > + +grey = "f{{chaparral.l60}}" # < +30 > + +red = "f{{red.l70}}" # < +40 > +orange = "f{{orange.l70}}" # < +40 > +yellow = "f{{yellow.l70}}" # < +40 > +green = "f{{green.l70}}" # < +40 > +cyan = "f{{green.l70}}" # < +40 > +blue = "f{{blue.l70}}" # < +40 > +violet = "f{{blue.l70}}" # < +40 > +magenta = "f{{red.l70}}" # < +40 > + +fg3 = "f{{chaparral.l80}}" # < +50 > +fg2 = "f{{chaparral.l85}}" # < +55 > +fg1 = "f{{chaparral.l90}}" # < +60 > +fg0 = "f{{chaparral.l95}}" # < MAX > +# -------------------------------------------- diff --git a/templates/groups/theme/soft-chaparral-monobiome-light.toml b/templates/groups/theme/soft-chaparral-monobiome-light.toml new file mode 100644 index 0000000..0f16429 --- /dev/null +++ b/templates/groups/theme/soft-chaparral-monobiome-light.toml @@ -0,0 +1,87 @@ +# - META ------------------------------------- +# MONOBIOME :mode=light :contrast=soft +# CHAPARRAL +# +# pat :: < 0-bg-3 > | gra | acc | < 3-fg-0 > +# abs :: max -- -15 | -30 | -40 | -50 -- -65 +# rel :: max -- -15 | -15 | -10 | -10 -- -15 +# sys :: l80 -- l65 | l50 | l40 | l30 -- l15 +# app :: l85 -- l70 | l55 | l45 | l35 -- l20 +# -------------------------------------------- + +# - SYS -------------------------------------- +bg0 = "f{{chaparral.l80}}" # < MAX > +bg1 = "f{{chaparral.l75}}" # < -05 > +bg2 = "f{{chaparral.l70}}" # < -10 > +bg3 = "f{{chaparral.l65}}" # < -15 > + +grey = "f{{chaparral.l50}}" # < -30 > + +red = "f{{red.l40}}" # < -40 > +orange = "f{{orange.l40}}" # < -40 > +yellow = "f{{yellow.l40}}" # < -40 > +green = "f{{green.l40}}" # < -40 > +cyan = "f{{green.l40}}" # < -40 > +blue = "f{{blue.l40}}" # < -40 > +violet = "f{{blue.l40}}" # < -40 > +magenta = "f{{red.l40}}" # < -40 > + +fg3 = "f{{chaparral.l30}}" # < -50 > +fg2 = "f{{chaparral.l25}}" # < -55 > +fg1 = "f{{chaparral.l20}}" # < -60 > +fg0 = "f{{chaparral.l15}}" # < MIN > +# -------------------------------------------- + +# - APP -------------------------------------- +[term] +foreground = "f{{chaparral.l20}}" # < MIN > +selection_fg = "f{{chaparral.l25}}" # < +05 > + +background = "f{{chaparral.l85}}" # < MAX > +selection_bg = "f{{chaparral.l80}}" # < -05 > + +cursor = "f{{chaparral.l25}}" # +cursor_text = "f{{chaparral.l80}}" # + +[term.normal] +black = "f{{chaparral.l85}}" # < MAX > +red = "f{{red.l45}}" # < -40 > +green = "f{{green.l45}}" # < -40 > +yellow = "f{{yellow.l45}}" # < -40 > +blue = "f{{blue.l45}}" # < -40 > +magenta = "f{{orange.l45}}" # < -40 > +cyan = "f{{blue.l45}}" # < -40 > +white = "f{{chaparral.l30}}" # < -55 > + +[term.bright] +black = "f{{chaparral.l75}}" # < -10 > +red = "f{{red.l35}}" # < -50 > +green = "f{{green.l35}}" # < -50 > +yellow = "f{{yellow.l35}}" # < -50 > +blue = "f{{blue.l35}}" # < -50 > +magenta = "f{{orange.l35}}" # < -50 > +cyan = "f{{blue.l35}}" # < -50 > +white = "f{{chaparral.l25}}" # < MIN > + +[vim] +bg0 = "f{{chaparral.l85}}" # < MAX > +bg1 = "f{{chaparral.l80}}" # < -05 > +bg2 = "f{{chaparral.l75}}" # < -10 > +bg3 = "f{{chaparral.l70}}" # < -15 > + +grey = "f{{chaparral.l55}}" # < -30 > + +red = "f{{red.l45}}" # < -40 > +orange = "f{{orange.l45}}" # < -40 > +yellow = "f{{yellow.l45}}" # < -40 > +green = "f{{green.l45}}" # < -40 > +cyan = "f{{green.l45}}" # < -40 > +blue = "f{{blue.l45}}" # < -40 > +violet = "f{{blue.l45}}" # < -40 > +magenta = "f{{red.l45}}" # < -40 > + +fg3 = "f{{chaparral.l35}}" # < -50 > +fg2 = "f{{chaparral.l30}}" # < -55 > +fg1 = "f{{chaparral.l25}}" # < -60 > +fg0 = "f{{chaparral.l20}}" # < MIN > +# --------------------------------------------