1
0
mirror of https://github.com/openbsd/src.git synced 2025-01-10 06:47:55 -08:00

Merge clear-history into capture-pane.

This commit is contained in:
nicm 2017-02-16 12:18:38 +00:00
parent c6bfae2f33
commit f5f24c95d9
3 changed files with 22 additions and 57 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.85 2017/01/24 21:50:22 nicm Exp $
# $OpenBSD: Makefile,v 1.86 2017/02/16 12:18:38 nicm Exp $
PROG= tmux
SRCS= alerts.c \
@ -13,7 +13,6 @@ SRCS= alerts.c \
cmd-choose-buffer.c \
cmd-choose-client.c \
cmd-choose-tree.c \
cmd-clear-history.c \
cmd-command-prompt.c \
cmd-confirm-before.c \
cmd-copy-mode.c \

View File

@ -1,4 +1,4 @@
/* $OpenBSD: cmd-capture-pane.c,v 1.42 2017/01/02 22:42:19 nicm Exp $ */
/* $OpenBSD: cmd-capture-pane.c,v 1.43 2017/02/16 12:18:38 nicm Exp $ */
/*
* Copyright (c) 2009 Jonathan Alvarado <radobobo@users.sourceforge.net>
@ -49,6 +49,19 @@ const struct cmd_entry cmd_capture_pane_entry = {
.exec = cmd_capture_pane_exec
};
const struct cmd_entry cmd_clear_history_entry = {
.name = "clear-history",
.alias = "clearhist",
.args = { "t:", 0, 0 },
.usage = CMD_TARGET_PANE_USAGE,
.tflag = CMD_PANE,
.flags = CMD_AFTERHOOK,
.exec = cmd_capture_pane_exec
};
static char *
cmd_capture_pane_append(char *buf, size_t *len, char *line, size_t linelen)
{
@ -91,7 +104,6 @@ cmd_capture_pane_pending(struct args *args, struct window_pane *wp,
}
static char *
cmd_capture_pane_history(struct args *args, struct cmdq_item *item,
struct window_pane *wp, size_t *len)
{
@ -186,6 +198,13 @@ cmd_capture_pane_exec(struct cmd *self, struct cmdq_item *item)
const char *bufname;
size_t len;
if (self->entry == &cmd_clear_history_entry) {
if (wp->mode == &window_copy_mode)
window_pane_reset_mode(wp);
grid_clear_history(wp->base.grid);
return (CMD_RETURN_NORMAL);
}
len = 0;
if (args_has(args, 'P'))
buf = cmd_capture_pane_pending(args, wp, &len);

View File

@ -1,53 +0,0 @@
/* $OpenBSD: cmd-clear-history.c,v 1.22 2017/01/10 19:45:55 nicm Exp $ */
/*
* Copyright (c) 2009 Nicholas Marriott <nicholas.marriott@gmail.com>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#include <sys/types.h>
#include "tmux.h"
/*
* Clear pane history.
*/
static enum cmd_retval cmd_clear_history_exec(struct cmd *,
struct cmdq_item *);
const struct cmd_entry cmd_clear_history_entry = {
.name = "clear-history",
.alias = "clearhist",
.args = { "t:", 0, 0 },
.usage = CMD_TARGET_PANE_USAGE,
.tflag = CMD_PANE,
.flags = CMD_AFTERHOOK,
.exec = cmd_clear_history_exec
};
static enum cmd_retval
cmd_clear_history_exec(__unused struct cmd *self, struct cmdq_item *item)
{
struct window_pane *wp = item->state.tflag.wp;
if (wp->mode == &window_copy_mode)
window_pane_reset_mode(wp);
grid_clear_history(wp->base.grid);
return (CMD_RETURN_NORMAL);
}