mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
term: move row->prompt_marker into new struct, row->shell_integration
This commit is contained in:
parent
0f10c4fd6c
commit
f8e875a7cd
5 changed files with 12 additions and 11 deletions
10
grid.c
10
grid.c
|
|
@ -231,7 +231,7 @@ grid_snapshot(const struct grid *grid)
|
|||
clone_row->cells = xmalloc(grid->num_cols * sizeof(clone_row->cells[0]));
|
||||
clone_row->linebreak = row->linebreak;
|
||||
clone_row->dirty = row->dirty;
|
||||
clone_row->prompt_marker = row->prompt_marker;
|
||||
clone_row->shell_integration = row->shell_integration;
|
||||
|
||||
for (int c = 0; c < grid->num_cols; c++)
|
||||
clone_row->cells[c] = row->cells[c];
|
||||
|
|
@ -366,7 +366,7 @@ grid_row_alloc(int cols, bool initialize)
|
|||
row->dirty = false;
|
||||
row->linebreak = false;
|
||||
row->extra = NULL;
|
||||
row->prompt_marker = false;
|
||||
row->shell_integration.prompt_marker = false;
|
||||
|
||||
if (initialize) {
|
||||
row->cells = xcalloc(cols, sizeof(row->cells[0]));
|
||||
|
|
@ -425,7 +425,7 @@ grid_resize_without_reflow(
|
|||
|
||||
new_row->dirty = old_row->dirty;
|
||||
new_row->linebreak = false;
|
||||
new_row->prompt_marker = old_row->prompt_marker;
|
||||
new_row->shell_integration = old_row->shell_integration;
|
||||
|
||||
if (new_cols > old_cols) {
|
||||
/* Clear "new" columns */
|
||||
|
|
@ -587,7 +587,7 @@ _line_wrap(struct grid *old_grid, struct row **new_grid, struct row *row,
|
|||
/* Scrollback is full, need to reuse a row */
|
||||
grid_row_reset_extra(new_row);
|
||||
new_row->linebreak = false;
|
||||
new_row->prompt_marker = false;
|
||||
new_row->shell_integration.prompt_marker = false;
|
||||
|
||||
tll_foreach(old_grid->sixel_images, it) {
|
||||
if (it->item.pos.row == *row_idx) {
|
||||
|
|
@ -920,7 +920,7 @@ grid_resize_and_reflow(
|
|||
xassert(from + amount <= old_cols);
|
||||
|
||||
if (from == 0)
|
||||
new_row->prompt_marker = old_row->prompt_marker;
|
||||
new_row->shell_integration = old_row->shell_integration;
|
||||
|
||||
memcpy(
|
||||
&new_row->cells[new_col_idx], &old_row->cells[from],
|
||||
|
|
|
|||
4
input.c
4
input.c
|
|
@ -377,7 +377,7 @@ execute_binding(struct seat *seat, struct terminal *term,
|
|||
const struct row *row = grid->rows[r_abs];
|
||||
xassert(row != NULL);
|
||||
|
||||
if (!row->prompt_marker)
|
||||
if (!row->shell_integration.prompt_marker)
|
||||
continue;
|
||||
|
||||
grid->view = r_abs;
|
||||
|
|
@ -409,7 +409,7 @@ execute_binding(struct seat *seat, struct terminal *term,
|
|||
const struct row *row = grid->rows[r_abs];
|
||||
xassert(row != NULL);
|
||||
|
||||
if (!row->prompt_marker) {
|
||||
if (!row->shell_integration.prompt_marker) {
|
||||
if (r_abs == grid->offset + term->rows - 1) {
|
||||
/* We’ve reached the bottom of the scrollback */
|
||||
break;
|
||||
|
|
|
|||
2
osc.c
2
osc.c
|
|
@ -893,7 +893,7 @@ osc_dispatch(struct terminal *term)
|
|||
term->grid->cursor.point.row,
|
||||
term->grid->cursor.point.col);
|
||||
|
||||
term->grid->cur_row->prompt_marker = true;
|
||||
term->grid->cur_row->shell_integration.prompt_marker = true;
|
||||
break;
|
||||
|
||||
case 'B':
|
||||
|
|
|
|||
|
|
@ -1825,7 +1825,7 @@ erase_line(struct terminal *term, struct row *row)
|
|||
{
|
||||
erase_cell_range(term, row, 0, term->cols - 1);
|
||||
row->linebreak = false;
|
||||
row->prompt_marker = false;
|
||||
row->shell_integration.prompt_marker = false;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -121,8 +121,9 @@ struct row {
|
|||
bool dirty;
|
||||
bool linebreak;
|
||||
|
||||
/* Shell integration */
|
||||
bool prompt_marker;
|
||||
struct {
|
||||
bool prompt_marker;
|
||||
} shell_integration;
|
||||
};
|
||||
|
||||
struct sixel {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue