Add copy-pipe-and-cancel, from Artem Fokin.

pull/651/head
nicm 2016-11-15 09:53:23 +00:00
parent afbf0d42a7
commit 9fe43d6acb
2 changed files with 6 additions and 1 deletions

1
tmux.1
View File

@ -1032,6 +1032,7 @@ The following commands are supported in copy mode:
.It Li "copy-end-of-line" Ta "D" Ta "C-k"
.It Li "copy-line" Ta "" Ta ""
.It Li "copy-pipe <command>" Ta "" Ta ""
.It Li "copy-pipe-and-cancel <command>" Ta "" Ta ""
.It Li "copy-selection" Ta "" Ta ""
.It Li "copy-selection-and-cancel" Ta "Enter" Ta "M-w"
.It Li "cursor-down" Ta "j" Ta "Down"

View File

@ -63,7 +63,7 @@ static void window_copy_goto_line(struct window_pane *, const char *);
static void window_copy_update_cursor(struct window_pane *, u_int, u_int);
static void window_copy_start_selection(struct window_pane *);
static int window_copy_update_selection(struct window_pane *, int);
static void *window_copy_get_selection(struct window_pane *, size_t *);
static void *window_copy_get_selection(struct window_pane *, size_t *);
static void window_copy_copy_buffer(struct window_pane *, const char *,
void *, size_t);
static void window_copy_copy_pipe(struct window_pane *, struct session *,
@ -761,6 +761,10 @@ window_copy_command(struct window_pane *wp, struct client *c, struct session *s,
} else if (args->argc == 2 && *args->argv[1] != '\0') {
argument = args->argv[1];
if (strcmp(command, "copy-pipe") == 0) {
if (s != NULL)
window_copy_copy_pipe(wp, s, NULL, argument);
}
if (strcmp(command, "copy-pipe-and-cancel") == 0) {
if (s != NULL) {
window_copy_copy_pipe(wp, s, NULL, argument);
window_pane_reset_mode(wp);