54 lines
1.9 KiB
Lua
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,
|
|
})
|