2.9 KiB
FAIL
../Ely-GPUI-Components/src/git/rows.rs:128 — CMakeLists.txt 先命中扩展名分支,随后因 txt 属于 PROSE 返回 None;131 行为它设置的 # 分支永远到不了,CMake 主文件的语法着色整体丢失。复现:旧内容为 # return 42\n,新内容追加 value = 1\n,分别以 CMakeLists.txt 和 build.cmake 打开 DiffViewer。前者的注释使用正文色,后者使用注释色;原生窗口的行内、并排布局均复现,同一注释区域分别相差 896、1792 个像素。证据:/tmp/R2.12-r2-language.log、/tmp/R2.12-r2-render.log。修复方向:先识别特殊文件名,再执行扩展名分类,并覆盖 CMakeLists.txt 的实际着色。
../Ely-GPUI-Components/src/git/rows.rs:145 — 文件类型只被转换成注释起始符,实际着色仍共用 forms/code.rs 的跨语言关键字与常量表,上一轮要求的语言着色修复仍有遗漏。复现:script.py 中的有效代码 assert ready and True 将 assert、and 着为 variable,将 True 着为 type;config.toml 中有效的裸键 return = 42 将 return 着为 keyword。定向探针记录了实际 HighlightStyle,原生窗口两种布局均显示对应错误颜色。证据:/tmp/R2.12-r2-language.log、/tmp/R2.12-r2-native.log。修复方向:将语言类型传到着色层,按该语言识别关键字、常量及配置键,并加入这些输入的颜色回归断言。
../Ely-GPUI-Components/src/forms/code.rs:69 — 注释判定只检查当前位置是否以起始符开头,遗漏 Shell 的词边界条件,将普通参数的后半段吞成注释。复现:run.sh 内容为 echo foo#bar 42;实际 Bash 输出 foo#bar 42,DiffViewer 却将 #bar 42 整段着为 comment,原生窗口行内、并排布局均复现。证据:/tmp/R2.12-r2-language.log、/tmp/R2.12-r2-native.log。修复方向:按语言处理注释起始条件,Shell 的 # 在词中保持参数内容,补充真实注释和词中 # 的颜色断言。
../Ely-GPUI-Components/src/git/rows.rs:179 — 新测试直接调用 colors_of,上一轮指出的渲染接线回归覆盖仍然缺失。复现:在隔离副本中将 viewer.rs:197 改为 let path: SharedString = "forced.rs".into();,组件库 cargo test --lib --features test-support --offline --locked git:: 仍为 35 项全过;实际 DiffViewer 的 Markdown 在行内、并排布局重新出现代码颜色,文本区域分别改变 890、1780 个像素,Python/TOML 行注释也重新出现关键字与数字颜色。证据:/tmp/R2.12-r2-mutation-test.log、/tmp/R2.12-r2-render.log。基线 ElyTree 检查、构建、111 项测试及组件库全量 1726 项测试均通过;探针副本与独立 target 已删除,两个原始仓库的源码散列与状态核对通过。修复方向:增加经过实际 DiffViewer 两种布局的文本颜色断言,使渲染器收到错误文件类型的突变触发失败。