aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--cmd-list-commands.c8
-rw-r--r--cmd-list-keys.c32
3 files changed, 32 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index d8d75053..5f57e38f 100644
--- a/Makefile
+++ b/Makefile
@@ -32,7 +32,6 @@ SRCS= arguments.c \
cmd-link-window.c \
cmd-list-buffers.c \
cmd-list-clients.c \
- cmd-list-commands.c \
cmd-list-keys.c \
cmd-list-panes.c \
cmd-list-sessions.c \
diff --git a/cmd-list-commands.c b/cmd-list-commands.c
index 520feccb..3caaebb2 100644
--- a/cmd-list-commands.c
+++ b/cmd-list-commands.c
@@ -26,14 +26,6 @@
enum cmd_retval cmd_list_commands_exec(struct cmd *, struct cmd_q *);
-const struct cmd_entry cmd_list_commands_entry = {
- "list-commands", "lscm",
- "", 0, 0,
- "",
- 0,
- cmd_list_commands_exec
-};
-
enum cmd_retval
cmd_list_commands_exec(unused struct cmd *self, struct cmd_q *cmdq)
{
diff --git a/cmd-list-keys.c b/cmd-list-keys.c
index 0d64f1be..6fbaf14d 100644
--- a/cmd-list-keys.c
+++ b/cmd-list-keys.c
@@ -27,7 +27,9 @@
*/
enum cmd_retval cmd_list_keys_exec(struct cmd *, struct cmd_q *);
+
enum cmd_retval cmd_list_keys_table(struct cmd *, struct cmd_q *);
+enum cmd_retval cmd_list_keys_commands(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_list_keys_entry = {
"list-keys", "lsk",
@@ -37,6 +39,14 @@ const struct cmd_entry cmd_list_keys_entry = {
cmd_list_keys_exec
};
+const struct cmd_entry cmd_list_commands_entry = {
+ "list-commands", "lscm",
+ "", 0, 0,
+ "",
+ 0,
+ cmd_list_keys_exec
+};
+
enum cmd_retval
cmd_list_keys_exec(struct cmd *self, struct cmd_q *cmdq)
{
@@ -47,6 +57,9 @@ cmd_list_keys_exec(struct cmd *self, struct cmd_q *cmdq)
size_t used;
int width, keywidth;
+ if (self->entry == &cmd_list_commands_entry)
+ return (cmd_list_keys_commands(self, cmdq));
+
if (args_has(args, 't'))
return (cmd_list_keys_table(self, cmdq));
@@ -147,3 +160,22 @@ cmd_list_keys_table(struct cmd *self, struct cmd_q *cmdq)
return (CMD_RETURN_NORMAL);
}
+
+enum cmd_retval
+cmd_list_keys_commands(unused struct cmd *self, struct cmd_q *cmdq)
+{
+ const struct cmd_entry **entryp;
+ struct cmd_entry *entry;
+
+ for (entryp = cmd_table; *entryp != NULL; entryp++) {
+ entry = *entryp;
+ if (entry->alias == NULL) {
+ cmdq_print(cmdq, "%s %s", entry->name, entry->usage);
+ continue;
+ }
+ cmdq_print(cmdq, "%s (%s) %s", entry->name, entry->alias,
+ entry->usage);
+ }
+
+ return (CMD_RETURN_NORMAL);
+}