From 71bb3e4ce7d131ede237f4c894e15ffec17b0710 Mon Sep 17 00:00:00 2001 From: William Boman Date: Sun, 4 Jul 2021 20:13:19 +0200 Subject: add cmake (#29) --- lua/nvim-lsp-installer/installers/pip3.lua | 13 +++++++++++++ lua/nvim-lsp-installer/installers/shell.lua | 2 +- lua/nvim-lsp-installer/server.lua | 1 + lua/nvim-lsp-installer/servers/cmake/init.lua | 15 +++++++++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 lua/nvim-lsp-installer/installers/pip3.lua create mode 100644 lua/nvim-lsp-installer/servers/cmake/init.lua (limited to 'lua') 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" } }, + }, +} + -- cgit v1.2.3-70-g09d2