Skip to content

Quick start

Install the bundled palettes into your user configuration directory:

Terminal window
vellum palettes sync
vellum files

Vellum uses $XDG_CONFIG_HOME/vellum/palettes, falling back to ~/.config/vellum/palettes. Existing files are skipped. Use vellum palettes sync --overwrite only when you want to replace local copies with the bundled versions.

Save this as ~/.config/vellum/palettes/projects.toml:

[search]
title = "Projects"
placeholder = "Find a project..."
[source]
cmd = '''printf '%s\n' '[{"name":"Vellum","path":"~/code/vellum","language":"Rust"},{"name":"Notes","path":"~/notes","language":"Markdown"}]' '''
[item]
value = "$path"
template = [
[{ token = "$name", bold = true }, { token = "$language", align = "right", fg = "dark_gray" }],
[{ token = "$path", fg = "cyan" }],
]

Open it by name:

Terminal window
project="$(vellum projects)" && cd "${project/#\~/$HOME}"

A name without a path extension resolves beneath the user palette directory. With no argument, Vellum opens the palette named default. You can also pass a path directly:

Terminal window
vellum ./examples/demo.toml

A palette combines a source, an item template, optional filters, and optional actions. Global defaults can provide shared keybindings and theme settings.