Regular expressions aren't properly highlighted in certain scenarios
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- javascript, typescript
- Domain
- tooling
Research direction
Start by reproducing the supplied JavaScript snippets in VS Code, then locate the TypeScript TextMate grammar rules responsible for regular-expression literals. Compare highlighting in each listed context and in the nested example; done means the regexes and surrounding code are highlighted correctly without breaking later constructs.
Written by the indexing model from the issue text.
Description
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 notyield*) - after
while(),for(),with(),do,else(but notif()) - after
in/of(infor..in/for..of) - after
void/typeof/new - as either operand of
in/instanceof - after
extends(inclass) - after unary
++/--
worse yet, this can break the highlighting of surrounding code:
yield /[[]/;
if(1) {
foo["bar"]();
a: { break a; }
} else return 123;

- Dominant language
- TypeScript
- Stars
- 471
- Forks
- 149
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/TypeScript-TmLanguage
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
microsoft/TypeScript-TmLanguage#1071 ·
-
triste Open
Difficulty 5/5 Over a week Newbie friendliness 5/100
microsoft/TypeScript-TmLanguage#1078 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
microsoft/TypeScript-TmLanguage#1076 · 6 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 55/100
microsoft/TypeScript-TmLanguage#1074 · 2 comments ·
-
Difficulty 1/5 1-3 hours Newbie friendliness 58/100
microsoft/TypeScript-TmLanguage#1066 · 1 comment ·
All issues in microsoft/TypeScript-TmLanguage
Similar issues
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 76/100
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
vercel/react-tweet#225 ·