Skip to content
casonadamsPublic

About

Clean vim color scheme; Uses terminal colors for highlights.

Topics

Resources

Stars

17 stars

Watchers

1 watching

Forks

Repository files navigation

walh

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.

screenshots walh vs default term colors only

  • walh on the left, default on the right
  • walh-default-legacy highlights used

tomorrow

tomorrow

tomorrow-dark

tomorrow-dark

gruvbox-dark

gruvbox-dark

gruvbox-light

gruvbox-light

nord

nord

solarized-dark

solarized-dark

visual mode

visual mode

Supported plugins highlights:

Designed to be run with x-shell

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)

additional plugins to make it smooth

NOTE use one or the other for more syntax highlight support

  • sheerun/vim-polyglot
  • nvim-treesitter/nvim-treesitter

Install

Add plugin

  • casonadams/walh

Set and configure theme

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-default

Pane Dimming neovim

vim.g.walh_dimming = 1

Tmux Dimming

Add 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=color0

extending with neovim

nvim_set_hl()

This 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.nvim

bufferline.nvim

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 },
  },
})

About

Clean vim color scheme; Uses terminal colors for highlights.

Topics

Resources

Stars

17 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages