Detailed changes
@@ -20,7 +20,6 @@ import (
"github.com/charmbracelet/crush/internal/db"
"github.com/charmbracelet/crush/internal/event"
"github.com/charmbracelet/crush/internal/projects"
- "github.com/charmbracelet/crush/internal/stringext"
"github.com/charmbracelet/crush/internal/tui"
"github.com/charmbracelet/crush/internal/ui/common"
ui "github.com/charmbracelet/crush/internal/ui/model"
@@ -29,6 +28,7 @@ import (
uv "github.com/charmbracelet/ultraviolet"
"github.com/charmbracelet/x/ansi"
"github.com/charmbracelet/x/exp/charmtone"
+ xstrings "github.com/charmbracelet/x/exp/strings"
"github.com/charmbracelet/x/term"
"github.com/spf13/cobra"
)
@@ -314,5 +314,5 @@ func shouldQueryCapabilities(env uv.Environ) bool {
return (!okTermProg && !okSSHTTY) ||
(!strings.Contains(termProg, osVendorTypeApple) && !okSSHTTY) ||
// Terminals that do support XTVERSION.
- stringext.ContainsAny(termType, kittyTerminals...)
+ xstrings.ContainsAnyOf(termType, kittyTerminals...)
}
@@ -4,8 +4,8 @@ import (
"strings"
"testing"
- "github.com/charmbracelet/crush/internal/stringext"
uv "github.com/charmbracelet/ultraviolet"
+ xstrings "github.com/charmbracelet/x/exp/strings"
"github.com/stretchr/testify/require"
)
@@ -153,7 +153,7 @@ func TestStringextContainsAny(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
- got := stringext.ContainsAny(tt.s, tt.substr...)
+ got := xstrings.ContainsAnyOf(tt.s, tt.substr...)
require.Equal(t, tt.want, got)
})
}
@@ -1,8 +1,6 @@
package stringext
import (
- "strings"
-
"golang.org/x/text/cases"
"golang.org/x/text/language"
)
@@ -10,12 +8,3 @@ import (
func Capitalize(text string) string {
return cases.Title(language.English, cases.Compact).String(text)
}
-
-func ContainsAny(str string, args ...string) bool {
- for _, arg := range args {
- if strings.Contains(str, arg) {
- return true
- }
- }
- return false
-}
@@ -19,7 +19,6 @@ import (
"github.com/charmbracelet/crush/internal/home"
"github.com/charmbracelet/crush/internal/permission"
"github.com/charmbracelet/crush/internal/pubsub"
- "github.com/charmbracelet/crush/internal/stringext"
cmpChat "github.com/charmbracelet/crush/internal/tui/components/chat"
"github.com/charmbracelet/crush/internal/tui/components/chat/splash"
"github.com/charmbracelet/crush/internal/tui/components/completions"
@@ -37,6 +36,7 @@ import (
"github.com/charmbracelet/crush/internal/tui/page/chat"
"github.com/charmbracelet/crush/internal/tui/styles"
"github.com/charmbracelet/crush/internal/tui/util"
+ xstrings "github.com/charmbracelet/x/exp/strings"
"golang.org/x/mod/semver"
"golang.org/x/text/cases"
"golang.org/x/text/language"
@@ -129,7 +129,7 @@ func (a *appModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
}
termVersion := strings.ToLower(msg.Name)
switch {
- case stringext.ContainsAny(termVersion, "ghostty", "rio"):
+ case xstrings.ContainsAnyOf(termVersion, "ghostty", "rio"):
a.sendProgressBar = true
case strings.Contains(termVersion, "iterm2"):
// iTerm2 supports progress bars from version v3.6.6