nvim-treesitter / nvim-treesitter-refactor

Refactor module for nvim-treesitter
Apache License 2.0
407 stars 25 forks source link

create `navigation.keymap` keys that use the `include` and `define` search features as fallback options #37

Open k-times-c opened 2 years ago

k-times-c commented 2 years ago

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Hey! First off awesome plugin. Thank you for your ample contributions to the community, especially for treesitter/virtual-text/nvim-dap implementations to name a few topics.

My thought is that there are some "native" keymappings that may prove to be useful as fallback implementations for this plugin.

Describe the solution you'd like A clear and concise description of what you want to happen.

the [d / ]d as well as the [i and ]i and their variants provide some what of an archaic version of find_definition and find_usages. (see the help for those keymappings for more detail). I think they a fallback key for go to definition and list definition where appropriate would be awesome be a great out of the box improvement for this plugin, as well as neovim.

find_usage_fallback or find all definition_fallback to lsp or the native vim mappings where it makes sense.

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

This may cause some confusion for some people, especially those who aren't familiar with this feature, but I at least wanted to get a dialogue for this

I haven't take a good look at the codebase yet, but I don't imagine this being too difficult. I'd be keen to take on this work with a little help. But if you as the maintainer want to roll with it that's no problem!

Additional context Add any other context or screenshots about the feature request here.

I think the idea of trying to use treesitter to augment the native key mapping where it makes sense. the define and include search/jumps are treesitter could implement.

there are other vim bindings like w c_I that could be utilized as well.

hope this makes sense