summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkylo252 <[email protected]>2022-01-01 14:25:23 +0100
committerGitHub <[email protected]>2022-01-01 14:25:23 +0100
commit91077623f093bf173ea9b224bb7bde15f3c2a13b (patch)
tree767b285146429dc724d2d9cacf272154941bd3fb
parent7d1b2f697b70cd81adb34c734a6e02fdf991d2db (diff)
refactor(info): use new null-ls api for sources (#2125)
-rw-r--r--lua/lvim/core/info.lua42
-rw-r--r--lua/lvim/core/lualine/components.lua5
-rw-r--r--lua/lvim/lsp/config.lua11
-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/linters.lua20
-rw-r--r--lua/lvim/plugins.lua8
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",