yes walh does mean what you think it does
walh = "winnebago audi lamborghini hatchback"
A vim theme repo that is easy on the eyes and for long hours looking at a screen. All colors are used from the ANSI colors of the terminal in use. A color scheme for vim.
- Options for light and dark mode based on terminal settings.
- walh on the left, default on the right
walh-default-legacyhighlights used
Supported plugins highlights:
these are similar to base16-shell and add additional index colors.
walh uses colour208 as orange
So it might not look correct unless those colors are set accordingly.
walh-shell also computes two derived slots from each theme's own
foreground/background so panels and secondary text never blend into the
terminal background, and exports WALH_MODE=dark|light so walh sets
vim's background automatically:
| Slot | Role |
|---|---|
color0 |
Surface: panels, floats, status/tab lines, cursor line (15% mix toward foreground) |
color8 |
Dim: line numbers, folds, split divider, secondary text (40% wash on dark palettes, 50% on light) |
NOTE use one or the other for more syntax highlight support
sheerun/vim-polyglotnvim-treesitter/nvim-treesitter
casonadams/walh
| Themes |
|---|
| walh-blue |
| walh-cappuccino |
| walh-darcula |
| walh-default |
| walh-default-legacy |
| walh-gruvbox |
| walh-nord |
| walh-one |
| walh-solarized |
| walh-tokyo-night |
set notermguicolors
colorscheme walh-defaultvim.g.walh_dimming = 1Add the following to ~/.tmux.conf for dimming that matches walh
set -g pane-active-border-style bg=color0
set -g pane-border-style bg=color0
set-window-option -g window-active-style bg=terminal
set-window-option -g window-style bg=color0This command creates a highlight group called PanelHeading
local c = {
black = 0,
darkgrey = 8,
red = 9,
green = 10,
yellow = 11,
blue = 12,
magenta = 13,
cyan = 14,
white = 15,
none = "NONE",
}
vim.api.nvim_set_hl(
0, "PanelHeading",
{ ctermfg = c.black, ctermbg = c.blue, bold = true }
)Bufferline example
local c = {
black = 0,
darkgrey = 8,
red = 9,
green = 10,
yellow = 11,
blue = 12,
magenta = 13,
cyan = 14,
white = 15,
none = "NONE",
}
local bufferline = require("bufferline")
bufferline.setup({
highlights = {
fill = { ctermfg = c.none, ctermbg = c.black },
background = { ctermfg = c.darkgrey, ctermbg = c.black },
buffer_selected = { ctermfg = c.none, ctermbg = c.black },
buffer_visible = { ctermfg = c.darkgrey, ctermbg = c.black },
tab = { ctermfg = c.darkgrey, ctermbg = c.black },
tab_selected = { ctermfg = c.none, ctermbg = c.black },
separator = { ctermfg = c.darkgrey, ctermbg = c.black },
separator_selected = { ctermfg = c.none, ctermbg = c.black },
indicator_selected = { ctermfg = c.blue, ctermbg = c.black },
modified = { ctermfg = c.none, ctermbg = c.black },
modified_visible = { ctermfg = c.yellow, ctermbg = c.black },
modified_selected = { ctermfg = c.yellow, ctermbg = c.black },
},
})





