-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for "reflow"ing the Terminal buffer #4741
Commits on Jan 13, 2020
-
Configuration menu - View commit details
-
Copy full SHA for b5c8c85 - Browse repository at this point
Copy the full SHA b5c8c85View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9aec694 - Browse repository at this point
Copy the full SHA 9aec694View commit details -
Try to wrap the line properly with conpty
This confusingly doesn't always work
1Configuration menu - View commit details
-
Copy full SHA for 1a2654d - Browse repository at this point
Copy the full SHA 1a2654dView commit details
Commits on Jan 14, 2020
-
This works, fixing the ECH at end of wrapped line bug
The trick was that when a line that was exactly filled was followed by an empty line, we'd ECH when the cursor is virtually on the last char of the wrapped line. That was wrong. For a scenario like: |ABCDEF| | | We'd incorrectly render that as ["ABCDEF", "^[[K", "\r\n"]. That ECH in the middle there would erase the 'F', because the cursor was virtually still on the 'F' (because it had deferred wrapping to the next char). So, when we're about to ECH following a wrapped line, reset the _wrappedRow first, to make sure we correctly \r\n first.
Configuration menu - View commit details
-
Copy full SHA for aae6ce6 - Browse repository at this point
Copy the full SHA aae6ce6View commit details -
This is some cleanup, almost ready for PR but I need to write tests w…
…hich are blocked on #4213
Configuration menu - View commit details
-
Copy full SHA for 416be46 - Browse repository at this point
Copy the full SHA 416be46View commit details
Commits on Jan 27, 2020
-
Merge branch 'master' into dev/migrie/f/conpty-wrapping-003
# Conflicts: # src/buffer/out/textBuffer.cpp # src/buffer/out/textBuffer.hpp # src/host/screenInfo.cpp
Configuration menu - View commit details
-
Copy full SHA for 7f341a2 - Browse repository at this point
Copy the full SHA 7f341a2View commit details
Commits on Jan 28, 2020
-
I think this is all I need to support wrapped lines in the Terminal
(cherry picked from commit c21f740)
Configuration menu - View commit details
-
Copy full SHA for edeb346 - Browse repository at this point
Copy the full SHA edeb346View commit details -
Configuration menu - View commit details
-
Copy full SHA for ce3138c - Browse repository at this point
Copy the full SHA ce3138cView commit details -
Merge branch 'dev/migrie/b/just-conpty-test-fixes' into dev/migrie/f/…
…conpty-wrapping-003
Configuration menu - View commit details
-
Copy full SHA for 4a7f2e4 - Browse repository at this point
Copy the full SHA 4a7f2e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for bfde821 - Browse repository at this point
Copy the full SHA bfde821View commit details -
Configuration menu - View commit details
-
Copy full SHA for e000388 - Browse repository at this point
Copy the full SHA e000388View commit details -
I've found a bug with the line wrapping, going to go update the Paint…
…BufferLine interface
Configuration menu - View commit details
-
Copy full SHA for c040a82 - Browse repository at this point
Copy the full SHA c040a82View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0755fd7 - Browse repository at this point
Copy the full SHA 0755fd7View commit details
Commits on Jan 29, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 86623f5 - Browse repository at this point
Copy the full SHA 86623f5View commit details -
This actually fixes this bug - different terminals EOL wrap different…
…ly, esp conhost v wt v gnome-terminal. Remove ambiguity - just hardcore move the cursor in this scenario.
Configuration menu - View commit details
-
Copy full SHA for 7fd5d51 - Browse repository at this point
Copy the full SHA 7fd5d51View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9b6554b - Browse repository at this point
Copy the full SHA 9b6554bView commit details -
Try adding a test, but I can't get the test to repro the original beh…
…avior quite right
Configuration menu - View commit details
-
Copy full SHA for 0a98cce - Browse repository at this point
Copy the full SHA 0a98cceView commit details -
Revert "Try adding a test, but I can't get the test to repro the orig…
…inal behavior quite right" This reverts commit 0a98cce.
Configuration menu - View commit details
-
Copy full SHA for 40b4966 - Browse repository at this point
Copy the full SHA 40b4966View commit details -
Merge remote-tracking branch 'origin/master' into dev/migrie/b/1245-I…
…-actually-did-it-this-time
Configuration menu - View commit details
-
Copy full SHA for e0d251c - Browse repository at this point
Copy the full SHA e0d251cView commit details
Commits on Jan 30, 2020
-
Configuration menu - View commit details
-
Copy full SHA for b3de042 - Browse repository at this point
Copy the full SHA b3de042View commit details -
Configuration menu - View commit details
-
Copy full SHA for 96642de - Browse repository at this point
Copy the full SHA 96642deView commit details -
Merge branch 'dev/migrie/f/conpty-wrapping-003' into dev/migrie/f/ref…
…low-buffer-on-resize
Configuration menu - View commit details
-
Copy full SHA for 5a72af9 - Browse repository at this point
Copy the full SHA 5a72af9View commit details -
Merge branch 'dev/migrie/b/1245-I-actually-did-it-this-time' into dev…
…/migrie/f/reflow-buffer-on-resize # Conflicts: # src/renderer/vt/XtermEngine.cpp # src/renderer/vt/vtrenderer.hpp
Configuration menu - View commit details
-
Copy full SHA for 1788cb1 - Browse repository at this point
Copy the full SHA 1788cb1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 74a5283 - Browse repository at this point
Copy the full SHA 74a5283View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9580715 - Browse repository at this point
Copy the full SHA 9580715View commit details -
Configuration menu - View commit details
-
Copy full SHA for edea9a3 - Browse repository at this point
Copy the full SHA edea9a3View commit details
Commits on Jan 31, 2020
-
Merge remote-tracking branch 'origin/master' into dev/migrie/f/reflow…
…-buffer-on-resize
Configuration menu - View commit details
-
Copy full SHA for 097b62c - Browse repository at this point
Copy the full SHA 097b62cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2e815c8 - Browse repository at this point
Copy the full SHA 2e815c8View commit details
Commits on Feb 7, 2020
-
Merge remote-tracking branch 'origin/master' into dev/migrie/f/reflow…
…-buffer-on-resize
Configuration menu - View commit details
-
Copy full SHA for de9911d - Browse repository at this point
Copy the full SHA de9911dView commit details
Commits on Feb 11, 2020
-
Merge remote-tracking branch 'origin/master' into dev/migrie/f/reflow…
…-buffer-on-resize # Conflicts: # src/cascadia/UnitTests_TerminalCore/ConptyRoundtripTests.cpp
Configuration menu - View commit details
-
Copy full SHA for e653713 - Browse repository at this point
Copy the full SHA e653713View commit details
Commits on Feb 28, 2020
-
Merge branch 'master' into dev/migrie/f/reflow-buffer-on-resize
# Conflicts: # src/cascadia/UnitTests_TerminalCore/ConptyRoundtripTests.cpp # src/cascadia/UnitTests_TerminalCore/TerminalBufferTests.cpp # src/renderer/base/renderer.cpp # src/renderer/vt/paint.cpp
Configuration menu - View commit details
-
Copy full SHA for 1d87f66 - Browse repository at this point
Copy the full SHA 1d87f66View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c91a9b - Browse repository at this point
Copy the full SHA 0c91a9bView commit details
Commits on Mar 2, 2020
-
Merge remote-tracking branch 'origin/master' into dev/migrie/f/reflow…
…-buffer-on-resize
Configuration menu - View commit details
-
Copy full SHA for 0f283b4 - Browse repository at this point
Copy the full SHA 0f283b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ef2d88 - Browse repository at this point
Copy the full SHA 2ef2d88View commit details -
Configuration menu - View commit details
-
Copy full SHA for cc7b2d3 - Browse repository at this point
Copy the full SHA cc7b2d3View commit details
Commits on Mar 5, 2020
-
Configuration menu - View commit details
-
Copy full SHA for a8913ce - Browse repository at this point
Copy the full SHA a8913ceView commit details -
Configuration menu - View commit details
-
Copy full SHA for e0626c8 - Browse repository at this point
Copy the full SHA e0626c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4c368c3 - Browse repository at this point
Copy the full SHA 4c368c3View commit details
Commits on Mar 6, 2020
-
Merge remote-tracking branch 'origin/master' into dev/migrie/f/reflow…
…-buffer-on-resize
Configuration menu - View commit details
-
Copy full SHA for 4e3d008 - Browse repository at this point
Copy the full SHA 4e3d008View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6070095 - Browse repository at this point
Copy the full SHA 6070095View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7cca547 - Browse repository at this point
Copy the full SHA 7cca547View commit details
Commits on Mar 10, 2020
-
Merge remote-tracking branch 'origin/master' into dev/migrie/f/reflow…
…-buffer-on-resize
Configuration menu - View commit details
-
Copy full SHA for 1044d49 - Browse repository at this point
Copy the full SHA 1044d49View commit details -
Configuration menu - View commit details
-
Copy full SHA for 277f280 - Browse repository at this point
Copy the full SHA 277f280View commit details -
one was weird: after the reflow, the conpty would know that the cursor was in a different position than the last time it wrote text, so it would emit a sequence to position the cursor. However, with quirky resize, the terminal's cursor actually _was_ in the right position. So when conpty would emit a \n to move the cursor one line down, that would cause the Terminal to be out of sync. The second: we were calculating the new position of the top row of the buffer using the first cell of the row, not the last. This meant that if the top row wrapped in this new resize, we'd place the top of the new viewport one row higher than conpty would
Configuration menu - View commit details
-
Copy full SHA for 7a40fe3 - Browse repository at this point
Copy the full SHA 7a40fe3View commit details -
When we increase the width of the buffer, always use the old viewport…
… top to calculate our new position The trick with this case was that when there were multiple wrapped lines inside the viewport, the lastLine of the buffer would be farther down than we actually wanted. We'd still want the position of the top row in the buffer here, because the lines in the buffer could have _only_ de-wrapped, taking up less lines than before. This is however, _not_ right. When you execute `ll`, then increase the height, then decrease the width, we'll snape the bottom of the viewport to the bottom of the output text, as opposed to pinning to the top of the text.
1Configuration menu - View commit details
-
Copy full SHA for a3a9464 - Browse repository at this point
Copy the full SHA a3a9464View commit details -
When we change the width at all, use the top, not the bottom.
This fixes the bug from before. This breaks when we simultaneously change width and height. Scenario is powershell, `type rwr-temp.txt`. Increase font size. Viewport is not at the actual bottom of the buffer anymore -.- I think we need to use the scrollback value unless we're decreasing the height of the buffer as well
Configuration menu - View commit details
-
Copy full SHA for 4ca280c - Browse repository at this point
Copy the full SHA 4ca280cView commit details -
This seems like it finally does it
If the terminal height is getting smaller, always use the lastline to figure out where the new bottom line should be oh no that's not going to work is it. what happens with dy<0, dx>0? * dy<0, dx<0: - The Terminal is getting shorter, buffer less wide. Use the end of the text to find where we should place the viewport, since lines might have newly wrapped * dy<0, dx>0: - The Terminal is getting shorter, buffer wider. ?? Use the old top to find the new position. Lines migh de-wrap, and we'll want to stay stuck to the topmost line of the old buffer. ?? * dy>0, dx<0: - The Terminal is getting taller, buffer less wide. * dy>0, dx>0: - The Terminal is getting taller, buffer wider. Use the old top to find the new position. Lines migh de-wrap, and we'll want to stay stuck to the topmost line of the old buffer.
Configuration menu - View commit details
-
Copy full SHA for 077f678 - Browse repository at this point
Copy the full SHA 077f678View commit details
Commits on Mar 11, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 85efaa7 - Browse repository at this point
Copy the full SHA 85efaa7View commit details
Commits on Mar 12, 2020
-
Merge remote-tracking branch 'origin/master' into dev/migrie/f/reflow…
…-buffer-on-resize
Configuration menu - View commit details
-
Copy full SHA for 9127e1c - Browse repository at this point
Copy the full SHA 9127e1cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 61ccc28 - Browse repository at this point
Copy the full SHA 61ccc28View commit details -
someday I"ll actually save all the files with changes in them before …
…committing and pushing
Configuration menu - View commit details
-
Copy full SHA for aff3cc5 - Browse repository at this point
Copy the full SHA aff3cc5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0532c66 - Browse repository at this point
Copy the full SHA 0532c66View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5394b30 - Browse repository at this point
Copy the full SHA 5394b30View commit details -
Merge remote-tracking branch 'origin/master' into dev/migrie/f/reflow…
…-buffer-on-resize # Conflicts: # src/cascadia/UnitTests_TerminalCore/ConptyRoundtripTests.cpp
Configuration menu - View commit details
-
Copy full SHA for 7ecd3c6 - Browse repository at this point
Copy the full SHA 7ecd3c6View commit details