Typescript syntax highlighting breaks after multi line crocodile bracket type assertion

オープン
#983 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
typescript, vscode

調査の方向性

拡張機能を無効にした状態で、提供された TypeScript の例を VS Code で開いて問題を再現し、その後、リポジトリの TypeScript TextMate 文法ファイルを調べて、複数行にわたる山括弧アサーションを追跡します。アサーションの後で構文ハイライトが正しく再開し、後続の if 文と文字列リテラルも含まれることを確認できれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Does this issue occur when all extensions are disabled?: Yes

  • VS Code Version: Version: 1.78.2 (Universal)
  • OS Version: macOS 13.4

Steps to Reproduce:

  1. past the following code into a file which has TypeScript set as the language
const req: { query: Record<string, unknown> } = { query: {id1: 'foo', id: 'bar'} };

const { id1, id2 } = <
  {
    id1: string;
    id2: string;
  }
>req.query;

if (id1) {
  throw new Error('syntax highlighting broke');
}

const backToNormal = 'yay';

if (id2) {
  throw new Error('syntax highlighting is back');
}

Screenshot was taken on an instance with all extensions disabled.
Notice how the highlighting breaks after the req.query for the following if statement and its contents.
Screenshot 2023-06-07 at 5 14 54 PM

Here is a second screenshot with different theme added. You can see it breaks in the same spot.
Screenshot 2023-06-07 at 5 15 38 PM

主要言語
TypeScript
スター
471
フォーク
149
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

microsoft/TypeScript-TmLanguage のほかの issue

microsoft/TypeScript-TmLanguage の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。