diff options
| author | Albert Cervin <albert@acervin.com> | 2024-04-03 11:43:49 +0200 |
|---|---|---|
| committer | Albert Cervin <albert@acervin.com> | 2024-04-03 11:43:49 +0200 |
| commit | 1ed6000dd2a995bcd67e99b1c89aa1e2c4a6f1e6 (patch) | |
| tree | dff73302ddb932b1355df8cff4fcb2557a748a8e /src/dged/command.c | |
| parent | 80e6ab5ec9fdb0f4a3b3fa35e4ea502a54b85e1a (diff) | |
| download | dged-1ed6000dd2a995bcd67e99b1c89aa1e2c4a6f1e6.tar.gz dged-1ed6000dd2a995bcd67e99b1c89aa1e2c4a6f1e6.tar.xz dged-1ed6000dd2a995bcd67e99b1c89aa1e2c4a6f1e6.zip | |
Add completion to execute
Completes on the command, not on following arguments if written
directly at the prompt.
Diffstat (limited to 'src/dged/command.c')
| -rw-r--r-- | src/dged/command.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/dged/command.c b/src/dged/command.c index 9144058..2775286 100644 --- a/src/dged/command.c +++ b/src/dged/command.c @@ -63,6 +63,14 @@ int32_t execute_command(struct command *command, struct commands *commands, argc, argv); } +void commands_for_each(struct commands *commands, + void (*callback)(struct command *, void *), + void *userdata) { + HASHMAP_FOR_EACH(&commands->commands, struct command_entry * entry) { + callback(&entry->value, userdata); + } +} + void command_ctx_push_arg(struct command_ctx *ctx, const char *argv) { if (ctx->saved_argc < 64) { ctx->saved_argv[ctx->saved_argc] = strdup(argv); |
