Comparison operators ("<", ">") incorrectly interpreted as type parameters
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 48/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- typescript
- 领域
- tooling
调研方向
从 TypeScript and JavaScript Grammar Extension 开始,使用 issue 中显示的语法作用域,在 VS Code 中复现所报告的代码片段。跟踪比较运算符在语法中的分类方式;当 \u003c 和 \u003e 保持为比较运算符,同时周围的类型断言和属性访问获得正常高亮时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
TS and JS Grammar Extension version: 0.0.55 / latest
Code
// Contrived because of simplification
let a = 7
let b = {}
if (a < (b as {c: number}).c || a > (b as {c: number}).c) {
}
If statement parsing:
if [keyword.control.conditional.ts, source.ts]
( [meta.brace.round.ts, source.ts]
a [entity.name.function.ts, meta.function-call.ts, source.ts]
< [punctuation.definition.typeparameters.begin.ts, meta.type.parameters.ts, source.ts]
( [meta.brace.round.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
b [entity.name.type.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
as [entity.name.type.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
{ [punctuation.definition.block.ts, meta.object.type.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
c [variable.object.property.ts, meta.definition.property.ts, meta.field.declaration.ts, meta.object.type.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
: [meta.type.annotation.ts, meta.field.declaration.ts, meta.object.type.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
number [support.type.primitive.ts, meta.type.annotation.ts, meta.field.declaration.ts, meta.object.type.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
} [punctuation.definition.block.ts, meta.object.type.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
) [meta.brace.round.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
. [meta.type.parameters.ts, source.ts]
c [entity.name.type.ts, meta.type.parameters.ts, source.ts]
| [keyword.operator.type.ts, meta.type.parameters.ts, source.ts]
| [keyword.operator.type.ts, meta.type.parameters.ts, source.ts]
a [entity.name.type.ts, meta.type.parameters.ts, source.ts]
> [punctuation.definition.typeparameters.begin.ts, meta.type.parameters.ts, source.ts]
(rest is normal)
So like:
if ( a<type>(parameters).c ) {}
Example in vscode:

Actual code:

- 主要语言
- TypeScript
- 星标
- 471
- 派生
- 149
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
microsoft/TypeScript-TmLanguage 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
microsoft/TypeScript-TmLanguage#1071 ·
-
triste 未关闭
难度 5/5 一周以上 新手友好度 5/100
microsoft/TypeScript-TmLanguage#1078 ·
-
难度 3/5 1-2 天 新手友好度 68/100
microsoft/TypeScript-TmLanguage#1076 · 6 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 55/100
microsoft/TypeScript-TmLanguage#1074 · 2 条评论 ·
-
难度 1/5 1-3 小时 新手友好度 58/100
microsoft/TypeScript-TmLanguage#1066 · 1 条评论 ·
查看 microsoft/TypeScript-TmLanguage 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 84/100
bcgov/bc-wallet-mobile#4761 · 1 条评论 ·
-
external-issue to-triage
难度 2/5 1-3 小时 新手友好度 88/100
-
area-deployment area-integrations triage:bot-seen
难度 2/5 半天 新手友好度 86/100
-
难度 2/5 1-3 小时 新手友好度 82/100
-
refactor
难度 2/5 1-3 小时 新手友好度 84/100