summaryrefslogtreecommitdiffstats
path: root/cmd-list-keys.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmd-list-keys.c')
-rw-r--r--cmd-list-keys.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/cmd-list-keys.c b/cmd-list-keys.c
index b60b4666..c6c391a2 100644
--- a/cmd-list-keys.c
+++ b/cmd-list-keys.c
@@ -32,26 +32,25 @@ int cmd_list_keys_table(struct cmd *, struct cmd_ctx *);
const struct cmd_entry cmd_list_keys_entry = {
"list-keys", "lsk",
+ "t:", 0, 0,
"[-t key-table]",
- 0, "",
- cmd_target_init,
- cmd_target_parse,
- cmd_list_keys_exec,
- cmd_target_free,
- cmd_target_print
+ 0,
+ NULL,
+ NULL,
+ cmd_list_keys_exec
};
int
cmd_list_keys_exec(struct cmd *self, struct cmd_ctx *ctx)
{
- struct cmd_target_data *data = self->data;
+ struct args *args = self->args;
struct key_binding *bd;
const char *key;
char tmp[BUFSIZ];
size_t used;
int width, keywidth;
- if (data->target != NULL)
+ if (args_has(args, 't'))
return (cmd_list_keys_table(self, ctx));
width = 0;
@@ -95,14 +94,16 @@ cmd_list_keys_exec(struct cmd *self, struct cmd_ctx *ctx)
int
cmd_list_keys_table(struct cmd *self, struct cmd_ctx *ctx)
{
- struct cmd_target_data *data = self->data;
+ struct args *args = self->args;
+ const char *tablename;
const struct mode_key_table *mtab;
struct mode_key_binding *mbind;
const char *key, *cmdstr, *mode;
int width, keywidth;
- if ((mtab = mode_key_findtable(data->target)) == NULL) {
- ctx->error(ctx, "unknown key table: %s", data->target);
+ tablename = args_get(args, 't');
+ if ((mtab = mode_key_findtable(tablename)) == NULL) {
+ ctx->error(ctx, "unknown key table: %s", tablename);
return (-1);
}