diff options
author | kylo252 <[email protected]> | 2022-01-03 15:49:07 +0100 |
---|---|---|
committer | kylo252 <[email protected]> | 2022-01-03 15:49:07 +0100 |
commit | e5aa8be8ce54097e4a34220cb2aad114e70f209b (patch) | |
tree | 15e0a3017358b15a0656b6d1f98d2638ae572095 /lua/lvim/lsp/null-ls | |
parent | 427ad868d404a254dcbc7d3950946dae0cf205de (diff) | |
parent | 21b41688ee8c5056ffbb2b07df141ce1ccb4b213 (diff) |
Merge branch 'rolling'
Diffstat (limited to 'lua/lvim/lsp/null-ls')
-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/init.lua | 8 | ||||
-rw-r--r-- | lua/lvim/lsp/null-ls/linters.lua | 20 |
4 files changed, 14 insertions, 45 deletions
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/init.lua b/lua/lvim/lsp/null-ls/init.lua index f5e820e8..68e20c98 100644 --- a/lua/lvim/lsp/null-ls/init.lua +++ b/lua/lvim/lsp/null-ls/init.lua @@ -9,14 +9,8 @@ function M:setup() return end - null_ls.config(lvim.lsp.null_ls.config) local default_opts = require("lvim.lsp").get_common_opts() - - if vim.tbl_isempty(lvim.lsp.null_ls.setup or {}) then - lvim.lsp.null_ls.setup = default_opts - end - - require("lspconfig")["null-ls"].setup(lvim.lsp.null_ls.setup) + null_ls.setup(vim.tbl_deep_extend("force", default_opts, lvim.lsp.null_ls.setup)) end return M 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) |