refactor(tui): share StyledGlyph across queue show/status renderers#1444
Conversation
`queue show` and `queue status` both map an enum-ish state code to
an "(icon, ANSI style)" pair, but spelled the pairing two different
ways: `show.rs::check_state_glyph` returned `(&'static str, Style)`,
while `status.rs` split it into separate `status_icon` /
`batch_status_style` functions. Same shape, different names, drifting
naturally as new states land.
Add a small `StyledGlyph` struct to `mergify-tui` and route both
callers through it. `status.rs::status_icon` + `batch_status_style`
collapse into a single `batch_glyph(theme, code) -> StyledGlyph`;
the early-return for the disabled-theme case is preserved (the
`merged → green.dimmed()` composition would otherwise emit a dim
escape when colors are off).
The third candidate — `freeze/list.rs`'s active/scheduled coloring
— stays inline: it has no icon, just a two-arm color pick, and
forcing a `StyledGlyph::new("", color)` would add more noise than
it removes.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Change-Id: I8ed9bb5fffd46ecf75ff833df85b2ddf9812a4d8
This was referenced May 19, 2026
Member
Author
|
This pull request is part of a Mergify stack:
|
This was referenced May 19, 2026
Contributor
Merge ProtectionsYour pull request matches the following merge protections and will not be merged until they are valid. 🔴 ⛓️ Depends-On RequirementsWaiting for
This rule is failing.Requirement based on the presence of
🔴 👀 Review RequirementsWaiting for
This rule is failing.
🔴 🔎 ReviewsWaiting for
This rule is failing.
🟢 🤖 Continuous IntegrationWonderful, this rule succeeded.
🟢 Enforce conventional commitWonderful, this rule succeeded.Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/
🟢 📕 PR descriptionWonderful, this rule succeeded.
|
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.
queue showandqueue statusboth map an enum-ish state code toan "(icon, ANSI style)" pair, but spelled the pairing two different
ways:
show.rs::check_state_glyphreturned(&'static str, Style),while
status.rssplit it into separatestatus_icon/batch_status_stylefunctions. Same shape, different names, driftingnaturally as new states land.
Add a small
StyledGlyphstruct tomergify-tuiand route bothcallers through it.
status.rs::status_icon+batch_status_stylecollapse into a single
batch_glyph(theme, code) -> StyledGlyph;the early-return for the disabled-theme case is preserved (the
merged → green.dimmed()composition would otherwise emit a dimescape when colors are off).
The third candidate —
freeze/list.rs's active/scheduled coloring— stays inline: it has no icon, just a two-arm color pick, and
forcing a
StyledGlyph::new("", color)would add more noise thanit removes.
Co-Authored-By: Claude Opus 4.7 noreply@anthropic.com
Depends-On: #1443