summaryrefslogtreecommitdiff
path: root/lua/lvim/lsp/null-ls/init.lua
diff options
context:
space:
mode:
authorkylo252 <[email protected]>2021-10-21 07:48:10 +0200
committerkylo252 <[email protected]>2021-10-21 07:48:10 +0200
commit30de3736baec9a72134205de91f3388e3ea68bcf (patch)
treec0079f51d68c61316726f104bae963c5f0371571 /lua/lvim/lsp/null-ls/init.lua
parentb98264042f558751483e2c993ebed11a5bcbb1de (diff)
parent25747cfff457d5375b6141588d81017ca515ffcb (diff)
Merge remote-tracking branch 'origin/rolling'
Diffstat (limited to 'lua/lvim/lsp/null-ls/init.lua')
-rw-r--r--lua/lvim/lsp/null-ls/init.lua38
1 files changed, 38 insertions, 0 deletions
diff --git a/lua/lvim/lsp/null-ls/init.lua b/lua/lvim/lsp/null-ls/init.lua
new file mode 100644
index 00000000..ef4a1844
--- /dev/null
+++ b/lua/lvim/lsp/null-ls/init.lua
@@ -0,0 +1,38 @@
+local M = {}
+
+local Log = require "lvim.core.log"
+local formatters = require "lvim.lsp.null-ls.formatters"
+local linters = require "lvim.lsp.null-ls.linters"
+
+function M:setup()
+ local status_ok, null_ls = pcall(require, "null-ls")
+ if not status_ok then
+ Log:error "Missing null-ls dependency"
+ return
+ end
+
+ null_ls.config()
+ local default_opts = require("lvim.lsp").get_common_opts()
+
+ if vim.tbl_isempty(lvim.lsp.null_ls.setup or {}) then
+ lvim.lsp.null_ls.setup = default_opts
+ end
+
+ require("lspconfig")["null-ls"].setup(lvim.lsp.null_ls.setup)
+ for filetype, config in pairs(lvim.lang) do
+ if not vim.tbl_isempty(config.formatters) then
+ vim.tbl_map(function(c)
+ c.filetypes = { filetype }
+ end, config.formatters)
+ formatters.setup(config.formatters)
+ end
+ if not vim.tbl_isempty(config.linters) then
+ vim.tbl_map(function(c)
+ c.filetypes = { filetype }
+ end, config.formatters)
+ linters.setup(config.linters)
+ end
+ end
+end
+
+return M