diff options
| author | William Boman <william@redwill.se> | 2021-07-04 20:13:19 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-04 20:13:19 +0200 |
| commit | 71bb3e4ce7d131ede237f4c894e15ffec17b0710 (patch) | |
| tree | 7466f06f6d71883d81011c96742825a0833a8c9a /lua | |
| parent | add clojure_lsp (#28) (diff) | |
| download | mason-71bb3e4ce7d131ede237f4c894e15ffec17b0710.tar mason-71bb3e4ce7d131ede237f4c894e15ffec17b0710.tar.gz mason-71bb3e4ce7d131ede237f4c894e15ffec17b0710.tar.bz2 mason-71bb3e4ce7d131ede237f4c894e15ffec17b0710.tar.lz mason-71bb3e4ce7d131ede237f4c894e15ffec17b0710.tar.xz mason-71bb3e4ce7d131ede237f4c894e15ffec17b0710.tar.zst mason-71bb3e4ce7d131ede237f4c894e15ffec17b0710.zip | |
add cmake (#29)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-lsp-installer/installers/pip3.lua | 13 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/installers/shell.lua | 2 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/server.lua | 1 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/servers/cmake/init.lua | 15 |
4 files changed, 30 insertions, 1 deletions
diff --git a/lua/nvim-lsp-installer/installers/pip3.lua b/lua/nvim-lsp-installer/installers/pip3.lua new file mode 100644 index 00000000..83b7e43a --- /dev/null +++ b/lua/nvim-lsp-installer/installers/pip3.lua @@ -0,0 +1,13 @@ +local shell = require("nvim-lsp-installer.installers.shell") + +local M = {} + +M.REL_INSTALL_DIR = "venv" + +function M.packages(packages) + return shell.raw(("./%s/bin/pip3 install -U %s"):format(M.REL_INSTALL_DIR, table.concat(packages, "")), { + prefix = ("set -euo pipefail; python3 -m venv %q;"):format(M.REL_INSTALL_DIR) + }) +end + +return M diff --git a/lua/nvim-lsp-installer/installers/shell.lua b/lua/nvim-lsp-installer/installers/shell.lua index 7ffe007a..bda83549 100644 --- a/lua/nvim-lsp-installer/installers/shell.lua +++ b/lua/nvim-lsp-installer/installers/shell.lua @@ -11,7 +11,7 @@ function M.raw(raw_script, opts) vim.o.shell = "/bin/bash" vim.cmd [[new]] vim.fn.termopen( - opts.prefix or default_opts.prefix .. raw_script, + (opts.prefix or default_opts.prefix) .. raw_script, { cwd = server._root_dir, on_exit = function (_, exit_code) diff --git a/lua/nvim-lsp-installer/server.lua b/lua/nvim-lsp-installer/server.lua index 55b39d89..5c8ee499 100644 --- a/lua/nvim-lsp-installer/server.lua +++ b/lua/nvim-lsp-installer/server.lua @@ -9,6 +9,7 @@ local _SERVERS = { "bashls", "clangd", "clojure_lsp", + "cmake", "cssls", "denols", "dockerls", diff --git a/lua/nvim-lsp-installer/servers/cmake/init.lua b/lua/nvim-lsp-installer/servers/cmake/init.lua new file mode 100644 index 00000000..b22e36e9 --- /dev/null +++ b/lua/nvim-lsp-installer/servers/cmake/init.lua @@ -0,0 +1,15 @@ +local server = require("nvim-lsp-installer.server") +local path = require("nvim-lsp-installer.path") +local pip3 = require("nvim-lsp-installer.installers.pip3") + +local root_dir = server.get_server_root_path("cmake") + +return server.Server:new { + name = "cmake", + root_dir = root_dir, + installer = pip3.packages { "cmake-language-server" }, + default_options = { + cmd = { path.concat { root_dir, pip3.REL_INSTALL_DIR, "bin", "cmake-language-server" } }, + }, +} + |
