-
Notifications
You must be signed in to change notification settings - Fork 2k
ssh/terminal: Use move-N sequences for >1 cursor moves #82
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
Conversation
This PR (HEAD: 02cc180) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/c/crypto/+/169077 to see it. Tip: You can toggle comments from me using the |
Message from Andrey Petrov: Patch Set 1: A few notes:
Please don’t reply on this GitHub thread. Visit golang.org/cl/169077. |
Message from Brad Fitzpatrick: Patch Set 1: Run-TryBot+1 Code-Review+2 R=agl Adam, any objections? Please don’t reply on this GitHub thread. Visit golang.org/cl/169077. |
Message from Gobot Gobot: Patch Set 1: TryBots beginning. Status page: https://farmer.golang.org/try?commit=8a1dc27f Please don’t reply on this GitHub thread. Visit golang.org/cl/169077. |
Message from Andrey Petrov: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/169077. |
Before, we emitted N single-move sequences on a cursor move. For example, "move 4 left" would emit "^[[D^[[D^[[D^[[D". With this change, it would emit "^[[4D". Using variable move sequences when possible reduces the amount of rendering output that the terminal implementation produces. This can have some low-level performance benefits, but also helps consumers reason through the produced output. Includes a test with a couple of cases. Note: The old implementation used ^[[D instead of ^[D which is also valid. This is true in several unrelated places, so this implementation continues to use ^[[D for consistency.
Message from Gobot Gobot: Patch Set 1: TryBot-Result+1 TryBots are happy. Please don’t reply on this GitHub thread. Visit golang.org/cl/169077. |
02cc180
to
92ef253
Compare
This PR (HEAD: 92ef253) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/c/crypto/+/169077 to see it. Tip: You can toggle comments from me using the |
Message from Andrey Petrov: Patch Set 2: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/169077. |
Message from Adam Langley: Patch Set 2: Code-Review+2 If this is widely supported by terminals then LGTM. Please don’t reply on this GitHub thread. Visit golang.org/cl/169077. |
Before, we emitted N single-move sequences on a cursor move. For example, "move 4 left" would emit "^[[D^[[D^[[D^[[D". With this change, it would emit "^[[4D". Using variable move sequences when possible reduces the amount of rendering output that the terminal implementation produces. This can have some low-level performance benefits, but also helps consumers reason through the produced output. Includes a test with a couple of cases. Note: The old implementation used ^[[D instead of ^[D which is also valid. This is true in several unrelated places, so this implementation continues to use ^[[D for consistency. Change-Id: If38eaaed8fb4075499fdda54c06681dc34c3ad70 GitHub-Last-Rev: 92ef253 GitHub-Pull-Request: #82 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/169077 Reviewed-by: Adam Langley <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]>
This PR is being closed because golang.org/cl/169077 has been merged. |
Before, we emitted N single-move sequences on a cursor move. For example, "move 4 left" would emit "^[[D^[[D^[[D^[[D". With this change, it would emit "^[[4D". Using variable move sequences when possible reduces the amount of rendering output that the terminal implementation produces. This can have some low-level performance benefits, but also helps consumers reason through the produced output. Includes a test with a couple of cases. Note: The old implementation used ^[[D instead of ^[D which is also valid. This is true in several unrelated places, so this implementation continues to use ^[[D for consistency. Change-Id: If38eaaed8fb4075499fdda54c06681dc34c3ad70 GitHub-Last-Rev: 92ef2538d33a9493f3df09984c277dfd8bf0abf4 GitHub-Pull-Request: golang/crypto#82 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/169077 Reviewed-by: Adam Langley <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]>
Before, we emitted N single-move sequences on a cursor move. For example, "move 4 left" would emit "^[[D^[[D^[[D^[[D". With this change, it would emit "^[[4D". Using variable move sequences when possible reduces the amount of rendering output that the terminal implementation produces. This can have some low-level performance benefits, but also helps consumers reason through the produced output. Includes a test with a couple of cases. Note: The old implementation used ^[[D instead of ^[D which is also valid. This is true in several unrelated places, so this implementation continues to use ^[[D for consistency. Change-Id: If38eaaed8fb4075499fdda54c06681dc34c3ad70 GitHub-Last-Rev: 92ef2538d33a9493f3df09984c277dfd8bf0abf4 GitHub-Pull-Request: golang/crypto#82 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/169077 Reviewed-by: Adam Langley <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]>
Before, we emitted N single-move sequences on a cursor move. For example, "move 4 left" would emit "^[[D^[[D^[[D^[[D". With this change, it would emit "^[[4D". Using variable move sequences when possible reduces the amount of rendering output that the terminal implementation produces. This can have some low-level performance benefits, but also helps consumers reason through the produced output. Includes a test with a couple of cases. Note: The old implementation used ^[[D instead of ^[D which is also valid. This is true in several unrelated places, so this implementation continues to use ^[[D for consistency. Change-Id: If38eaaed8fb4075499fdda54c06681dc34c3ad70 GitHub-Last-Rev: 92ef2538d33a9493f3df09984c277dfd8bf0abf4 GitHub-Pull-Request: golang/crypto#82 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/169077 Reviewed-by: Adam Langley <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]>
Before, we emitted N single-move sequences on a cursor move. For example, "move 4 left" would emit "^[[D^[[D^[[D^[[D". With this change, it would emit "^[[4D". Using variable move sequences when possible reduces the amount of rendering output that the terminal implementation produces. This can have some low-level performance benefits, but also helps consumers reason through the produced output. Includes a test with a couple of cases. Note: The old implementation used ^[[D instead of ^[D which is also valid. This is true in several unrelated places, so this implementation continues to use ^[[D for consistency. Change-Id: If38eaaed8fb4075499fdda54c06681dc34c3ad70 GitHub-Last-Rev: 92ef2538d33a9493f3df09984c277dfd8bf0abf4 GitHub-Pull-Request: golang/crypto#82 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/169077 Reviewed-by: Adam Langley <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]>
Before, we emitted N single-move sequences on a cursor move. For example, "move 4 left" would emit "^[[D^[[D^[[D^[[D". With this change, it would emit "^[[4D". Using variable move sequences when possible reduces the amount of rendering output that the terminal implementation produces. This can have some low-level performance benefits, but also helps consumers reason through the produced output. Includes a test with a couple of cases. Note: The old implementation used ^[[D instead of ^[D which is also valid. This is true in several unrelated places, so this implementation continues to use ^[[D for consistency. Change-Id: If38eaaed8fb4075499fdda54c06681dc34c3ad70 GitHub-Last-Rev: 92ef2538d33a9493f3df09984c277dfd8bf0abf4 GitHub-Pull-Request: golang/crypto#82 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/169077 Reviewed-by: Adam Langley <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]>
Before, we emitted N single-move sequences on a cursor move. For example, "move 4 left" would emit "^[[D^[[D^[[D^[[D". With this change, it would emit "^[[4D". Using variable move sequences when possible reduces the amount of rendering output that the terminal implementation produces. This can have some low-level performance benefits, but also helps consumers reason through the produced output. Includes a test with a couple of cases. Note: The old implementation used ^[[D instead of ^[D which is also valid. This is true in several unrelated places, so this implementation continues to use ^[[D for consistency. Change-Id: If38eaaed8fb4075499fdda54c06681dc34c3ad70 GitHub-Last-Rev: 92ef2538d33a9493f3df09984c277dfd8bf0abf4 GitHub-Pull-Request: golang/crypto#82 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/169077 Reviewed-by: Adam Langley <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]>
Before, we emitted N single-move sequences on a cursor move. For example, "move 4 left" would emit "^[[D^[[D^[[D^[[D". With this change, it would emit "^[[4D". Using variable move sequences when possible reduces the amount of rendering output that the terminal implementation produces. This can have some low-level performance benefits, but also helps consumers reason through the produced output. Includes a test with a couple of cases. Note: The old implementation used ^[[D instead of ^[D which is also valid. This is true in several unrelated places, so this implementation continues to use ^[[D for consistency. Change-Id: If38eaaed8fb4075499fdda54c06681dc34c3ad70 GitHub-Last-Rev: 92ef2538d33a9493f3df09984c277dfd8bf0abf4 GitHub-Pull-Request: golang/crypto#82 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/169077 Reviewed-by: Adam Langley <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]>
Before, we emitted N single-move sequences on a cursor move. For example, "move 4 left" would emit "^[[D^[[D^[[D^[[D". With this change, it would emit "^[[4D". Using variable move sequences when possible reduces the amount of rendering output that the terminal implementation produces. This can have some low-level performance benefits, but also helps consumers reason through the produced output. Includes a test with a couple of cases. Note: The old implementation used ^[[D instead of ^[D which is also valid. This is true in several unrelated places, so this implementation continues to use ^[[D for consistency. Change-Id: If38eaaed8fb4075499fdda54c06681dc34c3ad70 GitHub-Last-Rev: 92ef2538d33a9493f3df09984c277dfd8bf0abf4 GitHub-Pull-Request: golang/crypto#82 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/169077 Reviewed-by: Adam Langley <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]>
Before, we emitted N single-move sequences on a cursor move. For example, "move 4 left" would emit "^[[D^[[D^[[D^[[D". With this change, it would emit "^[[4D". Using variable move sequences when possible reduces the amount of rendering output that the terminal implementation produces. This can have some low-level performance benefits, but also helps consumers reason through the produced output. Includes a test with a couple of cases. Note: The old implementation used ^[[D instead of ^[D which is also valid. This is true in several unrelated places, so this implementation continues to use ^[[D for consistency. Change-Id: If38eaaed8fb4075499fdda54c06681dc34c3ad70 GitHub-Last-Rev: 92ef253 GitHub-Pull-Request: golang#82 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/169077 Reviewed-by: Adam Langley <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]>
Before, we emitted N single-move sequences on a cursor move. For example, "move 4 left" would emit "^[[D^[[D^[[D^[[D". With this change, it would emit "^[[4D". Using variable move sequences when possible reduces the amount of rendering output that the terminal implementation produces. This can have some low-level performance benefits, but also helps consumers reason through the produced output. Includes a test with a couple of cases. Note: The old implementation used ^[[D instead of ^[D which is also valid. This is true in several unrelated places, so this implementation continues to use ^[[D for consistency. Change-Id: If38eaaed8fb4075499fdda54c06681dc34c3ad70 GitHub-Last-Rev: 92ef2538d33a9493f3df09984c277dfd8bf0abf4 GitHub-Pull-Request: golang/crypto#82 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/169077 Reviewed-by: Adam Langley <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]>
Before, we emitted N single-move sequences on a cursor move. For
example, "move 4 left" would emit "^[[D^[[D^[[D^[[D". With this change,
it would emit "^[[4D".
Using variable move sequences when possible reduces the amount of
rendering output that the terminal implementation produces. This can
have some low-level performance benefits, but also helps consumers
reason through the produced output.
Includes a test with a couple of cases.
Note: The old implementation used ^[[D instead of ^[D which is also
valid. This is true in several unrelated places, so this implementation
continues to use ^[[D for consistency.