Skip to content

feat(experiment): add Slack brand theme for charm/huh prompts#351

Open
srtaalej wants to merge 4 commits intomainfrom
charm-slack-theme
Open

feat(experiment): add Slack brand theme for charm/huh prompts#351
srtaalej wants to merge 4 commits intomainfrom
charm-slack-theme

Conversation

@srtaalej
Copy link
Contributor

Changelog

Added a custom Slack-branded color theme for CLI prompts when using the charm experiment flag

Summary

This PR adds a custom Slack-branded theme (ThemeSlack()) for charmbracelet/huh prompts using official brand colors (Aubergine, Blue, Green, Yellow, Red) and wires the theme into all 5 charm form constructors so prompts are styled when -e charm is active

Screen.Recording.2026-02-24.at.1.25.24.PM.mov

Requirements

@srtaalej srtaalej added this to the Next Release milestone Feb 24, 2026
@srtaalej srtaalej self-assigned this Feb 24, 2026
@srtaalej srtaalej added enhancement M-T: A feature request for new functionality changelog Use on updates to be included in the release notes experiment Experimental feature accessed behind the --experiment flag or toggle semver:minor Use on pull requests to describe the release version increment labels Feb 24, 2026
@srtaalej srtaalej changed the title feat(charm): add Slack brand theme for huh prompts feat(experiment): add Slack brand theme for charm/huh prompts Feb 24, 2026
@srtaalej srtaalej marked this pull request as ready for review February 24, 2026 18:57
@srtaalej srtaalej requested a review from a team as a code owner February 24, 2026 18:57
@zimeg zimeg changed the base branch from main to charm-iostreams February 24, 2026 20:31
Base automatically changed from charm-iostreams to main February 24, 2026 20:47
Copy link
Member

@zimeg zimeg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👁️‍🗨️ @srtaalej Great eye for details! The preview looks amazing! I'm leaving a few quick comments before testing more - thanks so much for the fast iteration toward this!


import (
"github.com/charmbracelet/huh"
"github.com/charmbracelet/lipgloss"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💄 praise: So great to see these styles shining!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📠 question: Would it be better to move this to the internal/style package? I forget if import errors occur, but it might be nice to keep sequences separate from direct I/O operations.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ooo yes on it 🫡

@codecov
Copy link

codecov bot commented Feb 24, 2026

Codecov Report

❌ Patch coverage is 0% with 66 lines in your changes missing coverage. Please review.
✅ Project coverage is 64.25%. Comparing base (1059ec2) to head (9794cc2).

Files with missing lines Patch % Lines
internal/iostreams/charm_theme.go 0.00% 66 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #351      +/-   ##
==========================================
- Coverage   64.48%   64.25%   -0.24%     
==========================================
  Files         213      214       +1     
  Lines       17879    17945      +66     
==========================================
  Hits        11530    11530              
- Misses       5276     5342      +66     
  Partials     1073     1073              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog Use on updates to be included in the release notes enhancement M-T: A feature request for new functionality experiment Experimental feature accessed behind the --experiment flag or toggle semver:minor Use on pull requests to describe the release version increment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants