Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | one more try for leaving a cursor at the end of a row | Jesse Luehrs | 2019-12-07 | 3 | -0/+15 | |
| | ||||||
* | actually, remove normalization entirely | Jesse Luehrs | 2019-12-07 | 9 | -11/+24 | |
| | | | | | | | 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) | |||||
* | need to update pos after potentially wrapping | Jesse Luehrs | 2019-12-06 | 3 | -0/+27 | |
| | ||||||
* | more line wrapping fixes | Jesse Luehrs | 2019-12-06 | 11 | -0/+100 | |
| | ||||||
* | fix contents when a wrapped row is followed by an empty row | Jesse Luehrs | 2019-12-06 | 1 | -1/+1 | |
| | ||||||
* | also move the wide char check inside the loop for ECH | Jesse Luehrs | 2019-12-06 | 3 | -0/+17 | |
| | ||||||
* | handle line wrapping with wide characters + combining characters | Jesse Luehrs | 2019-12-06 | 3 | -0/+19 | |
| | ||||||
* | zero-width characters shouldn't clear wide characters | Jesse Luehrs | 2019-12-06 | 3 | -0/+22 | |
| | ||||||
* | preserve wrapping state when possible | Jesse Luehrs | 2019-12-06 | 11 | -0/+81 | |
| | ||||||
* | remove remaining unnecessary lint flags | Jesse Luehrs | 2019-12-06 | 4 | -8/+1 | |
| | ||||||
* | convert tests to fixtures | Jesse Luehrs | 2019-12-06 | 662 | -2306/+65213 | |
| | ||||||
* | start restructuring the test suite | Jesse Luehrs | 2019-12-06 | 3 | -150/+572 | |
| | ||||||
* | 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 | 3 | -6/+71 | |
| | ||||||
* | 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 | |
| | ||||||
* | split formatted calculations into multiple methods | Jesse Luehrs | 2019-11-12 | 4 | -9/+332 | |
| | | | | | different applications want to be able to apply different things, so this gives more control | |||||
* | actually resize the underlying grid when requested | Jesse Luehrs | 2019-11-12 | 1 | -0/+14 | |
| | ||||||
* | add another test | Jesse Luehrs | 2019-11-12 | 1 | -0/+21 | |
| | ||||||
* | rename test | Jesse Luehrs | 2019-11-12 | 1 | -1/+1 | |
| | | | | so that it's easier to run on its own | |||||
* | make contents_diff include bell state | Jesse Luehrs | 2019-11-12 | 2 | -0/+35 | |
| | | | | i don't think it makes sense for contents_formatted to include this | |||||
* | remove parser.screen_mut | Jesse Luehrs | 2019-11-12 | 5 | -33/+42 | |
| | | | | | | 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. | |||||
* | optimize erases a bit more | Jesse Luehrs | 2019-11-11 | 3 | -28/+12 | |
| | ||||||
* | preserve all text attributes on cleared cells | Jesse Luehrs | 2019-11-11 | 1 | -0/+44 | |
| | | | | | | | 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) | |||||
* | actually, i do need to disable this in each test | Jesse Luehrs | 2019-11-11 | 14 | -0/+28 | |
| | ||||||
* | allow cognitive_complexity everywhere | Jesse Luehrs | 2019-11-11 | 7 | -13/+0 | |
| | ||||||
* | add Default impl for Parser | Jesse Luehrs | 2019-11-10 | 13 | -50/+50 | |
| | ||||||
* | remove the scroll_to and scroll_pos methods | Jesse Luehrs | 2019-11-10 | 1 | -28/+28 | |
| | | | | | they are unnecessary, you can just call the methods on the screen object directly | |||||
* | optimize attribute setting a bit | Jesse Luehrs | 2019-11-10 | 3 | -28/+20 | |
| | ||||||
* | optimize cursor movement a bit | Jesse Luehrs | 2019-11-10 | 5 | -55/+54 | |
| | ||||||
* | implement scrolling back | Jesse Luehrs | 2019-11-09 | 1 | -0/+84 | |
| | ||||||
* | optionally save scrollback rows | Jesse Luehrs | 2019-11-09 | 14 | -53/+53 | |
| | ||||||
* | 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 | 2 | -16/+13 | |
| | ||||||
* | remove unnecessary accessors | Jesse Luehrs | 2019-11-08 | 4 | -106/+0 | |
| | | | | nobody should be caring about the terminal state internals | |||||
* | ignore the scroll region when moving if we're already outside of it | Jesse Luehrs | 2019-11-08 | 1 | -0/+3 | |
| | ||||||
* | fix tests for the attribute reset change | Jesse Luehrs | 2019-11-08 | 5 | -36/+36 | |
| | ||||||
* | 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 | |||||
* | VPA should not be restricted to the scroll region | Jesse Luehrs | 2019-11-08 | 1 | -0/+4 | |
| | | | | since it is absolute positioning | |||||
* | fix RI at the top of the screen | Jesse Luehrs | 2019-11-08 | 1 | -0/+6 | |
| | ||||||
* | fix wide character handling in contents_formatted and contents_diff | Jesse Luehrs | 2019-11-08 | 2 | -0/+61 | |
| | ||||||
* | remove some unnecessary tests | Jesse Luehrs | 2019-11-08 | 1 | -4/+0 | |
| | ||||||
* | clearing cells sets the background color | Jesse Luehrs | 2019-11-08 | 1 | -0/+284 | |
| |