1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

Don't add the same command twice to history

Expected behaviour
When you type
/command
/command
it should be just 1 entry in the history.

Behaviour
All the entries were saved.

Behaviour is changed by introducing check. Before adding to history,
entry now is compared to the last history entry.
This commit is contained in:
John Hernandez 2023-04-14 20:57:20 +02:00
parent 1b679498b6
commit 59b99fece8

View File

@ -568,12 +568,15 @@ _inp_rl_startup_hook(void)
static void static void
_inp_rl_linehandler(char* line) _inp_rl_linehandler(char* line)
{ {
if (line && *line) {
if (!get_password) {
add_history(line);
}
}
inp_line = line; inp_line = line;
if (!line || !*line || get_password) {
return;
}
HISTORY_STATE* history = history_get_history_state();
HIST_ENTRY* last = history->length > 0 ? history->entries[history->length - 1] : NULL;
if (last == NULL || strcmp(last->line, line) != 0) {
add_history(line);
}
} }
static gboolean shift_tab = FALSE; static gboolean shift_tab = FALSE;