Skip to content

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

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

Activity

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

Metadata

Metadata

Assignees

Labels

area/vscodeArea: VS Code extension

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions