microsoft / microsoft/TypeScript-TmLanguage

Code Highlighting Broken for Generic Functions with Default Values in .tsx Files

Offen
#1,042 4 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

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

  • Version: 1.95.0-insider
  • Commit: 804f450ca900d24db25e7174e8b6dfb3fb2a318c
  • Date: 2024-10-22T13:30:10.100Z
  • Electron: 32.2.1
  • ElectronBuildId: 10427718
  • Chromium: 128.0.6613.186
  • Node.js: 20.18.0
  • V8: 12.8.374.38-electron.0
  • OS: Darwin x64 24.0.0

Describe the bug
In VSCode, when writing a generic function with default values in a .tsx file, code highlighting is broken and colors are displayed incorrectly. The same code works fine in a .ts file.

To Reproduce

  1. Open VSCode and create a new .tsx file.
  2. Write the following code:
const func = <T = string,>(args: T): string => {
  const t = typeof args;
  if (typeof t === 'string') {
    return t.split(',').join('_');
  }
  return '';
};
func('');

const add = (a: number, b: number) => {
  return a + b;
};
  1. Observe the code highlighting.

Expected behavior
Code highlighting should work correctly and match the behavior in .ts files.

Screenshots
In .tsx file:
Image
Pay attention to the screenshot where the generic default parameter definitions, colons, and arrow function arrows are all highlighted in red, while the colors of keywords such as const, if, and return are incorrect.

In .ts file:
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 Beispiel in einer Datei mit der Endung .tsx und vergleiche dessen Hervorhebung mit demselben Code in einer Datei mit der Endung .ts. Untersuche die TypeScript-TextMate-Grammatikregeln für generische Parameter mit Standardwerten und Pfeilfunktionen; abgeschlossen ist die Aufgabe, wenn die .tsx-Farben der erwarteten TypeScript-Hervorhebung entsprechen, ohne das bestehende .ts-Verhalten zu beeinflussen.

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

Neue Issues direkt in Ihr Postfach

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