@@ -7,24 +7,24 @@ import (
func TestRegexCache(t *testing.T) {
cache := newRegexCache()
-
+
// Test basic caching
pattern := "test.*pattern"
regex1, err := cache.get(pattern)
if err != nil {
t.Fatalf("Failed to compile regex: %v", err)
}
-
+
regex2, err := cache.get(pattern)
if err != nil {
t.Fatalf("Failed to get cached regex: %v", err)
}
-
+
// Should be the same instance (cached)
if regex1 != regex2 {
t.Error("Expected cached regex to be the same instance")
}
-
+
// Test that it actually works
if !regex1.MatchString("test123pattern") {
t.Error("Regex should match test string")
@@ -34,13 +34,13 @@ func TestRegexCache(t *testing.T) {
func TestGlobToRegexCaching(t *testing.T) {
// Test that globToRegex uses pre-compiled regex
pattern1 := globToRegex("*.{js,ts}")
-
+
// Should not panic and should work correctly
regex1, err := regexp.Compile(pattern1)
if err != nil {
t.Fatalf("Failed to compile glob regex: %v", err)
}
-
+
if !regex1.MatchString("test.js") {
t.Error("Glob regex should match .js files")
}
@@ -56,7 +56,7 @@ func TestGlobToRegexCaching(t *testing.T) {
func BenchmarkRegexCacheVsCompile(b *testing.B) {
cache := newRegexCache()
pattern := "test.*pattern.*[0-9]+"
-
+
b.Run("WithCache", func(b *testing.B) {
for b.Loop() {
_, err := cache.get(pattern)
@@ -65,7 +65,7 @@ func BenchmarkRegexCacheVsCompile(b *testing.B) {
}
}
})
-
+
b.Run("WithoutCache", func(b *testing.B) {
for b.Loop() {
_, err := regexp.Compile(pattern)
@@ -74,4 +74,4 @@ func BenchmarkRegexCacheVsCompile(b *testing.B) {
}
}
})
-}
+}
@@ -11,8 +11,8 @@ import (
"github.com/charmbracelet/crush/internal/pubsub"
"github.com/charmbracelet/crush/internal/session"
"github.com/charmbracelet/crush/internal/tui/components/chat/messages"
- "github.com/charmbracelet/crush/internal/tui/components/core/list"
"github.com/charmbracelet/crush/internal/tui/components/core/layout"
+ "github.com/charmbracelet/crush/internal/tui/components/core/list"
"github.com/charmbracelet/crush/internal/tui/util"
"github.com/charmbracelet/lipgloss/v2"
)
@@ -3,8 +3,8 @@ package commands
import (
tea "github.com/charmbracelet/bubbletea/v2"
"github.com/charmbracelet/crush/internal/tui/components/core"
- "github.com/charmbracelet/crush/internal/tui/components/core/list"
"github.com/charmbracelet/crush/internal/tui/components/core/layout"
+ "github.com/charmbracelet/crush/internal/tui/components/core/list"
"github.com/charmbracelet/crush/internal/tui/styles"
"github.com/charmbracelet/crush/internal/tui/util"
"github.com/charmbracelet/x/ansi"
@@ -13,8 +13,8 @@ import (
"github.com/charmbracelet/crush/internal/tui/components/chat"
"github.com/charmbracelet/crush/internal/tui/components/chat/editor"
"github.com/charmbracelet/crush/internal/tui/components/chat/sidebar"
- "github.com/charmbracelet/crush/internal/tui/components/dialogs/commands"
"github.com/charmbracelet/crush/internal/tui/components/core/layout"
+ "github.com/charmbracelet/crush/internal/tui/components/dialogs/commands"
"github.com/charmbracelet/crush/internal/tui/page"
"github.com/charmbracelet/crush/internal/tui/util"
)
@@ -4,8 +4,8 @@ import (
"github.com/charmbracelet/bubbles/v2/key"
tea "github.com/charmbracelet/bubbletea/v2"
"github.com/charmbracelet/crush/internal/tui/components/core"
- logsComponents "github.com/charmbracelet/crush/internal/tui/components/logs"
"github.com/charmbracelet/crush/internal/tui/components/core/layout"
+ logsComponents "github.com/charmbracelet/crush/internal/tui/components/logs"
"github.com/charmbracelet/crush/internal/tui/page"
"github.com/charmbracelet/crush/internal/tui/page/chat"
"github.com/charmbracelet/crush/internal/tui/styles"