nvim/lua/plugins/null-ls.lua
2025-03-05 09:36:07 -05:00

43 lines
1.2 KiB
Lua

local config = require('config')
local u = require('utils')
return {
'nvimtools/none-ls.nvim',
dependencies = {
'nvimtools/none-ls-extras.nvim',
'gbprod/none-ls-shellcheck.nvim',
},
config = function()
local defaults = require('lsp.servers.defaults')
local null_ls = require('null-ls')
local config_opts = u.merge({
default_cosmic_sources = true,
}, config.lsp.null_ls or {})
if config_opts.default_cosmic_sources then
local function get_config_sources()
if not config_opts.add_sources then
return {}
end
return config_opts.add_sources()
end
config_opts.sources = u.merge_list({
null_ls.builtins.code_actions.gitsigns,
null_ls.builtins.diagnostics.markdownlint,
null_ls.builtins.formatting.prettierd.with({
env = {
PRETTIERD_LOCAL_PRETTIER_ONLY = 1,
},
extra_filetypes = { 'astro' },
}),
null_ls.builtins.formatting.stylua,
}, get_config_sources())
end
null_ls.setup(u.merge(defaults, config_opts))
end,
--[[ event = 'BufEnter', ]]
lazy = false,
enabled = not vim.tbl_contains(config.disable_builtin_plugins, 'null_ls'),
}