microsoft / microsoft/TypeScript-TmLanguage

TypeScript union members in a function return value highlighted inconsistently

Offen
#1,051 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
TypeScript
Sterne
471
Forks
149
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

JavaScript and TypeScript Nightly version: 5.9.20250330

When returning a union from a function in TypeScript, the first member of the union is rendered inconsistently.

export function myFunction():
  | null
  | null
  | null {
  return null;
}

The first | is rendered as mtk5 while the other ones are rendered as mtk1. This is an issue for color themes where both are rendered differently (e.g. the default Monokai theme). Similarily, the first null value is rendered as mtk17 while the other ones are rendered as mtk16.

Image

This might be the same bug as #997. #1043 and #1041 also seem related.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit der TypeScript TextMate grammar, die zum Tokenisieren des bereitgestellten Beispiels für eine Union-Rückgabe verwendet wird, und vergleichen Sie anschließend, wie das erste und die nachfolgenden |- und null-Tokens klassifiziert werden. Reproduzieren Sie die inkonsistenten Scopes mit dem Beispiel und bestätigen Sie, dass die relevante Grammatikänderung allen äquivalenten Union-Mitgliedern eine konsistente Hervorhebung gibt, ohne die zugehörigen Fälle in #997, #1043 und #1041 zu beeinträchtigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.