Files
keycodex/lua/plugins/lang/null-ls.lua
T
2025-01-04 21:09:50 +05:45

54 lines
1.9 KiB
Lua

local null_ls = require('null-ls')
local action = null_ls.builtins.code_actions
local comp = null_ls.builtins.completion
local diag = null_ls.builtins.diagnostics
local format = null_ls.builtins.formatting
local hover = null_ls.builtins.hover
-- Buily in sources: https://github.com/nvimtools/none-ls.nvim/blob/main/doc/BUILTINS.md
null_ls.setup({
debug = false,
border = 'rounded',
log_level = 'info',
diagnostics_format = '#{c} #{m} (#{s})',
sources = {
action.proselint, -- markdown actions
action.refactoring,
-- action.ts_node_action, -- treesitter node actions, buggy, causes repeated notifications
comp.spell, -- spell completion
comp.tags, -- tags completion
diag.actionlint, -- github action lint
diag.credo, -- elixir diagnostics
diag.golangci_lint,
diag.hadolint, -- docker lint
diag.proselint, -- markdown lint
diag.reek, -- ruby code smell
-- diag.rubocop, -- ruby diagnostics
-- diag.todo_comments, -- causes highlighter errors on J
diag.trail_space, -- trailing space check
diag.vint, -- vim lint
diag.write_good, -- english writing style
format.mix, -- elixir formatter
format.prettier, -- js, md, css, etc formatter
format.prettierd,
format.djlint, -- django, jinja formatter
-- format.rubocop, -- ruby formatter
format.shfmt, -- shell formatter
format.stylua, -- lua formatter
hover.dictionary, -- show word dictionary on hover
hover.printenv, -- show env on hover
},
})
local auto_install = require('lib.util').get_user_config('auto_install', true)
local installed_sources = {}
if auto_install then
installed_sources = require('plugins.list').null_ls_sources
end
require('mason-null-ls').setup({
ensure_installed = installed_sources,
automatic_installation = auto_install,
})