diff options
Diffstat (limited to '.config/nvim/lua/lsp/null-ls/init.lua')
-rw-r--r-- | .config/nvim/lua/lsp/null-ls/init.lua | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/.config/nvim/lua/lsp/null-ls/init.lua b/.config/nvim/lua/lsp/null-ls/init.lua new file mode 100644 index 0000000..f2b1042 --- /dev/null +++ b/.config/nvim/lua/lsp/null-ls/init.lua @@ -0,0 +1,44 @@ +local M = {} + +function M.list_supported_provider_names(filetype) + local names = {} + + local formatters = require "lsp.null-ls.formatters" + local linters = require "lsp.null-ls.linters" + + vim.list_extend(names, formatters.list_supported_names(filetype)) + vim.list_extend(names, linters.list_supported_names(filetype)) + + return names +end + +function M.list_unsupported_provider_names(filetype) + local names = {} + + local formatters = require "lsp.null-ls.formatters" + local linters = require "lsp.null-ls.linters" + + vim.list_extend(names, formatters.list_unsupported_names(filetype)) + vim.list_extend(names, linters.list_unsupported_names(filetype)) + + return names +end + +-- TODO: for linters and formatters with spaces and '-' replace with '_' +function M.setup(filetype, option) + option = option or {} + + local ok, _ = pcall(require, "null-ls") + if not ok then + require("core.log"):get_default().error "Missing null-ls dependency" + return + end + + local formatters = require "lsp.null-ls.formatters" + local linters = require "lsp.null-ls.linters" + + formatters.setup(filetype, option) + linters.setup(filetype, option) +end + +return M |