Raxol.Terminal.Buffer.LineOperations.Deletion (Raxol Terminal v2.8.0)

Copy Markdown View Source

Line deletion operations for terminal buffers. Handles deletion of single and multiple lines, with support for scroll regions.

Summary

Functions

delete_lines(buffer, count)

Delete lines from a buffer.

delete_lines(buffer, start_y, count)

delete_lines(buffer, start_y, count, scroll_top, scroll_bottom)

delete_lines(buffer, start_y, count, scroll_top, scroll_bottom, style)

delete_lines_in_region(buffer, start_y, count, top, bottom)

Delete lines within a scroll region.

DL on the list of rows: count rows from start_y go (clamped to the rows left in the region, as in xterm), the rest of the region moves up, and blank rows fill its bottom. Only the region's rows are touched, and every blank row is the same term, so the cost is one row plus the screen's height. A cursor outside the region deletes nothing. bottom is clamped to the rows the buffer has, so a region set for a taller screen cannot grow the row list.