Repository navigation
feat(core): #1662 第二轮 快捷键与终端(WS-08/16/17) - #1768
Merged
Merged
Conversation
Owner
Author
本地集成验证(#1662 第二轮)本 PR 与 #1765、#1768、#1767、#1766、#1769 一起,在本地集成分支 Rust
校验脚本 macOS
Windows 前端(在 Mac 上用 bun 跑)
未执行 验证通过后用 |
This was referenced Nov 5, 2026
…arseLinkTarget 快捷键冲突按默认、预设、用户逐层覆盖后的最终绑定检测,修饰键顺序和别名不同的等价绑定视为同一个;终端链接统一解析 path:line:column、file URI、~ 和相对路径,不按扩展名猜测。附共享 fixture、契约和跨 JSON 边界测试。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
macOS 的冲突判断改由 Core 完成;Windows 按最终生效绑定(含默认和预设)检测,行内提示、编辑保存和导入都会拒绝冲突。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Windows 改为对候选路径检查文件是否存在;macOS 不再把 App.swift:12 误当成 URL scheme。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
按键路径必须同步,不能每个按键走一次 Core IPC,因此不下沉;两端用同一份 modifier-gesture fixture 逐步验证,并在功能矩阵说明。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
不带行号的远程/WSL 文件路径不再回退;悬停同一行时按(工作目录,行文本)做有界 TTL 缓存并共享进行中的请求。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1lck
force-pushed
the
feat/issue-1662-r2-keymap-terminal
branch
from
November 5, 2026 13:57
d7ff674 to
ee96218
Compare
1lck
marked this pull request as ready for review
November 5, 2026 13:57
This was referenced Nov 5, 2026
1lck
added a commit
that referenced
this pull request
Nov 6, 2026
* feat(core): #1662 GIT-18/19 Core 提交图投影 git.graphProjection 新增 Core 命令 git.graphProjection:把 macOS 的 IntelliJ 提交图算法(permanent layout、head 排序、 定色、过滤后的虚线拓扑、隐藏祖先、missing parents、print element、推荐宽度)搬进 git::graph, 返回整数 lane、稳定的 color ID、路由和标签。删除没有调用方的旧 project_graph。 共享 fixture graph-projection-v1.json、IntelliJ 对拍 fixture 迁到 shared/fixtures/git/graph-idea, Rust 测试覆盖 fixture、真实历史对拍和 5000 提交规模。 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * feat(windows): #1662 GIT-18/19 Windows 提交图改走 Core git.graphProjection 提交图布局、定色、过滤后的虚线拓扑和 missing parents 改为整窗口一次调用 git.graphProjection, 删除 TS 的 DFS/permanent layout/head 排序/按名称哈希定色和 git-graph-filter-projection。 当前分支祖先高亮改用 Core 返回的 currentBranchHashes。颜色 ID 到具体颜色的映射留在 git-graph-colors。 测试替身新增 git-graph-projection-stub(回放共享 fixture),布局/行/主题/表格测试改为断言 fixture 的具体结果。 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * feat(macos): #1662 GIT-18/19 macOS 提交图改走 Core git.graphProjection 提交图布局、定色、过滤后的虚线拓扑和 missing parents 改为整窗口一次调用 git.graphProjection, 删除 Swift 的 GitGraphProjection / GitGraphHeadOrdering / GitGraphMissingParents; 当前分支祖先高亮改用 Core 返回的 currentBranchHashes。 测试通过 GitGraphCoreTestSupport 调用真实链接的 Core;删除 LitheGitGraphVerifier 与 CoreVerifier 里的图布局检查, 性能 verifier 链接 Rust Core;同步功能矩阵、Agent Note 与语言特定词基线。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(core): #1662 第三轮 测试历史覆盖合并(RUN-10) - 新增 build.mergeTestOutcomes:宿主给出历史/本次结果 ID 与覆盖范围(精确 ID + ID 前缀),Core 只比较字符串,输出稳定顺序的合并条目;空范围不覆盖任何结果,空前缀拒绝。 - 新增共享 fixture test-outcome-merge-v1.json。 - macOS LanguageTestService 删除自有合并算法,coverage 转长度前缀 ID 前缀后调用 Core。 - Windows maven.store 删除自有合并算法,Java 嵌套类(Outer$Inner)在 Maven 适配层转成前缀后调用 Core;测试替身补齐新命令。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(macos): #1662 RUN-10 coverage 缺 suite 的 case 直接拒绝 契约与 Core 解码已禁止只有 case、没有 suite 的 coverage,生产方不会产出。macOS 解码层同样拒绝这种组合,覆盖前缀不再把它降级成 project 前缀,避免删多历史结果;补解码拒绝测试。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(scripts): #1662 模块边界检查不再要求终端模块保留链接解析器 WS-16(#1768)已把终端文件链接解析下沉到 Core(terminal.parseLinkTarget), macOS 删除了 TerminalLinkResolver,但 verify-module-boundaries.sh 仍要求 LitheTerminalModule 里有这个类型,导致脚本在 preview 上失败。去掉这一项, 保留旧文件不得回到可执行 target 的检查。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
关联 #1662(第二轮 快捷键与终端)。
WS-08 快捷键冲突检测(完成)
keymap.analyzeConflicts:按 默认 -> 预设 -> 用户 逐层覆盖后的最终生效绑定判定冲突;修饰键顺序、大小写、别名(cmd/command/mod、option、esc 等)不同但等价的绑定视为同一个;when空白归一;无法解析的绑定进invalid且不参与冲突。KeyboardShortcutFeatureModel的冲突判断改由 Core 完成(原生按键到绑定文本的转换留在平台)。WS-16 终端文件链接(完成)
terminal.parseLinkTarget:path:line:column、file URI 解码、~、相对路径映射;不看扩展名、不访问文件系统。src/foo.ts仍可点开,三种根行为一致,无扩展名例外。同一(工作目录,行文本)结果 TTL 2s、LRU 128,进行中请求共享。TerminalLinkResolver;App.swift:12不再被误当 URL scheme。WS-17 Double Shift(有意保留平台实现,不下沉)
shared/fixtures/keymap/modifier-gesture-v1.json(16 个序列)逐步对照测试,已在功能矩阵、契约文档和两端代码注释中说明,改动须同时改 fixture 与两端。验证
keyboard-settings-routing测试替身补了keymap.analyzeConflicts(installKeymapContextPlans增加可选应答参数)。matcher.test.ts的 IME 用例在 origin/preview 上同样失败,非本次引入。与 open PR 重叠
keymap-customization.json、keymaps/hooks/use-keymaps.ts(本 PR 未改后者,仅功能矩阵文件重叠)。feat(macos): 终端引擎升级到 SwiftTerm 2.0 并启用 Metal 渲染 #1541:无文件重叠。🤖 Generated with Claude Code