version 1.34, 2019/05/27 12:16:27 |
version 1.35, 2020/01/27 08:53:13 |
|
|
.name = "bind-key", |
.name = "bind-key", |
.alias = "bind", |
.alias = "bind", |
|
|
.args = { "cnrT:", 2, -1 }, |
.args = { "cnrN:T:", 2, -1 }, |
.usage = "[-cnr] [-T key-table] key " |
.usage = "[-cnr] [-T key-table] [-N note] key " |
"command [arguments]", |
"command [arguments]", |
|
|
.flags = CMD_AFTERHOOK, |
.flags = CMD_AFTERHOOK, |
|
|
{ |
{ |
struct args *args = self->args; |
struct args *args = self->args; |
key_code key; |
key_code key; |
const char *tablename; |
const char *tablename, *note; |
struct cmd_parse_result *pr; |
struct cmd_parse_result *pr; |
char **argv = args->argv; |
char **argv = args->argv; |
int argc = args->argc; |
int argc = args->argc, repeat; |
|
|
key = key_string_lookup_string(argv[0]); |
key = key_string_lookup_string(argv[0]); |
if (key == KEYC_NONE || key == KEYC_UNKNOWN) { |
if (key == KEYC_NONE || key == KEYC_UNKNOWN) { |
|
|
tablename = "root"; |
tablename = "root"; |
else |
else |
tablename = "prefix"; |
tablename = "prefix"; |
|
repeat = args_has(args, 'r'); |
|
|
if (argc == 2) |
if (argc == 2) |
pr = cmd_parse_from_string(argv[1], NULL); |
pr = cmd_parse_from_string(argv[1], NULL); |
|
|
case CMD_PARSE_SUCCESS: |
case CMD_PARSE_SUCCESS: |
break; |
break; |
} |
} |
key_bindings_add(tablename, key, args_has(args, 'r'), pr->cmdlist); |
note = args_get(args, 'N'); |
|
key_bindings_add(tablename, key, note, repeat, pr->cmdlist); |
return (CMD_RETURN_NORMAL); |
return (CMD_RETURN_NORMAL); |
} |
} |