mirror of
https://github.com/tmate-io/tmate.git
synced 2024-12-02 13:03:16 +01:00
Preserve trailing spaces with capture-pane -J, from George Nachman.
This commit is contained in:
parent
70397e4a95
commit
aaeee34c32
@ -111,7 +111,7 @@ cmd_capture_pane_exec(struct cmd *self, struct cmd_q *cmdq)
|
|||||||
gc = NULL;
|
gc = NULL;
|
||||||
for (i = top; i <= bottom; i++) {
|
for (i = top; i <= bottom; i++) {
|
||||||
line = grid_string_cells(gd, 0, i, sx, &gc, with_codes,
|
line = grid_string_cells(gd, 0, i, sx, &gc, with_codes,
|
||||||
escape_c0);
|
escape_c0, !join_lines);
|
||||||
linelen = strlen(line);
|
linelen = strlen(line);
|
||||||
|
|
||||||
buf = xrealloc(buf, 1, len + linelen + 1);
|
buf = xrealloc(buf, 1, len + linelen + 1);
|
||||||
|
@ -234,5 +234,5 @@ grid_view_string_cells(struct grid *gd, u_int px, u_int py, u_int nx)
|
|||||||
px = grid_view_x(gd, px);
|
px = grid_view_x(gd, px);
|
||||||
py = grid_view_y(gd, py);
|
py = grid_view_y(gd, py);
|
||||||
|
|
||||||
return (grid_string_cells(gd, px, py, nx, NULL, 0, 0));
|
return (grid_string_cells(gd, px, py, nx, NULL, 0, 0, 0));
|
||||||
}
|
}
|
||||||
|
8
grid.c
8
grid.c
@ -583,7 +583,7 @@ grid_string_cells_code(const struct grid_cell *lastgc,
|
|||||||
/* Convert cells into a string. */
|
/* Convert cells into a string. */
|
||||||
char *
|
char *
|
||||||
grid_string_cells(struct grid *gd, u_int px, u_int py, u_int nx,
|
grid_string_cells(struct grid *gd, u_int px, u_int py, u_int nx,
|
||||||
struct grid_cell **lastgc, int with_codes, int escape_c0)
|
struct grid_cell **lastgc, int with_codes, int escape_c0, int trim)
|
||||||
{
|
{
|
||||||
const struct grid_cell *gc;
|
const struct grid_cell *gc;
|
||||||
static struct grid_cell lastgc1;
|
static struct grid_cell lastgc1;
|
||||||
@ -638,8 +638,10 @@ grid_string_cells(struct grid *gd, u_int px, u_int py, u_int nx,
|
|||||||
off += size;
|
off += size;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (off > 0 && buf[off - 1] == ' ')
|
if (trim) {
|
||||||
off--;
|
while (off > 0 && buf[off - 1] == ' ')
|
||||||
|
off--;
|
||||||
|
}
|
||||||
buf[off] = '\0';
|
buf[off] = '\0';
|
||||||
|
|
||||||
return (buf);
|
return (buf);
|
||||||
|
2
tmux.1
2
tmux.1
@ -1092,7 +1092,7 @@ attributes.
|
|||||||
.Fl C
|
.Fl C
|
||||||
also escapes non-printable characters as octal \\xxx.
|
also escapes non-printable characters as octal \\xxx.
|
||||||
.Fl J
|
.Fl J
|
||||||
joins wrapped lines.
|
joins wrapped lines and preserves trailing spaces at each line's end.
|
||||||
.Pp
|
.Pp
|
||||||
.Fl S
|
.Fl S
|
||||||
and
|
and
|
||||||
|
2
tmux.h
2
tmux.h
@ -2002,7 +2002,7 @@ void grid_clear_lines(struct grid *, u_int, u_int);
|
|||||||
void grid_move_lines(struct grid *, u_int, u_int, u_int);
|
void grid_move_lines(struct grid *, u_int, u_int, u_int);
|
||||||
void grid_move_cells(struct grid *, u_int, u_int, u_int, u_int);
|
void grid_move_cells(struct grid *, u_int, u_int, u_int, u_int);
|
||||||
char *grid_string_cells(struct grid *, u_int, u_int, u_int,
|
char *grid_string_cells(struct grid *, u_int, u_int, u_int,
|
||||||
struct grid_cell **, int, int);
|
struct grid_cell **, int, int, int);
|
||||||
void grid_duplicate_lines(
|
void grid_duplicate_lines(
|
||||||
struct grid *, u_int, struct grid *, u_int, u_int);
|
struct grid *, u_int, struct grid *, u_int, u_int);
|
||||||
u_int grid_reflow(struct grid *, struct grid *, u_int);
|
u_int grid_reflow(struct grid *, struct grid *, u_int);
|
||||||
|
Loading…
Reference in New Issue
Block a user