diff options
| author | William Boman <william@redwill.se> | 2021-07-04 20:26:13 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-04 20:26:13 +0200 |
| commit | 0c6fb8ea626c6f09ab8871aa57951af41523fe65 (patch) | |
| tree | 047caef6d3db768b506b1a5e1bd7c6dc17c83124 /lua | |
| parent | add cmake (#29) (diff) | |
| download | mason-0c6fb8ea626c6f09ab8871aa57951af41523fe65.tar mason-0c6fb8ea626c6f09ab8871aa57951af41523fe65.tar.gz mason-0c6fb8ea626c6f09ab8871aa57951af41523fe65.tar.bz2 mason-0c6fb8ea626c6f09ab8871aa57951af41523fe65.tar.lz mason-0c6fb8ea626c6f09ab8871aa57951af41523fe65.tar.xz mason-0c6fb8ea626c6f09ab8871aa57951af41523fe65.tar.zst mason-0c6fb8ea626c6f09ab8871aa57951af41523fe65.zip | |
add omnisharp (csharp) (#30)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-lsp-installer/server.lua | 1 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/servers/omnisharp/init.lua | 19 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/servers/omnisharp/install.mjs | 28 |
3 files changed, 48 insertions, 0 deletions
diff --git a/lua/nvim-lsp-installer/server.lua b/lua/nvim-lsp-installer/server.lua index 5c8ee499..a857073d 100644 --- a/lua/nvim-lsp-installer/server.lua +++ b/lua/nvim-lsp-installer/server.lua @@ -19,6 +19,7 @@ local _SERVERS = { "graphql", "html", "jsonls", + "omnisharp", "pyright", "rust_analyzer", "solargraph", diff --git a/lua/nvim-lsp-installer/servers/omnisharp/init.lua b/lua/nvim-lsp-installer/servers/omnisharp/init.lua new file mode 100644 index 00000000..970b38b1 --- /dev/null +++ b/lua/nvim-lsp-installer/servers/omnisharp/init.lua @@ -0,0 +1,19 @@ +local server = require("nvim-lsp-installer.server") +local path = require("nvim-lsp-installer.path") +local zx = require("nvim-lsp-installer.installers.zx") + +local root_dir = server.get_server_root_path("omnisharp") + +return server.Server:new { + name = "omnisharp", + root_dir = root_dir, + installer = zx.file("./install.mjs"), + default_options = { + cmd = { + path.concat { root_dir, "omnisharp", "run" }, + "--languageserver", + "--hostPID", + tostring(vim.fn.getpid()), + }, + }, +} diff --git a/lua/nvim-lsp-installer/servers/omnisharp/install.mjs b/lua/nvim-lsp-installer/servers/omnisharp/install.mjs new file mode 100644 index 00000000..eba881f0 --- /dev/null +++ b/lua/nvim-lsp-installer/servers/omnisharp/install.mjs @@ -0,0 +1,28 @@ +const VERSION = "v1.37.11"; + +const exitNotSupported = () => { + console.error( + chalk.red(`${os.platform()} ${os.arch()} is currently not supported.`) + ); + process.exit(1); +}; + +const target = (() => { + switch (os.platform()) { + case "win32": { + exitNotSupported(); + break; + } + case "darwin": + return "omnisharp-osx.zip"; + default: + return "omnisharp-linux-x64.zip"; + } +})(); + +const downloadUrl = `https://github.com/OmniSharp/omnisharp-roslyn/releases/download/${VERSION}/${target}`; + +await $`wget -O omnisharp.zip ${downloadUrl}`; +await $`unzip omnisharp.zip -d omnisharp`; +await $`chmod +x omnisharp/run`; +await $`rm omnisharp.zip`; |
