mandiant / Ghidrathon

The FLARE team's open-source extension to add Python 3 scripting to Ghidra.
Apache License 2.0
696 stars 54 forks source link

User Story: Code Completion / Discoverability #5

Open huettenhain opened 2 years ago

huettenhain commented 2 years ago

I would like to develop Ghidra API Python scripts with the ability to discover the API through automatic code completion; both in Ghidrathon's REPL, and, preferably, also when using an external IDE. I am extremely enthusiastic about Ghidrathon, but without the ability to leverage code completion / content assist features, I would still chose Java over Python because the integration with Eclipse works well and feels indispensable when dealing with Ghidra's massively nested API.

Notably, code completion in Eclipse is essentially the only appealing feature of Java here. I would vastly prefer to develop in Python due to the rich ecosystem of libraries and the fact that other toolchains (IDA Pro, Binary Ninja) also use Python as their main driver for plugins and scripts.

mike-hunhoff commented 2 years ago

I agree that this would be a useful feature to add. We can probably easily adapt Ghidra's Jython code completion to Ghidrathon's REPL. Extending that support to an external IDE like Eclipse is going to be a bigger lift but it's worth researching to identify our options.