feat: apply jump_type only if the definition file is different from the current file #2324
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Apply
jump_type
rule only if the definition file is different from the current file. I think most people expect open the definition on a new tab (or a split pane) only when we need to go to another file.Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Set a key mapping
vim.keymap.set('n', 'gd', function() builtin.lsp_definitions{jump_type = 'tab'} end, bufopts)
:gd
. If the definition is in the current file, it'll just jump to the corresponding position of the current file; otherwise it'll open the definition on a new tab.Set a key mapping
vim.keymap.set('n', 'gr', function() builtin.lsp_references{jump_type = 'tab'} end, bufopts)
:gr
. If the reference is in the current file, it'll just jump to the corresponding position of the current file; otherwise it'll open the reference on a new tab.Configuration:
Checklist: