summaryrefslogtreecommitdiff
path: root/lua/lvim/lsp/null-ls
diff options
context:
space:
mode:
authorkylo252 <[email protected]>2022-01-03 15:49:07 +0100
committerkylo252 <[email protected]>2022-01-03 15:49:07 +0100
commite5aa8be8ce54097e4a34220cb2aad114e70f209b (patch)
tree15e0a3017358b15a0656b6d1f98d2638ae572095 /lua/lvim/lsp/null-ls
parent427ad868d404a254dcbc7d3950946dae0cf205de (diff)
parent21b41688ee8c5056ffbb2b07df141ce1ccb4b213 (diff)
Merge branch 'rolling'
Diffstat (limited to 'lua/lvim/lsp/null-ls')
-rw-r--r--lua/lvim/lsp/null-ls/code_actions.lua11
-rw-r--r--lua/lvim/lsp/null-ls/formatters.lua20
-rw-r--r--lua/lvim/lsp/null-ls/init.lua8
-rw-r--r--lua/lvim/lsp/null-ls/linters.lua20
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)