diff options
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", | 
