feat(tui): add theme config setting, suppress underline from themes

Add `[tui] theme = "..."` config option that lets users override the
auto-detected syntax highlighting theme with any of the 32 bundled
two-face themes by kebab-case name. Invalid names log a warning and
fall back to adaptive detection.

Also suppress FontStyle::UNDERLINE in convert_style — themes like
Dracula mark type scopes with underline which produces distracting
underlines on type/module names in terminal output.
This commit is contained in:
Felipe Coury
2026-02-08 22:56:17 -03:00
parent 9878b734a0
commit 82fc47e317
5 changed files with 251 additions and 4 deletions

View File

@@ -1400,6 +1400,11 @@
"type": "string"
},
"type": "array"
},
"theme": {
"default": null,
"description": "Syntax highlighting theme name (kebab-case).\n\nWhen set, overrides automatic light/dark theme detection. Run with `--list-themes` or see docs for available names.",
"type": "string"
}
},
"type": "object"