Skip to main content

theme.toml

Color Types

Colors can be specified as hex values or named colors.

fg = "#484D66"
bg = "blue"

Named Colors

reset, black, white, red, lightred, green, lightgreen, yellow, lightyellow, blue, lightblue, magenta, lightmagenta, cyan, lightcyan, darkgray, lightgray

Style Properties

Each style object supports:

PropertyTypeDescription
fgcolorForeground color
bgcolorBackground color
boldboolBold text
dimboolDimmed text
italicboolItalic text
underlineboolUnderlined text
blinkboolBlinking text
reversedboolReverse video
hiddenboolHidden text
crossedboolStrikethrough text

[flavor] — Flavor

[flavor]
dark = "catppuccin-mocha"
light = "catppuccin-latte"

[app] — Application

[app]
[app.overall]
bg = "#1E1E2E"

bg only — sets the terminal background via OSC 11.

[mgr] — Manager

[mgr]
[mgr.cwd]
fg = "white"
bold = true

[mgr.find_keyword]
fg = "black"
bg = "yellow"

[mgr.find_position]
fg = "cyan"

[mgr.symlink_target]
fg = "cyan"

[mgr.marker_copied]
fg = "green"
bg = "yellow"

[mgr.marker_cut]
fg = "black"
bg = "red"

[mgr.marker_selected]
fg = "black"
bg = "blue"

[mgr.count_copied]
fg = "green"

[mgr.count_cut]
fg = "red"

[mgr.count_selected]
fg = "blue"

[mgr.border_symbol]
[mgr.border_style]

[mgr.syntect_theme]

[indicator] — Indicator

[indicator]
[indicator.parent]
style = { fg = "blue", bg = "blue" }
padding = 1

[indicator.current]
style = { fg = "blue", bg = "blue" }
padding = 1

[indicator.preview]
style = { fg = "blue", bg = "blue" }
padding = 1

[tabs] — Tabs

[tabs]
[tabs.active]
fg = "blue"

[tabs.inactive]
fg = "darkgray"

[tabs.sep_inner]
[tabs.sep_outer]

[mode] — Modes

[mode]
[mode.normal]
main = { fg = "blue" }
alt = { fg = "blue" }

[mode.select]
main = { fg = "green" }
alt = { fg = "green" }

[mode.unset]
main = { fg = "red" }
alt = { fg = "red" }

[status] — Status Bar

[status]
[status.overall]
fg = "lightgray"
bg = "darkgray"

[status.sep_left]
style = { fg = "blue" }
open = ""
close = ""

[status.sep_right]
style = { fg = "blue" }
open = ""
close = ""

[status.perm_1]
[status.perm_2]
[status.perm_3]
[status.perm_4]
[status.perm_5]
[status.perm_6]
[status.perm_7]
[status.perm_8]
[status.perm_9]
[status.perm_10]

[status.progress_label]
[status.progress_bar]
[status.progress_tip]

[which] — Which Key

[which]
cols = 3

[which.mask]
bg = "black"

[which.cand]
fg = "white"

[which.rest]
fg = "darkgray"

[which.desc]
fg = "darkgray"

[which.separator]
fg = "darkgray"

[confirm] — Confirm Dialog

[confirm]
[confirm.border]
[confirm.title]
[confirm.body]
[confirm.list]
[confirm.btn_yes]
[confirm.btn_no]

[spot] — Spotlight

[spot]
[spot.border]
[spot.title]
[spot.tbl_col]
[spot.tbl_cell]
fg = "white"

[notify] — Notifications

[notify]
[notify.title_info]
[notify.title_warn]
[notify.title_error]

[pick] — Pick

[pick]
[pick.border]
[pick.active]
[pick.inactive]

[input] — Input

[input]
[input.border]
[input.title]
[input.value]
[input.selected]

[cmp] — Completions

[cmp]
[cmp.border]
[cmp.active]
[cmp.inactive]
[cmp.icon_]

[tasks] — Tasks

[tasks]
[tasks.border]
[tasks.title]
[tasks.hovered]

[help] — Help

[help]
[help.on]
[help.run]
[help.desc]
[help.hovered]
[help.footer]
[help.icon_]

[filetype] — Filetype Rules

Match files by MIME, URL glob, or is flag and apply a Style.

[filetype]
rules = [
{ mime = "text/*", fg = "green" },
{ mime = "image/*", fg = "magenta" },
{ mime = "video/*", fg = "cyan" },
{ mime = "application/pdf", fg = "red" },
]

[icon] — Icons

Built on nvim-web-devicons. Use prepend / append to layer rules.

Priority order (highest to lowest):

  1. conds
  2. globs
  3. exts
  4. dirs
  5. files
[icon]
[icon.prepend_dirs]
[icon.prepend_exts]
[icon.prepend_files]
[icon.prepend_globs]
[icon.prepend_conds]

[icon.append_dirs]
[icon.append_exts]
[icon.append_files]
[icon.append_globs]
[icon.append_conds]