IDA SDK
|
Command line interpreter.
Provides functionality for the command line (located at the bottom of the main window). Only GUI version of IDA supports CLIs.
Public Attributes | |
size_t | size |
size of this structure | |
int32 | flags |
CLI attributes | |
const char * | sname |
short name (displayed on the button) | |
const char * | lname |
long name (displayed in the menu) | |
const char * | hint |
hint for the input line | |
bool(idaapi * | execute_line )(const char *line) |
Callback: the user pressed Enter. More... | |
bool(idaapi * | keydown )(qstring *line, int *p_x, int *p_sellen, int *p_vk_key, int shift) |
Callback: a keyboard key has been pressed. More... | |
bool(idaapi * | find_completions )(qstrvec_t *out_completions, qstrvec_t *out_hints, qstrvec_t *out_docs, int *out_match_start, int *out_match_end, const char *line, int x) |
Callback: the user pressed Tab/Shift+Tab. More... | |
bool(idaapi * cli_t::execute_line) (const char *line) |
Callback: the user pressed Enter.
CLI is free to execute the line immediately or ask for more lines.
line | command to execute (utf-8-encoded) |
true | executed line |
false | ask for more lines |
bool(idaapi * cli_t::keydown) (qstring *line, int *p_x, int *p_sellen, int *p_vk_key, int shift) |
Callback: a keyboard key has been pressed.
This callback is optional. It is a generic callback and the CLI is free to do whatever it wants.
line | current input line (in/out argument) |
p_x | pointer to current x coordinate of the cursor (in/out) |
p_sellen | pointer to current selection length (usually 0) |
p_vk_key | pointer to virtual key code (in/out). if the key has been handled, it should be reset to 0 by CLI |
shift | shift state |
true | modified input line or x coordinate or selection length |
false | otherwise |
bool(idaapi * cli_t::find_completions) (qstrvec_t *out_completions, qstrvec_t *out_hints, qstrvec_t *out_docs, int *out_match_start, int *out_match_end, const char *line, int x) |
Callback: the user pressed Tab/Shift+Tab.
This callback is optional.
[out] | out_completions | results of completion |
[out] | out_hints | one entry per completion result giving hints about the candidate (function protype, variable type, etc ...) Either has to be exactly the length of out_completions or zero length to display no hints. |
[out] | out_docs | one entry per completion result giving the docstring of the corresponding item in out_completions. Either has to be exactly the length of out_completions or zero length to display no docstrings. |
[out] | out_match_start | the codepoint index in the line, where match starts |
[out] | out_match_end | the codepoint index in the line, where ends ends |
line | command line | |
x | codepoint index of the cursor in line |
true | got results |
false | otherwise |