aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* simplifyJesse Luehrs2019-11-103-21/+4
|
* optimize attribute setting a bitJesse Luehrs2019-11-106-27/+86
|
* optimize cursor movement a bitJesse Luehrs2019-11-104-86/+157
|
* shuffle around some methodsJesse Luehrs2019-11-101-8/+8
|
* implement scrolling backJesse Luehrs2019-11-094-38/+91
|
* optionally save scrollback rowsJesse Luehrs2019-11-093-11/+33
|
* missed oneJesse Luehrs2019-11-091-1/+4
|
* use a fixed size buffer for cell dataJesse Luehrs2019-11-092-19/+61
| | | | this dramatically speeds things up
* another micro-optimizationJesse Luehrs2019-11-092-3/+5
|
* refactor terminal writingJesse Luehrs2019-11-096-173/+486
|
* remove unnecessary accessorsJesse Luehrs2019-11-081-52/+0
| | | | nobody should be caring about the terminal state internals
* ignore the scroll region when moving if we're already outside of itJesse Luehrs2019-11-081-4/+12
|
* contents_formatted should also reset attributesJesse Luehrs2019-11-081-1/+1
| | | | for the same reason as contents_diff
* stop treating soft hyphen speciallyJesse Luehrs2019-11-084-21/+12
|
* 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
* VPA should not be restricted to the scroll regionJesse Luehrs2019-11-081-2/+0
| | | | since it is absolute positioning
* fix RI at the top of the screenJesse Luehrs2019-11-081-1/+8
|
* fix wide character handling in contents_formatted and contents_diffJesse Luehrs2019-11-081-8/+22
|
* clearing cells sets the background colorJesse Luehrs2019-11-084-30/+39
|
* actually, we do need to always reset the hide cursor stateJesse Luehrs2019-11-061-3/+5
|
* also add a rows_diff methodJesse Luehrs2019-11-063-3/+37
|
* make row.contents_diff not require the row indexJesse Luehrs2019-11-062-14/+8
|
* docsJesse Luehrs2019-11-061-1/+11
|
* stop pretending to support left/right scroll regionsJesse Luehrs2019-11-062-30/+10
|
* contents_formatted should additionally clear the screenJesse Luehrs2019-11-061-1/+1
|
* contents_formatted and contents_diff should also restore the cursorJesse Luehrs2019-11-063-14/+54
| | | | since the cursor is a visible part of the terminal
* reset attrs at the start of diffsJesse Luehrs2019-11-051-1/+1
| | | | | otherwise they might inherit the attrs state from the end of the previous state
* fix erasing cells in diffJesse Luehrs2019-11-051-1/+1
| | | | also add more comprehensive tests
* add functionality for diffing two terminal screensJesse Luehrs2019-11-054-1/+64
|
* adjust the way window contents are reportedJesse Luehrs2019-11-053-107/+117
| | | | | | | | | | | | | | | | 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 changesJesse Luehrs2019-11-051-0/+6
|
* preserve the state of empty cells in contents_formattedJesse Luehrs2019-11-051-1/+1
|
* contents_formatted should return a Vec<u8>Jesse Luehrs2019-11-054-18/+36
| | | | | the overall terminal escape sequence byte stream is not necessarily utf8-safe, even if individual cell contents are
* formattingJesse Luehrs2019-11-051-2/+4
|
* this method isn't usefulJesse Luehrs2019-11-051-5/+0
|
* docsJesse Luehrs2019-11-053-0/+11
|
* add Clone and Debug to ScreenJesse Luehrs2019-11-053-1/+3
|
* expose the screen separately from the parserJesse Luehrs2019-11-053-205/+208
|
* clippyJesse Luehrs2019-11-041-0/+2
|
* docsJesse Luehrs2019-11-044-0/+125
|
* stop reallocating vecs so muchJesse Luehrs2019-11-045-13/+33
|
* more useful contents/contents_formatted behaviorJesse Luehrs2019-11-042-3/+3
|
* decsc should also save graphic rendition and origin modeJesse Luehrs2019-11-032-4/+20
|
* rename some methodsJesse Luehrs2019-11-032-8/+8
|
* fix off-by-one in erase_row_backwardJesse Luehrs2019-11-031-1/+1
| | | | | fixes behavior of CSI 1 J and CSI 1 K (which are not particularly commonly used, which is why this was missed before)
* fmtJesse Luehrs2019-11-032-21/+8
|
* 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-032-54/+36
|
* reorderJesse Luehrs2019-11-031-4/+4
|
* simplifyJesse Luehrs2019-11-032-10/+16
|