goto_assignments that resolves until assignment (never auto-following imports out of current file)
goto_definition which does auto-follow, but always until the very end (up to a module/class/function definition).
I tried both, and goto_assignments feels more natural to me, since it stops on each assignment/import, and I can choose to keep following or not.
I've made the method settable in settings with all 3 options: rope/jedi-assignemnts/jedi-definitions.
I kept the previous rope as the default behaviour, but I would advocate changing the default to jedi-assignments. While this may surprise current SublimePythonIDE users since it will now require another click each time an import statement is reached, I believe this explicit behavior is more correct and that using Jedi outweighs the "new interface learning curve".
@JulianEberius Please let me know how you feel, and I'll make adjustments accordingly.
For me, the main reason for this change is that Jedi has support for following
flask.ext
imports.Jedi's functionality differs from rope in (at least) one noticeable way:
goto_assignments
that resolves until assignment (never auto-following imports out of current file)goto_definition
which does auto-follow, but always until the very end (up to a module/class/function definition).I tried both, and
goto_assignments
feels more natural to me, since it stops on each assignment/import, and I can choose to keep following or not.I've made the method settable in settings with all 3 options:
rope/jedi-assignemnts/jedi-definitions
.I kept the previous
rope
as the default behaviour, but I would advocate changing the default tojedi-assignments
. While this may surprise current SublimePythonIDE users since it will now require another click each time an import statement is reached, I believe this explicit behavior is more correct and that using Jedi outweighs the "new interface learning curve".@JulianEberius Please let me know how you feel, and I'll make adjustments accordingly.