diff options
Diffstat (limited to 'packages/tui/cmd')
| -rw-r--r-- | packages/tui/cmd/opencode/main.go | 45 |
1 files changed, 19 insertions, 26 deletions
diff --git a/packages/tui/cmd/opencode/main.go b/packages/tui/cmd/opencode/main.go index a46664806..1f25484ea 100644 --- a/packages/tui/cmd/opencode/main.go +++ b/packages/tui/cmd/opencode/main.go @@ -23,10 +23,28 @@ func main() { } url := os.Getenv("OPENCODE_SERVER") + appInfoStr := os.Getenv("OPENCODE_APP_INFO") var appInfo client.AppInfo json.Unmarshal([]byte(appInfoStr), &appInfo) + logfile := filepath.Join(appInfo.Path.Data, "log", "tui.log") + if _, err := os.Stat(filepath.Dir(logfile)); os.IsNotExist(err) { + err := os.MkdirAll(filepath.Dir(logfile), 0755) + if err != nil { + slog.Error("Failed to create log directory", "error", err) + os.Exit(1) + } + } + file, err := os.Create(logfile) + if err != nil { + slog.Error("Failed to create log file", "error", err) + os.Exit(1) + } + defer file.Close() + logger := slog.New(slog.NewTextHandler(file, &slog.HandlerOptions{Level: slog.LevelDebug})) + slog.SetDefault(logger) + httpClient, err := client.NewClientWithResponses(url) if err != nil { slog.Error("Failed to create client", "error", err) @@ -46,7 +64,7 @@ func main() { tui.NewModel(app_), tea.WithAltScreen(), tea.WithKeyboardEnhancements(), - // tea.WithMouseCellMotion(), + tea.WithMouseCellMotion(), ) eventClient, err := client.NewClient(url) @@ -67,35 +85,10 @@ func main() { } }() - go func() { - paths, err := httpClient.PostPathGetWithResponse(context.Background()) - if err != nil { - panic(err) - } - logfile := filepath.Join(paths.JSON200.Data, "log", "tui.log") - - if _, err := os.Stat(filepath.Dir(logfile)); os.IsNotExist(err) { - err := os.MkdirAll(filepath.Dir(logfile), 0755) - if err != nil { - slog.Error("Failed to create log directory", "error", err) - os.Exit(1) - } - } - file, err := os.Create(logfile) - if err != nil { - slog.Error("Failed to create log file", "error", err) - os.Exit(1) - } - defer file.Close() - logger := slog.New(slog.NewTextHandler(file, &slog.HandlerOptions{Level: slog.LevelDebug})) - slog.SetDefault(logger) - }() - // Run the TUI result, err := program.Run() if err != nil { slog.Error("TUI error", "error", err) - // return fmt.Errorf("TUI error: %v", err) } slog.Info("TUI exited", "result", result) |
