Files
ElyOffice/tasks/reviews/R2.12-r3.md
T

12 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
FAIL
../Ely-GPUI-Components/src/forms/syntax.rs:15 — 语言词表仍有跨语言混用,上一轮第二项的根因修复仍有遗漏。Python 的 `assert ready and True` 与 TOML 的 `return = 42` 已按预期着色;Rust 的合法代码 `let from = 42;` 却把普通变量 `from` 着为 keyword,Ruby 的 `def hello; puts true; end` 把 `def` 着为 variable(145 行 HASH 沿用 C_LIKE,且新表删掉了原表中的 def)。rustc 与 Ruby 均成功执行这些代码,定向探针记录实际 HighlightStyle,原生窗口两种布局均确认 Rust 的错误颜色。证据:/tmp/R2.12-r3-language.log、/tmp/R2.12-r3-parser.log、/tmp/R2.12-r3-native.log。修复方向:按实际语言选择关键字表,覆盖普通同名变量与 Ruby 定义关键字的颜色回归。
../Ely-GPUI-Components/src/forms/syntax.rs:164 — 新扩展名表遗漏了上一版已有的 Haskell 与 Erlang 注释映射,211 行将它们退回 C_LIKE,造成着色回归。复现:`main.hs` 的 `-- return 42`、`main.erl` 的 `% return 42` 原本整行是 comment,现在将 return 着为 keyword、42 着为 number。原生 DiffViewer 与相同文本的正确注释着色对照,行内/并排分别相差 839/1678、933/1866 个文本像素。证据:/tmp/R2.12-r3-language.log、/tmp/R2.12-r3-render.log。修复方向:迁移时保留原有语言的注释规则,并增加覆盖被迁移扩展名的实际颜色断言。
../Ely-GPUI-Components/src/forms/syntax.rs:102 — TOML 被设置为仅在空白后识别注释,198 行的 CMakeLists.txt 又被归入具有同一限制的 SHELL,合法的紧接代码注释被当作代码。上一轮 `# return 42` 的 CMake 文件名复现已通过,但 `CMakeLists.txt` 中的 `set(x 1)# return 42` 与 `config.toml` 中的 `answer = 42# return 99` 仍分别把注释里的 return、数字着为代码;cmake 成功执行,tomllib 成功解析出 answer=42。相同 CMake 行在 build.cmake 中着色正确;CMake 主文件与它在行内/并排相差 902/1804 个文本像素,TOML 注释与正确注释对照相差 922/1844 个文本像素。证据:/tmp/R2.12-r3-parser.log、/tmp/R2.12-r3-language.log、/tmp/R2.12-r3-render.log。修复方向:分别配置 TOML 与 CMake 的注释起始条件,并覆盖代码后紧接 # 的场景。
../Ely-GPUI-Components/src/forms/code.rs:82 — Shell 的注释边界只认可行首与空白,遗漏控制操作符结束词的情况。上一轮 `echo foo#bar 42` 的词中 # 已修复;有效 Shell 代码 `echo x;# return 42` 在 Bash 中只输出 x,DiffViewer 却将注释中的 return 着为 keyword、42 着为 number。两种原生布局均复现,与正确注释颜色对照的文本像素差为 910/1820。证据:/tmp/R2.12-r3-parser.log、/tmp/R2.12-r3-language.log、/tmp/R2.12-r3-render.log。修复方向:依 Shell 的词法边界识别注释起点,覆盖分号等操作符后的注释,同时保留词中 # 的回归。
../Ely-GPUI-Components/src/git/rows.rs:201 — 新回归只读取构造器保存的 syntax,上一轮第四项要求的实际渲染接线覆盖仍然缺失。复现:在隔离副本中将 viewer.rs:202 的 `let syntax = self.syntax;` 改成 `let syntax = crate::forms::syntax_of("forced.rs");`,执行 `cargo test --lib --features test-support --offline --locked`,1727 项测试仍全部通过;原生 DiffViewer 的 Markdown 在行内、并排重新出现代码颜色,文本区域分别改变 1073、1780 个像素,Python/TOML 注释也被错误着色。证据:/tmp/R2.12-r3-mutation-test.log、/tmp/R2.12-r3-mutation-native.log、/tmp/R2.12-r3-render.log。基线 ElyTree 检查、构建与 111 项测试、组件库 1727 项测试通过;探针副本与独立 target 已删除,原始组件库与本次审查范围源码散列一致(/tmp/R2.12-r3-cleanup.log)。修复方向:增加经过 DiffViewer 两种布局的文本颜色断言,让渲染接收错误语言类型的突变触发失败。