microsoft / microsoft/TypeScript-TmLanguage

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

Offen
#894 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

@mjbvz arbeitet bereits daran.

Seit 01.12.2021.

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: 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

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

Reproduzieren Sie das Problem in VS Code mit dem TypeScript-Snippet und vergleichen Sie dabei das mehrzeilige Generic mit der einzeiligen Form. Untersuchen Sie anschließend die TypeScript TextMate grammar-Dateien des Repositorys, um die Regel zu finden, die die Kurzschreibweise für Objektfunktionen und mehrzeilige Generics behandelt. Als erledigt gilt die Aufgabe, wenn beide Formen eine korrekte Syntaxhervorhebung erhalten, ohne den umgebenden Funktionskörper zu beeinflussen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript, vscode
Bereich
developer-experience, tooling
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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