46 lines
1.4 KiB
Lua
46 lines
1.4 KiB
Lua
local Util = require("lazyvim.util")
|
|
|
|
return {
|
|
-- none-ls
|
|
{
|
|
"nvimtools/none-ls.nvim",
|
|
event = "LazyFile",
|
|
dependencies = { "mason.nvim" },
|
|
init = function()
|
|
Util.on_very_lazy(function()
|
|
-- register the formatter with LazyVim
|
|
require("lazyvim.util").format.register({
|
|
name = "none-ls.nvim",
|
|
priority = 200, -- set higher than conform, the builtin formatter
|
|
primary = true,
|
|
format = function(buf)
|
|
return Util.lsp.format({
|
|
bufnr = buf,
|
|
filter = function(client)
|
|
return client.name == "null-ls"
|
|
end,
|
|
})
|
|
end,
|
|
sources = function(buf)
|
|
local ret = require("null-ls.sources").get_available(vim.bo[buf].filetype, "NULL_LS_FORMATTING") or {}
|
|
return vim.tbl_map(function(source)
|
|
return source.name
|
|
end, ret)
|
|
end,
|
|
})
|
|
end)
|
|
end,
|
|
opts = function(_, opts)
|
|
local nls = require("null-ls")
|
|
opts.root_dir = opts.root_dir
|
|
or require("null-ls.utils").root_pattern(".null-ls-root", ".neoconf.json", "Makefile", ".git")
|
|
opts.sources = vim.list_extend(opts.sources or {}, {
|
|
nls.builtins.formatting.fish_indent,
|
|
nls.builtins.diagnostics.fish,
|
|
nls.builtins.formatting.stylua,
|
|
nls.builtins.formatting.shfmt,
|
|
})
|
|
end,
|
|
},
|
|
}
|