davidhalter / jedi-vim

Using the jedi autocompletion library for VIM.
MIT License
5.27k stars 370 forks source link

Show usages (Leader+n) shows only references in the current file #999

Closed WhyNotHugo closed 3 years ago

WhyNotHugo commented 4 years ago

Issue

Pressing Leader+n shows a popup with all the references in the current file, but not in other files in the same directory (this is part of a larger project).

The "opposite" (gotodefinition), however, does traverse the whole project.

Output of “:verbose JediDebugInfo”

Jedi-vim debug information

jedi-vim version
Global Python

Using Python version 3 to access Jedi.

Jedi
Jedi environment: <SameEnvironment: 3.8.1 in /usr>
Known environments
Settings
g:jedi#completions_enabled = 0 (default: 1)

  omnifunc=python3complete#Complete
    Last set from /usr/share/nvim/runtime/ftplugin/python.vim line 41
  completeopt=menuone,longest,preview
    Last set from ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/jedi-vim/plugin/jedi.vim line 36

:version


NVIM v0.4.3
Build type: Release
LuaJIT 2.0.5
Compilation: /usr/bin/cc -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -O2 -DNDEBUG -DMIN_LOG_LEVEL=3 -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fdiagnostics-color=always -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -I/build/neovim/src/build/config -I/build/neovim/src/neovim-0.4.3/src -I/usr/include -I/build/neovim/src/build/src/nvim/auto -I/build/neovim/src/build/include
Compiled by builduser

Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/share/nvim"

Run :checkhealth for more info

:messages

paste: Error executing lua: vim.lua:197: Vim:E21: Cannot make changes, 'modifiable' is off
NVIM v0.4.3
Build type: Release
LuaJIT 2.0.5
Compilation: /usr/bin/cc -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -O2 -DNDEBUG -DMIN_LOG_LEVEL=3 -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fdiagnostics-color=always -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -I/build/neovim/src/build/config -I/build/neovim/src/neovim-0.4.3/src -I/usr/include -I/build/neovim/src/build/src/nvim/auto -I/build/neovim/src/build/include
NVIM v0.4.3
Build type: Release
LuaJIT 2.0.5
Compilation: /usr/bin/cc -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -O2 -DNDEBUG -DMIN_LOG_LEVEL=3 -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fdiagnostics-color=always -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -I/build/neovim/src/build/config -I/build/neovim/src/neovim-0.4.3/src -I/usr/include -I/build/neovim/src/build/src/nvim/auto -I/build/neovim/src/build/include
  1: /etc/xdg/nvim/sysinit.vim
  2: /usr/share/nvim/archlinux.vim
  3: ~/.homesick/repos/dotfiles/home/.config/nvim/init.vim
  4: ~/.homesick/repos/dotfiles/home/.config/nvim/plugins.vim
  5: ~/.homesick/repos/dotfiles/home/.config/nvim/autoload/plug.vim
  6: /usr/share/nvim/runtime/filetype.vim
  7: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-coffee-script/ftdetect/coffee.vim
  8: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-coffee-script/ftdetect/vim-literate-coffeescript.vim
  9: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-jade/ftdetect/pug.vim
 10: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-less/ftdetect/less.vim
 11: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-markdown/ftdetect/markdown.vim
 12: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/rust.vim/ftdetect/rust.vim
 13: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-toml/ftdetect/toml.vim
 14: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/icalendar.vim/ftdetect/icalendar.vim
 15: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/i3config.vim/ftdetect/i3config.vim
 16: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/typescript-vim/ftdetect/typescript.vim
 17: /usr/share/vim/vimfiles/ftdetect/PKGBUILD.vim
 18: /usr/share/vim/vimfiles/ftdetect/dockerfile.vim
 19: /usr/share/nvim/runtime/ftplugin.vim
 20: /usr/share/nvim/runtime/indent.vim
 21: /usr/share/nvim/runtime/syntax/syntax.vim
 22: /usr/share/nvim/runtime/syntax/synload.vim
 23: /usr/share/nvim/runtime/syntax/syncolor.vim
 24: ~/.homesick/repos/dotfiles/home/.config/nvim/lightline.vim
 25: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/jellybeans.vim/colors/jellybeans.vim
 26: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/deoplete.nvim/autoload/deoplete/custom.vim
 27: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/deoplete.nvim/autoload/deoplete/util.vim
 28: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/deoplete.nvim/autoload/deoplete/init.vim
 29: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ctrlp.vim/plugin/ctrlp.vim
 30: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ctrlp.vim/autoload/ctrlp/mrufiles.vim
 31: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ale/plugin/ale.vim
 32: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ale/autoload/ale/events.vim
 33: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-sensible/plugin/sensible.vim
 34: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ack.vim/plugin/ack.vim
 35: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/deoplete.nvim/plugin/deoplete.vim
 36: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/deoplete.nvim/autoload/deoplete.vim
 37: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-endwise/plugin/endwise.vim
 38: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/rust.vim/plugin/cargo.vim
 39: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/rust.vim/plugin/rust.vim
 40: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/jedi-vim/plugin/jedi.vim
 41: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/lightline.vim/plugin/lightline.vim
 42: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/lightline-ale/plugin/lightline/ale.vim
 43: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-gitgutter/plugin/gitgutter.vim
 44: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-gitgutter/autoload/gitgutter/utility.vim
 45: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-gitgutter/autoload/gitgutter/highlight.vim
 46: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-lastplace/plugin/vim-lastplace.vim
 47: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-devicons/plugin/webdevicons.vim
 48: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-devicons/autoload/devicons/plugins/ctrlp.vim
 49: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/tagbar/plugin/tagbar.vim
 50: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/tcomment_vim/plugin/tcomment.vim
 51: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/tcomment_vim/autoload/tcomment/deprecated.vim
 52: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-sneak/plugin/sneak.vim
 53: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/editorconfig-vim/plugin/editorconfig.vim
 54: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-multiple-cursors/plugin/multiple_cursors.vim
 55: /usr/share/nvim/runtime/plugin/gzip.vim
 56: /usr/share/nvim/runtime/plugin/health.vim
 57: /usr/share/nvim/runtime/plugin/man.vim
 58: /usr/share/nvim/runtime/plugin/matchit.vim
 59: /usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
 60: /usr/share/nvim/runtime/plugin/matchparen.vim
 61: /usr/share/nvim/runtime/plugin/netrwPlugin.vim
 62: /usr/share/nvim/runtime/plugin/rplugin.vim
 63: ~/.local/share/nvim/rplugin.vim
 64: /usr/share/nvim/runtime/autoload/remote/host.vim
 65: /usr/share/nvim/runtime/autoload/remote/define.vim
 66: /usr/share/nvim/runtime/plugin/shada.vim
 67: /usr/share/nvim/runtime/plugin/spellfile.vim
 68: /usr/share/nvim/runtime/plugin/tarPlugin.vim
 69: /usr/share/nvim/runtime/plugin/tohtml.vim
 70: /usr/share/nvim/runtime/plugin/tutor.vim
 71: /usr/share/nvim/runtime/plugin/zipPlugin.vim
 72: /usr/share/vim/vimfiles/plugin/fzf.vim
 73: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/indentLine/after/plugin/indentLine.vim
 74: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ale/autoload/ale.vim
 75: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/lightline.vim/autoload/lightline.vim
clipboard: error invoking wl-copy: 
:scriptnames ``` 1: /etc/xdg/nvim/sysinit.vim 2: /usr/share/nvim/archlinux.vim 3: ~/.homesick/repos/dotfiles/home/.config/nvim/init.vim 4: ~/.homesick/repos/dotfiles/home/.config/nvim/plugins.vim 5: ~/.homesick/repos/dotfiles/home/.config/nvim/autoload/plug.vim 6: /usr/share/nvim/runtime/filetype.vim 7: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-coffee-script/ftdetect/coffee.vim 8: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-coffee-script/ftdetect/vim-literate-coffeescript.vim 9: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-jade/ftdetect/pug.vim 10: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-less/ftdetect/less.vim 11: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-markdown/ftdetect/markdown.vim 12: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/rust.vim/ftdetect/rust.vim 13: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-toml/ftdetect/toml.vim 14: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/icalendar.vim/ftdetect/icalendar.vim 15: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/i3config.vim/ftdetect/i3config.vim 16: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/typescript-vim/ftdetect/typescript.vim 17: /usr/share/vim/vimfiles/ftdetect/PKGBUILD.vim 18: /usr/share/vim/vimfiles/ftdetect/dockerfile.vim 19: /usr/share/nvim/runtime/ftplugin.vim 20: /usr/share/nvim/runtime/indent.vim 21: /usr/share/nvim/runtime/syntax/syntax.vim 22: /usr/share/nvim/runtime/syntax/synload.vim 23: /usr/share/nvim/runtime/syntax/syncolor.vim 24: ~/.homesick/repos/dotfiles/home/.config/nvim/lightline.vim 25: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/jellybeans.vim/colors/jellybeans.vim 26: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/deoplete.nvim/autoload/deoplete/custom.vim 27: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/deoplete.nvim/autoload/deoplete/util.vim 28: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/deoplete.nvim/autoload/deoplete/init.vim 29: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ctrlp.vim/plugin/ctrlp.vim 30: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ctrlp.vim/autoload/ctrlp/mrufiles.vim 31: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ale/plugin/ale.vim 32: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ale/autoload/ale/events.vim 33: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-sensible/plugin/sensible.vim 34: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ack.vim/plugin/ack.vim 35: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/deoplete.nvim/plugin/deoplete.vim 36: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/deoplete.nvim/autoload/deoplete.vim 37: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-endwise/plugin/endwise.vim 38: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/rust.vim/plugin/cargo.vim 39: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/rust.vim/plugin/rust.vim 40: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/jedi-vim/plugin/jedi.vim 41: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/lightline.vim/plugin/lightline.vim 42: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/lightline-ale/plugin/lightline/ale.vim 43: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-gitgutter/plugin/gitgutter.vim 44: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-gitgutter/autoload/gitgutter/utility.vim 45: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-gitgutter/autoload/gitgutter/highlight.vim 46: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-lastplace/plugin/vim-lastplace.vim 47: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-devicons/plugin/webdevicons.vim 48: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-devicons/autoload/devicons/plugins/ctrlp.vim 49: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/tagbar/plugin/tagbar.vim 50: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/tcomment_vim/plugin/tcomment.vim 51: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/tcomment_vim/autoload/tcomment/deprecated.vim 52: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-sneak/plugin/sneak.vim 53: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/editorconfig-vim/plugin/editorconfig.vim 54: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-multiple-cursors/plugin/multiple_cursors.vim 55: /usr/share/nvim/runtime/plugin/gzip.vim 56: /usr/share/nvim/runtime/plugin/health.vim 57: /usr/share/nvim/runtime/plugin/man.vim 58: /usr/share/nvim/runtime/plugin/matchit.vim 59: /usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim 60: /usr/share/nvim/runtime/plugin/matchparen.vim 61: /usr/share/nvim/runtime/plugin/netrwPlugin.vim 62: /usr/share/nvim/runtime/plugin/rplugin.vim 63: ~/.local/share/nvim/rplugin.vim 64: /usr/share/nvim/runtime/autoload/remote/host.vim 65: /usr/share/nvim/runtime/autoload/remote/define.vim 66: /usr/share/nvim/runtime/plugin/shada.vim 67: /usr/share/nvim/runtime/plugin/spellfile.vim 68: /usr/share/nvim/runtime/plugin/tarPlugin.vim 69: /usr/share/nvim/runtime/plugin/tohtml.vim 70: /usr/share/nvim/runtime/plugin/tutor.vim 71: /usr/share/nvim/runtime/plugin/zipPlugin.vim 72: /usr/share/vim/vimfiles/plugin/fzf.vim 73: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/indentLine/after/plugin/indentLine.vim 74: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ale/autoload/ale.vim 75: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/lightline.vim/autoload/lightline.vim 76: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/lightline.vim/autoload/lightline/tab.vim 77: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/lightline.vim/autoload/lightline/colorscheme/jellybeans.vim 78: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/lightline.vim/autoload/lightline/colorscheme.vim 79: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/lightline-ale/autoload/lightline/ale.vim 80: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-gitgutter/autoload/gitgutter.vim 81: /usr/share/nvim/runtime/autoload/provider/pythonx.vim 82: /usr/share/nvim/runtime/autoload/provider/python3.vim 83: /usr/share/nvim/runtime/autoload/provider.vim 84: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/deoplete.nvim/autoload/deoplete/mapping.vim 85: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/deoplete.nvim/autoload/deoplete/handler.vim 86: /usr/share/nvim/runtime/autoload/provider/clipboard.vim 87: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ctrlp.vim/autoload/ctrlp.vim 88: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ctrlp.vim/autoload/ctrlp/utils.vim 89: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ale/autoload/ale/util.vim 90: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/ale/autoload/ale/linter.vim 91: ~/.homesick/repos/dotfiles/home/.config/nvim/ftplugin/python.vim 92: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/jedi-vim/ftplugin/python/jedi.vim 93: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/jedi-vim/autoload/jedi.vim 94: /usr/share/nvim/runtime/ftplugin/python.vim 95: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/jedi-vim/after/ftplugin/python/jedi.vim 96: /usr/share/nvim/runtime/indent/python.vim 97: /usr/share/nvim/runtime/syntax/python.vim 98: ~/.homesick/repos/dotfiles/home/.config/nvim/after/syntax/python.vim 99: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/jedi-vim/after/syntax/python.vim 100: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/editorconfig-vim/autoload/editorconfig_core.vim 101: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/editorconfig-vim/autoload/editorconfig_core/handler.vim 102: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/editorconfig-vim/autoload/editorconfig_core/util.vim 103: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/editorconfig-vim/autoload/editorconfig_core/ini.vim 104: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/editorconfig-vim/autoload/editorconfig_core/fnmatch.vim 105: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/editorconfig-vim/autoload/editorconfig.vim 106: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-gitgutter/autoload/gitgutter/async.vim 107: ~/.homesick/repos/dotfiles/home/.config/nvim/plugged/vim-gitgutter/autoload/gitgutter/debug.vim (I had to run `:redir @*> | silent verb JediDebugInfo | redir END` for this to work, with `+` it copied nothing).
davidhalter commented 4 years ago

Please upgrade Jedi to 0.16.0. I'm pretty sure that that's the underlying issue.

WhyNotHugo commented 4 years ago

Huh, for some odd reason my distro still hasn't packaged v0.16.0 (it's been flagged out of date almost two months ago!).

I tried to set it up myself, but tests seem to be failing on it.

================================================================== FAILURES ==================================================================
_________________________________________________________ test_completion[basic:212] _________________________________________________________

case = <IntegrationTestCase: /home/hugo/tmp/jedi/src/jedi/test/completion/basic.py:212 'deleted_var'>
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6ce5f082e0>, environment = <Environment: 3.8.2 in /usr>, has_typing = True

    def test_completion(case, monkeypatch, environment, has_typing):
        skip_reason = case.get_skip_reason(environment)
        if skip_reason is not None:
            pytest.skip(skip_reason)

        _CONTAINS_TYPING = ('pep0484_typing', 'pep0484_comments', 'pep0526_variables')
        if not has_typing and any(x in case.path for x in _CONTAINS_TYPING):
            pytest.skip('Needs the typing module installed to run this test.')
        repo_root = helpers.root_dir
        monkeypatch.chdir(os.path.join(repo_root, 'jedi'))
>       case.run(assert_case_equal, environment)

../test/test_integration.py:44: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../test/run.py:215: in run
    return testers[self.test_type](compare_cb, environment)
../test/run.py:257: in run_inference
    return compare_cb(self, is_str, should)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

case = <IntegrationTestCase: /home/hugo/tmp/jedi/src/jedi/test/completion/basic.py:212 'deleted_var'>, actual = set()
desired = {'builtins:instance int()'}

    def assert_case_equal(case, actual, desired):
        """
        Assert ``actual == desired`` with formatted message.

        This is not needed for typical pytest use case, but as we need
        ``--assert=plain`` (see ../pytest.ini) to workaround some issue
        due to pytest magic, let's format the message by hand.
        """
>       assert actual == desired, """
    Test %r failed.
    actual  = %s
    desired = %s
    """ % (case, actual, desired)
E       AssertionError: 
E         Test <IntegrationTestCase: /home/hugo/tmp/jedi/src/jedi/test/completion/basic.py:212 'deleted_var'> failed.
E         actual  = set()
E         desired = {'builtins:instance int()'}
E         
E       assert set() == {'builtins:instance int()'}
E         Extra items in the right set:
E         'builtins:instance int()'
E         Use -v to get the full diff

../test/test_integration.py:16: AssertionError
_________________________________________________________ test_completion[basic:214] _________________________________________________________

case = <IntegrationTestCase: /home/hugo/tmp/jedi/src/jedi/test/completion/basic.py:214 'deleted_var'>
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6ce5f6ae50>, environment = <Environment: 3.8.2 in /usr>, has_typing = True

    def test_completion(case, monkeypatch, environment, has_typing):
        skip_reason = case.get_skip_reason(environment)
        if skip_reason is not None:
            pytest.skip(skip_reason)

        _CONTAINS_TYPING = ('pep0484_typing', 'pep0484_comments', 'pep0526_variables')
        if not has_typing and any(x in case.path for x in _CONTAINS_TYPING):
            pytest.skip('Needs the typing module installed to run this test.')
        repo_root = helpers.root_dir
        monkeypatch.chdir(os.path.join(repo_root, 'jedi'))
>       case.run(assert_case_equal, environment)

../test/test_integration.py:44: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../test/run.py:215: in run
    return testers[self.test_type](compare_cb, environment)
../test/run.py:222: in run_completion
    return compare_cb(self, comp_str, set(literal_eval(self.correct)))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

case = <IntegrationTestCase: /home/hugo/tmp/jedi/src/jedi/test/completion/basic.py:214 'deleted_var'>, actual = set()
desired = {'deleted_var'}

    def assert_case_equal(case, actual, desired):
        """
        Assert ``actual == desired`` with formatted message.

        This is not needed for typical pytest use case, but as we need
        ``--assert=plain`` (see ../pytest.ini) to workaround some issue
        due to pytest magic, let's format the message by hand.
        """
>       assert actual == desired, """
    Test %r failed.
    actual  = %s
    desired = %s
    """ % (case, actual, desired)
E       AssertionError: 
E         Test <IntegrationTestCase: /home/hugo/tmp/jedi/src/jedi/test/completion/basic.py:214 'deleted_var'> failed.
E         actual  = set()
E         desired = {'deleted_var'}
E         
E       assert set() == {'deleted_var'}
E         Extra items in the right set:
E         'deleted_var'
E         Use -v to get the full diff

../test/test_integration.py:16: AssertionError
_________________________________________________________ test_completion[basic:216] _________________________________________________________

case = <IntegrationTestCase: /home/hugo/tmp/jedi/src/jedi/test/completion/basic.py:216 'deleted_var'>
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6ce5fbf580>, environment = <Environment: 3.8.2 in /usr>, has_typing = True

    def test_completion(case, monkeypatch, environment, has_typing):
        skip_reason = case.get_skip_reason(environment)
        if skip_reason is not None:
            pytest.skip(skip_reason)

        _CONTAINS_TYPING = ('pep0484_typing', 'pep0484_comments', 'pep0526_variables')
        if not has_typing and any(x in case.path for x in _CONTAINS_TYPING):
            pytest.skip('Needs the typing module installed to run this test.')
        repo_root = helpers.root_dir
        monkeypatch.chdir(os.path.join(repo_root, 'jedi'))
>       case.run(assert_case_equal, environment)

../test/test_integration.py:44: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../test/run.py:215: in run
    return testers[self.test_type](compare_cb, environment)
../test/run.py:262: in run_goto
    return compare_cb(self, comp_str, self.correct)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

case = <IntegrationTestCase: /home/hugo/tmp/jedi/src/jedi/test/completion/basic.py:216 'deleted_var'>, actual = '[]'
desired = "['deleted_var = 3']"

    def assert_case_equal(case, actual, desired):
        """
        Assert ``actual == desired`` with formatted message.

        This is not needed for typical pytest use case, but as we need
        ``--assert=plain`` (see ../pytest.ini) to workaround some issue
        due to pytest magic, let's format the message by hand.
        """
>       assert actual == desired, """
    Test %r failed.
    actual  = %s
    desired = %s
    """ % (case, actual, desired)
E       AssertionError: 
E         Test <IntegrationTestCase: /home/hugo/tmp/jedi/src/jedi/test/completion/basic.py:216 'deleted_var'> failed.
E         actual  = []
E         desired = ['deleted_var = 3']
E         
E       assert '[]' == "['deleted_var = 3']"
E         - []
E         + ['deleted_var = 3']

../test/test_integration.py:16: AssertionError
_______________________________________________________________ test_os_issues _______________________________________________________________

Script = functools.partial(<class 'jedi.api.Script'>, environment=<Environment: 3.8.2 in /usr>)

    def test_os_issues(Script):
        """Issue #873"""
>       assert [c.name for c in Script('import os\nos.nt''').complete()] == ['nt']
E       AssertionError: assert [] == ['nt']
E         Right contains one more item: 'nt'
E         Use -v to get the full diff

test/test_api/test_full_name.py:115: AssertionError
====================================== 4 failed, 3051 passed, 22 skipped, 5 xfailed in 71.34s (0:01:11) ======================================
==> ERROR: A failure occurred in check().
    Aborting...
WhyNotHugo commented 4 years ago

Oh, managed to update it by just using submodules:

:python3 import jedi; print(jedi.__version__) now yields 0.16.1

Still having the same issue though.

davidhalter commented 4 years ago

The tests might be failing for whatever reason, really no idea :) But it probably doesn't really matter, because it's very few. On CI the should be passing.

You can try using Jedi directly and use jedi.set_debug_function() and send me that output. My guess is that you're hitting _OPENED_FILE_LIMIT = 2000 or _PARSED_FILE_LIMIT = 30 (both defined in `jedi.inference.references), because there's only so much Jedi can do.

For bigger guns there's https://github.com/davidhalter/jedi/issues/1059. Which I hope to tackle some time. But that's a way bigger one and I might rewrite a lot of code.

So if you can reproduce this issue with a smaller code base (that doesn't hit the amount of files above), it might be interesting to debug this one. Otherwise I'm inclined to clone. These are just limits to make Jedi somewhat fast (and not borderline slow in many edge cases).

davidhalter commented 3 years ago

Since this has been improved by a lot in Jedi, I'm closing. If there's still an issue, please report it against Jedi, but as I wrote above there's a limit in what Jedi can do. It's however definitely not the case anymore that only the current file is searched.