nvim: add refactoring and null-ls
This commit is contained in:
parent
b2c4d70e4b
commit
1ceeb62717
1 changed files with 43 additions and 0 deletions
|
@ -158,6 +158,49 @@ return require('packer').startup({function()
|
||||||
-- vim.g.ale_disable_lsp = 1
|
-- vim.g.ale_disable_lsp = 1
|
||||||
-- end
|
-- 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)
|
---- DAP (Debug Adapter Protocol)
|
||||||
use { -- nvim-dap: DAP support
|
use { -- nvim-dap: DAP support
|
||||||
'mfussenegger/nvim-dap',
|
'mfussenegger/nvim-dap',
|
||||||
|
|
Loading…
Add table
Reference in a new issue