Commit 46d222d
committed
fix: LSP format deadlock, null diagnostics, stale state after rename, and simplify code
- Fix self-deadlock in format(): NotifyFileChange acquires h.mu but
format() already holds it. Extract notifyFileChangeLocked() and use
it from both format() and applyWorkspaceEdit()
- Fix codeActions() nil diagnostics slice producing JSON null instead of []
- Fix applyWorkspaceEdit() not notifying LSP server of file changes after
rename, causing stale diagnostics/hover results
- Simplify tool registration by replacing lspToolDef struct with lspTool()
factory function
- Deduplicate definition/implementations into shared locationRequest() helper
- Extract initializeLocked() from ensureInitialized() for readability
Assisted-By: docker-agent1 parent 87a4f24 commit 46d222d
1 file changed
Lines changed: 165 additions & 199 deletions
0 commit comments