aboutsummaryrefslogtreecommitdiffstats
path: root/src/row.rs
Commit message (Collapse)AuthorAgeFilesLines
* be a bit smarter about typesJesse Luehrs2021-12-141-15/+15
|
* clean up clippy stuffJesse Luehrs2021-12-131-1/+0
|
* ensure that diffing a screen against itself always returns nothingJesse Luehrs2021-12-101-0/+2
|
* another missing attribute settingJesse Luehrs2021-12-031-0/+5
|
* we want to force wrapping here even if the cursor was already correctJesse Luehrs2021-12-031-2/+1
|
* fix cell attrs when wrapped but no first cell contents on next lineJesse Luehrs2021-12-031-0/+11
|
* fix keeping cursor past end of line with diffsJesse Luehrs2021-12-031-2/+4
|
* more wrapping bugsJesse Luehrs2021-11-201-1/+2
|
* only do wrapping logic during diff if we weren't wrapping beforeJesse Luehrs2021-11-201-1/+1
|
* i... don't think this conditional ever did anything?Jesse Luehrs2021-11-201-46/+2
| | | | | i can't even understand the logic involved here, but it seems nonsensical to me, and removing it doesn't break any tests
* make sure all of these cases are handled the sameJesse Luehrs2021-11-201-3/+22
|
* more wrapping + el bugsJesse Luehrs2021-11-201-6/+43
|
* fix up some more issues with row_formattedJesse Luehrs2021-11-191-2/+14
| | | | handle cursor positioning and wrapping a bit better
* fix some line wrapping state issuesJesse Luehrs2021-11-181-2/+11
|
* edition 2021Jesse Luehrs2021-11-161-1/+0
|
* clippyJesse Luehrs2021-11-121-1/+1
|
* avoid calculating contents multiple timesJesse Luehrs2019-12-071-3/+3
|
* clear wide characters if they get half-scrolled off the rightJesse Luehrs2019-12-071-0/+4
|
* more line wrapping fixesJesse Luehrs2019-12-061-0/+32
|
* fix contents when a wrapped row is followed by an empty rowJesse Luehrs2019-12-061-0/+4
|
* handle line wrapping with wide characters + combining charactersJesse Luehrs2019-12-061-2/+48
|
* preserve wrapping state when possibleJesse Luehrs2019-12-061-0/+34
|
* handle wide char wrapping correctlyJesse Luehrs2019-12-051-2/+6
| | | | | wrapping a wide char should set the wrapping state of the line even if it wrapped before the last column
* track fullwidth continuation cells explicitlyJesse Luehrs2019-12-051-6/+18
| | | | this makes the logic a bit easier to follow
* optimize erases a bit moreJesse Luehrs2019-11-111-34/+92
|
* actually, this method isn't necessary at allJesse Luehrs2019-11-111-22/+13
|
* actually remove the last bgcolor special caseJesse Luehrs2019-11-111-2/+2
|
* factor out cursor movement logicJesse Luehrs2019-11-111-27/+11
|
* commentJesse Luehrs2019-11-111-0/+3
|
* stop special-casing bgcolor in one more placeJesse Luehrs2019-11-111-3/+2
|
* preserve all text attributes on cleared cellsJesse Luehrs2019-11-111-22/+10
| | | | | | | some terminals require it (alacritty wants to render underline and inverse state of cleared cells, for instance, so we have to be sure that the diff algorithm will properly reset the cursor attributes before clearing cells)
* stop using formats at allJesse Luehrs2019-11-111-55/+15
| | | | they are too slow
* simplifyJesse Luehrs2019-11-101-57/+41
|
* optimize attribute setting a bitJesse Luehrs2019-11-101-8/+20
|
* optimize cursor movement a bitJesse Luehrs2019-11-101-49/+122
|
* missed oneJesse Luehrs2019-11-091-1/+4
|
* use a fixed size buffer for cell dataJesse Luehrs2019-11-091-1/+1
| | | | this dramatically speeds things up
* refactor terminal writingJesse Luehrs2019-11-091-38/+69
|
* fix wide character handling in contents_formatted and contents_diffJesse Luehrs2019-11-081-8/+22
|
* clearing cells sets the background colorJesse Luehrs2019-11-081-4/+8
|
* also add a rows_diff methodJesse Luehrs2019-11-061-2/+9
|
* make row.contents_diff not require the row indexJesse Luehrs2019-11-061-9/+5
|
* contents_formatted and contents_diff should also restore the cursorJesse Luehrs2019-11-061-9/+8
| | | | since the cursor is a visible part of the terminal
* fix erasing cells in diffJesse Luehrs2019-11-051-1/+1
| | | | also add more comprehensive tests
* add functionality for diffing two terminal screensJesse Luehrs2019-11-051-0/+40
|
* adjust the way window contents are reportedJesse Luehrs2019-11-051-59/+57
| | | | | | | | | | | | | | | | contents and contents_formatted now only allow getting the entire terminal contents, and for any other uses we now provide rows and rows_formatted. the reasoning here is that it wasn't particularly useful to return newline (or crlf) separated lines when not drawing the full terminal, since it's not like you can send those to the terminal in any meaningful way anyway (like, if you wanted to draw a subset of the terminal state, you'll almost certainly need to be doing explicit positioning on your own, since crlf is only actually correct if you're drawing the screen subset in the upper left hand corner of the screen). with this, you can draw each (subset of a) line individually, and reposition the cursor in whatever way makes sense in between drawing the lines.
* preserve the state of empty cells in contents_formattedJesse Luehrs2019-11-051-1/+1
|
* contents_formatted should return a Vec<u8>Jesse Luehrs2019-11-051-5/+5
| | | | | the overall terminal escape sequence byte stream is not necessarily utf8-safe, even if individual cell contents are
* add Clone and Debug to ScreenJesse Luehrs2019-11-051-1/+1
|
* stop reallocating vecs so muchJesse Luehrs2019-11-041-1/+4
|