configfiles/nvim/.config/nvim/lua/plugin/null-ls.lua

59 lines
2.7 KiB
Lua

return {
{
"jose-elias-alvarez/null-ls.nvim",
-- event = "BufReadPost",
dependencies = {
{
"nvim-telescope/telescope-ui-select.nvim",
lazy = true,
config = function()
-- This is your opts table
require("telescope").setup {
extensions = {
["ui-select"] = {
-- require("telescope.themes").get_dropdown {
-- -- even more opts
-- }
}
}
}
require("telescope").load_extension("ui-select")
end,
},
},
opts = function()
local null_ls = require('null-ls')
return {
border = 'rounded',
on_attach = function(client, bufnr)
local bufopts = { noremap = true, silent = true, buffer = bufnr }
vim.keymap.set('n', '<space>a', vim.lsp.buf.code_action, bufopts)
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
vim.keymap.set('n', '<leader>K', vim.lsp.buf.hover, bufopts)
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
vim.keymap.set('n', '<space>a', vim.lsp.buf.code_action, bufopts)
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
vim.keymap.set('n', '<space>Fm', function() vim.lsp.buf.format { async = true } end, bufopts)
end,
sources = {
null_ls.builtins.diagnostics.trail_space.with {
disabled_filetypes = { "lua" }
},
null_ls.builtins.diagnostics.shellcheck,
null_ls.builtins.code_actions.shellcheck,
null_ls.builtins.formatting.jq,
null_ls.builtins.code_actions.gitsigns,
null_ls.builtins.diagnostics.flake8,
null_ls.builtins.diagnostics.yamllint,
null_ls.builtins.formatting.yamlfmt,
null_ls.builtins.formatting.shfmt,
null_ls.builtins.formatting.shellharden,
null_ls.builtins.formatting.beautysh,
},
}
end,
},
}