Repository navigation
feat(core): #1662 车道 D LSP/编辑器下沉(LSP-03/04/08/09/13~17) - #1756
Merged
Merged
Conversation
1lck
force-pushed
the
feat/issue-1662-d-lsp-editor
branch
from
November 5, 2026 06:39
2319797 to
5778b11
Compare
This was referenced Nov 5, 2026
新增 Core 命令并让平台改用 Core 结果,删除对应的平台本地实现: - LSP-03 lsp.planWorkspaceEdit:workspace edit 目标校验与提交顺序 - LSP-04 lsp.classifyNavigationTarget:跳转目标工作区/外部只读/拒绝分类 - LSP-08 lsp.activationPolicy:语言服务器失败后的自动启动策略 - LSP-09 lsp.mergeCompletions:多 provider 补全候选合并(不含语言关键词表) - LSP-13 editor.planTextEdits:插件文本编辑批次校验与排序,复用 lsp.applyTextEdits 行索引规则 - LSP-14 document.planSaveBatch / reduceSaveBatch:批量保存计划与结果归并 - LSP-15 editor.navigationHistory.reduce:导航历史 reducer - LSP-16 editor.workbenchState.reduce:标签/分组 reducer - LSP-17 lsp.problems.query:Problems 过滤、排序、分组与计数 附带共享 fixture、契约文档、平台功能矩阵和语言特定词基线更新。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Windows 的 pane-tree 是同步树结构,与 Core 的 WorkbenchState 数据模型不同,接入需要大重构,不适合本 PR。撤掉 editor.workbenchState.reduce 的命令、契约、fixture、测试和 macOS 接入。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
macOS 删除本地路径前缀和语言判断;Windows 外部同语言源码只读打开,被拒绝的目标不读取。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
工作区边界、只读检查和提交顺序由 Core 决定;Windows 补上版本检查和失败回滚,带保护的写入仍在平台执行。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
macOS 不再在第一个失败处停止;Windows 的 Save All 改由 Core 选择成员并归并结果。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
本地验证(代替 GitHub macOS / Windows CI)本 PR 与 #1760、#1755、#1753、#1759、#1756、#1758、#1757 一起,在本地集成分支 macOS(本机,macOS 26.6 arm64)
Windows(lithe-dev,Windows Server)
合并前每个 PR 已 rebase 到最新 preview,并重新执行编译、i18n、 |
1lck
force-pushed
the
feat/issue-1662-d-lsp-editor
branch
from
November 5, 2026 09:45
5778b11 to
af85c35
Compare
1lck
marked this pull request as ready for review
November 5, 2026 09:45
This was referenced Nov 5, 2026
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(车道 D:LSP/编辑器)。本 PR 把车道 D 的规则下沉到 Rust Core,共享 fixture 锁定行为;有两端调用方的条目都已删除旧平台实现,没有调用方的 Core 命令不在本 PR 内。不做 LSP-12。
条目与状态
lsp.planWorkspaceEditlsp.classifyNavigationTargetlsp.activationPolicylanguage-server-failure-cooldownlsp.mergeCompletionslsp-completion-hovereditor.planTextEdits(复用lsp.applyTextEdits规则)plugin-host-editor-file-window-servicesdocument.planSaveBatch/document.reduceSaveBatcheditor.navigationHistory.reducelsp.problems.queryLSP-16 撤出原因:Windows 的
pane-tree.ts是同步树结构,数据模型与 Core 的WorkbenchState不同,接入要重构,且会把同步操作变成 IPC。Core 命令、契约、fixture 和 macOS 接入都已撤掉,留待后续 PR。行为变化
editor.workspaceEditOutsideWorkspace、editor.workspaceEditReadOnlyDocument、editor.workspaceEditRollbackFailed、native.languageEditCouldNotBePlanned。新增 API
lsp.planWorkspaceEdit、lsp.classifyNavigationTarget、lsp.activationPolicy、lsp.mergeCompletions、lsp.problems.query、editor.planTextEdits、editor.navigationHistory.reduce、document.planSaveBatch、document.reduceSaveBatch;契约见shared/contracts/rust-core-api.md。验证
通过:
cargo test -p lithe-core --lib:1978 passed, 0 failed(rebase 到最新 preview 后)test-macos.sh --filter覆盖 EditorTextEditPlanner、LanguageNavigation、LanguageWorkspaceEdit、DocumentSave、NavigationHistory、ProblemsPanel、LanguageFeatureProvider、LanguageIntelligenceModule、EditorDocumentService:115 tests passedverify-rust-core-comments.sh、verify-shared-contracts.sh、verify-platform-feature-matrix.sh、verify-windows-boundaries.sh、verify-core.sh、generate-i18n.mjs --check、verify-app-language-localization.mjs、verify-no-host-language-specifics.mjs未通过或未执行:
verify-service-boundaries.sh报AppModel+CodeNavigation.swift627 行超限;该文件与 preview 完全一致,本 PR 未改动,是已有问题。cargo check --bin lithe-windows在非 Windows 主机上只有既有的std::os::windows报错,无新增错误。🤖 Generated with Claude Code