Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
ollama
Commits
5bece945
Unverified
Commit
5bece945
authored
May 16, 2024
by
Josh
Committed by
GitHub
May 16, 2024
Browse files
Merge pull request #4463 from ollama/jyan/line-display
changed line display to be calculated with runewidth
parents
5e46c5c4
3d90156e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
5 deletions
+12
-5
cmd/cmd.go
cmd/cmd.go
+12
-5
No files found.
cmd/cmd.go
View file @
5bece945
...
...
@@ -25,7 +25,7 @@ import (
"time"
"github.com/containerd/console"
"github.com/mattn/go-runewidth"
"github.com/olekukonko/tablewriter"
"github.com/spf13/cobra"
"golang.org/x/crypto/ssh"
...
...
@@ -744,7 +744,8 @@ func displayResponse(content string, wordWrap bool, state *displayResponseState)
if
wordWrap
&&
termWidth
>=
10
{
for
_
,
ch
:=
range
content
{
if
state
.
lineLength
+
1
>
termWidth
-
5
{
if
len
(
state
.
wordBuffer
)
>
termWidth
-
10
{
if
runewidth
.
StringWidth
(
state
.
wordBuffer
)
>
termWidth
-
10
{
fmt
.
Printf
(
"%s%c"
,
state
.
wordBuffer
,
ch
)
state
.
wordBuffer
=
""
state
.
lineLength
=
0
...
...
@@ -752,12 +753,18 @@ func displayResponse(content string, wordWrap bool, state *displayResponseState)
}
// backtrack the length of the last word and clear to the end of the line
fmt
.
Printf
(
"
\x1b
[%dD
\x1b
[K
\n
"
,
len
(
state
.
wordBuffer
))
fmt
.
Printf
(
"
\x1b
[%dD
\x1b
[K
\n
"
,
runewidth
.
StringWidth
(
state
.
wordBuffer
))
fmt
.
Printf
(
"%s%c"
,
state
.
wordBuffer
,
ch
)
state
.
lineLength
=
len
(
state
.
wordBuffer
)
+
1
chWidth
:=
runewidth
.
RuneWidth
(
ch
)
state
.
lineLength
=
runewidth
.
StringWidth
(
state
.
wordBuffer
)
+
chWidth
}
else
{
fmt
.
Print
(
string
(
ch
))
state
.
lineLength
+=
1
state
.
lineLength
+=
runewidth
.
RuneWidth
(
ch
)
if
runewidth
.
RuneWidth
(
ch
)
>=
2
{
state
.
wordBuffer
=
""
continue
}
switch
ch
{
case
' '
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment