mirror of
https://github.com/irssi/irssi.git
synced 2026-08-24 02:52:20 +02:00
Add /window history -clear to wipe out command history for window or the global history
This commit is contained in:
parent
9ad2d32311
commit
9db14f100e
3 changed files with 19 additions and 4 deletions
|
|
@ -190,7 +190,7 @@ HISTORY_REC *command_history_create(const char *name)
|
||||||
return rec;
|
return rec;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool command_history_destroy(HISTORY_REC *history)
|
int command_history_destroy(HISTORY_REC *history)
|
||||||
{
|
{
|
||||||
g_return_val_if_fail(history != NULL, FALSE);
|
g_return_val_if_fail(history != NULL, FALSE);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,9 +26,10 @@ const char *command_history_prev(WINDOW_REC *window, const char *text);
|
||||||
const char *command_history_next(WINDOW_REC *window, const char *text);
|
const char *command_history_next(WINDOW_REC *window, const char *text);
|
||||||
|
|
||||||
void command_history_clear_pos(WINDOW_REC *window);
|
void command_history_clear_pos(WINDOW_REC *window);
|
||||||
|
void command_history_clear(WINDOW_REC *window);
|
||||||
|
|
||||||
HISTORY_REC *command_history_create(const char *name);
|
HISTORY_REC *command_history_create(const char *name);
|
||||||
void command_history_destroy(HISTORY_REC *history);
|
int command_history_destroy(HISTORY_REC *history);
|
||||||
void command_history_link(const char *name);
|
void command_history_link(const char *name);
|
||||||
void command_history_unlink(const char *name);
|
void command_history_unlink(const char *name);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
#include "window-items.h"
|
#include "window-items.h"
|
||||||
#include "windows-layout.h"
|
#include "windows-layout.h"
|
||||||
#include "printtext.h"
|
#include "printtext.h"
|
||||||
|
#include "command-history.h"
|
||||||
|
|
||||||
static void window_print_binds(WINDOW_REC *win)
|
static void window_print_binds(WINDOW_REC *win)
|
||||||
{
|
{
|
||||||
|
|
@ -615,10 +616,23 @@ static void cmd_window_name(const char *data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* SYNTAX: WINDOW HISTORY <name> */
|
/* SYNTAX: WINDOW HISTORY [-clear] <name> */
|
||||||
void cmd_window_history(const char *data)
|
void cmd_window_history(const char *data)
|
||||||
{
|
{
|
||||||
window_set_history(active_win, data);
|
GHashTable *optlist;
|
||||||
|
char *name;
|
||||||
|
void *free_arg;
|
||||||
|
|
||||||
|
if (!cmd_get_params(data, &free_arg, 1 | PARAM_FLAG_OPTIONS,
|
||||||
|
"window history", &optlist, &name))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (*name == '\0' && g_hash_table_lookup(optlist, "clear") != NULL)
|
||||||
|
command_history_clear(active_win);
|
||||||
|
else if (*name != '\0')
|
||||||
|
window_set_history(active_win, name);
|
||||||
|
|
||||||
|
cmd_params_free(free_arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* we're moving the first window to last - move the first contiguous block
|
/* we're moving the first window to last - move the first contiguous block
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue