nvim: add refactoring and null-ls

This commit is contained in:
PowerUser64 2022-08-08 15:58:02 -07:00
parent b2c4d70e4b
commit 1ceeb62717

View file

@ -158,6 +158,49 @@ return require('packer').startup({function()
-- vim.g.ale_disable_lsp = 1
-- end
-- }
use { -- null-ls: Support for lots of programming tools, but through nvim lsp
'jose-elias-alvarez/null-ls.nvim',
requires = 'nvim-lua/plenary.nvim',
config = function()
local null_ls = require("null-ls")
require("null-ls").setup({
sources = {
null_ls.builtins.code_actions.refactoring,
null_ls.builtins.formatting.clang_format,
}
})
end
}
use { -- refactoring: Refactoring for neovim
'ThePrimeagen/refactoring.nvim',
requires = {
{"nvim-lua/plenary.nvim"},
{"nvim-treesitter/nvim-treesitter"}
},
config = function()
require('refactoring').setup({})
-- Remaps for the refactoring operations currently offered by the plugin
vim.api.nvim_set_keymap("v", "<leader>re", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function')<CR>]], {noremap = true, silent = true, expr = false})
vim.api.nvim_set_keymap("v", "<leader>rf", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function To File')<CR>]], {noremap = true, silent = true, expr = false})
vim.api.nvim_set_keymap("v", "<leader>rv", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]], {noremap = true, silent = true, expr = false})
vim.api.nvim_set_keymap("v", "<leader>ri", [[ <Esc><Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]], {noremap = true, silent = true, expr = false})
-- Extract block doesn't need visual mode
vim.api.nvim_set_keymap("n", "<leader>rb", [[ <Cmd>lua require('refactoring').refactor('Extract Block')<CR>]], {noremap = true, silent = true, expr = false})
vim.api.nvim_set_keymap("n", "<leader>rbf", [[ <Cmd>lua require('refactoring').refactor('Extract Block To File')<CR>]], {noremap = true, silent = true, expr = false})
-- Inline variable can also pick up the identifier currently under the cursor without visual mode
vim.api.nvim_set_keymap("n", "<leader>ri", [[ <Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]], {noremap = true, silent = true, expr = false})
-- Refactoring telescope integration
-- load refactoring Telescope extension
require("telescope").load_extension("refactoring")
-- remap to open the Telescope refactoring menu in visual mode
vim.api.nvim_set_keymap(
"v",
"<leader>rr",
"<Esc><cmd>lua require('telescope').extensions.refactoring.refactors()<CR>",
{ noremap = true }
)
end,
}
---- DAP (Debug Adapter Protocol)
use { -- nvim-dap: DAP support
'mfussenegger/nvim-dap',