Move lsp config to local file structure
This commit is contained in:
parent
e5c3bb2492
commit
20801272fc
383 changed files with 11829 additions and 114 deletions
32
.config/nvim/lsp/csharp_ls.lua
Normal file
32
.config/nvim/lsp/csharp_ls.lua
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
---@brief
|
||||
---
|
||||
--- https://github.com/razzmatazz/csharp-language-server
|
||||
---
|
||||
--- Language Server for C#.
|
||||
---
|
||||
--- csharp-ls requires the [dotnet-sdk](https://dotnet.microsoft.com/download) to be installed.
|
||||
---
|
||||
--- The preferred way to install csharp-ls is with `dotnet tool install --global csharp-ls`.
|
||||
|
||||
local util = require 'lspconfig.util'
|
||||
|
||||
---@type vim.lsp.Config
|
||||
return {
|
||||
cmd = function(dispatchers, config)
|
||||
return vim.lsp.rpc.start({ 'csharp-ls' }, dispatchers, {
|
||||
-- csharp-ls attempt to locate sln, slnx or csproj files from cwd, so set cwd to root directory.
|
||||
-- If cmd_cwd is provided, use it instead.
|
||||
cwd = config.cmd_cwd or config.root_dir,
|
||||
env = config.cmd_env,
|
||||
detached = config.detached,
|
||||
})
|
||||
end,
|
||||
root_dir = function(bufnr, on_dir)
|
||||
local fname = vim.api.nvim_buf_get_name(bufnr)
|
||||
on_dir(util.root_pattern '*.sln'(fname) or util.root_pattern '*.slnx'(fname) or util.root_pattern '*.csproj'(fname))
|
||||
end,
|
||||
filetypes = { 'cs' },
|
||||
init_options = {
|
||||
AutomaticWorkspaceInit = true,
|
||||
},
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue