mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 02:52:37 +00:00 
			
		
		
		
	Merge pull request #1074 from poseidon-rises/csharp/roslyn-ls
languages/csharp: Add roslyn-ls
This commit is contained in:
		
				commit
				
					
						ebb1e3c4cd
					
				
			
		
					 2 changed files with 42 additions and 1 deletions
				
			
		|  | @ -477,5 +477,8 @@ | ||||||
| [Cool-Game-Dev](https://github.com/Cool-Game-Dev): | [Cool-Game-Dev](https://github.com/Cool-Game-Dev): | ||||||
| 
 | 
 | ||||||
| [just-lsp]: https://github.com/terror/just-lsp | [just-lsp]: https://github.com/terror/just-lsp | ||||||
|  | [roslyn-ls]: https://github.com/dotnet/vscode-csharp  | ||||||
| 
 | 
 | ||||||
| - Add just support under `vim.languages.just` using [just-lsp]. | - Add just support under `vim.languages.just` using [just-lsp]. | ||||||
|  | 
 | ||||||
|  | - Add [roslyn-ls] to the `vim.languages.csharp` module. | ||||||
|  |  | ||||||
|  | @ -43,7 +43,18 @@ | ||||||
|         } |         } | ||||||
|       ''; |       ''; | ||||||
|       filetypes = ["cs" "vb"]; |       filetypes = ["cs" "vb"]; | ||||||
|       root_markers = [".sln" ".csproj" "omnisharp.json" "function.json"]; |       root_dir = mkLuaInline '' | ||||||
|  |         function(bufnr, on_dir) | ||||||
|  |           local function find_root_pattern(fname, lua_pattern) | ||||||
|  |             return vim.fs.root(0, function(name, path) | ||||||
|  |               return name:match(lua_pattern) | ||||||
|  |             end) | ||||||
|  |           end | ||||||
|  | 
 | ||||||
|  |           local fname = vim.api.nvim_buf_get_name(bufnr) | ||||||
|  |           on_dir(find_root_pattern(fname, "%.sln$") or find_root_pattern(fname, "%.csproj$")) | ||||||
|  |         end | ||||||
|  |       ''; | ||||||
|       init_options = {}; |       init_options = {}; | ||||||
|       capabilities = { |       capabilities = { | ||||||
|         workspace = { |         workspace = { | ||||||
|  | @ -126,11 +137,38 @@ | ||||||
|         AutomaticWorkspaceInit = true; |         AutomaticWorkspaceInit = true; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|  | 
 | ||||||
|  |     roslyn_ls = { | ||||||
|  |       cmd = mkLuaInline '' | ||||||
|  |         { | ||||||
|  |           ${toLuaObject (getExe pkgs.roslyn-ls)}, | ||||||
|  |           '--logLevel=Warning', | ||||||
|  |           '--extensionLogDirectory=' .. vim.fs.dirname(vim.lsp.get_log_path()), | ||||||
|  |           '--stdio', | ||||||
|  |         } | ||||||
|  |       ''; | ||||||
|  | 
 | ||||||
|  |       filetypes = ["cs"]; | ||||||
|  |       root_dir = mkLuaInline '' | ||||||
|  |         function(bufnr, on_dir) | ||||||
|  |           local function find_root_pattern(fname, lua_pattern) | ||||||
|  |             return vim.fs.root(0, function(name, path) | ||||||
|  |               return name:match(lua_pattern) | ||||||
|  |             end) | ||||||
|  |           end | ||||||
|  | 
 | ||||||
|  |           local fname = vim.api.nvim_buf_get_name(bufnr) | ||||||
|  |           on_dir(find_root_pattern(fname, "%.sln$") or find_root_pattern(fname, "%.csproj$")) | ||||||
|  |         end | ||||||
|  |       ''; | ||||||
|  |       init_options = {}; | ||||||
|  |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   extraServerPlugins = { |   extraServerPlugins = { | ||||||
|     omnisharp = ["omnisharp-extended-lsp-nvim"]; |     omnisharp = ["omnisharp-extended-lsp-nvim"]; | ||||||
|     csharp_ls = ["csharpls-extended-lsp-nvim"]; |     csharp_ls = ["csharpls-extended-lsp-nvim"]; | ||||||
|  |     roslyn_ls = []; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.languages.csharp; |   cfg = config.vim.languages.csharp; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Ching Pei Yang
				Ching Pei Yang