Skip to content

vscode: capitalize area group header labels in backlog and builders trees #885

@amrmelsayed

Description

@amrmelsayed

Problem

After #811 (backlog) and #818 (builders) ship grouping by area/*, the group headers render area names verbatim. GitHub area/* labels are conventionally lowercase (e.g. area/vscode, area/tower, area/porch), so the headers come out as:

vscode (12)
tower (4)
porch (3)
Uncategorized (8)

The lowercase area names look odd sitting next to the capitalized Uncategorized group header — the fallback bucket reads as a proper-noun label while the actual categories read as raw tag IDs.

Desired behavior

Group headers in both the Backlog tree (packages/vscode/src/views/backlog.ts) and the Builders tree (packages/vscode/src/views/builders.ts, once #818 lands) should render area names with consistent capitalization that matches Uncategorized's visual weight. After the fix, the example above would read:

Vscode (12)        # or "VSCode" if acronyms are handled
Tower (4)
Porch (3)
Uncategorized (8)

Scope

  • Both the backlog group header rendering and the builders-tree group header rendering (whichever lands first inherits the helper; the other adopts it).
  • Header rendering only — do NOT change the wire value (OverviewBacklogItem.area / OverviewBuilder.area) or the UNCATEGORIZED_AREA constant. Those are the canonical sentinel / matcher values; only the displayed label changes.
  • Applies to the BacklogGroupTreeItem label and the equivalent BuilderGroupTreeItem label, not the bucketing logic in groupBacklogByArea.

Open question (for implementer)

Sentence-case (vscodeVscode) is the simplest rule and matches Uncategorized's shape, but it mangles acronyms (apiApi, uiUi). Two options:

  1. Plain sentence-case via charAt(0).toUpperCase() + slice(1) — predictable, no config, accepts the acronym mangle as a known cost. Reasonable if the repo's area/* set has no acronyms (codev's current set is fine: vscode, tower, porch, consult, panel, terminal, config, core, docs, cross-cutting — though vscode is debatably an acronym already).
  2. Per-repo override map — e.g. a setting codev.areaDisplayNames: Record<string, string> lets a repo customize { "vscode": "VSCode", "api": "API" }. Unconfigured areas fall back to plain sentence-case. Costs one setting; solves the acronym problem.

Implementer picks based on whether the repo's area/* set in the wild actually surfaces acronym pain.

Related

Metadata

Metadata

Assignees

Labels

area/vscodeArea: VS Code extension

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions