diff --git a/.gitignore b/.gitignore index 7a87ec70..c7ccca72 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 a6e6c6ea..3d9dd294 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 00000000..5008ddfc Binary files /dev/null and b/packages/tui/internal/app/.DS_Store differ diff --git a/packages/tui/internal/tui/app/app.go b/packages/tui/internal/app/app.go similarity index 97% rename from packages/tui/internal/tui/app/app.go rename to packages/tui/internal/app/app.go index 69a64c62..61ef95e2 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 a405b34c..6077b880 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 similarity index 94% rename from packages/tui/internal/tui/components/chat/chat.go rename to packages/tui/internal/components/chat/chat.go index 4ba03cc7..ad06728d 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 similarity index 97% rename from packages/tui/internal/tui/components/chat/editor.go rename to packages/tui/internal/components/chat/editor.go index 6586f202..bf5c5875 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 similarity index 99% rename from packages/tui/internal/tui/components/chat/message.go rename to packages/tui/internal/components/chat/message.go index 54563052..a98586f5 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 similarity index 97% rename from packages/tui/internal/tui/components/chat/messages.go rename to packages/tui/internal/components/chat/messages.go index 50e2da49..e18b6d15 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 similarity index 96% rename from packages/tui/internal/tui/components/chat/sidebar.go rename to packages/tui/internal/components/chat/sidebar.go index e0713b7e..b2fe872e 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 similarity index 98% rename from packages/tui/internal/tui/components/core/status.go rename to packages/tui/internal/components/core/status.go index edf42fd2..b631ce76 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 similarity index 98% rename from packages/tui/internal/tui/components/dialog/arguments.go rename to packages/tui/internal/components/dialog/arguments.go index fed79bce..2faa3607 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 similarity index 93% rename from packages/tui/internal/tui/components/dialog/commands.go rename to packages/tui/internal/components/dialog/commands.go index b989154c..1e99c09e 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 similarity index 95% rename from packages/tui/internal/tui/components/dialog/complete.go rename to packages/tui/internal/components/dialog/complete.go index 57193d00..ca209014 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 similarity index 96% rename from packages/tui/internal/tui/components/dialog/custom_commands.go rename to packages/tui/internal/components/dialog/custom_commands.go index f0d74ce5..e23a90f6 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 similarity index 100% rename from packages/tui/internal/tui/components/dialog/custom_commands_test.go rename to 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 similarity index 98% rename from packages/tui/internal/tui/components/dialog/filepicker.go rename to packages/tui/internal/components/dialog/filepicker.go index 088e205f..3fad90e3 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 similarity index 98% rename from packages/tui/internal/tui/components/dialog/help.go rename to packages/tui/internal/components/dialog/help.go index 1f7f53e1..a55e39e7 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 similarity index 97% rename from packages/tui/internal/tui/components/dialog/init.go rename to packages/tui/internal/components/dialog/init.go index 0f00c20a..01bdbe57 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 similarity index 97% rename from packages/tui/internal/tui/components/dialog/models.go rename to packages/tui/internal/components/dialog/models.go index 2dd1e2fe..a9dcb6f6 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 similarity index 98% rename from packages/tui/internal/tui/components/dialog/permission.go rename to packages/tui/internal/components/dialog/permission.go index 0e5afdea..bb71fc35 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 similarity index 94% rename from packages/tui/internal/tui/components/dialog/quit.go rename to packages/tui/internal/components/dialog/quit.go index 3fd2ea92..78034c71 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 similarity index 96% rename from packages/tui/internal/tui/components/dialog/session.go rename to packages/tui/internal/components/dialog/session.go index 99aa4151..2d234529 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 similarity index 96% rename from packages/tui/internal/tui/components/dialog/theme.go rename to packages/tui/internal/components/dialog/theme.go index 54856e8a..42c777c4 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 similarity index 94% rename from packages/tui/internal/tui/components/dialog/tools.go rename to packages/tui/internal/components/dialog/tools.go index 76e6ff22..a01d1911 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 similarity index 99% rename from packages/tui/internal/tui/components/diff/diff.go rename to packages/tui/internal/components/diff/diff.go index 5d8b9815..e3ee61c7 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 similarity index 96% rename from packages/tui/internal/tui/components/qr/qr.go rename to packages/tui/internal/components/qr/qr.go index 42a60bb5..df51a644 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 similarity index 100% rename from packages/tui/internal/tui/components/spinner/spinner.go rename to 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 similarity index 100% rename from packages/tui/internal/tui/components/spinner/spinner_test.go rename to 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 similarity index 96% rename from packages/tui/internal/tui/components/util/simple-list.go rename to packages/tui/internal/components/util/simple-list.go index 7b8c4b1c..0c0bb655 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 similarity index 100% rename from packages/tui/internal/tui/config/config.go rename to 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 similarity index 100% rename from packages/tui/internal/tui/image/clipboard_unix.go rename to 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 similarity index 100% rename from packages/tui/internal/tui/image/clipboard_windows.go rename to packages/tui/internal/image/clipboard_windows.go diff --git a/packages/tui/internal/tui/image/images.go b/packages/tui/internal/image/images.go similarity index 100% rename from packages/tui/internal/tui/image/images.go rename to packages/tui/internal/image/images.go diff --git a/packages/tui/internal/tui/layout/container.go b/packages/tui/internal/layout/container.go similarity index 99% rename from packages/tui/internal/tui/layout/container.go rename to packages/tui/internal/layout/container.go index b5bdca20..00166b1d 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 similarity index 100% rename from packages/tui/internal/tui/layout/layout.go rename to packages/tui/internal/layout/layout.go diff --git a/packages/tui/internal/tui/layout/overlay.go b/packages/tui/internal/layout/overlay.go similarity index 96% rename from packages/tui/internal/tui/layout/overlay.go rename to packages/tui/internal/layout/overlay.go index 64836463..031cdecf 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 similarity index 99% rename from packages/tui/internal/tui/layout/split.go rename to packages/tui/internal/layout/split.go index 81e15951..42b8deea 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 similarity index 95% rename from packages/tui/internal/tui/page/chat.go rename to packages/tui/internal/page/chat.go index 1e1d7d9a..1c559122 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 similarity index 100% rename from packages/tui/internal/tui/page/page.go rename to packages/tui/internal/page/page.go diff --git a/packages/tui/internal/tui/state/state.go b/packages/tui/internal/state/state.go similarity index 100% rename from packages/tui/internal/tui/state/state.go rename to packages/tui/internal/state/state.go diff --git a/packages/tui/internal/tui/styles/background.go b/packages/tui/internal/styles/background.go similarity index 100% rename from packages/tui/internal/tui/styles/background.go rename to packages/tui/internal/styles/background.go diff --git a/packages/tui/internal/tui/styles/icons.go b/packages/tui/internal/styles/icons.go similarity index 100% rename from packages/tui/internal/tui/styles/icons.go rename to packages/tui/internal/styles/icons.go diff --git a/packages/tui/internal/tui/styles/markdown.go b/packages/tui/internal/styles/markdown.go similarity index 99% rename from packages/tui/internal/tui/styles/markdown.go rename to packages/tui/internal/styles/markdown.go index 77fb51ba..40f5b689 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 similarity index 98% rename from packages/tui/internal/tui/styles/styles.go rename to packages/tui/internal/styles/styles.go index 91661a1d..f5dae704 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 similarity index 100% rename from packages/tui/internal/tui/theme/ayu.go rename to packages/tui/internal/theme/ayu.go diff --git a/packages/tui/internal/tui/theme/catppuccin.go b/packages/tui/internal/theme/catppuccin.go similarity index 100% rename from packages/tui/internal/tui/theme/catppuccin.go rename to packages/tui/internal/theme/catppuccin.go diff --git a/packages/tui/internal/tui/theme/dracula.go b/packages/tui/internal/theme/dracula.go similarity index 100% rename from packages/tui/internal/tui/theme/dracula.go rename to packages/tui/internal/theme/dracula.go diff --git a/packages/tui/internal/tui/theme/flexoki.go b/packages/tui/internal/theme/flexoki.go similarity index 100% rename from packages/tui/internal/tui/theme/flexoki.go rename to packages/tui/internal/theme/flexoki.go diff --git a/packages/tui/internal/tui/theme/gruvbox.go b/packages/tui/internal/theme/gruvbox.go similarity index 100% rename from packages/tui/internal/tui/theme/gruvbox.go rename to packages/tui/internal/theme/gruvbox.go diff --git a/packages/tui/internal/tui/theme/manager.go b/packages/tui/internal/theme/manager.go similarity index 100% rename from packages/tui/internal/tui/theme/manager.go rename to packages/tui/internal/theme/manager.go diff --git a/packages/tui/internal/tui/theme/monokai.go b/packages/tui/internal/theme/monokai.go similarity index 100% rename from packages/tui/internal/tui/theme/monokai.go rename to packages/tui/internal/theme/monokai.go diff --git a/packages/tui/internal/tui/theme/onedark.go b/packages/tui/internal/theme/onedark.go similarity index 100% rename from packages/tui/internal/tui/theme/onedark.go rename to packages/tui/internal/theme/onedark.go diff --git a/packages/tui/internal/tui/theme/opencode.go b/packages/tui/internal/theme/opencode.go similarity index 100% rename from packages/tui/internal/tui/theme/opencode.go rename to packages/tui/internal/theme/opencode.go diff --git a/packages/tui/internal/tui/theme/theme.go b/packages/tui/internal/theme/theme.go similarity index 100% rename from packages/tui/internal/tui/theme/theme.go rename to 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 similarity index 100% rename from packages/tui/internal/tui/theme/theme_test.go rename to packages/tui/internal/theme/theme_test.go diff --git a/packages/tui/internal/tui/theme/tokyonight.go b/packages/tui/internal/theme/tokyonight.go similarity index 100% rename from packages/tui/internal/tui/theme/tokyonight.go rename to packages/tui/internal/theme/tokyonight.go diff --git a/packages/tui/internal/tui/theme/tron.go b/packages/tui/internal/theme/tron.go similarity index 100% rename from packages/tui/internal/tui/theme/tron.go rename to packages/tui/internal/theme/tron.go diff --git a/packages/tui/internal/tui/tui.go b/packages/tui/internal/tui/tui.go index 4b29dbdb..393344a2 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 similarity index 100% rename from packages/tui/internal/tui/util/util.go rename to packages/tui/internal/util/util.go