v0.5.0 — Human display names, separator rule, configurable truncation
Three statusline-row improvements that surfaced from real use.
Public API
- Topics carry a
display_name./tutor-start "What closures are in Python"now stores both the slug (what-closures-are-in-python, the state-file key) and the original subject string ("What closures are in Python", what the statusline renders). Mixed case, spaces, reads as the question you asked rather than a path-style identifier. Existing topics from before this release continue to render their slug — backward compatible.
Behaviour
- Separator rule between host statusline and llm-tutor's row. When the wrapper has an original statusline to append beneath, it now emits a dim full-width horizontal rule above our segment row. Signals "this is a separate section" so your eye doesn't read llm-tutor's row as another row of the host's content. Width auto-detects via
$COLUMNS→tput cols→ 80. Mode-aware character:─for emoji/nerd/unicode,-for ascii. No rule when llm-tutor is the entire statusline. - Default truncation bumped from 20 → 40 characters. Most real subject lines now render full-width.
- New
SLUG_MAX_LENknob in~/.claude/llm-tutor/statusline.conf. Set to0to disable truncation entirely, or any positive integer for a custom cap. Documented indocs/guides/statusline.md.
Before: 📖 what-closures-are-in… 0/5
After: 📖 What closures are in Python ▰▱▱▱▱