Token is a warm, muted Neovim 0.12+ colorscheme that is written in Lua. Dark and light variants, no configuration. There is no setup function. Load it and it works. The idea is simple: a theme you never configure is a theme you stop thinking about.
Terminal themes for Ghostty, fish, delta, tmux and others are generated from the same palette file, so everything matches without extra work.
- Dark and light variants, switching at runtime via
vim.o.background - Treesitter capture groups for accurate syntax highlighting
- LSP semantic token highlights
- LSP diagnostic signs, virtual text, and underlines
- Diff highlights for buffers and signs
- Legacy syntax group coverage for non-Treesitter filetypes
- Terminal color support (ANSI colors 0β15)
- Lualine theme included
- Contrib themes for terminal tools generated from the same palette
| Dark | Light |
|---|---|
![]() |
![]() |
![]() |
![]() |
-- vim.pack (Neovim 0.12+)
vim.pack.add('https://github.com/ThorstenRhau/token')
-- lazy.nvim
{ 'ThorstenRhau/token' }vim.cmd.colorscheme('token')Respects vim.o.background. Set dark or light before loading the
colorscheme, or change it at runtime to switch variants.
token/
βββ colors/
β βββ token.lua
βββ lua/
β βββ lualine/themes/
β β βββ token.lua
β βββ token/
β βββ init.lua
β βββ palette.lua
β βββ terminal.lua
β βββ groups/
β βββ init.lua
β βββ editor.lua
β βββ syntax.lua
β βββ treesitter.lua
β βββ lsp.lua
β βββ diagnostics.lua
β βββ diff.lua
β βββ plugins/
β βββ init.lua
β βββ blink.lua
β βββ claudecode.lua
β βββ diffview.lua
β βββ fugitive.lua
β βββ fzf.lua
β βββ gitsigns.lua
β βββ hlchunk.lua
β βββ ibl.lua
β βββ markview.lua
β βββ mason.lua
β βββ matchup.lua
β βββ mini.lua
β βββ neogit.lua
β βββ nvimtree.lua
β βββ oil.lua
β βββ snacks.lua
β βββ treesitter_context.lua
β βββ trouble.lua
βββ contrib/
β βββ bat/
β βββ delta/
β βββ emacs/
β βββ fish/
β βββ fzf/
β βββ ghostty/
β βββ lazygit/
β βββ ripgrep/
β βββ starship/
β βββ tmux/
βββ scripts/
β βββ gen_contrib.lua
βββ Makefile
βββ README.md
βββ LICENSE
- blink.cmp
- claudecode.nvim
- diffview.nvim
- fugitive.vim
- fzf-lua
- gitsigns.nvim
- hlchunk.nvim
- indent-blankline.nvim
- lualine.nvim
- markview.nvim
- mason.nvim
- mini.clue
- mini.icons
- mini.statusline
- mini.surround
- neogit
- nvim-tree.lua
- oil.nvim
- snacks.nvim
- treesitter-context
- trouble.nvim
- vim-matchup
Pre-generated theme files for terminal tools. Auto-generated from the palette;
rebuild after palette changes with make contrib.
| Tool | Files | Usage |
|---|---|---|
| bat | contrib/bat/token-{dark,light}.tmTheme |
Copy to bat themes dir, run bat cache --build |
| delta | contrib/delta/token.gitconfig |
Include from ~/.gitconfig, set features = token-dark in [delta] |
| emacs | contrib/emacs/token-{dark,light}-theme.el |
Copy to ~/.emacs.d/themes/, then (load-theme 'token-dark t) |
| fish | contrib/fish/token.theme |
Copy to ~/.config/fish/themes/, then run fish_config theme choose token |
| fzf | contrib/fzf/token-{dark,light}.fish |
source /path/to/token-dark.fish in config.fish to append theme colors to FZF_DEFAULT_OPTS |
| ghostty | contrib/ghostty/token-{dark,light} |
Copy to ~/.config/ghostty/themes/, then set theme = dark:token-dark,light:token-light |
| lazygit | contrib/lazygit/token-{dark,light}.yml |
Merge into ~/.config/lazygit/config.yml |
| ripgrep | contrib/ripgrep/token-{dark,light}.ripgreprc |
RIPGREP_CONFIG_PATH=/path/to/token-dark.ripgreprc |
| starship | contrib/starship/token-{dark,light}.toml |
Append to starship.toml, set palette = "token" |
| tmux | contrib/tmux/token-{dark,light}.conf |
source-file /path/to/token-dark.conf in tmux.conf |
BSD 3-Clause



