microsoft / microsoft/TypeScript-TmLanguage
TSX Default Generic Arrow Function Syntax Highlighting
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
- VS Code Version: Version: 1.78.2
- OS Version: Darwin arm64 21.3.0
Related to https://github.com/microsoft/TypeScript/issues/47062
TSC has been updated to successfully parse the below TSX code snippet:
const Component = <T = undefined>(props: PropType<T>) => <p>content</p>
however this currently breaks the syntax highlighting in VSCode's typescriptreact parser.
The same can be said for the trailing comma added by prettier (3.0.3):
const Component = <T = undefined,>(props: PropType<T>) => <p>content</p>
Some short term work-arounds are available:
Using extends
const Component = <T extends unknown = undefined>(props: PropType<T>) => <p>content</p>
Using function syntax
const Component = function<T = undefined>(props: PropType<T>) {
return <p>content</p>
}
Despite these workarounds, the original code seems syntactically valid, and more concise, so I believe this to be a bug
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduziere die beiden Snippets mit generischen Arrow-Funktionen in VS Code mit dem typescriptreact-Parser und vergleiche ihre Hervorhebung mit den Workaround-Beispielen. Untersuche anschließend die TextMate-Grammatikdateien des Repositorys auf die TypeScript-JSX-Regeln; abgeschlossen ist die Aufgabe, wenn beide gültigen Formen korrekt hervorgehoben werden, ohne die gezeigten Workarounds 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
- 35/100