plugins: Add nvim-treesitter-refactor
authorStefan Huber <shuber@sthu.org>
Sat, 18 Dec 2021 12:56:33 +0000 (13:56 +0100)
committerStefan Huber <shuber@sthu.org>
Sat, 18 Dec 2021 12:56:33 +0000 (13:56 +0100)
init.vim
plugins.vim

index 8392c284ebc30fc9ea2739352523d0318d321fdb..e16c816ab01c0e34e04225ee80ac74f6200eb2e3 100644 (file)
--- a/init.vim
+++ b/init.vim
@@ -346,6 +346,7 @@ if $USER != "root" && g:lowendbox == 0
           \ ]
 
     if has('nvim-0.5')
+        set foldexpr=nvim_treesitter#foldexpr()
 lua <<EOF
         require'nvim-treesitter.configs'.setup {
             -- one of "all", "maintained" (parsers with maintainers), or a list of languages
@@ -357,16 +358,45 @@ lua <<EOF
               enable = true,
               disabled = {}
             },
-            incremental_selection = {
+            indent = {
               enable = true
             },
+            incremental_selection = {
+              enable = true,
+              keymaps = {
+                init_selection = "gnn",
+                node_incremental = "grn",
+                scope_incremental = "grc",
+                node_decremental = "grm",
+              },
+            },
             textobjects = {
               enable = true
-            }
+            },
+            refactor = {
+                highlight_definitions = {
+                    enable = true
+                },
+                smart_rename = {
+                    enable = true,
+                    keymaps = {
+                        smart_rename = "grr",
+                        },
+                    },
+                navigation = {
+                    enable = true,
+                    keymaps = {
+                        goto_definition = "gnd",
+                        list_definitions = "gnD",
+                        list_definitions_toc = "gO",
+                        goto_next_usage = "<a-*>",
+                        goto_previous_usage = "<a-#>",
+                    },
+                },
+            },
         }
 EOF
     endif
-
 endif
 
 
index a0dde68f621f736c6771e694afc05521a115c433..9adf584fb5d7c40301a10e03677cb7262fd2de0b 100644 (file)
@@ -106,6 +106,7 @@ if $USER != "root"
 
         if has('nvim-0.5')
             Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
+            Plug 'nvim-treesitter/nvim-treesitter-refactor', {'do': ':TSUpdate'}
         else
             Plug 'sheerun/vim-polyglot'
         endif