on main help sign in
feat: show progress bar on rio terminal (#2624)
e8f5e20Andrey Nering
internal/cmd/root.go+2−1
@@ -39,6 +39,7 @@ import (
39 uv "github.com/charmbracelet/ultraviolet"
39 uv "github.com/charmbracelet/ultraviolet"
40 "github.com/charmbracelet/x/ansi"
40 "github.com/charmbracelet/x/ansi"
41 "github.com/charmbracelet/x/exp/charmtone"
41 "github.com/charmbracelet/x/exp/charmtone"
42+ xstrings "github.com/charmbracelet/x/exp/strings"
42 "github.com/charmbracelet/x/term"
43 "github.com/charmbracelet/x/term"
43 "github.com/spf13/cobra"
44 "github.com/spf13/cobra"
44)
45)
@@ -200,7 +201,7 @@ func supportsProgressBar() bool {
200 termProg := os.Getenv("TERM_PROGRAM")
201 termProg := os.Getenv("TERM_PROGRAM")
201 _, isWindowsTerminal := os.LookupEnv("WT_SESSION")
202 _, isWindowsTerminal := os.LookupEnv("WT_SESSION")
202
203
203− return isWindowsTerminal || strings.Contains(strings.ToLower(termProg), "ghostty")
204+ return isWindowsTerminal || xstrings.ContainsAnyOf(strings.ToLower(termProg), "ghostty", "rio")
204}
205}
205
206
206// useClientServer returns true when the client/server architecture is
207// useClientServer returns true when the client/server architecture is
internal/ui/model/ui.go+2−1
@@ -55,6 +55,7 @@ import (
55 "github.com/charmbracelet/ultraviolet/layout"
55 "github.com/charmbracelet/ultraviolet/layout"
56 "github.com/charmbracelet/ultraviolet/screen"
56 "github.com/charmbracelet/ultraviolet/screen"
57 "github.com/charmbracelet/x/editor"
57 "github.com/charmbracelet/x/editor"
58+ xstrings "github.com/charmbracelet/x/exp/strings"
58)
59)
59
60
60// MouseScrollThreshold defines how many lines to scroll the chat when a mouse
61// MouseScrollThreshold defines how many lines to scroll the chat when a mouse
@@ -650,7 +651,7 @@ func (m *UI) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
650 termVersion := strings.ToLower(msg.Name)
651 termVersion := strings.ToLower(msg.Name)
651 // Only enable progress bar for the following terminals.
652 // Only enable progress bar for the following terminals.
652 if !m.sendProgressBar {
653 if !m.sendProgressBar {
653− m.sendProgressBar = strings.Contains(termVersion, "ghostty")
654+ m.sendProgressBar = xstrings.ContainsAnyOf(termVersion, "ghostty", "rio")
654 }
655 }
655 return m, nil
656 return m, nil
656 case tea.WindowSizeMsg:
657 case tea.WindowSizeMsg: