fix: cmd+triple-click select all command output when first line wraps #5373
+55
−19
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I found this bug was easily reproduced with any command that wrapped to multiple rows on the first line of its output. The cause is that we stop searching for rows once we reach the first one where
row.semantic_prompt = .command
, which means that we reach the bottom line of wrapped output and stop there.This PR makes it so that we continue iterating until we reach a row where
semantic_prompt != .command
and then return the previous one (or the last one if we run out of rows).I also updated the test cases to include this.
I considered that this bug would also be avoided if we didn't propagate the
command
semantic prompt to additional rows on wrapped lines, but I don't know enough about the shell integration to make a call on that.Closes #4693