Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | split formatted calculations into multiple methods | Jesse Luehrs | 2019-11-12 | 4 | -9/+332 |
| | | | | | different applications want to be able to apply different things, so this gives more control | ||||
* | actually resize the underlying grid when requested | Jesse Luehrs | 2019-11-12 | 1 | -0/+14 |
| | |||||
* | add another test | Jesse Luehrs | 2019-11-12 | 1 | -0/+21 |
| | |||||
* | rename test | Jesse Luehrs | 2019-11-12 | 1 | -1/+1 |
| | | | | so that it's easier to run on its own | ||||
* | make contents_diff include bell state | Jesse Luehrs | 2019-11-12 | 2 | -0/+35 |
| | | | | i don't think it makes sense for contents_formatted to include this | ||||
* | remove parser.screen_mut | Jesse Luehrs | 2019-11-12 | 5 | -33/+42 |
| | | | | | | it's easier to reason about if you are only able to get an immutable reference to the internal screen. this also required changing the api for bells. | ||||
* | optimize erases a bit more | Jesse Luehrs | 2019-11-11 | 3 | -28/+12 |
| | |||||
* | preserve all text attributes on cleared cells | Jesse Luehrs | 2019-11-11 | 1 | -0/+44 |
| | | | | | | | 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) | ||||
* | actually, i do need to disable this in each test | Jesse Luehrs | 2019-11-11 | 14 | -0/+28 |
| | |||||
* | allow cognitive_complexity everywhere | Jesse Luehrs | 2019-11-11 | 7 | -13/+0 |
| | |||||
* | add Default impl for Parser | Jesse Luehrs | 2019-11-10 | 13 | -50/+50 |
| | |||||
* | remove the scroll_to and scroll_pos methods | Jesse Luehrs | 2019-11-10 | 1 | -28/+28 |
| | | | | | they are unnecessary, you can just call the methods on the screen object directly | ||||
* | optimize attribute setting a bit | Jesse Luehrs | 2019-11-10 | 3 | -28/+20 |
| | |||||
* | optimize cursor movement a bit | Jesse Luehrs | 2019-11-10 | 5 | -55/+54 |
| | |||||
* | implement scrolling back | Jesse Luehrs | 2019-11-09 | 1 | -0/+84 |
| | |||||
* | optionally save scrollback rows | Jesse Luehrs | 2019-11-09 | 14 | -53/+53 |
| | |||||
* | use a fixed size buffer for cell data | Jesse Luehrs | 2019-11-09 | 1 | -0/+8 |
| | | | | this dramatically speeds things up | ||||
* | refactor terminal writing | Jesse Luehrs | 2019-11-09 | 2 | -16/+13 |
| | |||||
* | remove unnecessary accessors | Jesse Luehrs | 2019-11-08 | 4 | -106/+0 |
| | | | | nobody should be caring about the terminal state internals | ||||
* | ignore the scroll region when moving if we're already outside of it | Jesse Luehrs | 2019-11-08 | 1 | -0/+3 |
| | |||||
* | fix tests for the attribute reset change | Jesse Luehrs | 2019-11-08 | 5 | -36/+36 |
| | |||||
* | stop treating soft hyphen specially | Jesse Luehrs | 2019-11-08 | 1 | -99/+0 |
| | |||||
* | don't leave old character data in the second cell of a wide character | Jesse Luehrs | 2019-11-08 | 1 | -4/+56 |
| | | | | | | otherwise it might confuse the diffing algorithm if a non-wide character is written there and then it goes back to being the second cell of a wide character | ||||
* | VPA should not be restricted to the scroll region | Jesse Luehrs | 2019-11-08 | 1 | -0/+4 |
| | | | | since it is absolute positioning | ||||
* | fix RI at the top of the screen | Jesse Luehrs | 2019-11-08 | 1 | -0/+6 |
| | |||||
* | fix wide character handling in contents_formatted and contents_diff | Jesse Luehrs | 2019-11-08 | 2 | -0/+61 |
| | |||||
* | remove some unnecessary tests | Jesse Luehrs | 2019-11-08 | 1 | -4/+0 |
| | |||||
* | clearing cells sets the background color | Jesse Luehrs | 2019-11-08 | 1 | -0/+284 |
| | |||||
* | actually, we do need to always reset the hide cursor state | Jesse Luehrs | 2019-11-06 | 3 | -15/+30 |
| | |||||
* | also add a rows_diff method | Jesse Luehrs | 2019-11-06 | 1 | -16/+72 |
| | |||||
* | make row.contents_diff not require the row index | Jesse Luehrs | 2019-11-06 | 1 | -3/+6 |
| | |||||
* | also test less of the crawl ttyrec by default | Jesse Luehrs | 2019-11-06 | 1 | -1/+1 |
| | |||||
* | also run a subset of splits tests by default | Jesse Luehrs | 2019-11-06 | 1 | -2/+13 |
| | |||||
* | contents_formatted should additionally clear the screen | Jesse Luehrs | 2019-11-06 | 3 | -15/+16 |
| | |||||
* | contents_formatted and contents_diff should also restore the cursor | Jesse Luehrs | 2019-11-06 | 2 | -8/+14 |
| | | | | since the cursor is a visible part of the terminal | ||||
* | add more extensive test fixtures | Jesse Luehrs | 2019-11-05 | 7596 | -11/+7711 |
| | |||||
* | reset attrs at the start of diffs | Jesse Luehrs | 2019-11-05 | 1 | -4/+13 |
| | | | | | otherwise they might inherit the attrs state from the end of the previous state | ||||
* | fix erasing cells in diff | Jesse Luehrs | 2019-11-05 | 31 | -1/+82 |
| | | | | also add more comprehensive tests | ||||
* | add functionality for diffing two terminal screens | Jesse Luehrs | 2019-11-05 | 1 | -19/+70 |
| | |||||
* | adjust the way window contents are reported | Jesse Luehrs | 2019-11-05 | 11 | -208/+435 |
| | | | | | | | | | | | | | | | | 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. | ||||
* | stop wrapping if the number of cols changes | Jesse Luehrs | 2019-11-05 | 1 | -0/+19 |
| | |||||
* | preserve the state of empty cells in contents_formatted | Jesse Luehrs | 2019-11-05 | 1 | -0/+12 |
| | |||||
* | contents_formatted should return a Vec<u8> | Jesse Luehrs | 2019-11-05 | 4 | -16/+16 |
| | | | | | the overall terminal escape sequence byte stream is not necessarily utf8-safe, even if individual cell contents are | ||||
* | expose the screen separately from the parser | Jesse Luehrs | 2019-11-05 | 14 | -1280/+1422 |
| | |||||
* | also make sure the formatted contents stays the same | Jesse Luehrs | 2019-11-04 | 1 | -2/+5 |
| | |||||
* | more useful contents/contents_formatted behavior | Jesse Luehrs | 2019-11-04 | 9 | -281/+162 |
| | |||||
* | decsc should also save graphic rendition and origin mode | Jesse Luehrs | 2019-11-03 | 1 | -0/+21 |
| | |||||
* | move some tests around | Jesse Luehrs | 2019-11-03 | 2 | -100/+99 |
| | |||||
* | more tests | Jesse Luehrs | 2019-11-03 | 3 | -3/+90 |
| | |||||
* | rename some methods | Jesse Luehrs | 2019-11-03 | 12 | -181/+181 |
| |