Unverified Commit 2113c9d3 authored by Patrick Devine's avatar Patrick Devine Committed by GitHub
Browse files

make linewrap still work when the terminal width has changed (#1350)

parent 1f126afb
...@@ -521,9 +521,17 @@ func generate(cmd *cobra.Command, opts generateOptions) error { ...@@ -521,9 +521,17 @@ func generate(cmd *cobra.Command, opts generateOptions) error {
latest = response latest = response
if opts.WordWrap { termWidth, _, _ = term.GetSize(int(os.Stdout.Fd()))
if opts.WordWrap && termWidth >= 10 {
for _, ch := range response.Response { for _, ch := range response.Response {
if currentLineLength+1 > termWidth-5 { if currentLineLength+1 > termWidth-5 {
if len(wordBuffer) > termWidth-10 {
fmt.Printf("%s%c", wordBuffer, ch)
wordBuffer = ""
currentLineLength = 0
continue
}
// backtrack the length of the last word and clear to the end of the line // backtrack the length of the last word and clear to the end of the line
fmt.Printf("\x1b[%dD\x1b[K\n", len(wordBuffer)) fmt.Printf("\x1b[%dD\x1b[K\n", len(wordBuffer))
fmt.Printf("%s%c", wordBuffer, ch) fmt.Printf("%s%c", wordBuffer, ch)
...@@ -543,7 +551,10 @@ func generate(cmd *cobra.Command, opts generateOptions) error { ...@@ -543,7 +551,10 @@ func generate(cmd *cobra.Command, opts generateOptions) error {
} }
} }
} else { } else {
fmt.Print(response.Response) fmt.Printf("%s%s", wordBuffer, response.Response)
if len(wordBuffer) > 0 {
wordBuffer = ""
}
} }
return nil return nil
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment