aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md1
-rw-r--r--lua/nvim-lsp-installer/server.lua1
-rw-r--r--lua/nvim-lsp-installer/servers/clangd.lua28
3 files changed, 30 insertions, 0 deletions
diff --git a/README.md b/README.md
index 41388be8..7efe3d19 100644
--- a/README.md
+++ b/README.md
@@ -67,6 +67,7 @@ end
## Available LSPs
- bashls
+- clangd
- cssls
- dockerls
- eslintls
diff --git a/lua/nvim-lsp-installer/server.lua b/lua/nvim-lsp-installer/server.lua
index 69a5b1e6..c81393c9 100644
--- a/lua/nvim-lsp-installer/server.lua
+++ b/lua/nvim-lsp-installer/server.lua
@@ -3,6 +3,7 @@ local M = {}
-- :'<,'>!sort
local _SERVERS = {
'bashls',
+ 'clangd',
'cssls',
'dockerls',
'eslintls',
diff --git a/lua/nvim-lsp-installer/servers/clangd.lua b/lua/nvim-lsp-installer/servers/clangd.lua
new file mode 100644
index 00000000..45e49d2b
--- /dev/null
+++ b/lua/nvim-lsp-installer/servers/clangd.lua
@@ -0,0 +1,28 @@
+local server = require('nvim-lsp-installer.server')
+
+local root_dir = server.get_server_root_path('c-family')
+
+local install_cmd = [=[
+if [[ $(uname) == Linux ]]; then
+ wget -O clangd.zip https://github.com/clangd/clangd/releases/download/11.0.0/clangd-linux-11.0.0.zip;
+elif [[ $(uname) == Darwin ]]; then
+ wget -O clangd.zip https://github.com/clangd/clangd/releases/download/11.0.0/clangd-mac-11.0.0.zip;
+else
+ >&2 echo "$(uname) not supported.";
+ exit 1;
+fi
+
+unzip clangd.zip;
+rm clangd.zip;
+mv clangd_11.0.0 clangd;
+
+]=]
+
+return server.Server:new {
+ name = "clangd",
+ root_dir = root_dir,
+ install_cmd = install_cmd,
+ default_options = {
+ cmd = { root_dir .. '/clangd/bin/clangd'},
+ }
+}