version 1.325, 2021/08/09 13:08:08 |
version 1.326, 2021/08/11 20:35:46 |
|
|
} |
} |
|
|
static enum window_copy_cmd_action |
static enum window_copy_cmd_action |
window_copy_cmd_copy_end_of_line(struct window_copy_cmd_state *cs) |
window_copy_do_copy_end_of_line(struct window_copy_cmd_state *cs, int pipe, |
|
int cancel) |
{ |
{ |
struct window_mode_entry *wme = cs->wme; |
struct window_mode_entry *wme = cs->wme; |
struct client *c = cs->c; |
int argc = cs->args->argc; |
struct session *s = cs->s; |
char **argv = cs->args->argv; |
struct winlink *wl = cs->wl; |
struct client *c = cs->c; |
struct window_pane *wp = wme->wp; |
struct session *s = cs->s; |
u_int np = wme->prefix, ocx, ocy, ooy; |
struct winlink *wl = cs->wl; |
struct window_copy_mode_data *data = wme->data; |
struct window_pane *wp = wme->wp; |
char *prefix = NULL; |
u_int np = wme->prefix, ocx, ocy, ooy; |
|
struct window_copy_mode_data *data = wme->data; |
|
char *prefix = NULL, *command = NULL; |
|
|
if (cs->args->argc == 2) |
if (pipe) { |
prefix = format_single(NULL, cs->args->argv[1], c, s, wl, wp); |
if (argc == 3) |
|
prefix = format_single(NULL, argv[2], c, s, wl, wp); |
|
if (s != NULL && argc > 1 && *argv[1] != '\0') |
|
command = format_single(NULL, argv[1], c, s, wl, wp); |
|
} else { |
|
if (argc == 2) |
|
prefix = format_single(NULL, argv[1], c, s, wl, wp); |
|
} |
|
|
ocx = data->cx; |
ocx = data->cx; |
ocy = data->cy; |
ocy = data->cy; |
|
|
window_copy_cursor_down(wme, 0); |
window_copy_cursor_down(wme, 0); |
window_copy_cursor_end_of_line(wme); |
window_copy_cursor_end_of_line(wme); |
|
|
if (s != NULL) |
if (s != NULL) { |
window_copy_copy_selection(wme, prefix); |
if (pipe) |
|
window_copy_copy_pipe(wme, s, prefix, command); |
|
else |
|
window_copy_copy_selection(wme, prefix); |
|
|
|
if (cancel) { |
|
free(prefix); |
|
free(command); |
|
return (WINDOW_COPY_CMD_CANCEL); |
|
} |
|
} |
window_copy_clear_selection(wme); |
window_copy_clear_selection(wme); |
|
|
data->cx = ocx; |
data->cx = ocx; |
|
|
data->oy = ooy; |
data->oy = ooy; |
|
|
free(prefix); |
free(prefix); |
|
free(command); |
return (WINDOW_COPY_CMD_REDRAW); |
return (WINDOW_COPY_CMD_REDRAW); |
} |
} |
|
|
static enum window_copy_cmd_action |
static enum window_copy_cmd_action |
|
window_copy_cmd_copy_end_of_line(struct window_copy_cmd_state *cs) |
|
{ |
|
return (window_copy_do_copy_end_of_line(cs, 0, 0)); |
|
} |
|
|
|
static enum window_copy_cmd_action |
window_copy_cmd_copy_end_of_line_and_cancel(struct window_copy_cmd_state *cs) |
window_copy_cmd_copy_end_of_line_and_cancel(struct window_copy_cmd_state *cs) |
{ |
{ |
struct window_mode_entry *wme = cs->wme; |
return (window_copy_do_copy_end_of_line(cs, 0, 1)); |
struct client *c = cs->c; |
} |
struct session *s = cs->s; |
|
struct winlink *wl = cs->wl; |
|
struct window_pane *wp = wme->wp; |
|
u_int np = wme->prefix; |
|
char *prefix = NULL; |
|
|
|
if (cs->args->argc == 2) |
static enum window_copy_cmd_action |
prefix = format_single(NULL, cs->args->argv[1], c, s, wl, wp); |
window_copy_cmd_copy_pipe_end_of_line(struct window_copy_cmd_state *cs) |
|
{ |
|
return (window_copy_do_copy_end_of_line(cs, 1, 0)); |
|
} |
|
|
window_copy_start_selection(wme); |
static enum window_copy_cmd_action |
for (; np > 1; np--) |
window_copy_cmd_copy_pipe_end_of_line_and_cancel( |
window_copy_cursor_down(wme, 0); |
struct window_copy_cmd_state *cs) |
window_copy_cursor_end_of_line(wme); |
{ |
|
return (window_copy_do_copy_end_of_line(cs, 1, 1)); |
if (s != NULL) { |
|
window_copy_copy_selection(wme, prefix); |
|
|
|
free(prefix); |
|
return (WINDOW_COPY_CMD_CANCEL); |
|
} |
|
|
|
free(prefix); |
|
return (WINDOW_COPY_CMD_REDRAW); |
|
} |
} |
|
|
static enum window_copy_cmd_action |
static enum window_copy_cmd_action |
window_copy_cmd_copy_line(struct window_copy_cmd_state *cs) |
window_copy_do_copy_line(struct window_copy_cmd_state *cs, int pipe, int cancel) |
{ |
{ |
struct window_mode_entry *wme = cs->wme; |
struct window_mode_entry *wme = cs->wme; |
struct client *c = cs->c; |
int argc = cs->args->argc; |
struct session *s = cs->s; |
char **argv = cs->args->argv; |
struct winlink *wl = cs->wl; |
struct client *c = cs->c; |
struct window_pane *wp = wme->wp; |
struct session *s = cs->s; |
struct window_copy_mode_data *data = wme->data; |
struct winlink *wl = cs->wl; |
u_int np = wme->prefix, ocx, ocy, ooy; |
struct window_pane *wp = wme->wp; |
char *prefix = NULL; |
struct window_copy_mode_data *data = wme->data; |
|
u_int np = wme->prefix, ocx, ocy, ooy; |
|
char *prefix = NULL, *command = NULL; |
|
|
if (cs->args->argc == 2) |
if (pipe) { |
prefix = format_single(NULL, cs->args->argv[1], c, s, wl, wp); |
if (argc == 3) |
|
prefix = format_single(NULL, argv[2], c, s, wl, wp); |
|
if (s != NULL && argc > 1 && *argv[1] != '\0') |
|
command = format_single(NULL, argv[1], c, s, wl, wp); |
|
} else { |
|
if (argc == 2) |
|
prefix = format_single(NULL, argv[1], c, s, wl, wp); |
|
} |
|
|
ocx = data->cx; |
ocx = data->cx; |
ocy = data->cy; |
ocy = data->cy; |
|
|
window_copy_cursor_down(wme, 0); |
window_copy_cursor_down(wme, 0); |
window_copy_cursor_end_of_line(wme); |
window_copy_cursor_end_of_line(wme); |
|
|
if (s != NULL) |
if (s != NULL) { |
window_copy_copy_selection(wme, prefix); |
if (pipe) |
|
window_copy_copy_pipe(wme, s, prefix, command); |
|
else |
|
window_copy_copy_selection(wme, prefix); |
|
|
|
if (cancel) { |
|
free(prefix); |
|
free(command); |
|
return (WINDOW_COPY_CMD_CANCEL); |
|
} |
|
} |
window_copy_clear_selection(wme); |
window_copy_clear_selection(wme); |
|
|
data->cx = ocx; |
data->cx = ocx; |
|
|
data->oy = ooy; |
data->oy = ooy; |
|
|
free(prefix); |
free(prefix); |
|
free(command); |
return (WINDOW_COPY_CMD_REDRAW); |
return (WINDOW_COPY_CMD_REDRAW); |
} |
} |
|
|
static enum window_copy_cmd_action |
static enum window_copy_cmd_action |
|
window_copy_cmd_copy_line(struct window_copy_cmd_state *cs) |
|
{ |
|
return (window_copy_do_copy_line(cs, 0, 0)); |
|
} |
|
|
|
static enum window_copy_cmd_action |
window_copy_cmd_copy_line_and_cancel(struct window_copy_cmd_state *cs) |
window_copy_cmd_copy_line_and_cancel(struct window_copy_cmd_state *cs) |
{ |
{ |
struct window_mode_entry *wme = cs->wme; |
return (window_copy_do_copy_line(cs, 0, 1)); |
struct client *c = cs->c; |
} |
struct session *s = cs->s; |
|
struct winlink *wl = cs->wl; |
|
struct window_pane *wp = wme->wp; |
|
struct window_copy_mode_data *data = wme->data; |
|
u_int np = wme->prefix; |
|
char *prefix = NULL; |
|
|
|
if (cs->args->argc == 2) |
static enum window_copy_cmd_action |
prefix = format_single(NULL, cs->args->argv[1], c, s, wl, wp); |
window_copy_cmd_copy_pipe_line(struct window_copy_cmd_state *cs) |
|
{ |
|
return (window_copy_do_copy_line(cs, 1, 0)); |
|
} |
|
|
data->selflag = SEL_CHAR; |
static enum window_copy_cmd_action |
window_copy_cursor_start_of_line(wme); |
window_copy_cmd_copy_pipe_line_and_cancel(struct window_copy_cmd_state *cs) |
window_copy_start_selection(wme); |
{ |
for (; np > 1; np--) |
return (window_copy_do_copy_line(cs, 1, 1)); |
window_copy_cursor_down(wme, 0); |
|
window_copy_cursor_end_of_line(wme); |
|
|
|
if (s != NULL) { |
|
window_copy_copy_selection(wme, prefix); |
|
|
|
free(prefix); |
|
return (WINDOW_COPY_CMD_CANCEL); |
|
} |
|
|
|
free(prefix); |
|
return (WINDOW_COPY_CMD_REDRAW); |
|
} |
} |
|
|
static enum window_copy_cmd_action |
static enum window_copy_cmd_action |
|
|
|
|
screen_free(data->backing); |
screen_free(data->backing); |
free(data->backing); |
free(data->backing); |
data->backing = window_copy_clone_screen(&wp->base, &data->screen, NULL, |
data->backing = window_copy_clone_screen(&wp->base, &data->screen, NULL, NULL, wme->swp != wme->wp); |
NULL, wme->swp != wme->wp); |
|
|
|
window_copy_size_changed(wme); |
window_copy_size_changed(wme); |
return (WINDOW_COPY_CMD_REDRAW); |
return (WINDOW_COPY_CMD_REDRAW); |
|
|
enum window_copy_cmd_clear clear; |
enum window_copy_cmd_clear clear; |
enum window_copy_cmd_action (*f)(struct window_copy_cmd_state *); |
enum window_copy_cmd_action (*f)(struct window_copy_cmd_state *); |
} window_copy_cmd_table[] = { |
} window_copy_cmd_table[] = { |
{ "append-selection", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ .command = "append-selection", |
window_copy_cmd_append_selection }, |
.minargs = 0, |
{ "append-selection-and-cancel", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.maxargs = 0, |
window_copy_cmd_append_selection_and_cancel }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "back-to-indentation", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.f = window_copy_cmd_append_selection |
window_copy_cmd_back_to_indentation }, |
}, |
{ "begin-selection", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ .command = "append-selection-and-cancel", |
window_copy_cmd_begin_selection }, |
.minargs = 0, |
{ "bottom-line", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.maxargs = 0, |
window_copy_cmd_bottom_line }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "cancel", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.f = window_copy_cmd_append_selection_and_cancel |
window_copy_cmd_cancel }, |
}, |
{ "clear-selection", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ .command = "back-to-indentation", |
window_copy_cmd_clear_selection }, |
.minargs = 0, |
{ "copy-end-of-line", 0, 1, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.maxargs = 0, |
window_copy_cmd_copy_end_of_line }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "copy-end-of-line-and-cancel", 0, 1, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.f = window_copy_cmd_back_to_indentation |
window_copy_cmd_copy_end_of_line_and_cancel }, |
}, |
{ "copy-line", 0, 1, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ .command = "begin-selection", |
window_copy_cmd_copy_line }, |
.minargs = 0, |
{ "copy-line-and-cancel", 0, 1, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.maxargs = 0, |
window_copy_cmd_copy_line_and_cancel }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "copy-pipe-no-clear", 0, 2, WINDOW_COPY_CMD_CLEAR_NEVER, |
.f = window_copy_cmd_begin_selection |
window_copy_cmd_copy_pipe_no_clear }, |
}, |
{ "copy-pipe", 0, 2, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ .command = "bottom-line", |
window_copy_cmd_copy_pipe }, |
.minargs = 0, |
{ "copy-pipe-and-cancel", 0, 2, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.maxargs = 0, |
window_copy_cmd_copy_pipe_and_cancel }, |
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ "copy-selection-no-clear", 0, 1, WINDOW_COPY_CMD_CLEAR_NEVER, |
.f = window_copy_cmd_bottom_line |
window_copy_cmd_copy_selection_no_clear }, |
}, |
{ "copy-selection", 0, 1, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ .command = "cancel", |
window_copy_cmd_copy_selection }, |
.minargs = 0, |
{ "copy-selection-and-cancel", 0, 1, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.maxargs = 0, |
window_copy_cmd_copy_selection_and_cancel }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "cursor-down", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.f = window_copy_cmd_cancel |
window_copy_cmd_cursor_down }, |
}, |
{ "cursor-down-and-cancel", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ .command = "clear-selection", |
window_copy_cmd_cursor_down_and_cancel }, |
.minargs = 0, |
{ "cursor-left", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.maxargs = 0, |
window_copy_cmd_cursor_left }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "cursor-right", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.f = window_copy_cmd_clear_selection |
window_copy_cmd_cursor_right }, |
}, |
{ "cursor-up", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ .command = "copy-end-of-line", |
window_copy_cmd_cursor_up }, |
.minargs = 0, |
{ "end-of-line", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.maxargs = 1, |
window_copy_cmd_end_of_line }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "goto-line", 1, 1, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.f = window_copy_cmd_copy_end_of_line |
window_copy_cmd_goto_line }, |
}, |
{ "halfpage-down", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ .command = "copy-end-of-line-and-cancel", |
window_copy_cmd_halfpage_down }, |
.minargs = 0, |
{ "halfpage-down-and-cancel", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.maxargs = 1, |
window_copy_cmd_halfpage_down_and_cancel }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "halfpage-up", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.f = window_copy_cmd_copy_end_of_line_and_cancel |
window_copy_cmd_halfpage_up }, |
}, |
{ "history-bottom", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ .command = "copy-pipe-end-of-line", |
window_copy_cmd_history_bottom }, |
.minargs = 0, |
{ "history-top", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.maxargs = 2, |
window_copy_cmd_history_top }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "jump-again", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.f = window_copy_cmd_copy_pipe_end_of_line |
window_copy_cmd_jump_again }, |
}, |
{ "jump-backward", 1, 1, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ .command = "copy-pipe-end-of-line-and-cancel", |
window_copy_cmd_jump_backward }, |
.minargs = 0, |
{ "jump-forward", 1, 1, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.maxargs = 2, |
window_copy_cmd_jump_forward }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "jump-reverse", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.f = window_copy_cmd_copy_pipe_end_of_line_and_cancel |
window_copy_cmd_jump_reverse }, |
}, |
{ "jump-to-backward", 1, 1, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ .command = "copy-line", |
window_copy_cmd_jump_to_backward }, |
.minargs = 0, |
{ "jump-to-forward", 1, 1, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.maxargs = 1, |
window_copy_cmd_jump_to_forward }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "jump-to-mark", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.f = window_copy_cmd_copy_line |
window_copy_cmd_jump_to_mark }, |
}, |
{ "middle-line", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ .command = "copy-line-and-cancel", |
window_copy_cmd_middle_line }, |
.minargs = 0, |
{ "next-matching-bracket", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.maxargs = 1, |
window_copy_cmd_next_matching_bracket }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "next-paragraph", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.f = window_copy_cmd_copy_line_and_cancel |
window_copy_cmd_next_paragraph }, |
}, |
{ "next-space", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ .command = "copy-pipe-line", |
window_copy_cmd_next_space }, |
.minargs = 0, |
{ "next-space-end", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.maxargs = 2, |
window_copy_cmd_next_space_end }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "next-word", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.f = window_copy_cmd_copy_pipe_line |
window_copy_cmd_next_word }, |
}, |
{ "next-word-end", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ .command = "copy-pipe-line-and-cancel", |
window_copy_cmd_next_word_end }, |
.minargs = 0, |
{ "other-end", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.maxargs = 2, |
window_copy_cmd_other_end }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "page-down", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.f = window_copy_cmd_copy_pipe_line_and_cancel |
window_copy_cmd_page_down }, |
}, |
{ "page-down-and-cancel", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ .command = "copy-pipe-no-clear", |
window_copy_cmd_page_down_and_cancel }, |
.minargs = 0, |
{ "page-up", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.maxargs = 2, |
window_copy_cmd_page_up }, |
.clear = WINDOW_COPY_CMD_CLEAR_NEVER, |
{ "pipe-no-clear", 0, 1, WINDOW_COPY_CMD_CLEAR_NEVER, |
.f = window_copy_cmd_copy_pipe_no_clear |
window_copy_cmd_pipe_no_clear }, |
}, |
{ "pipe", 0, 1, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ .command = "copy-pipe", |
window_copy_cmd_pipe }, |
.minargs = 0, |
{ "pipe-and-cancel", 0, 1, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.maxargs = 2, |
window_copy_cmd_pipe_and_cancel }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "previous-matching-bracket", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.f = window_copy_cmd_copy_pipe |
window_copy_cmd_previous_matching_bracket }, |
}, |
{ "previous-paragraph", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ .command = "copy-pipe-and-cancel", |
window_copy_cmd_previous_paragraph }, |
.minargs = 0, |
{ "previous-space", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.maxargs = 2, |
window_copy_cmd_previous_space }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "previous-word", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.f = window_copy_cmd_copy_pipe_and_cancel |
window_copy_cmd_previous_word }, |
}, |
{ "rectangle-on", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ .command = "copy-selection-no-clear", |
window_copy_cmd_rectangle_on }, |
.minargs = 0, |
{ "rectangle-off", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.maxargs = 1, |
window_copy_cmd_rectangle_off }, |
.clear = WINDOW_COPY_CMD_CLEAR_NEVER, |
{ "rectangle-toggle", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.f = window_copy_cmd_copy_selection_no_clear |
window_copy_cmd_rectangle_toggle }, |
}, |
{ "refresh-from-pane", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ .command = "copy-selection", |
window_copy_cmd_refresh_from_pane }, |
.minargs = 0, |
{ "scroll-down", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.maxargs = 1, |
window_copy_cmd_scroll_down }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "scroll-down-and-cancel", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.f = window_copy_cmd_copy_selection |
window_copy_cmd_scroll_down_and_cancel }, |
}, |
{ "scroll-up", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ .command = "copy-selection-and-cancel", |
window_copy_cmd_scroll_up }, |
.minargs = 0, |
{ "search-again", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.maxargs = 1, |
window_copy_cmd_search_again }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "search-backward", 0, 1, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.f = window_copy_cmd_copy_selection_and_cancel |
window_copy_cmd_search_backward }, |
}, |
{ "search-backward-text", 0, 1, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ .command = "cursor-down", |
window_copy_cmd_search_backward_text }, |
.minargs = 0, |
{ "search-backward-incremental", 1, 1, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.maxargs = 0, |
window_copy_cmd_search_backward_incremental }, |
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ "search-forward", 0, 1, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.f = window_copy_cmd_cursor_down |
window_copy_cmd_search_forward }, |
}, |
{ "search-forward-text", 0, 1, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ .command = "cursor-down-and-cancel", |
window_copy_cmd_search_forward_text }, |
.minargs = 0, |
{ "search-forward-incremental", 1, 1, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.maxargs = 0, |
window_copy_cmd_search_forward_incremental }, |
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ "search-reverse", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.f = window_copy_cmd_cursor_down_and_cancel |
window_copy_cmd_search_reverse }, |
}, |
{ "select-line", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
{ .command = "cursor-left", |
window_copy_cmd_select_line }, |
.minargs = 0, |
{ "select-word", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.maxargs = 0, |
window_copy_cmd_select_word }, |
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ "set-mark", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.f = window_copy_cmd_cursor_left |
window_copy_cmd_set_mark }, |
}, |
{ "start-of-line", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ .command = "cursor-right", |
window_copy_cmd_start_of_line }, |
.minargs = 0, |
{ "stop-selection", 0, 0, WINDOW_COPY_CMD_CLEAR_ALWAYS, |
.maxargs = 0, |
window_copy_cmd_stop_selection }, |
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
{ "top-line", 0, 0, WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
.f = window_copy_cmd_cursor_right |
window_copy_cmd_top_line }, |
}, |
|
{ .command = "cursor-up", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_cursor_up |
|
}, |
|
{ .command = "end-of-line", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_end_of_line |
|
}, |
|
{ .command = "goto-line", |
|
.minargs = 1, |
|
.maxargs = 1, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_goto_line |
|
}, |
|
{ .command = "halfpage-down", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_halfpage_down |
|
}, |
|
{ .command = "halfpage-down-and-cancel", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_halfpage_down_and_cancel |
|
}, |
|
{ .command = "halfpage-up", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_halfpage_up |
|
}, |
|
{ .command = "history-bottom", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_history_bottom |
|
}, |
|
{ .command = "history-top", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_history_top |
|
}, |
|
{ .command = "jump-again", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_jump_again |
|
}, |
|
{ .command = "jump-backward", |
|
.minargs = 1, |
|
.maxargs = 1, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_jump_backward |
|
}, |
|
{ .command = "jump-forward", |
|
.minargs = 1, |
|
.maxargs = 1, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_jump_forward |
|
}, |
|
{ .command = "jump-reverse", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_jump_reverse |
|
}, |
|
{ .command = "jump-to-backward", |
|
.minargs = 1, |
|
.maxargs = 1, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_jump_to_backward |
|
}, |
|
{ .command = "jump-to-forward", |
|
.minargs = 1, |
|
.maxargs = 1, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_jump_to_forward |
|
}, |
|
{ .command = "jump-to-mark", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_jump_to_mark |
|
}, |
|
{ .command = "middle-line", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_middle_line |
|
}, |
|
{ .command = "next-matching-bracket", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_next_matching_bracket |
|
}, |
|
{ .command = "next-paragraph", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_next_paragraph |
|
}, |
|
{ .command = "next-space", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_next_space |
|
}, |
|
{ .command = "next-space-end", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_next_space_end |
|
}, |
|
{ .command = "next-word", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_next_word |
|
}, |
|
{ .command = "next-word-end", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_next_word_end |
|
}, |
|
{ .command = "other-end", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_other_end |
|
}, |
|
{ .command = "page-down", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_page_down |
|
}, |
|
{ .command = "page-down-and-cancel", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_page_down_and_cancel |
|
}, |
|
{ .command = "page-up", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_page_up |
|
}, |
|
{ .command = "pipe-no-clear", |
|
.minargs = 0, |
|
.maxargs = 1, |
|
.clear = WINDOW_COPY_CMD_CLEAR_NEVER, |
|
.f = window_copy_cmd_pipe_no_clear |
|
}, |
|
{ .command = "pipe", |
|
.minargs = 0, |
|
.maxargs = 1, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_pipe |
|
}, |
|
{ .command = "pipe-and-cancel", |
|
.minargs = 0, |
|
.maxargs = 1, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_pipe_and_cancel |
|
}, |
|
{ .command = "previous-matching-bracket", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_previous_matching_bracket |
|
}, |
|
{ .command = "previous-paragraph", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_previous_paragraph |
|
}, |
|
{ .command = "previous-space", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_previous_space |
|
}, |
|
{ .command = "previous-word", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_previous_word |
|
}, |
|
{ .command = "rectangle-on", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_rectangle_on |
|
}, |
|
{ .command = "rectangle-off", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_rectangle_off |
|
}, |
|
{ .command = "rectangle-toggle", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_rectangle_toggle |
|
}, |
|
{ .command = "refresh-from-pane", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_refresh_from_pane |
|
}, |
|
{ .command = "scroll-down", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_scroll_down |
|
}, |
|
{ .command = "scroll-down-and-cancel", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_scroll_down_and_cancel |
|
}, |
|
{ .command = "scroll-up", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_scroll_up |
|
}, |
|
{ .command = "search-again", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_search_again |
|
}, |
|
{ .command = "search-backward", |
|
.minargs = 0, |
|
.maxargs = 1, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_search_backward |
|
}, |
|
{ .command = "search-backward-text", |
|
.minargs = 0, |
|
.maxargs = 1, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_search_backward_text |
|
}, |
|
{ .command = "search-backward-incremental", |
|
.minargs = 1, |
|
.maxargs = 1, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_search_backward_incremental |
|
}, |
|
{ .command = "search-forward", |
|
.minargs = 0, |
|
.maxargs = 1, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_search_forward |
|
}, |
|
{ .command = "search-forward-text", |
|
.minargs = 0, |
|
.maxargs = 1, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_search_forward_text |
|
}, |
|
{ .command = "search-forward-incremental", |
|
.minargs = 1, |
|
.maxargs = 1, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_search_forward_incremental |
|
}, |
|
{ .command = "search-reverse", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_search_reverse |
|
}, |
|
{ .command = "select-line", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_select_line |
|
}, |
|
{ .command = "select-word", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_select_word |
|
}, |
|
{ .command = "set-mark", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_set_mark |
|
}, |
|
{ .command = "start-of-line", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_start_of_line |
|
}, |
|
{ .command = "stop-selection", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_ALWAYS, |
|
.f = window_copy_cmd_stop_selection |
|
}, |
|
{ .command = "top-line", |
|
.minargs = 0, |
|
.maxargs = 0, |
|
.clear = WINDOW_COPY_CMD_CLEAR_EMACS_ONLY, |
|
.f = window_copy_cmd_top_line |
|
} |
}; |
}; |
|
|
static void |
static void |