Fix: Add configurable line wrapping for chat #2816
Merged
+116
−16
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.
Issue #, if available:

Q cli currently applies automatic line wrapping at ~80 characters regardless of output destination if cannot obtain current terminal width, which causes issues in non-interactive workflows. When output is piped or redirected, the forced line breaks make it difficult to process the text programmatically and ignore explicit user formatting requests (e.g., "write in a single line").
For example
Description of changes:
Added a
--wrap-mode
option with three modes:auto
(default): Wraps for terminal display, no wrapping for pipes/filesalways
: Always wrap at terminal widthnever
: Never wrap outputThe default
auto
mode follows Unix conventions by detecting if stdout is a terminal, providing readable output for interactive use while preserving raw format for automation.Usage
Wrap mode = never

Testing
Tested with various output destinations (terminal, pipe, file redirection) to ensure correct behavior in each mode.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.