diff options
| author | William Boman <william@redwill.se> | 2022-05-17 15:00:07 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-17 15:00:07 +0200 |
| commit | 4e26a2348f0972988a95b43359b1c1858dd28229 (patch) | |
| tree | e38c2baa2cd3fea28ea69b42fe328d0c4a068583 /lua | |
| parent | run autogen_metadata.lua (diff) | |
| download | mason-4e26a2348f0972988a95b43359b1c1858dd28229.tar mason-4e26a2348f0972988a95b43359b1c1858dd28229.tar.gz mason-4e26a2348f0972988a95b43359b1c1858dd28229.tar.bz2 mason-4e26a2348f0972988a95b43359b1c1858dd28229.tar.lz mason-4e26a2348f0972988a95b43359b1c1858dd28229.tar.xz mason-4e26a2348f0972988a95b43359b1c1858dd28229.tar.zst mason-4e26a2348f0972988a95b43359b1c1858dd28229.zip | |
fix(omnisharp): only use Mono runtime if configured by user (#705)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-lsp-installer/servers/omnisharp/README.md | 14 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/servers/omnisharp/init.lua | 14 |
2 files changed, 23 insertions, 5 deletions
diff --git a/lua/nvim-lsp-installer/servers/omnisharp/README.md b/lua/nvim-lsp-installer/servers/omnisharp/README.md new file mode 100644 index 00000000..3aec548b --- /dev/null +++ b/lua/nvim-lsp-installer/servers/omnisharp/README.md @@ -0,0 +1,14 @@ +# omnisharp + +## How to enable Omnisharp Mono + +By default, the `omnisharp` server will use the `dotnet` (NET6) runtime to run the server. +To run the server using the Mono runtime, set the `use_mono` setting like so: + +```lua +local lspconfig = require("lspconfig") + +lspconfig.omnisharp.setup { + use_mono = true +} +``` diff --git a/lua/nvim-lsp-installer/servers/omnisharp/init.lua b/lua/nvim-lsp-installer/servers/omnisharp/init.lua index d570e57e..d61e2d67 100644 --- a/lua/nvim-lsp-installer/servers/omnisharp/init.lua +++ b/lua/nvim-lsp-installer/servers/omnisharp/init.lua @@ -8,11 +8,13 @@ local Result = require "nvim-lsp-installer.core.result" local coalesce, when = functional.coalesce, functional.when -local generate_cmd = function(root_dir) - if vim.fn.executable "mono" then +---@param install_dir string +---@param use_mono boolean +local generate_cmd = function(install_dir, use_mono) + if use_mono then return { "mono", - path.concat { root_dir, "omnisharp-mono", "OmniSharp.exe" }, + path.concat { install_dir, "omnisharp-mono", "OmniSharp.exe" }, "--languageserver", "--hostPID", tostring(vim.fn.getpid()), @@ -20,7 +22,7 @@ local generate_cmd = function(root_dir) else return { "dotnet", - path.concat { root_dir, "omnisharp", "OmniSharp.dll" }, + path.concat { install_dir, "omnisharp", "OmniSharp.dll" }, "--languageserver", "--hostPID", tostring(vim.fn.getpid()), @@ -66,7 +68,9 @@ return function(name, root_dir) end) end, default_options = { - cmd = generate_cmd(root_dir), + on_new_config = function(config) + config.cmd = generate_cmd(root_dir, config.use_mono) + end, }, } end |
