As I stated before, Black Mamba's goal is not provide just shortcuts, but other useful features as well. Today I released version 0.0.23 which introduces package blackmamba.project. How is the project defined from Black Mamba point of view?
Project is a folder which does contain .git or .blackmamba folder. If you open a file in Pythonista, hit Cmd Shift D, it traverses parent directories until it finds .git or .blackmamba and that's the current project root folder. Then it indexes all Python files in the project and allows you to jump to definition. If Black Mamba finds definition (one), it opens file and scrolls to the definition location. If there're more locations, dialog appears and you can select location you want to scroll to. Here's the screenshot.
Why .blackmamba folder? Whenever I find project root folder (via .git for example if .blackmamba doesn't exist), I save definitions index file into this folder (.blackmamba/index.pickle). Next time you would like to jump to definition, index is loaded. Also the whole project is reindexed every time you would like to jump to definition (max once a minute). No need to do it manually. This can be controller by config via project.index.rate (default value is 60 seconds).
If you'd like to try this feature and don't have .git folder in any of your parent directories, just open StaSh and create empty .blackmamba folder in your project root. Then it will work. I do not want index whole ~/Documents folder.
I miss a lot things like this one. Current implementation is an experiment, should work, but can't guarantee it will work on slower / older devices. Using latest & greatest iPad Pro and I didn't care about memory & optimisation for this release (will care, don't worry).
Anyway, why I started separate topic. Anyone else does miss features from big IDEs (like PyCharm)? If so, let me know which ones and I'll add them.