diff --git a/doc/manual.adoc b/doc/manual.adoc index 79a9131af..2e551f2b1 100644 --- a/doc/manual.adoc +++ b/doc/manual.adoc @@ -487,6 +487,7 @@ Prompt |:script <file> |Execute commands from `<file>`. |:exec <flags><args...> |Execute command using `<args>` with external user-defined command option flags defined in `<flags>`. +|:echo <args...> |Display text in the status bar. |============================================================================= [[external-commands]] diff --git a/src/prompt.c b/src/prompt.c index 7862812b9..06002198d 100644 --- a/src/prompt.c +++ b/src/prompt.c @@ -239,6 +239,7 @@ readline_action_generator(const char *text, int state) "save-display", "save-options", "exec", + "echo", #define REQ_GROUP(help) #define REQ_(req, help) #req REQ_INFO, @@ -844,6 +845,17 @@ run_prompt_command(struct view *view, const char *argv[]) goto_id(view, argv[1], true, true); return REQ_NONE; + } else if (!strcmp(cmd, "echo")) { + char text[SIZEOF_STR] = ""; + + if (argv[1] && !argv_to_string(&argv[1], text, sizeof(text), " ")) { + report("Failed to copy echo string"); + return REQ_NONE; + } + + report("%s", text); + return REQ_NONE; + } else if (!strcmp(cmd, "save-display")) { const char *path = argv[1] ? argv[1] : "tig-display.txt";