summaryrefslogtreecommitdiff
path: root/lua/lvim/core/info.lua
diff options
context:
space:
mode:
authorkylo252 <[email protected]>2021-12-13 17:58:35 +0100
committerGitHub <[email protected]>2021-12-13 17:58:35 +0100
commit6cf21e9ddec41addf01744176afb2e138b3e1b3f (patch)
tree4abf843da0e2ed38689c872694b13d7418536106 /lua/lvim/core/info.lua
parent3a2d62ed2510ca05eb6ea87240a86df82338f5aa (diff)
parentb09ada89402e668ea1636bdbf671a89330199717 (diff)
Merge LunarVim/release-candidate
Diffstat (limited to 'lua/lvim/core/info.lua')
-rw-r--r--lua/lvim/core/info.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/lua/lvim/core/info.lua b/lua/lvim/core/info.lua
index fc87691e..df7b7061 100644
--- a/lua/lvim/core/info.lua
+++ b/lua/lvim/core/info.lua
@@ -20,6 +20,7 @@ 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 section = {
"Formatters info",
@@ -34,6 +35,23 @@ local function make_formatters_info(ft)
return section
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 section = {
+ "Code actions info",
+ fmt(
+ "* Active: %s%s",
+ table.concat(registered_actions, "  , "),
+ vim.tbl_count(registered_actions) > 0 and "  " or ""
+ ),
+ fmt("* Supported: %s", str_list(supported_actions)),
+ }
+
+ return section
+end
+
local function make_linters_info(ft)
local null_linters = require "lvim.lsp.null-ls.linters"
local supported_linters = null_linters.list_available(ft)
@@ -120,6 +138,8 @@ function M.toggle_popup(ft)
local linters_info = make_linters_info(ft)
+ local code_actions_info = make_code_actions_info(ft)
+
local content_provider = function(popup)
local content = {}
@@ -136,6 +156,8 @@ function M.toggle_popup(ft)
formatters_info,
{ "" },
linters_info,
+ { "" },
+ code_actions_info,
} do
vim.list_extend(content, section)
end
@@ -150,6 +172,7 @@ function M.toggle_popup(ft)
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")'
@@ -159,6 +182,7 @@ function M.toggle_popup(ft)
-- 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")
end
local Popup = require("lvim.interface.popup"):new {