summaryrefslogtreecommitdiffhomepage
path: root/packages/tui
diff options
context:
space:
mode:
Diffstat (limited to 'packages/tui')
-rw-r--r--packages/tui/cmd/opencode/main.go3
-rw-r--r--packages/tui/internal/app/app.go14
2 files changed, 12 insertions, 5 deletions
diff --git a/packages/tui/cmd/opencode/main.go b/packages/tui/cmd/opencode/main.go
index cd827a952..363ade844 100644
--- a/packages/tui/cmd/opencode/main.go
+++ b/packages/tui/cmd/opencode/main.go
@@ -27,6 +27,7 @@ func main() {
var model *string = flag.String("model", "", "model to begin with")
var prompt *string = flag.String("prompt", "", "prompt to begin with")
+ var mode *string = flag.String("mode", "", "mode to begin with")
flag.Parse()
url := os.Getenv("OPENCODE_SERVER")
@@ -68,7 +69,7 @@ func main() {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- app_, err := app.New(ctx, version, appInfo, modes, httpClient, model, prompt)
+ app_, err := app.New(ctx, version, appInfo, modes, httpClient, model, prompt, mode)
if err != nil {
panic(err)
}
diff --git a/packages/tui/internal/app/app.go b/packages/tui/internal/app/app.go
index b41bbaeaf..cb54aa940 100644
--- a/packages/tui/internal/app/app.go
+++ b/packages/tui/internal/app/app.go
@@ -39,6 +39,7 @@ type App struct {
Commands commands.CommandRegistry
InitialModel *string
InitialPrompt *string
+ IntitialMode *string
compactCancel context.CancelFunc
}
@@ -70,8 +71,9 @@ func New(
appInfo opencode.App,
modes []opencode.Mode,
httpClient *opencode.Client,
- model *string,
- prompt *string,
+ initialModel *string,
+ initialPrompt *string,
+ initialMode *string,
) (*App, error) {
util.RootPath = appInfo.Path.Root
util.CwdPath = appInfo.Path.Cwd
@@ -106,6 +108,9 @@ func New(
if appState.Mode != "" {
modeName = appState.Mode
}
+ if initialMode != nil && *initialMode != "" {
+ modeName = *initialMode
+ }
for i, m := range modes {
if m.Name == modeName {
modeIndex = i
@@ -154,8 +159,9 @@ func New(
Session: &opencode.Session{},
Messages: []opencode.MessageUnion{},
Commands: commands.LoadFromConfig(configInfo),
- InitialModel: model,
- InitialPrompt: prompt,
+ InitialModel: initialModel,
+ InitialPrompt: initialPrompt,
+ IntitialMode: initialMode,
}
return app, nil