feat(tui): add styled output with lipgloss#107
Merged
CalvinAllen merged 6 commits intomainfrom Dec 12, 2025
Merged
Conversation
Add TUI styling to enhance the visual experience of the CLI: - Create internal/tui package (separate from ui to keep shim small) - Add reusable Table component with borders, titles, and active rows - Update list, list-all, current, version, where commands with tables - Add paging support to list-all with --limit flag - Customize help/usage output with styled tables - Intercept --version to use custom version output - Hide completion command until implemented - Fix duplicate error messages on unknown flags Closes #104
aa6e93c to
9136838
Compare
- Use sync.Once for lazy style initialization - Force TrueColor profile to skip slow terminal capability detection - Fixes slow cold start on Windows caused by lipgloss background color queries See: charmbracelet/lipgloss#86
- Show 'Regenerating shims for <Runtime>...' for each runtime - Display summary table with runtime names and their shims - Show total count of shims and runtimes created - Add RehashWithCallback for progress reporting
|
@CalvinAllen you may be interested in this: charmbracelet/lipgloss#616 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
charmbracelet/lipglossinternal/tuipackage to keep shim binary smallChanges
New TUI Package (
internal/tui/)styles.go- Color palette, text styles, box styles, indicator constantstable.go- Reusable table component with borders, centered titles, optional headers, configurable width, and active row highlightingUpdated Commands
list- Table with Version/Status columns, runtime name as titlelist-all- Table with checkmark indicators, paging support (--limitflag), global/local statuscurrent- Table with Runtime/Version/Status columnsversion- Styled info boxwhere- Simplified to title + info box--help- Custom usage with two styled tables (header + available commands)--version- Intercepted to use custom version outputOther Improvements
completioncommand until implementedTest plan
dtvem --helpshows styled tablesdtvem --versionmatchesdtvem versiondtvem listshows table with version indicatorsdtvem list-all pythonshows paged output with checkmarksdtvem currentshows active versions tableCloses #104