microsoft / microsoft/TypeScript-TmLanguage

TS Syntax highlight broken for multiline generic arguments of function in object

Ouverte
#1,028 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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

Type: Bug

When having a function with generic type params in an object and the generic type params wrap into multiple lines, the TS syntax highlighting is broken.

To reproduce, just paste the following code in a .ts file and see the broken output:

const myObj = {
  test<
    A extends Record<string, any>,
    C extends Record<string, any>,
    B extends Record<string, any>,
  >(a: A, b: B, c: C): Record<string, any>[] {
    if ('hello' in a) {
      console.log('Test');
    }
    return [a, b, c];
  },
};

For reference, I added the same function but outside of the object which shows the correct/broken highlight in comparison:
image

VS Code version: Code 1.88.1 (e170252f762678dec6ca2cc69aba1570769a5d39, 2024-04-10T17:42:52.765Z)
OS version: Darwin x64 22.6.0
Modes:

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Reproduisez le problème dans un fichier TypeScript en utilisant l’objet fourni et l’exemple de generic-function multiligne, en le comparant à la fonction autonome. Examinez les fichiers de grammaire TypeScript TextMate pour trouver les règles qui gèrent les arguments génériques à l’intérieur des membres d’objet ; le travail est terminé lorsque la version multiligne reçoit la même coloration correcte que la fonction autonome.

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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.