summaryrefslogtreecommitdiffhomepage
path: root/internal/app
diff options
context:
space:
mode:
authoradamdottv <[email protected]>2025-04-28 08:46:09 -0500
committeradamdottv <[email protected]>2025-04-30 07:46:34 -0500
commit61b605e724eb4cc50ab831534fcdd18e031d68eb (patch)
treeb15b074a8fed1931e179a8d3df08d05b753c7aa3 /internal/app
parent61d9dc95111d2645a49816f6d9d6cc1014be1a22 (diff)
downloadopencode-61b605e724eb4cc50ab831534fcdd18e031d68eb.tar.gz
opencode-61b605e724eb4cc50ab831534fcdd18e031d68eb.zip
feat: themes
Diffstat (limited to 'internal/app')
-rw-r--r--internal/app/app.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/internal/app/app.go b/internal/app/app.go
index 5438633d1..db2ce7da7 100644
--- a/internal/app/app.go
+++ b/internal/app/app.go
@@ -16,6 +16,7 @@ import (
"github.com/opencode-ai/opencode/internal/message"
"github.com/opencode-ai/opencode/internal/permission"
"github.com/opencode-ai/opencode/internal/session"
+ "github.com/opencode-ai/opencode/internal/tui/theme"
)
type App struct {
@@ -49,6 +50,9 @@ func New(ctx context.Context, conn *sql.DB) (*App, error) {
LSPClients: make(map[string]*lsp.Client),
}
+ // Initialize theme based on configuration
+ app.initTheme()
+
// Initialize LSP clients in the background
go app.initLSPClients(ctx)
@@ -73,6 +77,21 @@ func New(ctx context.Context, conn *sql.DB) (*App, error) {
return app, nil
}
+// initTheme sets the application theme based on the configuration
+func (app *App) initTheme() {
+ cfg := config.Get()
+ if cfg == nil || cfg.TUI.Theme == "" {
+ return // Use default theme
+ }
+
+ // Try to set the theme from config
+ err := theme.SetTheme(cfg.TUI.Theme)
+ if err != nil {
+ logging.Warn("Failed to set theme from config, using default theme", "theme", cfg.TUI.Theme, "error", err)
+ } else {
+ logging.Debug("Set theme from config", "theme", cfg.TUI.Theme)
+ }
+}
// Shutdown performs a clean shutdown of the application
func (app *App) Shutdown() {