summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
authorkylo252 <[email protected]>2021-12-20 08:59:47 +0100
committerGitHub <[email protected]>2021-12-20 08:59:47 +0100
commitf1ca79e628090d10c46cccdb6387f13b696c70cf (patch)
treef2110f042823fdc14ba00eca6103345e4d46bb01 /lua
parentccb5a6f0605c9429c2a44f3a800d7c6da6ca7752 (diff)
refactor: remove unused old language configs (#2094)
Diffstat (limited to 'lua')
-rw-r--r--lua/lvim/config/init.lua3
-rw-r--r--lua/lvim/config/supported_languages.lua95
-rw-r--r--lua/lvim/interface/popup.lua4
-rw-r--r--lua/lvim/lsp/manager.lua1
-rw-r--r--lua/lvim/lsp/templates.lua1
-rw-r--r--lua/lvim/lsp/utils.lua21
6 files changed, 23 insertions, 102 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/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/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