aboutsummaryrefslogtreecommitdiffstats
path: root/lua/pi/lsp/mason.lua
diff options
context:
space:
mode:
authorElvis Claros Castro <elvis@claros.ar>2024-07-12 11:18:14 -0300
committerElvis Claros Castro <elvis@claros.ar>2024-07-12 11:18:14 -0300
commitea0f4bf8ffade657b1d45152dbc183d4679e75c4 (patch)
treecc1fb023bc308e019ddce33a4b0aed39f56805dc /lua/pi/lsp/mason.lua
parent1fd0af14d592d612c2aaab7717c04c8806ba3daa (diff)
downloadnvim-conf-ea0f4bf8ffade657b1d45152dbc183d4679e75c4.tar.gz
nvim-conf-ea0f4bf8ffade657b1d45152dbc183d4679e75c4.zip
Feat: PI
Diffstat (limited to 'lua/pi/lsp/mason.lua')
-rw-r--r--lua/pi/lsp/mason.lua23
1 files changed, 23 insertions, 0 deletions
diff --git a/lua/pi/lsp/mason.lua b/lua/pi/lsp/mason.lua
new file mode 100644
index 0000000..91d0c2b
--- /dev/null
+++ b/lua/pi/lsp/mason.lua
@@ -0,0 +1,23 @@
+local mason_lspconfig = require "mason-lspconfig"
+local servers = require "pi.lsp.servers"
+local lspconfig = require "lspconfig"
+
+local mason_servers = {}
+
+for server, _ in pairs(servers) do
+ local cmd = lspconfig[server].cmd[1]
+ if vim.fn.executable(cmd) == 0 then
+ table.insert(mason_servers, server)
+ end
+end
+
+mason_lspconfig.setup {
+ -- ensure_installed = mason_servers,
+}
+
+-- filter the list for the ones not globally installed
+-- require("mason-tool-installer").setup {
+-- ensure_installed = vim.tbl_filter(function (tool)
+-- return vim.fn.executable(tool) == 0
+-- end, require "pi.lsp.tools"),
+-- }