diff options
author | kylo252 <[email protected]> | 2022-01-01 14:25:23 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2022-01-01 14:25:23 +0100 |
commit | 91077623f093bf173ea9b224bb7bde15f3c2a13b (patch) | |
tree | 767b285146429dc724d2d9cacf272154941bd3fb /lua | |
parent | 7d1b2f697b70cd81adb34c734a6e02fdf991d2db (diff) |
refactor(info): use new null-ls api for sources (#2125)
Diffstat (limited to 'lua')
-rw-r--r-- | lua/lvim/core/info.lua | 42 | ||||
-rw-r--r-- | lua/lvim/core/lualine/components.lua | 5 | ||||
-rw-r--r-- | lua/lvim/lsp/config.lua | 11 | ||||
-rw-r--r-- | lua/lvim/lsp/null-ls/code_actions.lua | 11 | ||||
-rw-r--r-- | lua/lvim/lsp/null-ls/formatters.lua | 20 | ||||
-rw-r--r-- | lua/lvim/lsp/null-ls/linters.lua | 20 | ||||
-rw-r--r-- | lua/lvim/plugins.lua | 8 |
7 files changed, 45 insertions, 72 deletions
diff --git a/lua/lvim/core/info.lua b/lua/lvim/core/info.lua index df7b7061..7577f296 100644 --- a/lua/lvim/core/info.lua +++ b/lua/lvim/core/info.lua @@ -19,9 +19,8 @@ end local function make_formatters_info(ft) local null_formatters = require "lvim.lsp.null-ls.formatters" - local registered_formatters = null_formatters.list_registered_providers(ft) - -- print("reg", vim.inspect(registered_formatters)) - local supported_formatters = null_formatters.list_available(ft) + local registered_formatters = null_formatters.list_registered(ft) + local supported_formatters = null_formatters.list_supported(ft) local section = { "Formatters info", fmt( @@ -37,8 +36,7 @@ end local function make_code_actions_info(ft) local null_actions = require "lvim.lsp.null-ls.code_actions" - local registered_actions = null_actions.list_registered_providers(ft) - local supported_actions = null_actions.list_available(ft) + local registered_actions = null_actions.list_registered(ft) local section = { "Code actions info", fmt( @@ -46,7 +44,6 @@ local function make_code_actions_info(ft) table.concat(registered_actions, " , "), vim.tbl_count(registered_actions) > 0 and " " or "" ), - fmt("* Supported: %s", str_list(supported_actions)), } return section @@ -54,8 +51,8 @@ end local function make_linters_info(ft) local null_linters = require "lvim.lsp.null-ls.linters" - local supported_linters = null_linters.list_available(ft) - local registered_linters = null_linters.list_registered_providers(ft) + local supported_linters = null_linters.list_supported(ft) + local registered_linters = null_linters.list_registered(ft) local section = { "Linters info", fmt( @@ -168,21 +165,20 @@ function M.toggle_popup(ft) local function set_syntax_hl() vim.cmd [[highlight LvimInfoIdentifier gui=bold]] vim.cmd [[highlight link LvimInfoHeader Type]] - vim.cmd [[let m=matchadd("LvimInfoHeader", "Treesitter info")]] - vim.cmd [[let m=matchadd("LvimInfoHeader", "Language Server Protocol (LSP) info")]] - vim.cmd [[let m=matchadd("LvimInfoHeader", "Formatters info")]] - vim.cmd [[let m=matchadd("LvimInfoHeader", "Linters info")]] - vim.cmd [[let m=matchadd("LvimInfoHeader", "Code actions info")]] - vim.cmd('let m=matchadd("LvimInfoIdentifier", " ' .. ft .. '$")') - vim.cmd 'let m=matchadd("string", "true")' - vim.cmd 'let m=matchadd("string", "active")' - vim.cmd 'let m=matchadd("boolean", "inactive")' - vim.cmd 'let m=matchadd("string", "")' - vim.cmd 'let m=matchadd("error", "false")' - -- tbl_set_highlight(registered_providers, "LvimInfoIdentifier") - tbl_set_highlight(require("lvim.lsp.null-ls.formatters").list_available(ft), "LvimInfoIdentifier") - tbl_set_highlight(require("lvim.lsp.null-ls.linters").list_available(ft), "LvimInfoIdentifier") - tbl_set_highlight(require("lvim.lsp.null-ls.code_actions").list_available(ft), "LvimInfoIdentifier") + vim.fn.matchadd("LvimInfoHeader", "Treesitter info") + vim.fn.matchadd("LvimInfoHeader", "Language Server Protocol (LSP) info") + vim.fn.matchadd("LvimInfoHeader", "Formatters info") + vim.fn.matchadd("LvimInfoHeader", "Linters info") + vim.fn.matchadd("LvimInfoHeader", "Code actions info") + vim.fn.matchadd("LvimInfoIdentifier", " " .. ft .. "$") + vim.fn.matchadd("string", "true") + vim.fn.matchadd("string", "active") + vim.fn.matchadd("string", "") + vim.fn.matchadd("boolean", "inactive") + vim.fn.matchadd("error", "false") + tbl_set_highlight(require("lvim.lsp.null-ls.formatters").list_registered(ft), "LvimInfoIdentifier") + tbl_set_highlight(require("lvim.lsp.null-ls.linters").list_registered(ft), "LvimInfoIdentifier") + tbl_set_highlight(require("lvim.lsp.null-ls.code_actions").list_registered(ft), "LvimInfoIdentifier") end local Popup = require("lvim.interface.popup"):new { diff --git a/lua/lvim/core/lualine/components.lua b/lua/lvim/core/lualine/components.lua index 9cf67616..b1387afa 100644 --- a/lua/lvim/core/lualine/components.lua +++ b/lua/lvim/core/lualine/components.lua @@ -104,17 +104,16 @@ return { -- add formatter local formatters = require "lvim.lsp.null-ls.formatters" - local supported_formatters = formatters.list_registered_providers(buf_ft) + local supported_formatters = formatters.list_registered(buf_ft) vim.list_extend(buf_client_names, supported_formatters) -- add linter local linters = require "lvim.lsp.null-ls.linters" - local supported_linters = linters.list_registered_providers(buf_ft) + local supported_linters = linters.list_registered(buf_ft) vim.list_extend(buf_client_names, supported_linters) return "[" .. table.concat(buf_client_names, ", ") .. "]" end, - -- icon = " ", color = { gui = "bold" }, cond = conditions.hide_in_width, }, diff --git a/lua/lvim/lsp/config.lua b/lua/lvim/lsp/config.lua index f4d084be..8c7a0dd9 100644 --- a/lua/lvim/lsp/config.lua +++ b/lua/lvim/lsp/config.lua @@ -65,13 +65,14 @@ return { "angularls", "ansiblels", "ccls", - "cssmodules_ls", "csharp_ls", + "cssmodules_ls", "denols", "ember", "emmet_ls", "eslint", "eslintls", + "grammarly", "graphql", "jedi_language_server", "ltex", @@ -79,15 +80,17 @@ return { "pylsp", "quick_lint_js", "rome", - "sorbet", - "sqlls", - "sqls", "solang", + "solidity_ls", + "sorbet", "sourcekit", "spectral", + "sqlls", + "sqls", "stylelint_lsp", "tailwindcss", "tflint", "volar", + "zk", }, } diff --git a/lua/lvim/lsp/null-ls/code_actions.lua b/lua/lvim/lsp/null-ls/code_actions.lua index ff59fabf..bf6492b5 100644 --- a/lua/lvim/lsp/null-ls/code_actions.lua +++ b/lua/lvim/lsp/null-ls/code_actions.lua @@ -14,20 +14,11 @@ local is_registered = function(name) return require("null-ls.sources").is_registered(query) end -function M.list_registered_providers(filetype) +function M.list_registered(filetype) local registered_providers = services.list_registered_providers_names(filetype) return registered_providers[METHOD] or {} end -function M.list_available(filetype) - local availables = require("null-ls.sources").get_available(filetype, METHOD) - local actors = vim.tbl_map(function(src) - return src.name - end, availables) - table.sort(actors) - return actors -end - function M.list_configured(actions_configs) local actors, errors = {}, {} diff --git a/lua/lvim/lsp/null-ls/formatters.lua b/lua/lvim/lsp/null-ls/formatters.lua index b2e191c5..0613f16f 100644 --- a/lua/lvim/lsp/null-ls/formatters.lua +++ b/lua/lvim/lsp/null-ls/formatters.lua @@ -12,26 +12,18 @@ local is_registered = function(name) return require("null-ls.sources").is_registered(query) end -function M.list_registered_providers(filetype) +function M.list_registered(filetype) local null_ls_methods = require "null-ls.methods" local formatter_method = null_ls_methods.internal["FORMATTING"] local registered_providers = services.list_registered_providers_names(filetype) return registered_providers[formatter_method] or {} end -function M.list_available(filetype) - local formatters = {} - local tbl = require "lvim.utils.table" - for _, provider in pairs(null_ls.builtins.formatting) do - if tbl.contains(provider.filetypes or {}, function(ft) - return ft == "*" or ft == filetype - end) then - table.insert(formatters, provider.name) - end - end - - table.sort(formatters) - return formatters +function M.list_supported(filetype) + local s = require "null-ls.sources" + local supported_formatters = s.get_supported(filetype, "formatting") + table.sort(supported_formatters) + return supported_formatters end function M.list_configured(formatter_configs) diff --git a/lua/lvim/lsp/null-ls/linters.lua b/lua/lvim/lsp/null-ls/linters.lua index 6a793d26..67e530a9 100644 --- a/lua/lvim/lsp/null-ls/linters.lua +++ b/lua/lvim/lsp/null-ls/linters.lua @@ -12,26 +12,18 @@ local is_registered = function(name) return require("null-ls.sources").is_registered(query) end -function M.list_registered_providers(filetype) +function M.list_registered(filetype) local null_ls_methods = require "null-ls.methods" local linter_method = null_ls_methods.internal["DIAGNOSTICS"] local registered_providers = services.list_registered_providers_names(filetype) return registered_providers[linter_method] or {} end -function M.list_available(filetype) - local linters = {} - local tbl = require "lvim.utils.table" - for _, provider in pairs(null_ls.builtins.diagnostics) do - if tbl.contains(provider.filetypes or {}, function(ft) - return ft == "*" or ft == filetype - end) then - table.insert(linters, provider.name) - end - end - - table.sort(linters) - return linters +function M.list_supported(filetype) + local s = require "null-ls.sources" + local supported_linters = s.get_supported(filetype, "diagnostics") + table.sort(supported_linters) + return supported_linters end function M.list_configured(linter_configs) diff --git a/lua/lvim/plugins.lua b/lua/lvim/plugins.lua index d0ffed4b..7585469f 100644 --- a/lua/lvim/plugins.lua +++ b/lua/lvim/plugins.lua @@ -12,13 +12,13 @@ local commit = { gitsigns = "a451f97117bd1ede582a6b9db61c387c48d880b6", lualine = "9e26823ea6c7361aba3253c8a5c56a6f35b4a0ee", luasnip = "f654f947b80f5aad3f5849c0867e4cd5bbd9e40b", - nlsp_settings = "5d74bcc8ae3795063cc8e35f634a8b3184568207", - null_ls = "0bf6d358b86ae13f87cd45f6446e7b3ab924d060", + nlsp_settings = "1b376a0b7dc60238e835dd0467135ba9a1557ec7", + null_ls = "cb1e9945caef4d1e372eb0e165736f972a20afe9", nvim_autopairs = "a9b6b98de3bacacc0c986d9b0673cae6a87c4a41", nvim_cmp = "ae708ef3a44dfb0cb42d1aa901b4c57c2de53aa3", nvim_dap = "a6fa644f9de62c594a8a9cf6f2aaf324b5a6108b", - nvim_lsp_installer = "e65e4966e1b3db486ae548a5674f20a8416a42d0", - nvim_lspconfig = "0d2fb782cac8a19df0c0d7715ad4cdab4c582e15", + nvim_lsp_installer = "09e602e1ee7c14687b35a15c229d93d167698ef2", + nvim_lspconfig = "b01c0d0542c7a942f8f2ebf1232e0557a85a9045", nvim_notify = "243811198d3a937be03535bbe899446f235dda75", nvim_tree = "0a2f6b0b6ba558a88c77a6b262af647760e6eca8", nvim_treesitter = "ad69e2528ac382b7cbf28f1ac7ee450981734ab0", |