diff options
| author | Minh Khoi Do <107194093+khoido2003@users.noreply.github.com> | 2025-09-03 22:09:46 +0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-03 08:09:46 -0700 |
| commit | 5d785f0e9fd95124fa6332ebc30d66607ea3ca76 (patch) | |
| tree | 058a902972321afbe012738271233ea69701df2c /lsp/expert.lua | |
| parent | feat(biome,eslint,svelte,ts_ls,tsgo,vtsls): add deno.lock root marker #4051 (diff) | |
| download | nvim-lspconfig-5d785f0e9fd95124fa6332ebc30d66607ea3ca76.tar nvim-lspconfig-5d785f0e9fd95124fa6332ebc30d66607ea3ca76.tar.gz nvim-lspconfig-5d785f0e9fd95124fa6332ebc30d66607ea3ca76.tar.bz2 nvim-lspconfig-5d785f0e9fd95124fa6332ebc30d66607ea3ca76.tar.lz nvim-lspconfig-5d785f0e9fd95124fa6332ebc30d66607ea3ca76.tar.xz nvim-lspconfig-5d785f0e9fd95124fa6332ebc30d66607ea3ca76.tar.zst nvim-lspconfig-5d785f0e9fd95124fa6332ebc30d66607ea3ca76.zip | |
feat(roslyn_ls): support override completion and refresh diagnostics #4050
Problem:
- Diagnostics were only refreshed for the current buffer, not all buffers
managed by the client. In multi-file C# projects, this left diagnostics
stale unless the user switched buffers.
- Roslyn did not handle override method completion correctly.
Solution:
- Added `roslyn.client.completionComplexEdit` handler to apply edits for
override completions.
- Added `refresh_diagnostics` function, called on project initialization
and on `BufWritePost` / `InsertLeave` events, to proactively pull
diagnostics for all client buffers.
Rationale:
- Roslyn LSP primarily uses pull-based diagnostics. Neovim currently
only triggers diagnostic pulls on text changes in the active buffer.
This makes `debounce_text_changes` insufficient for Roslyn, as changes
in one file can affect diagnostics across the entire solution.
- The autocmds act as a server-specific workaround to mimic an
“on-save/on-idle” pull model.
Diffstat (limited to 'lsp/expert.lua')
0 files changed, 0 insertions, 0 deletions
