diff options
Diffstat (limited to 'lua/lvim')
| -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", | 
