summaryrefslogtreecommitdiffhomepage
path: root/packages/tui/internal/config
diff options
context:
space:
mode:
authoradamdottv <[email protected]>2025-07-10 09:53:18 -0500
committeradamdottv <[email protected]>2025-07-10 10:06:51 -0500
commitce4cb820f72591d58ea78d1c0d955a7ca50a0217 (patch)
treeeaf4d26f01c7bd6f4c737cabfd6484ab5abd3401 /packages/tui/internal/config
parentba5be6b6257ea06302db70e3f706e0e29359a77d (diff)
downloadopencode-ce4cb820f72591d58ea78d1c0d955a7ca50a0217.tar.gz
opencode-ce4cb820f72591d58ea78d1c0d955a7ca50a0217.zip
feat(tui): modes
Diffstat (limited to 'packages/tui/internal/config')
-rw-r--r--packages/tui/internal/config/config.go21
1 files changed, 15 insertions, 6 deletions
diff --git a/packages/tui/internal/config/config.go b/packages/tui/internal/config/config.go
index 3dd6fcf59..7004b85b1 100644
--- a/packages/tui/internal/config/config.go
+++ b/packages/tui/internal/config/config.go
@@ -16,18 +16,27 @@ type ModelUsage struct {
LastUsed time.Time `toml:"last_used"`
}
+type ModeModel struct {
+ ProviderID string `toml:"provider_id"`
+ ModelID string `toml:"model_id"`
+}
+
type State struct {
- Theme string `toml:"theme"`
- Provider string `toml:"provider"`
- Model string `toml:"model"`
- RecentlyUsedModels []ModelUsage `toml:"recently_used_models"`
- MessagesRight bool `toml:"messages_right"`
- SplitDiff bool `toml:"split_diff"`
+ Theme string `toml:"theme"`
+ ModeModel map[string]ModeModel `toml:"mode_model"`
+ Provider string `toml:"provider"`
+ Model string `toml:"model"`
+ Mode string `toml:"mode"`
+ RecentlyUsedModels []ModelUsage `toml:"recently_used_models"`
+ MessagesRight bool `toml:"messages_right"`
+ SplitDiff bool `toml:"split_diff"`
}
func NewState() *State {
return &State{
Theme: "opencode",
+ Mode: "build",
+ ModeModel: make(map[string]ModeModel),
RecentlyUsedModels: make([]ModelUsage, 0),
}
}