diff options
author | kylo252 <[email protected]> | 2021-12-21 09:11:30 +0100 |
---|---|---|
committer | kylo252 <[email protected]> | 2021-12-21 09:11:30 +0100 |
commit | 427ad868d404a254dcbc7d3950946dae0cf205de (patch) | |
tree | 2b9075418abb52cf98f87c8969968632a82dbd44 /lua | |
parent | 7244220d93e2b98ba7e7aed14e4f5ccc379b254b (diff) | |
parent | 5e44e6d59bb8bac477c230dd8a463ddc1dd91799 (diff) |
Merge remote-tracking branch 'origin/rolling'
Diffstat (limited to 'lua')
-rw-r--r-- | lua/lvim/config/init.lua | 3 | ||||
-rw-r--r-- | lua/lvim/config/supported_languages.lua | 95 | ||||
-rw-r--r-- | lua/lvim/core/autopairs.lua | 8 | ||||
-rw-r--r-- | lua/lvim/interface/popup.lua | 4 | ||||
-rw-r--r-- | lua/lvim/lsp/config.lua | 2 | ||||
-rw-r--r-- | lua/lvim/lsp/manager.lua | 1 | ||||
-rw-r--r-- | lua/lvim/lsp/templates.lua | 1 | ||||
-rw-r--r-- | lua/lvim/lsp/utils.lua | 21 | ||||
-rw-r--r-- | lua/lvim/plugins.lua | 4 |
9 files changed, 27 insertions, 112 deletions
diff --git a/lua/lvim/config/init.lua b/lua/lvim/config/init.lua index fba6213d..9b6d36f0 100644 --- a/lua/lvim/config/init.lua +++ b/lua/lvim/config/init.lua @@ -40,8 +40,7 @@ function M:init() local lvim_lsp_config = require "lvim.lsp.config" lvim.lsp = apply_defaults(lvim.lsp, vim.deepcopy(lvim_lsp_config)) - local supported_languages = require "lvim.config.supported_languages" - require("lvim.lsp.manager").init_defaults(supported_languages) + require("lvim.lsp.manager").init_defaults() end local function handle_deprecated_settings() diff --git a/lua/lvim/config/supported_languages.lua b/lua/lvim/config/supported_languages.lua deleted file mode 100644 index ce5bc0db..00000000 --- a/lua/lvim/config/supported_languages.lua +++ /dev/null @@ -1,95 +0,0 @@ -return { - "asm", - "bash", - "beancount", - "bibtex", - "bicep", - "c", - "c_sharp", - "clojure", - "cmake", - "comment", - "commonlisp", - "cpp", - "crystal", - "cs", - "css", - "cuda", - "d", - "dart", - "dockerfile", - "dot", - "elixir", - "elm", - "emmet", - "erlang", - "fennel", - "fish", - "fortran", - "fsharp", - "gdscript", - "glimmer", - "go", - "gomod", - "graphql", - "haskell", - "hcl", - "heex", - "html", - "java", - "javascript", - "javascriptreact", - "jsdoc", - "json", - "json5", - "jsonc", - "julia", - "kotlin", - "latex", - "ledger", - "less", - "lua", - "markdown", - "nginx", - "nix", - "ocaml", - "ocaml_interface", - "perl", - "php", - "pioasm", - "ps1", - "puppet", - "python", - "ql", - "query", - "r", - "regex", - "rst", - "ruby", - "rust", - "scala", - "scss", - "sh", - "solidity", - "sparql", - "sql", - "supercollider", - "surface", - "svelte", - "swift", - "tailwindcss", - "terraform", - "tex", - "tlaplus", - "toml", - "tsx", - "turtle", - "typescript", - "typescriptreact", - "verilog", - "vim", - "vue", - "yaml", - "yang", - "zig", -} diff --git a/lua/lvim/core/autopairs.lua b/lua/lvim/core/autopairs.lua index 365d00d5..15c17032 100644 --- a/lua/lvim/core/autopairs.lua +++ b/lua/lvim/core/autopairs.lua @@ -85,14 +85,6 @@ M.setup = function() end), } - local cmp_status_ok, cmp = pcall(require, "cmp") - if cmp_status_ok then - -- If you want insert `(` after select function or method item - local cmp_autopairs = require "nvim-autopairs.completion.cmp" - local map_char = lvim.builtin.autopairs.map_char - cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = map_char }) - end - require("nvim-treesitter.configs").setup { autopairs = { enable = true } } local ts_conds = require "nvim-autopairs.ts-conds" diff --git a/lua/lvim/interface/popup.lua b/lua/lvim/interface/popup.lua index b628125c..6587f5d4 100644 --- a/lua/lvim/interface/popup.lua +++ b/lua/lvim/interface/popup.lua @@ -43,7 +43,9 @@ end -- @param content_provider A function accepting the popup's layout and returning the content to display function Popup:display(content_provider) self.win_id = vim.api.nvim_open_win(self.buffer, true, self.layout) - vim.lsp.util.close_preview_autocmd({ "BufHidden", "BufLeave" }, self.win_id) + vim.api.nvim_command( + string.format("autocmd BufHidden,BufLeave <buffer> ++once lua pcall(vim.api.nvim_win_close, %d, true)", self.win_id) + ) local lines = content_provider(self.layout) vim.api.nvim_buf_set_lines(self.bufnr, 0, -1, false, lines) diff --git a/lua/lvim/lsp/config.lua b/lua/lvim/lsp/config.lua index 1fbaf3a9..5cfe5b1f 100644 --- a/lua/lvim/lsp/config.lua +++ b/lua/lvim/lsp/config.lua @@ -61,6 +61,7 @@ return { "angularls", "ansiblels", "ccls", + "cssmodules_ls", "csharp_ls", "denols", "ember", @@ -78,6 +79,7 @@ return { "sqlls", "sqls", "solang", + "sourcekit", "spectral", "stylelint_lsp", "tailwindcss", diff --git a/lua/lvim/lsp/manager.lua b/lua/lvim/lsp/manager.lua index 7a35f1ff..c95b9f69 100644 --- a/lua/lvim/lsp/manager.lua +++ b/lua/lvim/lsp/manager.lua @@ -4,6 +4,7 @@ local Log = require "lvim.core.log" local lvim_lsp_utils = require "lvim.lsp.utils" function M.init_defaults(languages) + languages = languages or lvim_lsp_utils.get_all_supported_filetypes() for _, entry in ipairs(languages) do if not lvim.lang[entry] then lvim.lang[entry] = { diff --git a/lua/lvim/lsp/templates.lua b/lua/lvim/lsp/templates.lua index 3478f4fb..eb05615e 100644 --- a/lua/lvim/lsp/templates.lua +++ b/lua/lvim/lsp/templates.lua @@ -53,6 +53,7 @@ function M.generate_templates(servers_names) for _, server in pairs(available_servers) do table.insert(servers_names, server.name) + table.sort(servers_names) end end diff --git a/lua/lvim/lsp/utils.lua b/lua/lvim/lsp/utils.lua index df3846ce..6d1ed09c 100644 --- a/lua/lvim/lsp/utils.lua +++ b/lua/lvim/lsp/utils.lua @@ -49,12 +49,15 @@ function M.get_client_capabilities(client_id) return enabled_caps end +---Get supported filetypes per server +---@param server_name string can be any server supported by nvim-lsp-installer +---@return table supported filestypes as a list of strings function M.get_supported_filetypes(server_name) - -- temporary workaround: https://github.com/neovim/nvim-lspconfig/pull/1358 - if server_name == "dockerls" then - return { "dockerfile" } + local status_ok, lsp_installer_servers = pcall(require, "nvim-lsp-installer.servers") + if not status_ok then + return {} end - local lsp_installer_servers = require "nvim-lsp-installer.servers" + local server_available, requested_server = lsp_installer_servers.get_server(server_name) if not server_available then return {} @@ -63,4 +66,14 @@ function M.get_supported_filetypes(server_name) return requested_server:get_supported_filetypes() end +---Get all supported filetypes by nvim-lsp-installer +---@return table supported filestypes as a list of strings +function M.get_all_supported_filetypes() + local status_ok, lsp_installer_filetypes = pcall(require, "nvim-lsp-installer._generated.filetype_map") + if not status_ok then + return {} + end + return vim.tbl_keys(lsp_installer_filetypes or {}) +end + return M diff --git a/lua/lvim/plugins.lua b/lua/lvim/plugins.lua index b0d25af1..ef53c3d4 100644 --- a/lua/lvim/plugins.lua +++ b/lua/lvim/plugins.lua @@ -17,8 +17,8 @@ local commit = { nvim_autopairs = "04cd1779f81e9d50d5a116c5dccd054b275bd191", nvim_cmp = "47d7cfc06abd8661e28dc919882a2fcf01c99729", nvim_dap = "9b8c27d6dcc21b69834fe9c2d344e49030783390", - nvim_lsp_installer = "d7b10b13d72d4bf8f7b34779ddc3514bcc26b0f2", - nvim_lspconfig = "dd15974986619b1f3143a9e666e36f41763ccdb4", + nvim_lsp_installer = "4d4677739f52b4aeab8909548b37cc88479c315e", + nvim_lspconfig = "c018b1e92e66b3429a2f167d59211846774f1e3b", nvim_notify = "ef027e34b618eac42fb0111c1db670ba01793039", nvim_tree = "f408781a463c2edc3a49091b1bca5a18f790ee3d", nvim_treesitter = "7474cb06c2be750eae92da51ff7791deb3b21397", |