mirror of
https://github.com/davidhalter/jedi-vim.git
synced 2025-12-06 10:54:22 +08:00
Fix "goto" with multiple results
E.g. with `os.path`.
This commit is contained in:
@@ -434,6 +434,8 @@ def show_goto_multi_results(definitions, mode):
|
||||
"""Create (or reuse) a quickfix list for multiple definitions."""
|
||||
global _current_definitions
|
||||
|
||||
for_usages = mode == "usages"
|
||||
|
||||
lst = []
|
||||
(row, col) = vim.current.window.cursor
|
||||
current_idx = None
|
||||
@@ -450,9 +452,10 @@ def show_goto_multi_results(definitions, mode):
|
||||
text=PythonToVimStr(text)))
|
||||
|
||||
# Select current/nearest entry via :cc later.
|
||||
# Only done for "usages", but current_def is also used for "goto".
|
||||
if d.line == row and d.column <= col:
|
||||
if (current_idx is None
|
||||
or (abs(lst[current_idx].column - col)
|
||||
or (abs(lst[current_idx]["col"] - col)
|
||||
> abs(d.column - col))):
|
||||
current_idx = len(lst)
|
||||
current_def = d
|
||||
@@ -472,10 +475,10 @@ def show_goto_multi_results(definitions, mode):
|
||||
VimCompat.setqflist_title(qf_title)
|
||||
else:
|
||||
VimCompat.setqflist(lst, title=qf_title, context=qf_context)
|
||||
for_usages = mode == "usages"
|
||||
vim_eval('jedi#add_goto_window(%d, %d)' % (for_usages, len(lst)))
|
||||
|
||||
vim_command('%dcc' % select_entry)
|
||||
if for_usages:
|
||||
vim_command('%dcc' % select_entry)
|
||||
|
||||
|
||||
def _same_definitions(a, b):
|
||||
|
||||
Reference in New Issue
Block a user