microsoft / microsoft/TypeScript-TmLanguage
Regular expressions aren't properly highlighted in certain scenarios
オープン
まだ誰も着手していません。
- 主要言語
- TypeScript
- スター
- 471
- フォーク
- 149
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
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;

コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、提供された JavaScript スニペットを VS Code で再現し、次に正規表現リテラルを担当する TypeScript TextMate 文法ルールを特定します。各一覧内のコンテキストとネストされた例でハイライトを比較します。完了条件は、後続の構文を壊すことなく、regex と周囲のコードが正しくハイライトされることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript, typescript
- 領域
- tooling
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 42/100