Uh oh!
There was an error while loading. Please reload this page.
feat(experiment): apply similar theme to huh forms - #421
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@## main #421 +/- ##
==========================================
+ Coverage 70.24% 70.29% +0.05%
==========================================
Files 220 220 Lines 18446 18482 +36 ==========================================
+ Hits 12957 12992 +35 + Misses 4317 4316 -1 - Partials 1172 1174 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
zimeg
left a comment
There was a problem hiding this comment.
@srtaalej This is a solid change for incremental updates! Thanks for taking a good eye to this 👁️🗨️ ✨
I'm marking this as "approved" but left note that we should save a character change for another PR. Another comment notices an issue with deprecated fields not appearing in these forms, but might not be due to current changes.
I included a few stills of other surfaces also. Do let me know of ideas about the above! 🗣️
| if cfg.Description != nil { | ||
| if desc := style.RemoveEmoji(cfg.Description(opt, len(opts))); desc != "" { | ||
| key = opt + " - " + desc | ||
| key = style.Bright(opt) + " — " + style.Secondary(desc) |
There was a problem hiding this comment.
🔭 thought: If we're changing the "—" separator to a character outside of the ASCII character sets we can perhaps use a new function to fallback to the common dash without styles?
style.Separator
👾 quibble: This might be a change to discuss in a separate PR. IMHO #400 isn't an experimental change but it was related to prompts at the time of these updates and gets confusing...
There was a problem hiding this comment.
@srtaalej Sweet! Could you link the PR here for more discussion?
| t.Focused.SelectSelector = lipgloss.NewStyle(). | ||
| Foreground(ansiBlue). | ||
| Bold(true). | ||
| SetString(Chevron() + " ") | ||
| t.Focused.SelectedOption = lipgloss.NewStyle(). | ||
| Foreground(ansiBlue). | ||
| Bold(true) |
There was a problem hiding this comment.
🌟 praise: These selections have a impressive similarities! The change to help text placement builds confidence in this next update I think!
There was a problem hiding this comment.
👾 issue(non-blocking): I notice the guided tutorials reference isn't included in the updated help description.
🪬 ramble: This might be a quick change to the create selection but we might want to check for similar custom templates and other deprecated fields being used in other prompts. I'd lean toward a separate PR since this doesn't seem related to the theme itself, if this is something you'd want to check out related?
There was a problem hiding this comment.
ah thanks for catching that! ill include it in a follow up PR
There was a problem hiding this comment.
@srtaalej Hmmm... I might prefer the top since it doesn't remove instructions below 🍀 ✨
| t := huh.ThemeBase(isDark) | ||
| ansiBlue := lipgloss.ANSIColor(blue) | ||
| ansiGray := lipgloss.ANSIColor(gray) |
There was a problem hiding this comment.
👽 praise: This does solid in foreground text where used!
| t.Focused.Title = lipgloss.NewStyle(). | ||
| Foreground(ansiGray). | ||
| Bold(true) |
There was a problem hiding this comment.
🌲 praise: Nice use of bold formatting once more.
Uh oh!
There was an error while loading. Please reload this page.








Changelog
na
Summary
ThemeSurvey()huh theme that replicates the legacy survey prompt appearance (gray+bold titles, blue+bold cursors/chevrons,[x]/[ ]multi-select prefixes, red errors) so huh forms look identical to survey when onlyexperiment.Huhis on withoutexperiment.LipglossThemeSurvey()as default innewForm()—ThemeSlack()is used when Lipgloss is on,ThemeSurvey()otherwisestyle.Bright/style.Secondary) and em-dash separator consistently across both experiment pathsScreen.Recording.2026-03-20.at.1.25.42.PM.mov
Testing Steps
Requirements