srusskih / SublimeJEDI

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

Upgrade Jedi to v0.11.1 #233

Closed edelvalle closed 6 years ago

edelvalle commented 6 years ago

There is only one change I had to do in the plug-in: Jedi's Script.goto_assigment() does not raise an error any more so I removed the catch error part.

srusskih commented 6 years ago

Wow! Thanks a lot!

srusskih commented 6 years ago

@edelvalle it requires parso==0.1.1 now, what we going to do with them ?

edelvalle commented 6 years ago

Oh, it works fine in my computer 😆 lol..

Let me see, because sublime as a way to manage 3rd party dependencies, may be we can include also jedi there.. and we don't have to have it in the repo any more. 😉

edelvalle commented 6 years ago

So there is a way to have dependencies but not to control their version and you need to create a repo in the Package Control organization, like this one for example: https://github.com/packagecontrol/requests.

Also jedi and parso are not directly required by the plugin, but by the daemon, and this one runs with the python interpreter configured by the project.

I did not noticed that parso was missing, because in my virtual env I always install ipython and this one install jedi and parso, that's why I did not noticed that parso was missing.

So my proposed solution is as you already did here:

sys.path.insert(0, os.path.join(os.path.dirname(__file__), '...'))

Inject in the sys.path the path to your jedi, in the end this does not affect the execution inside the virtualenv, just inside of the daemon.

So I will create a directory depenedencies and inside put jedi and parso and inject that directory in the Python path. Is that fine? Take a look to the last commit.

srusskih commented 6 years ago

nice. and one more change request should be updated - https://github.com/srusskih/SublimeJEDI/blob/master/Makefile#L4

edelvalle commented 6 years ago

Check it now... 😉

Now the command is make dependencies

srusskih commented 6 years ago

nice (: