aboutsummaryrefslogtreecommitdiffstats
path: root/src/screen.rs
Commit message (Collapse)AuthorAgeFilesLines
* more line wrapping bugsJesse Luehrs2021-11-191-1/+1
|
* fix up some more issues with row_formattedJesse Luehrs2021-11-191-8/+20
| | | | handle cursor positioning and wrapping a bit better
* remove special casing for combined character wrappingJesse Luehrs2021-11-191-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 2021Jesse Luehrs2021-11-161-1/+0
|
* expose some extra internal state to help reproduce line wrappingJesse Luehrs2021-11-161-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 functionsJesse Luehrs2021-11-121-6/+6
|
* add a function to return whether the alternate screen is in useJesse Luehrs2021-11-121-0/+6
|
* clippyJesse Luehrs2021-11-121-16/+16
|
* add Screen::state_formatted and Screen::state_diffJesse Luehrs2021-03-091-0/+26
|
* fix attributes_formatted, remove attributes_diffJesse Luehrs2021-03-091-14/+7
| | | | also improve the documentation and add more tests
* drop enumset dependencyJesse Luehrs2021-03-071-43/+40
|
* also provide methods to restore the current drawing attribute stateJesse Luehrs2021-03-071-0/+38
|
* add methods to retrieve the current drawing state attributesJesse Luehrs2021-03-061-0/+40
|
* support sgr with subparametersJesse Luehrs2021-03-051-46/+105
|
* clippyJesse Luehrs2021-03-051-4/+4
|
* bump vteJesse Luehrs2021-03-051-106/+110
|
* add contents_between, for things like clipboard selectionsJesse Luehrs2020-05-111-0/+59
|
* clippyJesse Luehrs2020-02-091-0/+24
|
* bump vte versionJesse Luehrs2020-02-091-6/+12
|
* need to update pos after potentially wrappingJesse Luehrs2019-12-061-0/+1
|
* fix contents when a wrapped row is followed by an empty rowJesse Luehrs2019-12-061-1/+1
|
* zero-width characters shouldn't clear wide charactersJesse Luehrs2019-12-061-32/+33
|
* simplify the behavior around end of line wrapping hereJesse Luehrs2019-12-051-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 charactersJesse Luehrs2019-12-051-3/+20
|
* track fullwidth continuation cells explicitlyJesse Luehrs2019-12-051-38/+85
| | | | this makes the logic a bit easier to follow
* fix a couple more issues with end of line behaviorJesse Luehrs2019-12-051-10/+36
|
* combining characters should also trigger a cursor wrapJesse Luehrs2019-11-201-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 rowJesse Luehrs2019-11-131-1/+1
|
* add more debug loggingJesse Luehrs2019-11-131-9/+31
|
* bump down the logging priority hereJesse Luehrs2019-11-131-14/+14
| | | | so that apps can more easily compile these out
* docsJesse Luehrs2019-11-131-2/+21
|
* split formatted calculations into multiple methodsJesse Luehrs2019-11-121-25/+128
| | | | | different applications want to be able to apply different things, so this gives more control
* make contents_diff include bell stateJesse Luehrs2019-11-121-2/+16
| | | | i don't think it makes sense for contents_formatted to include this
* remove parser.screen_mutJesse Luehrs2019-11-121-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 commentJesse Luehrs2019-11-111-1/+0
|
* preserve all text attributes on cleared cellsJesse Luehrs2019-11-111-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)
* stop using formats at allJesse Luehrs2019-11-111-13/+4
| | | | they are too slow
* docsJesse Luehrs2019-11-101-8/+23
|
* optimize attribute setting a bitJesse Luehrs2019-11-101-2/+8
|
* optimize cursor movement a bitJesse Luehrs2019-11-101-3/+11
|
* implement scrolling backJesse Luehrs2019-11-091-15/+25
|
* optionally save scrollback rowsJesse Luehrs2019-11-091-4/+7
|
* another micro-optimizationJesse Luehrs2019-11-091-1/+1
|
* refactor terminal writingJesse Luehrs2019-11-091-22/+46
|
* remove unnecessary accessorsJesse Luehrs2019-11-081-52/+0
| | | | nobody should be caring about the terminal state internals
* stop treating soft hyphen speciallyJesse Luehrs2019-11-081-1/+2
|
* don't leave old character data in the second cell of a wide characterJesse Luehrs2019-11-081-1/+7
| | | | | | 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
* clearing cells sets the background colorJesse Luehrs2019-11-081-8/+12
|
* actually, we do need to always reset the hide cursor stateJesse Luehrs2019-11-061-3/+5
|
* also add a rows_diff methodJesse Luehrs2019-11-061-0/+27
|