aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-05-17 15:00:07 +0200
committerGitHub <noreply@github.com>2022-05-17 15:00:07 +0200
commit4e26a2348f0972988a95b43359b1c1858dd28229 (patch)
treee38c2baa2cd3fea28ea69b42fe328d0c4a068583 /lua
parentrun autogen_metadata.lua (diff)
downloadmason-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.md14
-rw-r--r--lua/nvim-lsp-installer/servers/omnisharp/init.lua14
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