Mercurial > dotfiles
comparison .chezmoitemplates/init.lua @ 739:dbadb754946e
feat: add refactoring plugin
author | zegervdv <zegervdv@me.com> |
---|---|
date | Sun, 18 Dec 2022 11:09:26 +0100 |
parents | d63750fc240f |
children | 68cb1c4b268c |
comparison
equal
deleted
inserted
replaced
738:d63750fc240f | 739:dbadb754946e |
---|---|
488 ) | 488 ) |
489 end, | 489 end, |
490 } | 490 } |
491 | 491 |
492 use { | 492 use { |
493 'ThePrimeagen/refactoring.nvim', | |
494 after = 'which-key.nvim', | |
495 requires = { | |
496 'nvim-lua/plenary.nvim', | |
497 'nvim-treesitter/nvim-treesitter', | |
498 }, | |
499 config = function() | |
500 local refactoring = require 'refactoring' | |
501 local wk = require 'which-key' | |
502 | |
503 refactoring.setup {} | |
504 | |
505 wk.register { ['<leader>r'] = { name = 'Refactoring' } } | |
506 | |
507 local maps = { | |
508 { mode = 'v', key = 'e', name = 'Extract Function' }, | |
509 { mode = 'v', key = 'f', name = 'Extract Function To File' }, | |
510 { mode = 'v', key = 'v', name = 'Extract Variable' }, | |
511 { mode = 'v', key = 'i', name = 'Inline Variable' }, | |
512 { mode = 'n', key = 'b', name = 'Extract Block' }, | |
513 { mode = 'n', key = 'bf', name = 'Extract Block To File' }, | |
514 { mode = 'n', key = 'i', name = 'Inline Variable' }, | |
515 } | |
516 for _, map in ipairs(maps) do | |
517 vim.keymap.set( | |
518 map.mode, | |
519 '<leader>r' .. map.key, | |
520 function() refactoring.refactor(map.name) end, | |
521 { desc = map.name, silent = true, expr = false } | |
522 ) | |
523 end | |
524 vim.keymap.set( | |
525 'n', | |
526 '<leader>rpp', | |
527 function() refactoring.debug.printf { below = false } end, | |
528 { desc = 'Add debug print statement', silent = true } | |
529 ) | |
530 vim.keymap.set( | |
531 'n', | |
532 '<leader>rpv', | |
533 function() refactoring.debug.print_var { normal = true } end, | |
534 { desc = 'Print variable', silent = true } | |
535 ) | |
536 vim.keymap.set( | |
537 'v', | |
538 '<leader>rpv', | |
539 function() refactoring.debug.print_var() end, | |
540 { desc = 'Print variable', silent = true } | |
541 ) | |
542 vim.keymap.set( | |
543 'n', | |
544 '<leader>rpc', | |
545 function() refactoring.debug.cleanup {} end, | |
546 { desc = 'Clean up debug prints', silent = true } | |
547 ) | |
548 end, | |
549 } | |
550 | |
551 use { | |
493 'nvim-telescope/telescope-ui-select.nvim', | 552 'nvim-telescope/telescope-ui-select.nvim', |
494 requires = { 'nvim-telescope/telescope.nvim' }, | 553 requires = { 'nvim-telescope/telescope.nvim' }, |
495 config = function() | 554 config = function() |
496 require('telescope').setup { | 555 require('telescope').setup { |
497 defaults = { | 556 defaults = { |