diff --git a/include/key_functions.h b/include/key_functions.h index f10dcea..94ad55e 100644 --- a/include/key_functions.h +++ b/include/key_functions.h @@ -32,6 +32,7 @@ int buffer_get_display_pos(buffer_t *buffer); int self_insert_command(int key, buffer_t *buffer, env_t *env); int newline_command(int key, buffer_t *buffer, env_t *env); int eof_command(int key, buffer_t *buffer, env_t *env); +int history_size(history_t *hist); int backward_delete_char_command(int key, buffer_t *buffer, env_t *env); int delete_char_command(int key, buffer_t *buffer, env_t *env); diff --git a/src/prompt/prompt_values.c b/src/prompt/prompt_values.c index a3a9c25..98da30d 100644 --- a/src/prompt/prompt_values.c +++ b/src/prompt/prompt_values.c @@ -8,6 +8,8 @@ #include "shell.h" #include "my_ncurses.h" #include "prompt.h" +#include "key_functions.h" +#include "utility.h" #include #include #include @@ -21,7 +23,7 @@ char *get_prompt_value2(char c, env_t *env) if (c == 'B') return (prompt_attr(BOLD, false)); if (c == 'b') - return (prompt_attr(BOLD, true)); + return (prompt_attr(0, false)); if (c == 'U') return (prompt_attr(UNDERLINE, false)); if (c == 'u') @@ -30,6 +32,8 @@ char *get_prompt_value2(char c, env_t *env) return (prompt_attr(REVERSE, false)); if (c == 's') return (prompt_attr(REVERSE, true)); + if (c == '!' || c == 'h') + return (tostr(history_size(env->history))); return (NULL); }