aboutsummaryrefslogtreecommitdiff
path: root/vis-cmds.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2016-09-19 18:44:07 +0200
committerMarc André Tanner <mat@brain-dump.org>2016-09-19 18:44:07 +0200
commit121172e014a6b27f6baf5965a41555e91217d7ec (patch)
treea730375cd0b74d0d20f4804b1ca34b0cac5c3c10 /vis-cmds.c
parentec0a474d42f66b70d74ac47d1538b826c3d40f83 (diff)
downloadvis-121172e014a6b27f6baf5965a41555e91217d7ec.tar.gz
vis-121172e014a6b27f6baf5965a41555e91217d7ec.tar.xz
vis: add rudimentary builtin help for :-commands
Diffstat (limited to 'vis-cmds.c')
-rw-r--r--vis-cmds.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/vis-cmds.c b/vis-cmds.c
index da20369..c6fc5ca 100644
--- a/vis-cmds.c
+++ b/vis-cmds.c
@@ -563,7 +563,18 @@ static bool print_action(const char *key, void *value, void *data) {
}
static bool print_cmd(const char *key, void *value, void *data) {
- return text_appendf(data, " %s\n", key);
+ char help[256];
+ CommandDef *cmd = value;
+ snprintf(help, sizeof help, "%s%s%s%s%s%s%s%s",
+ cmd->name,
+ (cmd->flags & CMD_FORCE) ? "[!]" : "",
+ (cmd->flags & CMD_TEXT) ? "/text/" : "",
+ (cmd->flags & CMD_REGEX) ? "/regexp/" : "",
+ (cmd->flags & CMD_CMD) ? " command" : "",
+ (cmd->flags & CMD_FILE) ? " file-name" : "",
+ (cmd->flags & CMD_SHELL) ? (!strcmp(cmd->name, "s") ? "/regexp/text/" : " shell-command") : "",
+ (cmd->flags & CMD_ARGV) ? " [args...]" : "");
+ return text_appendf(data, " %-30s %s\n", help, cmd->help);
}
static void print_symbolic_keys(Vis *vis, Text *txt) {