From 8bb513a86e8bea07fdb8cea71d254d46ffc7806b Mon Sep 17 00:00:00 2001 From: Polesznyák Márk Date: Sat, 4 Apr 2026 03:16:27 +0200 Subject: feat!: migrate to vim.pack --- plugin/40-lsp.lua | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 plugin/40-lsp.lua (limited to 'plugin/40-lsp.lua') diff --git a/plugin/40-lsp.lua b/plugin/40-lsp.lua new file mode 100644 index 0000000..af95c47 --- /dev/null +++ b/plugin/40-lsp.lua @@ -0,0 +1,61 @@ +local opts = { + ensure_installed = { + "bash-language-server", + "termux-language-server", + "lua-language-server", + "clangd", + "clang-format", + "taplo", + "jq", + "json-lsp", + "svelte-language-server", + "emmet-language-server", + "html-lsp", + "css-lsp", + "typescript-language-server", + "pyright", + "glsl_analyzer", + "kotlin-lsp", + "jdtls", + "csharp-language-server", + "unocss-language-server", + }, + PATH = "skip", + ui = { + icons = { + package_pending = " ", + package_installed = "󰄳 ", + package_uninstalled = " 󰚌", + }, + keymaps = { + toggle_server_expand = "", + install_server = "i", + update_server = "u", + check_server_version = "c", + update_all_servers = "U", + check_outdated_servers = "C", + uninstall_server = "X", + cancel_installation = "", + }, + }, + max_concurrent_installers = 10, +} + +vim.api.nvim_create_user_command("MasonInstallAll", function () + if opts.ensure_installed and #opts.ensure_installed > 0 then + vim.cmd("MasonInstall " .. table.concat(opts.ensure_installed, " ")) + end +end, { + desc = "Install all required mason packages", +}) + +vim.pack.add({ + "https://github.com/neovim/nvim-lspconfig", + "https://github.com/mason-org/mason.nvim", +}) + +require("mason").setup(opts) + +if not (vim.uv or vim.loop).fs_stat(vim.g.mason_path) then + vim.cmd("MasonInstallAll") +end -- cgit v1.2.3