aboutsummaryrefslogtreecommitdiffstats
path: root/src/screen.rs
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* docsJesse Luehrs2019-11-061-1/+11
|
* stop pretending to support left/right scroll regionsJesse Luehrs2019-11-061-22/+9
|
* contents_formatted and contents_diff should also restore the cursorJesse Luehrs2019-11-061-3/+17
| | | | since the cursor is a visible part of the terminal
* add functionality for diffing two terminal screensJesse Luehrs2019-11-051-0/+4
|
* adjust the way window contents are reportedJesse Luehrs2019-11-051-19/+46
| | | | | | | | | | | | | | | | 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.
* contents_formatted should return a Vec<u8>Jesse Luehrs2019-11-051-1/+1
| | | | | the overall terminal escape sequence byte stream is not necessarily utf8-safe, even if individual cell contents are
* formattingJesse Luehrs2019-11-051-2/+4
|
* docsJesse Luehrs2019-11-051-0/+1
|
* add Clone and Debug to ScreenJesse Luehrs2019-11-051-0/+1
|
* expose the screen separately from the parserJesse Luehrs2019-11-051-203/+171
|
* docsJesse Luehrs2019-11-041-0/+82
|
* stop reallocating vecs so muchJesse Luehrs2019-11-041-6/+2
|
* decsc should also save graphic rendition and origin modeJesse Luehrs2019-11-031-2/+14
|
* rename some methodsJesse Luehrs2019-11-031-6/+6
|
* actually, i do want to default to resetting everythingJesse Luehrs2019-11-031-9/+11
| | | | | the stuff that survives across a reset should be the special case, handled specially
* clean up public api a bitJesse Luehrs2019-11-031-53/+35
|
* fmtJesse Luehrs2019-11-031-4/+2
|
* alternate screen can just be a normal mode nowJesse Luehrs2019-11-031-8/+6
|
* simplifyJesse Luehrs2019-11-031-12/+12
|
* no reason to use references hereJesse Luehrs2019-11-031-3/+3
|
* use a bitset for text modes tooJesse Luehrs2019-11-031-12/+12
|
* use iterators in more places instead of raw indexingJesse Luehrs2019-11-021-20/+11
|
* simplify, and fix some more warningsJesse Luehrs2019-11-021-65/+52
|
* fixup! fix some warnings, and make str_width a bit more efficientJesse Luehrs2019-11-021-2/+2
|
* fix screen resizingJesse Luehrs2019-11-021-1/+2
|
* simplifyJesse Luehrs2019-11-021-27/+28
|
* these can just return directlyJesse Luehrs2019-11-021-6/+6
|
* add some loggingJesse Luehrs2019-11-021-10/+79
|