kickstart.nvim/lua/custom/plugins/spellcheck.lua

39 lines
1.1 KiB
Lua

return {
'nvimtools/none-ls.nvim',
event = 'VeryLazy',
dependencies = 'davidmh/cspell.nvim',
config = function()
local null_ls = require 'null-ls'
local cspell = require 'cspell'
local cspell_config = {
diagnostics_postprocess = function(diagnostic)
diagnostic.severity = vim.diagnostic.severity['HINT']
end,
config = {
config_file_preferred_name = 'config.json',
cspell_config_dirs = { '~/.config/cspell/' },
on_add_to_json = function(payload)
os.execute(
string.format(
"jq -S '.words |= sort' %s > %s.tmp && mv %s.tmp %s",
payload.cspell_config_path,
payload.cspell_config_path,
payload.cspell_config_path,
payload.cspell_config_path
)
)
end,
on_add_to_dictionary = function(payload)
os.execute(string.format('sort %s -o %s', payload.dictionary_path, payload.dictionary_path))
end,
},
}
null_ls.setup {
sources = {
cspell.diagnostics.with(cspell_config),
cspell.code_actions.with(cspell_config),
},
}
end,
}