editors: recognize report and report_value as observer forms
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 85/100
- Issue 类型
- 功能
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- vim, vscode
- 领域
- tooling
调研方向
从 editors/vscode/syntaxes/eigenscript.tmLanguage.json 和 editors/vim/syntax/eigenscript.vim 开始,检查关键字列表和嵌套插值模式列表。在禁用 eigenlsp 的情况下验证 scopes,并添加一个小型 fixture 或可复现的检查,展示两种 observer 形式在可执行上下文和 f-string 插值上下文中都能被高亮,同时较长的标识符、字符串、注释和现有疑问形式仍保持正确。
由索引模型根据 Issue 内容生成。
描述
The language reserves report and report_value as observer forms, but the bundled VS Code and Vim syntax grammars omit both names. VS Code's TextMate grammar falls through to the ordinary function-call rule for report of x and report_value of x; Vim has no corresponding observer keyword entry.
This is a small first contribution in editor configuration. No C or observer implementation changes are needed.
Starting points
Checked at b91768e23c5a874a64e76e4af9ab291e6aa49983:
- The lexer reserves both words.
- VS Code grammar: keyword/interrogative patterns omit them; the generic call pattern follows these patterns.
- Vim grammar: keyword/interrogative declarations omit them too.
For the bounded fix, use the existing observer/interrogative highlighting groups (support.function.interrogative.eigenscript and eigsInterrogative) for these two forms. This is a highlighting category; it does not change the language's terminology or semantics.
For the interpolation cases, also inspect the nested pattern lists: VS Code's #fstrings expression patterns do not include #interrogatives, and Vim's eigsInterp contains list omits eigsInterrogative. Updating only the top-level keyword lists will leave those cases unhighlighted.
Done when
-
reportandreport_valuereceive the observer highlighting group in executable expressions in both editors, including inside f-string interpolations. - Longer identifiers such as
report_value_extraremain ordinary identifiers. - The same text inside a string or comment retains its string/comment scope.
- Existing interrogatives continue to highlight correctly.
- The PR includes a small fixture or reproducible scope inspection showing the missing highlighting before the change and the correct scopes after it.
The omission was confirmed from the grammar patterns, not through a GUI run. In VS Code, verify with eigenlsp disabled as well, since semantic tokens can hide a TextMate defect. Follow CONTRIBUTING.md for normal PR checks. Keep the change limited to these two observer forms; the separate numeric-literal highlighting task may touch the same files.
- 主要语言
- C
- 星标
- 3
- 派生
- 7
- 平均合并
- 4 小时 7 分钟
- 30 天内合并 PR
- 112
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
InauguralSystems/EigenScript 的其他 Issue
-
area:embed kind:silent-wrong
难度 2/5 1-3 小时 新手友好度 78/100
InauguralSystems/EigenScript#1387 ·
维护者通常 1 天内回复
-
area:stdlib kind:silent-wrong
难度 2/5 1-3 小时 新手友好度 86/100
InauguralSystems/EigenScript#1378 ·
维护者通常 1 天内回复
-
area:gates kind:gate-defect
难度 2/5 1-3 小时 新手友好度 78/100
InauguralSystems/EigenScript#1374 ·
维护者通常 1 天内回复
-
Error carets pad multi-byte UTF-8 byte-for-byte, so the ^ lands right of the token on a terminal未关闭area:lint-tooling kind:silent-wrong
难度 2/5 1-3 小时 新手友好度 84/100
InauguralSystems/EigenScript#1373 ·
维护者通常 1 天内回复
-
area:gates kind:docs-drift
难度 1/5 1 小时以内 新手友好度 88/100
InauguralSystems/EigenScript#1372 ·
维护者通常 1 天内回复
查看 InauguralSystems/EigenScript 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 84/100
-
难度 1/5 1 小时以内 新手友好度 92/100
-
[Issue]: Headers - vx_ext_amd.h does not compile as C (enum types used without the enum keyword)未关闭
难度 1/5 1 小时以内 新手友好度 92/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
-
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 1 天内回复