summaryrefslogtreecommitdiff
path: root/lua/lsp/null-ls
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lsp/null-ls')
-rw-r--r--lua/lsp/null-ls/formatters.lua9
-rw-r--r--lua/lsp/null-ls/linters.lua9
-rw-r--r--lua/lsp/null-ls/services.lua4
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"