You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by je...@apache.org on 2019/10/17 11:47:20 UTC
[mynewt-core] 12/21: sys/shell: Use console_prompt_set to display
prompt
This is an automated email from the ASF dual-hosted git repository.
jerzy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git
commit 468c457c761d3c7d4647a6b5c188a7f7186e9911
Author: Jerzy Kasenberg <je...@codecoup.pl>
AuthorDate: Tue Oct 8 14:30:31 2019 +0200
sys/shell: Use console_prompt_set to display prompt
New function in console module (console_prompt_set) will
from now on used to display prompt and user input.
print_promot() now has argument 'line' to simplify code in
all places that did prompt printing.
---
sys/shell/src/shell.c | 39 +++++++++++++++++----------------------
1 file changed, 17 insertions(+), 22 deletions(-)
diff --git a/sys/shell/src/shell.c b/sys/shell/src/shell.c
index 610bb58..be67b51 100644
--- a/sys/shell/src/shell.c
+++ b/sys/shell/src/shell.c
@@ -73,16 +73,19 @@ get_prompt(void)
}
static void
-print_prompt(void)
+print_prompt(const char *line)
{
- console_printf("%s%s", get_prompt(), MYNEWT_VAL(SHELL_PROMPT_SUFFIX));
+ char full_prompt[30];
+ strcpy(full_prompt, get_prompt());
+ strcat(full_prompt, MYNEWT_VAL(SHELL_PROMPT_SUFFIX));
+ console_prompt_set(full_prompt, line);
}
static void
print_prompt_if_console(struct streamer *streamer)
{
if (streamer == streamer_console_get()) {
- print_prompt();
+ print_prompt(NULL);
}
}
@@ -482,13 +485,13 @@ shell(struct os_event *ev)
struct streamer *streamer;
if (!ev) {
- print_prompt();
+ print_prompt(NULL);
return;
}
cmd = ev->ev_arg;
if (!cmd) {
- print_prompt();
+ print_prompt(NULL);
return;
}
@@ -615,8 +618,7 @@ complete_param(char *line, const char *param_prefix,
if (common_chars >= 0) {
/* multiple match, restore prompt */
- print_prompt();
- console_printf("%s", line);
+ print_prompt(line);
} else {
common_chars = strlen(first_match);
}
@@ -704,8 +706,7 @@ complete_command(char *line, char *command_prefix,
}
}
/* restore prompt */
- print_prompt();
- console_printf("%s", line);
+ print_prompt(line);
}
static void
@@ -721,8 +722,7 @@ complete_module(char *line, char *module_prefix,
for (i = 0; i < num_of_shell_entities; i++) {
console_printf("%s\n", shell_modules[i].name);
}
- print_prompt();
- console_printf("%s", line);
+ print_prompt(line);
return;
}
@@ -765,8 +765,7 @@ complete_module(char *line, char *module_prefix,
if (common_chars >= 0) {
/* multiple match, restore prompt */
- print_prompt();
- console_printf("%s", line);
+ print_prompt(line);
} else {
common_chars = strlen(first_match);
space = 1;
@@ -796,8 +795,7 @@ complete_select(char *line, char *cur,
if (tok_len == 0) {
console_printf("\n");
print_modules(streamer_console_get());
- print_prompt();
- console_printf("%s", line);
+ print_prompt(line);
return;
}
@@ -833,8 +831,7 @@ completion(char *line, console_append_char_cb append_char)
} else {
print_module_commands(default_module, streamer_console_get());
}
- print_prompt();
- console_printf("%s", line);
+ print_prompt(line);
return;
}
@@ -869,8 +866,7 @@ completion(char *line, console_append_char_cb append_char)
if (tok_len == 0) {
console_printf("\n");
print_module_commands(module, streamer_console_get());
- print_prompt();
- console_printf("%s", line);
+ print_prompt(line);
return;
}
@@ -891,8 +887,7 @@ completion(char *line, console_append_char_cb append_char)
if (tok_len == 0) {
console_printf("\n");
print_command_params(module, command, streamer_console_get());
- print_prompt();
- console_printf("%s", line);
+ print_prompt(line);
return;
}
complete_param(line, cur, tok_len,
@@ -920,7 +915,7 @@ shell_register_default_module(const char *name)
if (result != -1) {
console_printf("\n");
- print_prompt();
+ print_prompt(NULL);
}
}