summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--packages/tui/cmd/opencode/main.go10
-rw-r--r--packages/tui/internal/app/.DS_Storebin0 -> 6148 bytes
-rw-r--r--packages/tui/internal/app/app.go (renamed from packages/tui/internal/tui/app/app.go)8
-rw-r--r--packages/tui/internal/completions/files-folders.go2
-rw-r--r--packages/tui/internal/components/chat/chat.go (renamed from packages/tui/internal/tui/components/chat/chat.go)6
-rw-r--r--packages/tui/internal/components/chat/editor.go (renamed from packages/tui/internal/tui/components/chat/editor.go)14
-rw-r--r--packages/tui/internal/components/chat/message.go (renamed from packages/tui/internal/tui/components/chat/message.go)6
-rw-r--r--packages/tui/internal/components/chat/messages.go (renamed from packages/tui/internal/tui/components/chat/messages.go)10
-rw-r--r--packages/tui/internal/components/chat/sidebar.go (renamed from packages/tui/internal/tui/components/chat/sidebar.go)8
-rw-r--r--packages/tui/internal/components/core/status.go (renamed from packages/tui/internal/tui/components/core/status.go)6
-rw-r--r--packages/tui/internal/components/dialog/arguments.go (renamed from packages/tui/internal/tui/components/dialog/arguments.go)6
-rw-r--r--packages/tui/internal/components/dialog/commands.go (renamed from packages/tui/internal/tui/components/dialog/commands.go)10
-rw-r--r--packages/tui/internal/components/dialog/complete.go (renamed from packages/tui/internal/tui/components/dialog/complete.go)10
-rw-r--r--packages/tui/internal/components/dialog/custom_commands.go (renamed from packages/tui/internal/tui/components/dialog/custom_commands.go)6
-rw-r--r--packages/tui/internal/components/dialog/custom_commands_test.go (renamed from packages/tui/internal/tui/components/dialog/custom_commands_test.go)0
-rw-r--r--packages/tui/internal/components/dialog/filepicker.go (renamed from packages/tui/internal/tui/components/dialog/filepicker.go)10
-rw-r--r--packages/tui/internal/components/dialog/help.go (renamed from packages/tui/internal/tui/components/dialog/help.go)4
-rw-r--r--packages/tui/internal/components/dialog/init.go (renamed from packages/tui/internal/tui/components/dialog/init.go)6
-rw-r--r--packages/tui/internal/components/dialog/models.go (renamed from packages/tui/internal/tui/components/dialog/models.go)10
-rw-r--r--packages/tui/internal/components/dialog/permission.go (renamed from packages/tui/internal/tui/components/dialog/permission.go)8
-rw-r--r--packages/tui/internal/components/dialog/quit.go (renamed from packages/tui/internal/tui/components/dialog/quit.go)8
-rw-r--r--packages/tui/internal/components/dialog/session.go (renamed from packages/tui/internal/tui/components/dialog/session.go)8
-rw-r--r--packages/tui/internal/components/dialog/theme.go (renamed from packages/tui/internal/tui/components/dialog/theme.go)8
-rw-r--r--packages/tui/internal/components/dialog/tools.go (renamed from packages/tui/internal/tui/components/dialog/tools.go)10
-rw-r--r--packages/tui/internal/components/diff/diff.go (renamed from packages/tui/internal/tui/components/diff/diff.go)2
-rw-r--r--packages/tui/internal/components/qr/qr.go (renamed from packages/tui/internal/tui/components/qr/qr.go)2
-rw-r--r--packages/tui/internal/components/spinner/spinner.go (renamed from packages/tui/internal/tui/components/spinner/spinner.go)0
-rw-r--r--packages/tui/internal/components/spinner/spinner_test.go (renamed from packages/tui/internal/tui/components/spinner/spinner_test.go)0
-rw-r--r--packages/tui/internal/components/util/simple-list.go (renamed from packages/tui/internal/tui/components/util/simple-list.go)6
-rw-r--r--packages/tui/internal/config/config.go (renamed from packages/tui/internal/tui/config/config.go)0
-rw-r--r--packages/tui/internal/image/clipboard_unix.go (renamed from packages/tui/internal/tui/image/clipboard_unix.go)0
-rw-r--r--packages/tui/internal/image/clipboard_windows.go (renamed from packages/tui/internal/tui/image/clipboard_windows.go)0
-rw-r--r--packages/tui/internal/image/images.go (renamed from packages/tui/internal/tui/image/images.go)0
-rw-r--r--packages/tui/internal/layout/container.go (renamed from packages/tui/internal/tui/layout/container.go)2
-rw-r--r--packages/tui/internal/layout/layout.go (renamed from packages/tui/internal/tui/layout/layout.go)0
-rw-r--r--packages/tui/internal/layout/overlay.go (renamed from packages/tui/internal/tui/layout/overlay.go)6
-rw-r--r--packages/tui/internal/layout/split.go (renamed from packages/tui/internal/tui/layout/split.go)2
-rw-r--r--packages/tui/internal/page/chat.go (renamed from packages/tui/internal/tui/page/chat.go)12
-rw-r--r--packages/tui/internal/page/page.go (renamed from packages/tui/internal/tui/page/page.go)0
-rw-r--r--packages/tui/internal/state/state.go (renamed from packages/tui/internal/tui/state/state.go)0
-rw-r--r--packages/tui/internal/styles/background.go (renamed from packages/tui/internal/tui/styles/background.go)0
-rw-r--r--packages/tui/internal/styles/icons.go (renamed from packages/tui/internal/tui/styles/icons.go)0
-rw-r--r--packages/tui/internal/styles/markdown.go (renamed from packages/tui/internal/tui/styles/markdown.go)2
-rw-r--r--packages/tui/internal/styles/styles.go (renamed from packages/tui/internal/tui/styles/styles.go)2
-rw-r--r--packages/tui/internal/theme/ayu.go (renamed from packages/tui/internal/tui/theme/ayu.go)0
-rw-r--r--packages/tui/internal/theme/catppuccin.go (renamed from packages/tui/internal/tui/theme/catppuccin.go)0
-rw-r--r--packages/tui/internal/theme/dracula.go (renamed from packages/tui/internal/tui/theme/dracula.go)0
-rw-r--r--packages/tui/internal/theme/flexoki.go (renamed from packages/tui/internal/tui/theme/flexoki.go)0
-rw-r--r--packages/tui/internal/theme/gruvbox.go (renamed from packages/tui/internal/tui/theme/gruvbox.go)0
-rw-r--r--packages/tui/internal/theme/manager.go (renamed from packages/tui/internal/tui/theme/manager.go)0
-rw-r--r--packages/tui/internal/theme/monokai.go (renamed from packages/tui/internal/tui/theme/monokai.go)0
-rw-r--r--packages/tui/internal/theme/onedark.go (renamed from packages/tui/internal/tui/theme/onedark.go)0
-rw-r--r--packages/tui/internal/theme/opencode.go (renamed from packages/tui/internal/tui/theme/opencode.go)0
-rw-r--r--packages/tui/internal/theme/theme.go (renamed from packages/tui/internal/tui/theme/theme.go)0
-rw-r--r--packages/tui/internal/theme/theme_test.go (renamed from packages/tui/internal/tui/theme/theme_test.go)0
-rw-r--r--packages/tui/internal/theme/tokyonight.go (renamed from packages/tui/internal/tui/theme/tokyonight.go)0
-rw-r--r--packages/tui/internal/theme/tron.go (renamed from packages/tui/internal/tui/theme/tron.go)0
-rw-r--r--packages/tui/internal/tui/tui.go18
-rw-r--r--packages/tui/internal/util/util.go (renamed from packages/tui/internal/tui/util/util.go)0
60 files changed, 115 insertions, 115 deletions
diff --git a/.gitignore b/.gitignore
index 7a87ec706..c7ccca72f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
+.DS_Store
node_modules
.opencode
.sst
-app.log
.env
diff --git a/packages/tui/cmd/opencode/main.go b/packages/tui/cmd/opencode/main.go
index a6e6c6ea3..3d9dd2947 100644
--- a/packages/tui/cmd/opencode/main.go
+++ b/packages/tui/cmd/opencode/main.go
@@ -10,9 +10,9 @@ import (
tea "github.com/charmbracelet/bubbletea"
zone "github.com/lrstanley/bubblezone"
+ "github.com/sst/opencode/internal/app"
"github.com/sst/opencode/internal/pubsub"
"github.com/sst/opencode/internal/tui"
- "github.com/sst/opencode/internal/tui/app"
"github.com/sst/opencode/pkg/client"
)
@@ -46,7 +46,7 @@ func main() {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- app, err := app.New(ctx, httpClient)
+ app_, err := app.New(ctx, httpClient)
if err != nil {
slog.Error("Failed to create app", "error", err)
// return err
@@ -55,7 +55,7 @@ func main() {
// Set up the TUI
zone.NewGlobal()
program := tea.NewProgram(
- tui.New(app),
+ tui.NewModel(app_),
tea.WithAltScreen(),
)
@@ -78,7 +78,7 @@ func main() {
}()
// Setup the subscriptions, this will send services events to the TUI
- ch, cancelSubs := setupSubscriptions(app, ctx)
+ ch, cancelSubs := setupSubscriptions(app_, ctx)
// Create a context for the TUI message handler
tuiCtx, tuiCancel := context.WithCancel(ctx)
@@ -113,7 +113,7 @@ func main() {
cancelSubs()
// Then shutdown the app
- app.Shutdown()
+ app_.Shutdown()
// Then cancel TUI message handler
tuiCancel()
diff --git a/packages/tui/internal/app/.DS_Store b/packages/tui/internal/app/.DS_Store
new file mode 100644
index 000000000..5008ddfcf
--- /dev/null
+++ b/packages/tui/internal/app/.DS_Store
Binary files differ
diff --git a/packages/tui/internal/tui/app/app.go b/packages/tui/internal/app/app.go
index 69a64c627..61ef95e2b 100644
--- a/packages/tui/internal/tui/app/app.go
+++ b/packages/tui/internal/app/app.go
@@ -9,12 +9,12 @@ import (
"log/slog"
tea "github.com/charmbracelet/bubbletea"
+ "github.com/sst/opencode/internal/config"
"github.com/sst/opencode/internal/fileutil"
+ "github.com/sst/opencode/internal/state"
"github.com/sst/opencode/internal/status"
- "github.com/sst/opencode/internal/tui/config"
- "github.com/sst/opencode/internal/tui/state"
- "github.com/sst/opencode/internal/tui/theme"
- "github.com/sst/opencode/internal/tui/util"
+ "github.com/sst/opencode/internal/theme"
+ "github.com/sst/opencode/internal/util"
"github.com/sst/opencode/pkg/client"
)
diff --git a/packages/tui/internal/completions/files-folders.go b/packages/tui/internal/completions/files-folders.go
index a405b34cd..6077b880f 100644
--- a/packages/tui/internal/completions/files-folders.go
+++ b/packages/tui/internal/completions/files-folders.go
@@ -9,7 +9,7 @@ import (
"github.com/lithammer/fuzzysearch/fuzzy"
"github.com/sst/opencode/internal/fileutil"
"github.com/sst/opencode/internal/status"
- "github.com/sst/opencode/internal/tui/components/dialog"
+ "github.com/sst/opencode/internal/components/dialog"
)
type filesAndFoldersContextGroup struct {
diff --git a/packages/tui/internal/tui/components/chat/chat.go b/packages/tui/internal/components/chat/chat.go
index 4ba03cc70..ad06728d3 100644
--- a/packages/tui/internal/tui/components/chat/chat.go
+++ b/packages/tui/internal/components/chat/chat.go
@@ -6,9 +6,9 @@ import (
"github.com/charmbracelet/lipgloss"
"github.com/charmbracelet/x/ansi"
- "github.com/sst/opencode/internal/tui/app"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
+ "github.com/sst/opencode/internal/app"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
)
type SendMsg struct {
diff --git a/packages/tui/internal/tui/components/chat/editor.go b/packages/tui/internal/components/chat/editor.go
index 6586f2020..bf5c5875e 100644
--- a/packages/tui/internal/tui/components/chat/editor.go
+++ b/packages/tui/internal/components/chat/editor.go
@@ -13,14 +13,14 @@ import (
"github.com/charmbracelet/bubbles/textarea"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
+ "github.com/sst/opencode/internal/app"
+ "github.com/sst/opencode/internal/components/dialog"
+ "github.com/sst/opencode/internal/image"
+ "github.com/sst/opencode/internal/layout"
"github.com/sst/opencode/internal/status"
- "github.com/sst/opencode/internal/tui/app"
- "github.com/sst/opencode/internal/tui/components/dialog"
- "github.com/sst/opencode/internal/tui/image"
- "github.com/sst/opencode/internal/tui/layout"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
- "github.com/sst/opencode/internal/tui/util"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
+ "github.com/sst/opencode/internal/util"
)
type editorCmp struct {
diff --git a/packages/tui/internal/tui/components/chat/message.go b/packages/tui/internal/components/chat/message.go
index 545630528..a98586f52 100644
--- a/packages/tui/internal/tui/components/chat/message.go
+++ b/packages/tui/internal/components/chat/message.go
@@ -8,9 +8,9 @@ import (
"github.com/charmbracelet/lipgloss"
"github.com/charmbracelet/x/ansi"
- "github.com/sst/opencode/internal/tui/components/diff"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
+ "github.com/sst/opencode/internal/components/diff"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
"github.com/sst/opencode/pkg/client"
"golang.org/x/text/cases"
"golang.org/x/text/language"
diff --git a/packages/tui/internal/tui/components/chat/messages.go b/packages/tui/internal/components/chat/messages.go
index 50e2da494..e18b6d153 100644
--- a/packages/tui/internal/tui/components/chat/messages.go
+++ b/packages/tui/internal/components/chat/messages.go
@@ -9,11 +9,11 @@ import (
"github.com/charmbracelet/bubbles/viewport"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/app"
- "github.com/sst/opencode/internal/tui/components/dialog"
- "github.com/sst/opencode/internal/tui/state"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
+ "github.com/sst/opencode/internal/app"
+ "github.com/sst/opencode/internal/components/dialog"
+ "github.com/sst/opencode/internal/state"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
"github.com/sst/opencode/pkg/client"
)
diff --git a/packages/tui/internal/tui/components/chat/sidebar.go b/packages/tui/internal/components/chat/sidebar.go
index e0713b7e5..b2fe872ea 100644
--- a/packages/tui/internal/tui/components/chat/sidebar.go
+++ b/packages/tui/internal/components/chat/sidebar.go
@@ -7,10 +7,10 @@ import (
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/app"
- "github.com/sst/opencode/internal/tui/state"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
+ "github.com/sst/opencode/internal/app"
+ "github.com/sst/opencode/internal/state"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
)
type sidebarCmp struct {
diff --git a/packages/tui/internal/tui/components/core/status.go b/packages/tui/internal/components/core/status.go
index edf42fd2e..b631ce766 100644
--- a/packages/tui/internal/tui/components/core/status.go
+++ b/packages/tui/internal/components/core/status.go
@@ -9,9 +9,9 @@ import (
"github.com/charmbracelet/lipgloss"
"github.com/sst/opencode/internal/pubsub"
"github.com/sst/opencode/internal/status"
- "github.com/sst/opencode/internal/tui/app"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
+ "github.com/sst/opencode/internal/app"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
)
type StatusCmp interface {
diff --git a/packages/tui/internal/tui/components/dialog/arguments.go b/packages/tui/internal/components/dialog/arguments.go
index fed79bce3..2faa36070 100644
--- a/packages/tui/internal/tui/components/dialog/arguments.go
+++ b/packages/tui/internal/components/dialog/arguments.go
@@ -7,9 +7,9 @@ import (
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
- "github.com/sst/opencode/internal/tui/util"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
+ "github.com/sst/opencode/internal/util"
)
type argumentsDialogKeyMap struct {
diff --git a/packages/tui/internal/tui/components/dialog/commands.go b/packages/tui/internal/components/dialog/commands.go
index b989154c6..1e99c09e0 100644
--- a/packages/tui/internal/tui/components/dialog/commands.go
+++ b/packages/tui/internal/components/dialog/commands.go
@@ -4,11 +4,11 @@ import (
"github.com/charmbracelet/bubbles/key"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- utilComponents "github.com/sst/opencode/internal/tui/components/util"
- "github.com/sst/opencode/internal/tui/layout"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
- "github.com/sst/opencode/internal/tui/util"
+ utilComponents "github.com/sst/opencode/internal/components/util"
+ "github.com/sst/opencode/internal/layout"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
+ "github.com/sst/opencode/internal/util"
)
// Command represents a command that can be executed
diff --git a/packages/tui/internal/tui/components/dialog/complete.go b/packages/tui/internal/components/dialog/complete.go
index 57193d00c..ca209014e 100644
--- a/packages/tui/internal/tui/components/dialog/complete.go
+++ b/packages/tui/internal/components/dialog/complete.go
@@ -6,11 +6,11 @@ import (
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
"github.com/sst/opencode/internal/status"
- utilComponents "github.com/sst/opencode/internal/tui/components/util"
- "github.com/sst/opencode/internal/tui/layout"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
- "github.com/sst/opencode/internal/tui/util"
+ utilComponents "github.com/sst/opencode/internal/components/util"
+ "github.com/sst/opencode/internal/layout"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
+ "github.com/sst/opencode/internal/util"
)
type CompletionItem struct {
diff --git a/packages/tui/internal/tui/components/dialog/custom_commands.go b/packages/tui/internal/components/dialog/custom_commands.go
index f0d74ce5f..e23a90f66 100644
--- a/packages/tui/internal/tui/components/dialog/custom_commands.go
+++ b/packages/tui/internal/components/dialog/custom_commands.go
@@ -8,8 +8,8 @@ import (
"strings"
tea "github.com/charmbracelet/bubbletea"
- "github.com/sst/opencode/internal/tui/app"
- "github.com/sst/opencode/internal/tui/util"
+ "github.com/sst/opencode/internal/app"
+ "github.com/sst/opencode/internal/util"
)
// Command prefix constants
@@ -34,7 +34,7 @@ func LoadCustomCommands(app *app.App) ([]Command, error) {
commands = append(commands, homeCommands...)
}
- projectCommandsDir := filepath.Join(app.Info.Path.Root, "commands")
+ projectCommandsDir := filepath.Join(app.Info.Path.Root, ".opencode", "commands")
projectCommands, err := loadCommandsFromDir(projectCommandsDir, ProjectCommandPrefix)
if err != nil {
// Log error but return what we have so far
diff --git a/packages/tui/internal/tui/components/dialog/custom_commands_test.go b/packages/tui/internal/components/dialog/custom_commands_test.go
index 3468ac3b0..3468ac3b0 100644
--- a/packages/tui/internal/tui/components/dialog/custom_commands_test.go
+++ b/packages/tui/internal/components/dialog/custom_commands_test.go
diff --git a/packages/tui/internal/tui/components/dialog/filepicker.go b/packages/tui/internal/components/dialog/filepicker.go
index 088e205f2..3fad90e3f 100644
--- a/packages/tui/internal/tui/components/dialog/filepicker.go
+++ b/packages/tui/internal/components/dialog/filepicker.go
@@ -17,12 +17,12 @@ import (
"github.com/charmbracelet/bubbles/viewport"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
+ "github.com/sst/opencode/internal/app"
+ "github.com/sst/opencode/internal/image"
"github.com/sst/opencode/internal/status"
- "github.com/sst/opencode/internal/tui/app"
- "github.com/sst/opencode/internal/tui/image"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
- "github.com/sst/opencode/internal/tui/util"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
+ "github.com/sst/opencode/internal/util"
)
const (
diff --git a/packages/tui/internal/tui/components/dialog/help.go b/packages/tui/internal/components/dialog/help.go
index 1f7f53e11..a55e39e72 100644
--- a/packages/tui/internal/tui/components/dialog/help.go
+++ b/packages/tui/internal/components/dialog/help.go
@@ -6,8 +6,8 @@ import (
"github.com/charmbracelet/bubbles/key"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
)
type helpCmp struct {
diff --git a/packages/tui/internal/tui/components/dialog/init.go b/packages/tui/internal/components/dialog/init.go
index 0f00c20a4..01bdbe577 100644
--- a/packages/tui/internal/tui/components/dialog/init.go
+++ b/packages/tui/internal/components/dialog/init.go
@@ -5,9 +5,9 @@ import (
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
- "github.com/sst/opencode/internal/tui/util"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
+ "github.com/sst/opencode/internal/util"
)
// InitDialogCmp is a component that asks the user if they want to initialize the project.
diff --git a/packages/tui/internal/tui/components/dialog/models.go b/packages/tui/internal/components/dialog/models.go
index 2dd1e2fea..a9dcb6f6c 100644
--- a/packages/tui/internal/tui/components/dialog/models.go
+++ b/packages/tui/internal/components/dialog/models.go
@@ -7,11 +7,11 @@ import (
"github.com/charmbracelet/bubbles/key"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/app"
- "github.com/sst/opencode/internal/tui/layout"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
- "github.com/sst/opencode/internal/tui/util"
+ "github.com/sst/opencode/internal/app"
+ "github.com/sst/opencode/internal/layout"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
+ "github.com/sst/opencode/internal/util"
"github.com/sst/opencode/pkg/client"
)
diff --git a/packages/tui/internal/tui/components/dialog/permission.go b/packages/tui/internal/components/dialog/permission.go
index 0e5afdeab..bb71fc35d 100644
--- a/packages/tui/internal/tui/components/dialog/permission.go
+++ b/packages/tui/internal/components/dialog/permission.go
@@ -6,10 +6,10 @@ import (
"github.com/charmbracelet/bubbles/viewport"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/layout"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
- "github.com/sst/opencode/internal/tui/util"
+ "github.com/sst/opencode/internal/layout"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
+ "github.com/sst/opencode/internal/util"
"strings"
)
diff --git a/packages/tui/internal/tui/components/dialog/quit.go b/packages/tui/internal/components/dialog/quit.go
index 3fd2ea920..78034c714 100644
--- a/packages/tui/internal/tui/components/dialog/quit.go
+++ b/packages/tui/internal/components/dialog/quit.go
@@ -6,10 +6,10 @@ import (
"github.com/charmbracelet/bubbles/key"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/layout"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
- "github.com/sst/opencode/internal/tui/util"
+ "github.com/sst/opencode/internal/layout"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
+ "github.com/sst/opencode/internal/util"
)
const question = "Are you sure you want to quit?"
diff --git a/packages/tui/internal/tui/components/dialog/session.go b/packages/tui/internal/components/dialog/session.go
index 99aa41515..2d234529e 100644
--- a/packages/tui/internal/tui/components/dialog/session.go
+++ b/packages/tui/internal/components/dialog/session.go
@@ -4,10 +4,10 @@ import (
"github.com/charmbracelet/bubbles/key"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/layout"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
- "github.com/sst/opencode/internal/tui/util"
+ "github.com/sst/opencode/internal/layout"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
+ "github.com/sst/opencode/internal/util"
"github.com/sst/opencode/pkg/client"
)
diff --git a/packages/tui/internal/tui/components/dialog/theme.go b/packages/tui/internal/components/dialog/theme.go
index 54856e8a9..42c777c41 100644
--- a/packages/tui/internal/tui/components/dialog/theme.go
+++ b/packages/tui/internal/components/dialog/theme.go
@@ -4,11 +4,11 @@ import (
"github.com/charmbracelet/bubbles/key"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
+ "github.com/sst/opencode/internal/layout"
"github.com/sst/opencode/internal/status"
- "github.com/sst/opencode/internal/tui/layout"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
- "github.com/sst/opencode/internal/tui/util"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
+ "github.com/sst/opencode/internal/util"
)
// ThemeChangedMsg is sent when the theme is changed
diff --git a/packages/tui/internal/tui/components/dialog/tools.go b/packages/tui/internal/components/dialog/tools.go
index 76e6ff227..a01d1911b 100644
--- a/packages/tui/internal/tui/components/dialog/tools.go
+++ b/packages/tui/internal/components/dialog/tools.go
@@ -4,10 +4,10 @@ import (
"github.com/charmbracelet/bubbles/key"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- utilComponents "github.com/sst/opencode/internal/tui/components/util"
- "github.com/sst/opencode/internal/tui/layout"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
+ utilComponents "github.com/sst/opencode/internal/components/util"
+ "github.com/sst/opencode/internal/layout"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
)
const (
@@ -175,4 +175,4 @@ func NewToolsDialogCmp() ToolsDialog {
return &toolsDialogCmp{
list: list,
}
-} \ No newline at end of file
+}
diff --git a/packages/tui/internal/tui/components/diff/diff.go b/packages/tui/internal/components/diff/diff.go
index 5d8b98150..e3ee61c79 100644
--- a/packages/tui/internal/tui/components/diff/diff.go
+++ b/packages/tui/internal/components/diff/diff.go
@@ -15,7 +15,7 @@ import (
"github.com/charmbracelet/lipgloss"
"github.com/charmbracelet/x/ansi"
"github.com/sergi/go-diff/diffmatchpatch"
- "github.com/sst/opencode/internal/tui/theme"
+ "github.com/sst/opencode/internal/theme"
)
// -------------------------------------------------------------------------
diff --git a/packages/tui/internal/tui/components/qr/qr.go b/packages/tui/internal/components/qr/qr.go
index 42a60bb5e..df51a644d 100644
--- a/packages/tui/internal/tui/components/qr/qr.go
+++ b/packages/tui/internal/components/qr/qr.go
@@ -4,7 +4,7 @@ import (
"strings"
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/theme"
+ "github.com/sst/opencode/internal/theme"
"rsc.io/qr"
)
diff --git a/packages/tui/internal/tui/components/spinner/spinner.go b/packages/tui/internal/components/spinner/spinner.go
index 5e1af8771..5e1af8771 100644
--- a/packages/tui/internal/tui/components/spinner/spinner.go
+++ b/packages/tui/internal/components/spinner/spinner.go
diff --git a/packages/tui/internal/tui/components/spinner/spinner_test.go b/packages/tui/internal/components/spinner/spinner_test.go
index 065726e91..065726e91 100644
--- a/packages/tui/internal/tui/components/spinner/spinner_test.go
+++ b/packages/tui/internal/components/spinner/spinner_test.go
diff --git a/packages/tui/internal/tui/components/util/simple-list.go b/packages/tui/internal/components/util/simple-list.go
index 7b8c4b1cb..0c0bb6556 100644
--- a/packages/tui/internal/tui/components/util/simple-list.go
+++ b/packages/tui/internal/components/util/simple-list.go
@@ -4,9 +4,9 @@ import (
"github.com/charmbracelet/bubbles/key"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/layout"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
+ "github.com/sst/opencode/internal/layout"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
)
type SimpleListItem interface {
diff --git a/packages/tui/internal/tui/config/config.go b/packages/tui/internal/config/config.go
index 1a0a23900..1a0a23900 100644
--- a/packages/tui/internal/tui/config/config.go
+++ b/packages/tui/internal/config/config.go
diff --git a/packages/tui/internal/tui/image/clipboard_unix.go b/packages/tui/internal/image/clipboard_unix.go
index 3cb590207..3cb590207 100644
--- a/packages/tui/internal/tui/image/clipboard_unix.go
+++ b/packages/tui/internal/image/clipboard_unix.go
diff --git a/packages/tui/internal/tui/image/clipboard_windows.go b/packages/tui/internal/image/clipboard_windows.go
index 6431ce3d4..6431ce3d4 100644
--- a/packages/tui/internal/tui/image/clipboard_windows.go
+++ b/packages/tui/internal/image/clipboard_windows.go
diff --git a/packages/tui/internal/tui/image/images.go b/packages/tui/internal/image/images.go
index f476b201c..f476b201c 100644
--- a/packages/tui/internal/tui/image/images.go
+++ b/packages/tui/internal/image/images.go
diff --git a/packages/tui/internal/tui/layout/container.go b/packages/tui/internal/layout/container.go
index b5bdca20a..00166b1d8 100644
--- a/packages/tui/internal/tui/layout/container.go
+++ b/packages/tui/internal/layout/container.go
@@ -4,7 +4,7 @@ import (
"github.com/charmbracelet/bubbles/key"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/theme"
+ "github.com/sst/opencode/internal/theme"
)
type Container interface {
diff --git a/packages/tui/internal/tui/layout/layout.go b/packages/tui/internal/layout/layout.go
index 495a3fbc5..495a3fbc5 100644
--- a/packages/tui/internal/tui/layout/layout.go
+++ b/packages/tui/internal/layout/layout.go
diff --git a/packages/tui/internal/tui/layout/overlay.go b/packages/tui/internal/layout/overlay.go
index 64836463d..031cdecfe 100644
--- a/packages/tui/internal/tui/layout/overlay.go
+++ b/packages/tui/internal/layout/overlay.go
@@ -8,9 +8,9 @@ import (
"github.com/muesli/ansi"
"github.com/muesli/reflow/truncate"
"github.com/muesli/termenv"
- "github.com/sst/opencode/internal/tui/styles"
- "github.com/sst/opencode/internal/tui/theme"
- "github.com/sst/opencode/internal/tui/util"
+ "github.com/sst/opencode/internal/styles"
+ "github.com/sst/opencode/internal/theme"
+ "github.com/sst/opencode/internal/util"
)
// Most of this code is borrowed from
diff --git a/packages/tui/internal/tui/layout/split.go b/packages/tui/internal/layout/split.go
index 81e159517..42b8deeab 100644
--- a/packages/tui/internal/tui/layout/split.go
+++ b/packages/tui/internal/layout/split.go
@@ -4,7 +4,7 @@ import (
"github.com/charmbracelet/bubbles/key"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/theme"
+ "github.com/sst/opencode/internal/theme"
)
type SplitPaneLayout interface {
diff --git a/packages/tui/internal/tui/page/chat.go b/packages/tui/internal/page/chat.go
index 1e1d7d9a3..1c559122f 100644
--- a/packages/tui/internal/tui/page/chat.go
+++ b/packages/tui/internal/page/chat.go
@@ -7,13 +7,13 @@ import (
"github.com/charmbracelet/bubbles/key"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
+ "github.com/sst/opencode/internal/app"
"github.com/sst/opencode/internal/completions"
- "github.com/sst/opencode/internal/tui/app"
- "github.com/sst/opencode/internal/tui/components/chat"
- "github.com/sst/opencode/internal/tui/components/dialog"
- "github.com/sst/opencode/internal/tui/layout"
- "github.com/sst/opencode/internal/tui/state"
- "github.com/sst/opencode/internal/tui/util"
+ "github.com/sst/opencode/internal/components/chat"
+ "github.com/sst/opencode/internal/components/dialog"
+ "github.com/sst/opencode/internal/layout"
+ "github.com/sst/opencode/internal/state"
+ "github.com/sst/opencode/internal/util"
"github.com/sst/opencode/pkg/client"
)
diff --git a/packages/tui/internal/tui/page/page.go b/packages/tui/internal/page/page.go
index 482df5fd7..482df5fd7 100644
--- a/packages/tui/internal/tui/page/page.go
+++ b/packages/tui/internal/page/page.go
diff --git a/packages/tui/internal/tui/state/state.go b/packages/tui/internal/state/state.go
index d2cbf039c..d2cbf039c 100644
--- a/packages/tui/internal/tui/state/state.go
+++ b/packages/tui/internal/state/state.go
diff --git a/packages/tui/internal/tui/styles/background.go b/packages/tui/internal/styles/background.go
index 2fbb34efb..2fbb34efb 100644
--- a/packages/tui/internal/tui/styles/background.go
+++ b/packages/tui/internal/styles/background.go
diff --git a/packages/tui/internal/tui/styles/icons.go b/packages/tui/internal/styles/icons.go
index 8ff5fe8bf..8ff5fe8bf 100644
--- a/packages/tui/internal/tui/styles/icons.go
+++ b/packages/tui/internal/styles/icons.go
diff --git a/packages/tui/internal/tui/styles/markdown.go b/packages/tui/internal/styles/markdown.go
index 77fb51bae..40f5b6890 100644
--- a/packages/tui/internal/tui/styles/markdown.go
+++ b/packages/tui/internal/styles/markdown.go
@@ -4,7 +4,7 @@ import (
"github.com/charmbracelet/glamour"
"github.com/charmbracelet/glamour/ansi"
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/theme"
+ "github.com/sst/opencode/internal/theme"
)
const defaultMargin = 1
diff --git a/packages/tui/internal/tui/styles/styles.go b/packages/tui/internal/styles/styles.go
index 91661a1dd..f5dae7047 100644
--- a/packages/tui/internal/tui/styles/styles.go
+++ b/packages/tui/internal/styles/styles.go
@@ -2,7 +2,7 @@ package styles
import (
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/theme"
+ "github.com/sst/opencode/internal/theme"
)
// BaseStyle returns the base style with background and foreground colors
diff --git a/packages/tui/internal/tui/theme/ayu.go b/packages/tui/internal/theme/ayu.go
index b3dfa870a..b3dfa870a 100644
--- a/packages/tui/internal/tui/theme/ayu.go
+++ b/packages/tui/internal/theme/ayu.go
diff --git a/packages/tui/internal/tui/theme/catppuccin.go b/packages/tui/internal/theme/catppuccin.go
index c3c32501e..c3c32501e 100644
--- a/packages/tui/internal/tui/theme/catppuccin.go
+++ b/packages/tui/internal/theme/catppuccin.go
diff --git a/packages/tui/internal/tui/theme/dracula.go b/packages/tui/internal/theme/dracula.go
index 29a1457d4..29a1457d4 100644
--- a/packages/tui/internal/tui/theme/dracula.go
+++ b/packages/tui/internal/theme/dracula.go
diff --git a/packages/tui/internal/tui/theme/flexoki.go b/packages/tui/internal/theme/flexoki.go
index 5da5683c5..5da5683c5 100644
--- a/packages/tui/internal/tui/theme/flexoki.go
+++ b/packages/tui/internal/theme/flexoki.go
diff --git a/packages/tui/internal/tui/theme/gruvbox.go b/packages/tui/internal/theme/gruvbox.go
index 51719faaa..51719faaa 100644
--- a/packages/tui/internal/tui/theme/gruvbox.go
+++ b/packages/tui/internal/theme/gruvbox.go
diff --git a/packages/tui/internal/tui/theme/manager.go b/packages/tui/internal/theme/manager.go
index cb6c53991..cb6c53991 100644
--- a/packages/tui/internal/tui/theme/manager.go
+++ b/packages/tui/internal/theme/manager.go
diff --git a/packages/tui/internal/tui/theme/monokai.go b/packages/tui/internal/theme/monokai.go
index 7511d3333..7511d3333 100644
--- a/packages/tui/internal/tui/theme/monokai.go
+++ b/packages/tui/internal/theme/monokai.go
diff --git a/packages/tui/internal/tui/theme/onedark.go b/packages/tui/internal/theme/onedark.go
index a2c1447ca..a2c1447ca 100644
--- a/packages/tui/internal/tui/theme/onedark.go
+++ b/packages/tui/internal/theme/onedark.go
diff --git a/packages/tui/internal/tui/theme/opencode.go b/packages/tui/internal/theme/opencode.go
index 7ee6f15e5..7ee6f15e5 100644
--- a/packages/tui/internal/tui/theme/opencode.go
+++ b/packages/tui/internal/theme/opencode.go
diff --git a/packages/tui/internal/tui/theme/theme.go b/packages/tui/internal/theme/theme.go
index c97b95478..c97b95478 100644
--- a/packages/tui/internal/tui/theme/theme.go
+++ b/packages/tui/internal/theme/theme.go
diff --git a/packages/tui/internal/tui/theme/theme_test.go b/packages/tui/internal/theme/theme_test.go
index 790ee3aa8..790ee3aa8 100644
--- a/packages/tui/internal/tui/theme/theme_test.go
+++ b/packages/tui/internal/theme/theme_test.go
diff --git a/packages/tui/internal/tui/theme/tokyonight.go b/packages/tui/internal/theme/tokyonight.go
index a6499a25d..a6499a25d 100644
--- a/packages/tui/internal/tui/theme/tokyonight.go
+++ b/packages/tui/internal/theme/tokyonight.go
diff --git a/packages/tui/internal/tui/theme/tron.go b/packages/tui/internal/theme/tron.go
index c4997a6d1..c4997a6d1 100644
--- a/packages/tui/internal/tui/theme/tron.go
+++ b/packages/tui/internal/theme/tron.go
diff --git a/packages/tui/internal/tui/tui.go b/packages/tui/internal/tui/tui.go
index 4b29dbdb6..393344a2f 100644
--- a/packages/tui/internal/tui/tui.go
+++ b/packages/tui/internal/tui/tui.go
@@ -10,15 +10,15 @@ import (
"github.com/charmbracelet/bubbles/spinner"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- "github.com/sst/opencode/internal/tui/app"
+ "github.com/sst/opencode/internal/app"
+ "github.com/sst/opencode/internal/components/core"
+ "github.com/sst/opencode/internal/components/dialog"
+ "github.com/sst/opencode/internal/layout"
+ "github.com/sst/opencode/internal/page"
+ "github.com/sst/opencode/internal/state"
"github.com/sst/opencode/internal/status"
- "github.com/sst/opencode/internal/tui/components/core"
- "github.com/sst/opencode/internal/tui/components/dialog"
- "github.com/sst/opencode/internal/tui/layout"
- "github.com/sst/opencode/internal/tui/page"
- "github.com/sst/opencode/internal/tui/state"
- "github.com/sst/opencode/internal/tui/util"
+ "github.com/sst/opencode/internal/util"
"github.com/sst/opencode/pkg/client"
)
@@ -158,7 +158,7 @@ func (a appModel) Init() tea.Cmd {
// Check if we should show the init dialog
cmds = append(cmds, func() tea.Msg {
- shouldShow := a.app.Info.Time.Initialized == nil
+ shouldShow := a.app.Info.Git && a.app.Info.Time.Initialized == nil
return dialog.ShowInitDialogMsg{Show: shouldShow}
})
@@ -900,7 +900,7 @@ func (a appModel) View() string {
return appView
}
-func New(app *app.App) tea.Model {
+func NewModel(app *app.App) tea.Model {
startPage := page.ChatPage
model := &appModel{
currentPage: startPage,
diff --git a/packages/tui/internal/tui/util/util.go b/packages/tui/internal/util/util.go
index 207382d1e..207382d1e 100644
--- a/packages/tui/internal/tui/util/util.go
+++ b/packages/tui/internal/util/util.go