diff options
Diffstat (limited to 'lua/lsp/null-ls')
| -rw-r--r-- | lua/lsp/null-ls/formatters.lua | 9 | ||||
| -rw-r--r-- | lua/lsp/null-ls/linters.lua | 9 | ||||
| -rw-r--r-- | lua/lsp/null-ls/services.lua | 4 | 
3 files changed, 14 insertions, 8 deletions
diff --git a/lua/lsp/null-ls/formatters.lua b/lua/lsp/null-ls/formatters.lua index d6455d5f..4728b908 100644 --- a/lua/lsp/null-ls/formatters.lua +++ b/lua/lsp/null-ls/formatters.lua @@ -13,9 +13,11 @@ end  function M.list_available(filetype)    local formatters = {} +  local tbl = require "utils.table"    for _, provider in pairs(null_ls.builtins.formatting) do -    -- TODO: Add support for wildcard filetypes -    if vim.tbl_contains(provider.filetypes or {}, filetype) then +    if tbl.contains(provider.filetypes or {}, function(ft) +      return ft == "*" or ft == filetype +    end) then        table.insert(formatters, provider.name)      end    end @@ -27,7 +29,8 @@ function M.list_configured(formatter_configs)    local formatters, errors = {}, {}    for _, fmt_config in ipairs(formatter_configs) do -    local formatter = null_ls.builtins.formatting[fmt_config.exe] +    local formatter_name = fmt_config.exe:gsub("-", "_") +    local formatter = null_ls.builtins.formatting[formatter_name]      if not formatter then        Log:error("Not a valid formatter: " .. fmt_config.exe) diff --git a/lua/lsp/null-ls/linters.lua b/lua/lsp/null-ls/linters.lua index e60411e6..549c6cdd 100644 --- a/lua/lsp/null-ls/linters.lua +++ b/lua/lsp/null-ls/linters.lua @@ -13,9 +13,11 @@ end  function M.list_available(filetype)    local linters = {} +  local tbl = require "utils.table"    for _, provider in pairs(null_ls.builtins.diagnostics) do -    -- TODO: Add support for wildcard filetypes -    if vim.tbl_contains(provider.filetypes or {}, filetype) then +    if tbl.contains(provider.filetypes or {}, function(ft) +      return ft == "*" or ft == filetype +    end) then        table.insert(linters, provider.name)      end    end @@ -27,7 +29,8 @@ function M.list_configured(linter_configs)    local linters, errors = {}, {}    for _, lnt_config in pairs(linter_configs) do -    local linter = null_ls.builtins.diagnostics[lnt_config.exe] +    local linter_name = lnt_config.exe:gsub("-", "_") +    local linter = null_ls.builtins.diagnostics[linter_name]      if not linter then        Log:error("Not a valid linter: " .. lnt_config.exe) diff --git a/lua/lsp/null-ls/services.lua b/lua/lsp/null-ls/services.lua index c62fc709..ef9e7d22 100644 --- a/lua/lsp/null-ls/services.lua +++ b/lua/lsp/null-ls/services.lua @@ -4,8 +4,8 @@ local function find_root_dir()    local util = require "lspconfig/util"    local lsp_utils = require "lsp.utils" -  local status_ok, ts_client = lsp_utils.is_client_active "typescript" -  if status_ok then +  local ts_client = lsp_utils.is_client_active "typescript" +  if ts_client then      return ts_client.config.root_dir    end    local dirname = vim.fn.expand "%:p:h"  | 
