srusskih / SublimeJEDI

awesome Python autocompletion with SublimeText
MIT License
938 stars 109 forks source link

GoTo/FindUsage fails on variable with opening square bracket #135

Closed klonuo closed 7 years ago

klonuo commented 10 years ago

Like title, Goto and Find Usage fail if pointing to anything with opening square bracket: dict, list indexer, numpy etc...

Example:

my_dict = {1: 'val'}

# some more code

my_dict[2] = 'val'

Asking Sublime Jedi Goto or Find usage for my_dict variable (on last line) doesn't do anything.

srusskih commented 10 years ago
Jedi - Python autocompletion.sublime_jedi.utils: 2014-07-14 11:27:15,257: ERROR   : `JediFacade.get_usages` failed
Traceback (most recent call last):
  File "daemon.py", line 120, in get
    return getattr(self, 'get_' + action)()
  File "daemon.py", line 130, in get_usages
    return self._usages()
  File "daemon.py", line 219, in _usages
    usages = self.script.usages()
  File "../jedi/api/__init__.py", line 526, in usages
    names = usages.usages(self._evaluator, definitions, search_name, module)
  File "../jedi/api/usages.py", line 62, in usages
    for m in imports.get_modules_containing_name(mods, search_name):
  File "../jedi/evaluate/imports.py", line 501, in get_modules_containing_name
    for entry in os.listdir(d):
OSError: [Errno 2] No such file or directory: ''
srusskih commented 10 years ago

Looks like Jedi does not wants looking usages in unnamed source file. I'll make some investigation for this use-csae