microsoft / microsoft/TypeScript-TmLanguage

VSCode Syntax highlighting broken when using TypeScript multiline generics in ES6 object function shorthand syntax

Ouverte
#894 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

@mjbvz y travaille déjà.

Depuis le 1/12/2021.

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: 1.62.3
  • OS Version: macOS 11.6.1

Steps to Reproduce:

  1. Create a typescript file with the following code:
const obj = {
	fn<
		K extends string
	>(_: K) {
		const a = 'a';

		function _f() {
			const b = 'b';
			return b;
		}

		return a;
	},
};

const obj2 = {
	fn<K extends string>(_: K) {
		const a = 'a';

		function _f() {
			const b = 'b';
			return b;
		}

		return a;
	},
};
  1. Notice how the syntax highlighting is broken in the first object declaration:
image

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 VS Code avec l’extrait TypeScript, en comparant le générique multiligne avec la forme sur une seule ligne. Examinez ensuite les fichiers de grammaire TypeScript TextMate du dépôt afin de trouver la règle qui gère la syntaxe abrégée des fonctions d’objet et les génériques multilignes. Le travail est terminé lorsque les deux formes bénéficient d’une coloration syntaxique correcte sans affecter le corps de la fonction environnante.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript, vscode
Domaine
developer-experience, tooling
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

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