Skip to content

Commit 3edde1c

Browse files
0cynfuzyll
authored andcommitted
Argument Assist Popup
1 parent f1a688a commit 3edde1c

6 files changed

Lines changed: 606 additions & 2 deletions

File tree

binaryninjaapi.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18938,6 +18938,8 @@ namespace BinaryNinja {
1893818938
static void SetCurrentSelectionCallback(void* ctxt, uint64_t begin, uint64_t end);
1893918939
static char* CompleteInputCallback(void* ctxt, const char* text, uint64_t state);
1894018940
static void StopCallback(void* ctxt);
18941+
static bool CanCompleteArgumentsCallback(void* ctxt, const char* text);
18942+
static char* CompleteArgumentsCallback(void* ctx, const char* text, uint64_t* argumentStart);
1894118943

1894218944
virtual void DestroyInstance();
1894318945

@@ -18953,6 +18955,8 @@ namespace BinaryNinja {
1895318955
virtual void SetCurrentSelection(uint64_t begin, uint64_t end);
1895418956
virtual std::string CompleteInput(const std::string& text, uint64_t state);
1895518957
virtual void Stop();
18958+
virtual bool CanCompleteArguments(const std::string& text);
18959+
virtual std::pair<std::string, uint64_t> CompleteArguments(const std::string& text);
1895618960

1895718961
void Output(const std::string& text);
1895818962
void Warning(const std::string& text);
@@ -18987,6 +18991,8 @@ namespace BinaryNinja {
1898718991
virtual void SetCurrentSelection(uint64_t begin, uint64_t end) override;
1898818992
virtual std::string CompleteInput(const std::string& text, uint64_t state) override;
1898918993
virtual void Stop() override;
18994+
virtual bool CanCompleteArguments(const std::string& text) override;
18995+
virtual std::pair<std::string, uint64_t> CompleteArguments(const std::string& text) override;
1899018996
};
1899118997

1899218998
/*!

binaryninjacore.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
// will require rebuilding. The minimum version is increased when there are
4545
// incompatible changes that break binary compatibility, such as changes to
4646
// existing types or functions.
47-
#define BN_MINIMUM_CORE_ABI_VERSION 166
47+
#define BN_MINIMUM_CORE_ABI_VERSION 167
4848

4949
#ifdef __GNUC__
5050
#ifdef BINARYNINJACORE_LIBRARY
@@ -3122,6 +3122,8 @@ extern "C"
31223122
void (*setCurrentSelection)(void* ctxt, uint64_t begin, uint64_t end);
31233123
char* (*completeInput)(void* ctxt, const char* text, uint64_t state);
31243124
void (*stop)(void* ctxt);
3125+
bool (*canCompleteArguments)(void* ctx, const char* text);
3126+
char* (*completeArguments)(void* ctxt, const char* text, uint64_t* argumentStart);
31253127
} BNScriptingInstanceCallbacks;
31263128

31273129
typedef struct BNScriptingProviderCallbacks
@@ -7841,6 +7843,8 @@ extern "C"
78417843
BNScriptingInstance* instance, uint64_t begin, uint64_t end);
78427844
BINARYNINJACOREAPI char* BNScriptingInstanceCompleteInput(
78437845
BNScriptingInstance* instance, const char* text, uint64_t state);
7846+
BINARYNINJACOREAPI bool BNScriptingInstanceCanCompleteArguments(BNScriptingInstance* instance, const char* text);
7847+
BINARYNINJACOREAPI char* BNScriptingInstanceCompleteArguments(BNScriptingInstance* instance, const char* text, uint64_t* argumentStart);
78447848
BINARYNINJACOREAPI void BNStopScriptingInstance(BNScriptingInstance* instance);
78457849
BINARYNINJACOREAPI size_t BNFuzzyMatchSingle(const char* target, const char* query);
78467850

0 commit comments

Comments
 (0)