microsoft / microsoft/TypeScript-TmLanguage

Bad syntax Highlighting in TS when using multiline union types

Offen
#1,043 4 Kommentare 1 Reaktion 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

Does this issue occur when all extensions are disabled?: Yes/No

  • VS Code Version: 1.95.3
  • OS Version: MacOS 15.0.1

Steps to Reproduce:

Write the following in VSCode

let myObj:
    | {
          prop1: string
      }
    | {
          prop2: string
      }
function myFunc() {}

The syntax of function myFunc() {} and everything after it is broken.

I found that it happens only in this rare edge case. Some things that actually fix it:

  1. Adding a semicolon
let myObj:
    | {
          prop1: string
      }
    | {
          prop2: string
      };
function myFunc() {}
  1. Writing the union type on a single line
let myObj: { prop1: string } | { prop2: string }
function myFunc() {}
  1. Adding a line break before the next line of code
let myObj:
    | {
          prop1: string
      }
    | {
          prop2: string
      }

function myFunc() {}

Bad highlighting:
Image

Wanted highlighting:
Image

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

Reproduziere das TypeScript-Snippet in VS Code und untersuche die TextMate-Grammatikdateien des Repositorys, um die Behandlung mehrzeiliger Union-Typen zu finden. Als erledigt gilt die Aufgabe, wenn die folgende Funktion korrekt hervorgehoben wird, ohne ein Semikolon oder eine zusätzliche Leerzeile zu benötigen.

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
42/100

Neue Issues direkt in Ihr Postfach

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