aboutsummaryrefslogtreecommitdiff
path: root/cmd-capture-pane.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2022-09-28 12:01:09 +0100
committerThomas Adam <thomas@xteddy.org>2022-09-28 12:01:09 +0100
commit9ef854f5a9112a7d50c382dec403432dea2c3579 (patch)
treeb51a7cd48950393ce38a6f4b66c59d348d918a3c /cmd-capture-pane.c
parentf49f92737f859bfeac901f0eb9b1db8249368843 (diff)
parenta10452be2d84d4ff1b9d4e636627b7a9c5a2c42a (diff)
downloadrtmux-9ef854f5a9112a7d50c382dec403432dea2c3579.tar.gz
rtmux-9ef854f5a9112a7d50c382dec403432dea2c3579.tar.bz2
rtmux-9ef854f5a9112a7d50c382dec403432dea2c3579.zip
Merge branch 'obsd-master'
Diffstat (limited to 'cmd-capture-pane.c')
-rw-r--r--cmd-capture-pane.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/cmd-capture-pane.c b/cmd-capture-pane.c
index 422f87d6..57e9716d 100644
--- a/cmd-capture-pane.c
+++ b/cmd-capture-pane.c
@@ -40,7 +40,7 @@ const struct cmd_entry cmd_capture_pane_entry = {
.alias = "capturep",
.args = { "ab:CeE:JNpPqS:t:", 0, 0, NULL },
- .usage = "[-aCeJNpPq] " CMD_BUFFER_USAGE " [-E end-line] "
+ .usage = "[-aCeJNpPqT] " CMD_BUFFER_USAGE " [-E end-line] "
"[-S start-line] " CMD_TARGET_PANE_USAGE,
.target = { 't', CMD_FIND_PANE, 0 },
@@ -110,7 +110,7 @@ cmd_capture_pane_history(struct args *args, struct cmdq_item *item,
struct grid *gd;
const struct grid_line *gl;
struct grid_cell *gc = NULL;
- int n, with_codes, escape_c0, join_lines, no_trim;
+ int n, join_lines, flags = 0;
u_int i, sx, top, bottom, tmp;
char *cause, *buf, *line;
const char *Sflag, *Eflag;
@@ -169,15 +169,19 @@ cmd_capture_pane_history(struct args *args, struct cmdq_item *item,
top = tmp;
}
- with_codes = args_has(args, 'e');
- escape_c0 = args_has(args, 'C');
join_lines = args_has(args, 'J');
- no_trim = args_has(args, 'N');
+ if (args_has(args, 'e'))
+ flags |= GRID_STRING_WITH_SEQUENCES;
+ if (args_has(args, 'C'))
+ flags |= GRID_STRING_ESCAPE_SEQUENCES;
+ if (!join_lines && !args_has(args, 'T'))
+ flags |= GRID_STRING_EMPTY_CELLS;
+ if (!join_lines && !args_has(args, 'N'))
+ flags |= GRID_STRING_TRIM_SPACES;
buf = NULL;
for (i = top; i <= bottom; i++) {
- line = grid_string_cells(gd, 0, i, sx, &gc, with_codes,
- escape_c0, !join_lines && !no_trim, wp->screen);
+ line = grid_string_cells(gd, 0, i, sx, &gc, flags, wp->screen);
linelen = strlen(line);
buf = cmd_capture_pane_append(buf, len, line, linelen);