mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-10-04 17:06:33 +00:00
renderer: split ligature around cursor even if cursor is flashing
Fixes #356
This commit is contained in:
@@ -1148,6 +1148,11 @@ fn rebuildCells(
|
|||||||
screen.viewportIsBottom() and
|
screen.viewportIsBottom() and
|
||||||
y == screen.cursor.y;
|
y == screen.cursor.y;
|
||||||
|
|
||||||
|
// True if we want to do font shaping around the cursor. We want to
|
||||||
|
// do font shaping as long as the cursor is enabled.
|
||||||
|
const shape_cursor = screen.viewportIsBottom() and
|
||||||
|
y == screen.cursor.y;
|
||||||
|
|
||||||
// If this is the row with our cursor, then we may have to modify
|
// If this is the row with our cursor, then we may have to modify
|
||||||
// the cell with the cursor.
|
// the cell with the cursor.
|
||||||
const start_i: usize = self.cells.items.len;
|
const start_i: usize = self.cells.items.len;
|
||||||
@@ -1183,7 +1188,7 @@ fn rebuildCells(
|
|||||||
self.font_group,
|
self.font_group,
|
||||||
row,
|
row,
|
||||||
row_selection,
|
row_selection,
|
||||||
if (cursor_row) screen.cursor.x else null,
|
if (shape_cursor) screen.cursor.x else null,
|
||||||
);
|
);
|
||||||
while (try iter.next(self.alloc)) |run| {
|
while (try iter.next(self.alloc)) |run| {
|
||||||
for (try self.font_shaper.shape(run)) |shaper_cell| {
|
for (try self.font_shaper.shape(run)) |shaper_cell| {
|
||||||
|
@@ -902,6 +902,11 @@ pub fn rebuildCells(
|
|||||||
screen.viewportIsBottom() and
|
screen.viewportIsBottom() and
|
||||||
y == screen.cursor.y;
|
y == screen.cursor.y;
|
||||||
|
|
||||||
|
// True if we want to do font shaping around the cursor. We want to
|
||||||
|
// do font shaping as long as the cursor is enabled.
|
||||||
|
const shape_cursor = screen.viewportIsBottom() and
|
||||||
|
y == screen.cursor.y;
|
||||||
|
|
||||||
// If this is the row with our cursor, then we may have to modify
|
// If this is the row with our cursor, then we may have to modify
|
||||||
// the cell with the cursor.
|
// the cell with the cursor.
|
||||||
const start_i: usize = self.cells.items.len;
|
const start_i: usize = self.cells.items.len;
|
||||||
@@ -940,7 +945,7 @@ pub fn rebuildCells(
|
|||||||
self.font_group,
|
self.font_group,
|
||||||
row,
|
row,
|
||||||
selection,
|
selection,
|
||||||
if (cursor_row) screen.cursor.x else null,
|
if (shape_cursor) screen.cursor.x else null,
|
||||||
);
|
);
|
||||||
while (try iter.next(self.alloc)) |run| {
|
while (try iter.next(self.alloc)) |run| {
|
||||||
for (try self.font_shaper.shape(run)) |shaper_cell| {
|
for (try self.font_shaper.shape(run)) |shaper_cell| {
|
||||||
|
Reference in New Issue
Block a user