Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Regular expressions aren't properly highlighted in certain scenarios

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

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
42/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Bereich
tooling

Rechercherichtung

Beginne damit, die bereitgestellten JavaScript-Snippets in VS Code zu reproduzieren, und ermittle dann die TypeScript TextMate-Grammatikregeln, die für Literale regulärer Ausdrücke verantwortlich sind. Vergleiche die Hervorhebung in jedem aufgeführten Kontext und im verschachtelten Beispiel; als erledigt gilt die Aufgabe, wenn die Regexe und der umgebende Code korrekt hervorgehoben werden, ohne nachfolgende Konstrukte zu beeinträchtigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

in vscode 1.53.1

/foo/;
return /foo/;
throw /foo/;

yield* /foo/;
yield /foo/;
await /foo/;

export default /foo/;


if(_) /foo/;
else /foo/;

while(_) /foo/;

for(;;) /foo/;
for(_ in /foo/) /foo/;

with(_) /foo/;

do /foo/;
while(_);


void /foo/;
typeof /foo/;
/foo/ in /foo/;
/foo/ instanceof /foo/;
new /foo/;
!class extends /foo/ {};

/foo/[/foo/];
!/foo/;
~/foo/;
+/foo/;
-/foo/;
++/foo/;
--/foo/;
/foo/++;
/foo/--;

looks like this:

as can be seen, regular expressions aren't properly highlighted:

  • after throw/export default
  • after await/yield (but not yield*)
  • after while(), for(), with(), do, else (but not if())
  • after in/of (in for..in/for..of)
  • after void/typeof/new
  • as either operand of in/instanceof
  • after extends (in class)
  • after unary ++/--

worse yet, this can break the highlighting of surrounding code:

yield /[[]/;
if(1) {
	foo["bar"]();
	a: { break a; }
} else return 123;

Vorherrschende Sprache
TypeScript
Sterne
471
Forks
149
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/TypeScript-TmLanguage

Alle Issues in microsoft/TypeScript-TmLanguage

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

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