Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | let's actually stop being so aggressive here | Jesse Luehrs | 2021-12-14 | 1 | -26/+28 |
| | |||||
* | also stop using as casts | Jesse Luehrs | 2021-12-14 | 1 | -6/+6 |
| | |||||
* | replace all uses of unwrap(), expect(), and indexing with unreachable!() | Jesse Luehrs | 2021-12-14 | 1 | -25/+160 |
| | | | | and also document why they are unreachable | ||||
* | remove current_cell/current_cell_mut | Jesse Luehrs | 2021-12-14 | 1 | -3/+4 |
| | | | | | | | it had an unstated precondition that the cursor was not positioned off the end of a row, which happened to be true in all existing uses, but was hard to verify. moving the unwrap out to the call site makes it easier to audit each use. | ||||
* | remove unnecessary condition | Jesse Luehrs | 2021-12-14 | 1 | -15/+6 |
| | | | | | we already wrapped (by calling col_wrap) so pos.col will always be less than size.cols | ||||
* | just pass in the row on its own | Jesse Luehrs | 2021-12-14 | 1 | -40/+19 |
| | |||||
* | clean up clippy stuff | Jesse Luehrs | 2021-12-13 | 1 | -3/+2 |
| | |||||
* | ensure that diffing a screen against itself always returns nothing | Jesse Luehrs | 2021-12-10 | 1 | -0/+1 |
| | |||||
* | add Screen::errors | Jesse Luehrs | 2021-12-06 | 1 | -0/+23 |
| | |||||
* | better (i think?) handling of weird character widths | Jesse Luehrs | 2021-12-06 | 1 | -1/+6 |
| | | | | | control codes are ignored completely, and everything else defaults to 1 instead of 0 | ||||
* | delay allocation of the alternate screen | Jesse Luehrs | 2021-12-04 | 1 | -1/+4 |
| | |||||
* | fix receiving empty params | Jesse Luehrs | 2021-12-03 | 1 | -5/+5 |
| | |||||
* | wide continuation cells should not have attributes | Jesse Luehrs | 2021-12-03 | 1 | -1/+1 |
| | | | | it confuses things like cell insertion | ||||
* | another wide char/line wrapping edge case | Jesse Luehrs | 2021-12-03 | 1 | -6/+12 |
| | |||||
* | more line wrapping bugs | Jesse Luehrs | 2021-11-19 | 1 | -1/+1 |
| | |||||
* | fix up some more issues with row_formatted | Jesse Luehrs | 2021-11-19 | 1 | -8/+20 |
| | | | | handle cursor positioning and wrapping a bit better | ||||
* | remove special casing for combined character wrapping | Jesse Luehrs | 2021-11-19 | 1 | -13/+2 |
| | | | | | | | the comment here is just... not true? not really sure why i thought it was, but testing on all of alacritty, xterm, and tmux show the opposite behavior to what is in the comment, so i'm going to assume this is just wrong | ||||
* | edition 2021 | Jesse Luehrs | 2021-11-16 | 1 | -1/+0 |
| | |||||
* | expose some extra internal state to help reproduce line wrapping | Jesse Luehrs | 2021-11-16 | 1 | -7/+42 |
| | | | | | | | | adds `row_wrapped` and `cursor_state_formatted` to allow you to better recreate the internal state of the cursor when using `rows_formatted`. also make `rows_formatted` keep track of the wrapping state itself, since there are some edge cases that aren't really able to easily be tracked externally. | ||||
* | reorder the functions | Jesse Luehrs | 2021-11-12 | 1 | -6/+6 |
| | |||||
* | add a function to return whether the alternate screen is in use | Jesse Luehrs | 2021-11-12 | 1 | -0/+6 |
| | |||||
* | clippy | Jesse Luehrs | 2021-11-12 | 1 | -16/+16 |
| | |||||
* | add Screen::state_formatted and Screen::state_diff | Jesse Luehrs | 2021-03-09 | 1 | -0/+26 |
| | |||||
* | fix attributes_formatted, remove attributes_diff | Jesse Luehrs | 2021-03-09 | 1 | -14/+7 |
| | | | | also improve the documentation and add more tests | ||||
* | drop enumset dependency | Jesse Luehrs | 2021-03-07 | 1 | -43/+40 |
| | |||||
* | also provide methods to restore the current drawing attribute state | Jesse Luehrs | 2021-03-07 | 1 | -0/+38 |
| | |||||
* | add methods to retrieve the current drawing state attributes | Jesse Luehrs | 2021-03-06 | 1 | -0/+40 |
| | |||||
* | support sgr with subparameters | Jesse Luehrs | 2021-03-05 | 1 | -46/+105 |
| | |||||
* | clippy | Jesse Luehrs | 2021-03-05 | 1 | -4/+4 |
| | |||||
* | bump vte | Jesse Luehrs | 2021-03-05 | 1 | -106/+110 |
| | |||||
* | add contents_between, for things like clipboard selections | Jesse Luehrs | 2020-05-11 | 1 | -0/+59 |
| | |||||
* | clippy | Jesse Luehrs | 2020-02-09 | 1 | -0/+24 |
| | |||||
* | bump vte version | Jesse Luehrs | 2020-02-09 | 1 | -6/+12 |
| | |||||
* | need to update pos after potentially wrapping | Jesse Luehrs | 2019-12-06 | 1 | -0/+1 |
| | |||||
* | fix contents when a wrapped row is followed by an empty row | Jesse Luehrs | 2019-12-06 | 1 | -1/+1 |
| | |||||
* | zero-width characters shouldn't clear wide characters | Jesse Luehrs | 2019-12-06 | 1 | -32/+33 |
| | |||||
* | simplify the behavior around end of line wrapping here | Jesse Luehrs | 2019-12-05 | 1 | -16/+7 |
| | | | | | | the behavior i was aiming for had way too many special cases, so just stop trying to do it and do the simple thing instead (this is all stuff that is essentially never going to come up in reality). | ||||
* | fix applying combining characters to wide characters | Jesse Luehrs | 2019-12-05 | 1 | -3/+20 |
| | |||||
* | track fullwidth continuation cells explicitly | Jesse Luehrs | 2019-12-05 | 1 | -38/+85 |
| | | | | this makes the logic a bit easier to follow | ||||
* | fix a couple more issues with end of line behavior | Jesse Luehrs | 2019-12-05 | 1 | -10/+36 |
| | |||||
* | combining characters should also trigger a cursor wrap | Jesse Luehrs | 2019-11-20 | 1 | -1/+10 |
| | | | | | this seems pretty weird, but it is what all other terminals i can find do, so | ||||
* | fix zero width characters at the end of a row | Jesse Luehrs | 2019-11-13 | 1 | -1/+1 |
| | |||||
* | add more debug logging | Jesse Luehrs | 2019-11-13 | 1 | -9/+31 |
| | |||||
* | bump down the logging priority here | Jesse Luehrs | 2019-11-13 | 1 | -14/+14 |
| | | | | so that apps can more easily compile these out | ||||
* | docs | Jesse Luehrs | 2019-11-13 | 1 | -2/+21 |
| | |||||
* | split formatted calculations into multiple methods | Jesse Luehrs | 2019-11-12 | 1 | -25/+128 |
| | | | | | different applications want to be able to apply different things, so this gives more control | ||||
* | make contents_diff include bell state | Jesse Luehrs | 2019-11-12 | 1 | -2/+16 |
| | | | | i don't think it makes sense for contents_formatted to include this | ||||
* | remove parser.screen_mut | Jesse Luehrs | 2019-11-12 | 1 | -48/+26 |
| | | | | | | 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. | ||||
* | remove comment | Jesse Luehrs | 2019-11-11 | 1 | -1/+0 |
| | |||||
* | preserve all text attributes on cleared cells | Jesse Luehrs | 2019-11-11 | 1 | -14/+14 |
| | | | | | | | 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) |