From 1eb38fa5ec424d7f8898951eda751ef188540725 Mon Sep 17 00:00:00 2001 From: Přemysl Janouch Date: Sun, 21 Jun 2015 03:35:35 +0200 Subject: degesch: implement /buffer clear At least somehow. --- degesch.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/degesch.c b/degesch.c index e829fb0..ccd5d00 100644 --- a/degesch.c +++ b/degesch.c @@ -2683,6 +2683,16 @@ buffer_rename (struct app_context *ctx, } } +static void +buffer_clear (struct buffer *buffer) +{ + LIST_FOR_EACH (struct buffer_line, iter, buffer->lines) + buffer_line_destroy (iter); + + buffer->lines = buffer->lines_tail = NULL; + buffer->lines_count = 0; +} + static struct buffer * buffer_at_index (struct app_context *ctx, int n) { @@ -5930,7 +5940,9 @@ handle_command_buffer (struct app_context *ctx, struct handler_args *a) show_buffers_list (ctx); else if (!strcasecmp_ascii (action, "clear")) { - // TODO + buffer_clear (a->buffer); + // XXX: clear screen? + buffer_print_backlog (ctx, a->buffer); } else if (!strcasecmp_ascii (action, "move")) { -- cgit v1.2.3-70-g09d2