mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-04 04:06:06 -05:00
osc: store column of FTCS_COMMAND_{EXECUTED,FINISHED} in row struct
This commit is contained in:
parent
f8e875a7cd
commit
e9607de5ae
4 changed files with 16 additions and 2 deletions
4
grid.c
4
grid.c
|
|
@ -367,6 +367,8 @@ grid_row_alloc(int cols, bool initialize)
|
|||
row->linebreak = false;
|
||||
row->extra = NULL;
|
||||
row->shell_integration.prompt_marker = false;
|
||||
row->shell_integration.cmd_start = -1;
|
||||
row->shell_integration.cmd_end = -1;
|
||||
|
||||
if (initialize) {
|
||||
row->cells = xcalloc(cols, sizeof(row->cells[0]));
|
||||
|
|
@ -588,6 +590,8 @@ _line_wrap(struct grid *old_grid, struct row **new_grid, struct row *row,
|
|||
grid_row_reset_extra(new_row);
|
||||
new_row->linebreak = false;
|
||||
new_row->shell_integration.prompt_marker = false;
|
||||
new_row->shell_integration.cmd_start = -1;
|
||||
new_row->shell_integration.cmd_end = -1;
|
||||
|
||||
tll_foreach(old_grid->sixel_images, it) {
|
||||
if (it->item.pos.row == *row_idx) {
|
||||
|
|
|
|||
10
osc.c
10
osc.c
|
|
@ -901,11 +901,17 @@ osc_dispatch(struct terminal *term)
|
|||
break;
|
||||
|
||||
case 'C':
|
||||
LOG_DBG("FTCS_COMMAND_EXECUTED");
|
||||
LOG_DBG("FTCS_COMMAND_EXECUTED: %dx%d",
|
||||
term->grid->cursor.point.row,
|
||||
term->grid->cursor.point.col);
|
||||
term->grid->cur_row->shell_integration.cmd_start = term->grid->cursor.point.col;
|
||||
break;
|
||||
|
||||
case 'D':
|
||||
LOG_DBG("FTCS_COMMAND_FINISHED");
|
||||
LOG_DBG("FTCS_COMMAND_FINISHED: %dx%d",
|
||||
term->grid->cursor.point.row,
|
||||
term->grid->cursor.point.col);
|
||||
term->grid->cur_row->shell_integration.cmd_end = term->grid->cursor.point.col;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -1826,6 +1826,8 @@ erase_line(struct terminal *term, struct row *row)
|
|||
erase_cell_range(term, row, 0, term->cols - 1);
|
||||
row->linebreak = false;
|
||||
row->shell_integration.prompt_marker = false;
|
||||
row->shell_integration.cmd_start = -1;
|
||||
row->shell_integration.cmd_end = -1;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -123,6 +123,8 @@ struct row {
|
|||
|
||||
struct {
|
||||
bool prompt_marker;
|
||||
int cmd_start; /* Column, -1 if unset */
|
||||
int cmd_end; /* Column, -1 if unset */
|
||||
} shell_integration;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue