aboutsummaryrefslogtreecommitdiffstats
path: root/lsp/roslyn_ls.lua
Commit message (Collapse)AuthorAgeFilesLines
* fix(roslyn_ls): handle roslyn.client.fixAllCodeAction command #4358Minh Khoi Do2026-03-271-17/+59
|
* fix(rosyln_ls): use default offset encoding (utf-16) instead of utf-8 (#4354)陆离2026-03-191-1/+0
| | | | | | | | | Setting `offset_encoding` to `utf-8` is causing problem. See discussion at https://github.com/neovim/neovim/discussions/38375. According to LSP specification 3.17, when `positionEncoding` is not specified in server capability, it's value should be assumed to be `utf-16`, see https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#serverCapabilities. roslyn_ls does not response `positionEncoding` in initialize result (version `5.4.0-2.26162.5+e11fbc2bc8292680a92d731e5d9a6c7ee229262d`). One can verify this by setting LSP log level to debug, and read LSP log. So, setting `offset_encoding` in default config is a mistake.
* fix(roslyn_ls): add handler for roslyn.client.nestedCodeAction command #4350Minh Khoi Do2026-03-171-0/+69
| | | | | | | | | | | | | | | | | | | | Problem: Roslyn code actions can return nested actions using the `roslyn.client.nestedCodeAction` command. Neovim currently shows a warning when using call to action with nested actions, because no handler exists for this command: ``` Language server roslyn_ls does not support command roslyn.client.nestedCodeAction This command may require a client extension. ``` Solution: Implement a command handler that: - resolves code actions using `codeAction/resolve` - supports Roslyn's `NestedCodeActions` property - recursively handles nested actions - presents multiple nested actions via `vim.ui.select` - applies the final workspace edit or command
* fix(roslyn_ls): navigation in macos decompiled files #4342Luke Elrod2026-03-161-0/+6
|
* feat(roslyn_ls): fallback to official roslyn binary name #4334Alexej Kowalew2026-03-091-1/+2
| | | | | | | | | Problem: As mentioned here (https://github.com/mason-org/mason-registry/pull/6330#issuecomment-3971724747), there is a change (https://github.com/dotnet/roslyn/pull/82201/changes) that the official language server can be easily installed via `dotnet` cli. Solution: Use the official binary name as a fallback.
* fix(roslyn_ls): use uv.os_tmpdir() instead of vim.env.TMP #4297Async102026-01-291-1/+1
| | | Co-authored-by: Daniel Schmitt <d.schmitt@lansoftware.de>
* fix(roslyn_ls): platform-agnostic check for "decompiled" file #4296Async102026-01-281-1/+11
| | | Co-authored-by: Daniel Schmitt <d.schmitt@lansoftware.de>
* fix(roslyn_ls): guess root_dir for decompiled code #4257Matthew Wilding2025-12-231-3/+8
| | | Try to guess the root_dir by getting the lsp client from the previous buffer.
* fix(roslyn_ls): attach in decompiled code #4254Matthew Wilding2025-12-221-0/+5
|
* docs(roslyn_ls): format codeblock #4241Eero Häihälä2025-12-161-0/+2
|
* fix: luals warningsJustin M. Keyes2025-11-141-2/+3
|
* fix(roslyn_ls): remove unused handler #4061Sebastian Lyng Johansen2025-09-061-7/+0
| | | | This handler was removed a long time ago and was replaced with another handler that is already implemented here: https://github.com/dotnet/vscode-csharp/commit/9cc41f6d2535a5cb5533dc5ae8f3a10ade16e7b5
* feat(roslyn_ls): support override completion and refresh diagnostics #4050Minh Khoi Do2025-09-031-7/+62
| | | | | | | | | | | | | | | | | | | | | | 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.
* refactor(roslyn_ls): reduce notification noise #4024sharpchen2025-08-211-2/+2
|
* chore: add type annotation for configsIgor2025-08-181-1/+1
|
* feat(roslyn_ls): support .slnx extension #3999Plevi13372025-08-151-2/+2
|
* fix(roslyn_ls): replace deprecated function call #3963Alexandre Teoi2025-07-191-1/+4
| | | | vim.lsp.util._refresh() was removed by https://github.com/neovim/neovim/pull/33903
* fix(roslyn_ls): use absolute paths when open `.sln` and `.csproj` files (#3777)Alexej Kowalew2025-04-261-4/+4
| | | | | | | | * fix(roslyn_ls): use absolute paths when open `.sln` and `.csproj` files --------- Co-authored-by: glepnir <glephunter@gmail.com>
* feat(roslyn_ls): add initial config as `vim.lsp.config` #3753Alexej Kowalew2025-04-251