-
Notifications
You must be signed in to change notification settings - Fork 0
Themes
Neotheme ships 31 built-in themes across nine families. gruber-dark-muted is the default.
| Family | Stand-out theme | Range | Full inventory |
|---|---|---|---|
| Arcfield | arcfield-graphite |
Two dark and one light variant | Themes and examples |
| Bathyal | bathyal-midwater |
Two dark and one light variant | Themes and examples |
| Ferric | ferric-forge |
One dark and one light variant | Themes and examples |
| Grove | grove-campfire |
One dark and one light variant | Themes and examples |
| Gruber | gruber-dark-muted |
Three dark and three light variants | Themes, examples, and lineage |
| Neritic | neritic-day |
Two dark and two light variants | Themes and examples |
| Typeset | typeset-paper |
One light and one dark variant | Themes and examples |
| Typewriter | typewriter-ink |
Three light and two dark variants | Themes and examples |
| Understory | understory-canopy |
Two dark and two light variants | Themes and examples |
The family preview carousel and full matrix show the collection together.
With Neotheme loaded, open the family-first browser:
:NeothemeChoosing a theme updates only the browser's highlighted code preview. Space applies a theme while keeping the browser open; Enter applies it and closes. Confirmed selections remain session-only. See Session Theme Controls for every key, transition policy, and checkpoint rule.
require("neotheme").setup({
theme = "typeset-paper",
})
vim.cmd.colorscheme("neotheme")The theme name belongs to Neotheme setup. Every built-in and custom palette uses the single
:colorscheme neotheme entrypoint.
From Neovim:
:NeothemeList
:NeothemeList gruberWithout an argument, :NeothemeList prints each family followed by its members. Supplying a
family prints only that family's themes.
The equivalent Lua registry APIs are:
local neotheme = require("neotheme")
local families = neotheme.families()
local all_names = neotheme.themes()
local gruber_names = neotheme.themes("gruber")themes() includes custom when no family is supplied. Family-filtered results contain only
built-in members. Returned lists are sorted copies and can be modified without changing the
registry.
Every built-in records whether it is dark or light. Loading, confirmed switching, resetting, or
reloading a built-in applies the corresponding vim.o.background value automatically. Browser
row previews do not change the editor's global background.
Custom themes default to a dark background because custom palette configuration does not include background metadata. See Custom Themes for light custom palettes.