Appearance
Phase 6 LSP 与编辑器语义收口
目标
Phase 6 的任务不是一次做完 project-wide IDE,而是在已有 same-file 语义边界上,把 query、rename、completion、semantic tokens 和 LSP bridge 系统性收口成一套稳定 editor semantics。
核心交付:
- same-file references / rename
- completion surface parity
- semantic-token parity
- direct/member/type-namespace/callable/value/variant truth surface aggregate
- analysis / LSP 一致性回归
合并后的切片结论
1. Query truth surface
这一大组切片把 query surface 的根边界做稳:
- direct symbol / member query precision
- explicit field-label query precision
- variant query precision
- callable surface aggregate
- type-namespace surface aggregate
- global value item surface
核心原则始终一致:
QueryIndex是唯一 editor-facing truth source- LSP bridge 只做协议映射,不复制语义遍历
2. Rename surface
这一组切片把 same-file rename 从脚手架推进到可用边界:
- function / const / static / struct / enum / trait / type alias / import / field / unique method / local / parameter / generic / variant
- shorthand binding rename
- shorthand field rewrite
- item shorthand rename coverage
- lexical rename parity
- type-namespace rename coverage
- root value item rename parity
3. Completion surface
这一组切片把 completion 扩成多类 surface,同时补齐 editor-facing parity:
- lexical value completion
- type-context completion
- stable member completion
- parsed variant-path completion
- import alias variant / struct-variant follow-through
- escaped identifier completion 保真
- candidate-list parity
- filtering parity
4. Semantic-token surface
这一组切片把 occurrence-based semantic tokens 做成稳定 editor 契约:
- direct semantic-token parity
- direct member semantic-token parity
- callable semantic-token parity
- type-namespace semantic-token parity
- import alias semantic-token parity
- lexical semantic-symbol parity
5. Aggregate hardening
大量后续切片的真正价值不是“再加一个功能”,而是把已经有的 same-file truth surface 做成不会漂移的 editor 契约:
- callable surface aggregate refresh
- direct symbol/member aggregate refresh
- value candidate-list refresh
- type-context candidate-list refresh
- variant candidate-list refresh
- impl-preferred filtering refresh
- lexical visibility filtering refresh
当前架构收益
P6 现在已经把 same-file editor semantics 的主干收敛成一条稳定路径:
- analysis 与 LSP 共用同一份 symbol identity
- hover / definition / references / rename / completion / semantic tokens 不再各自为战
- import alias、field、variant、method、type namespace 这些最易漂移的 surface 已进入系统性回归
当前仍刻意保留的边界
- cross-file / workspace index
- parse-error tolerant dot-trigger completion
- deeper module-path completion / navigation
- ambiguous member completion
- ambiguous method rename
- code actions / inlay hints / call hierarchy
- project-wide rename
归档
本阶段原始切片稿已归档到 /plans/archive/phase-6。