Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | actually, remove normalization entirely | Jesse Luehrs | 2019-12-07 | 1 | -1/+0 |
| | | | | | | | normalization has some weird edge cases that cause incorrect behavior, since we aren't implementing full grapheme segmentation (for instance, a single codepoint can be normalized into three different codepoints, and there are codepoints that are combining characters but have width != 0) | ||||
* | convert tests to fixtures | Jesse Luehrs | 2019-12-06 | 1 | -249/+8 |
| | |||||
* | simplify the behavior around end of line wrapping here | Jesse Luehrs | 2019-12-05 | 1 | -2/+2 |
| | | | | | | 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). | ||||
* | ensure cells with contents always have width | Jesse Luehrs | 2019-12-05 | 1 | -0/+6 |
| | | | | it gets ambiguous where the zero-width characters should go otherwise | ||||
* | handle wide char wrapping correctly | Jesse Luehrs | 2019-12-05 | 1 | -0/+4 |
| | | | | | wrapping a wide char should set the wrapping state of the line even if it wrapped before the last column | ||||
* | fix applying combining characters to wide characters | Jesse Luehrs | 2019-12-05 | 1 | -0/+4 |
| | |||||
* | track fullwidth continuation cells explicitly | Jesse Luehrs | 2019-12-05 | 1 | -0/+14 |
| | | | | 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 | -0/+11 |
| | |||||
* | make unicode normalization optional | Jesse Luehrs | 2019-11-23 | 1 | -0/+1 |
| | | | | | | it's not always necessary or desired, and adds quite a lot to the binary size (for instance, the problem it solves is pretty much non-existent in web browsers, and wasm builds are also very sensitive to code size) | ||||
* | combining characters should also trigger a cursor wrap | Jesse Luehrs | 2019-11-20 | 1 | -1/+1 |
| | | | | | this seems pretty weird, but it is what all other terminals i can find do, so | ||||
* | handle wrapped cursors properly on output | Jesse Luehrs | 2019-11-20 | 1 | -0/+15 |
| | |||||
* | fix zero width characters at the end of a row | Jesse Luehrs | 2019-11-13 | 1 | -0/+8 |
| | |||||
* | optimize erases a bit more | Jesse Luehrs | 2019-11-11 | 1 | -2/+2 |
| | |||||
* | actually, i do need to disable this in each test | Jesse Luehrs | 2019-11-11 | 1 | -0/+2 |
| | |||||
* | allow cognitive_complexity everywhere | Jesse Luehrs | 2019-11-11 | 1 | -2/+0 |
| | |||||
* | add Default impl for Parser | Jesse Luehrs | 2019-11-10 | 1 | -6/+6 |
| | |||||
* | optimize attribute setting a bit | Jesse Luehrs | 2019-11-10 | 1 | -10/+7 |
| | |||||
* | optimize cursor movement a bit | Jesse Luehrs | 2019-11-10 | 1 | -5/+5 |
| | |||||
* | optionally save scrollback rows | Jesse Luehrs | 2019-11-09 | 1 | -6/+6 |
| | |||||
* | 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 | 1 | -6/+6 |
| | |||||
* | fix tests for the attribute reset change | Jesse Luehrs | 2019-11-08 | 1 | -6/+6 |
| | |||||
* | 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 | ||||
* | fix wide character handling in contents_formatted and contents_diff | Jesse Luehrs | 2019-11-08 | 1 | -0/+23 |
| | |||||
* | remove some unnecessary tests | Jesse Luehrs | 2019-11-08 | 1 | -4/+0 |
| | |||||
* | adjust the way window contents are reported | Jesse Luehrs | 2019-11-05 | 1 | -25/+25 |
| | | | | | | | | | | | | | | | | 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. | ||||
* | expose the screen separately from the parser | Jesse Luehrs | 2019-11-05 | 1 | -206/+206 |
| | |||||
* | more useful contents/contents_formatted behavior | Jesse Luehrs | 2019-11-04 | 1 | -47/+23 |
| | |||||
* | move some tests around | Jesse Luehrs | 2019-11-03 | 1 | -0/+99 |
| | |||||
* | rename some methods | Jesse Luehrs | 2019-11-03 | 1 | -22/+22 |
| | |||||
* | add normalization for unicode cell values | Jesse Luehrs | 2019-10-31 | 1 | -2/+2 |
| | |||||
* | basic structure of vte parser | Jesse Luehrs | 2019-10-29 | 1 | -29/+26 |
| | |||||
* | start the rewrite | Jesse Luehrs | 2019-10-29 | 1 | -1/+1 |
| | |||||
* | rustfmt | Jesse Luehrs | 2019-10-29 | 1 | -8/+32 |
| | |||||
* | add some more tests for a bug i fixed in libvt100 | Jesse Luehrs | 2016-05-07 | 1 | -0/+48 |
| | |||||
* | add a bunch of tests | Jesse Luehrs | 2016-04-28 | 1 | -0/+94 |