Expand description
Wisp settings management and theme loading.
Wisp has two tiers of configuration:
- Wisp settings — persisted in
~/.wisp/settings.json(or$WISP_HOME/settings.json). Controls UI preferences viaWispSettings, including theme, content padding, and status-line segments. - Agent settings — model, reasoning effort, MCP servers, etc. These are advertised by the agent over ACP and edited through the in-app
SettingsOverlay.
§Theme resolution
load_or_create_settingsreads (or creates) the settings file.load_themechecksThemeSettings::filefor a.tmThemefilename.resolve_theme_file_pathvalidates the filename (must be a bare basename, no path traversal) and resolves it to~/.wisp/themes/<name>.tui::Theme::load_from_pathparses the file, falling back to the default theme on error.
§Status-line resolution
resolve_status_line_settingsresolves optionalStatusLineSettingsfrom the Wisp settings file.- Launchers provide the default
StatusLineSettingsto use when no status-line settings are present; standalone Wisp includes theagentsegment, while Aether-backed launches omit it unless configured explicitly.