microsoft / microsoft/TypeScript-TmLanguage
TSX Default Generic Arrow Function Syntax Highlighting
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 471
- Forks
- 149
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
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
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Reproduisez les deux snippets de fonctions arrow génériques dans VS Code avec le parseur typescriptreact et comparez leur coloration syntaxique avec les exemples de workaround. Examinez ensuite les fichiers de grammaire TextMate du dépôt pour les règles TypeScript JSX ; le travail est terminé lorsque les deux formes valides sont correctement colorées sans provoquer de régression dans les workarounds présentés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- typescript
- Domaine
- tooling
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100