@@ -12,7 +12,6 @@ import (
12 "github.com/charmbracelet/crush/internal/app"
12 "github.com/charmbracelet/crush/internal/app"
13 "github.com/charmbracelet/crush/internal/config"
13 "github.com/charmbracelet/crush/internal/config"
14 "github.com/charmbracelet/crush/internal/db"
14 "github.com/charmbracelet/crush/internal/db"
15− "github.com/charmbracelet/crush/internal/format"
16 "github.com/charmbracelet/crush/internal/llm/agent"
15 "github.com/charmbracelet/crush/internal/llm/agent"
17 "github.com/charmbracelet/crush/internal/log"
16 "github.com/charmbracelet/crush/internal/log"
18 "github.com/charmbracelet/crush/internal/tui"
17 "github.com/charmbracelet/crush/internal/tui"
@@ -52,14 +51,8 @@ to assist developers in writing, debugging, and understanding code directly from
52 debug, _ := cmd.Flags().GetBool("debug")
51 debug, _ := cmd.Flags().GetBool("debug")
53 cwd, _ := cmd.Flags().GetString("cwd")
52 cwd, _ := cmd.Flags().GetString("cwd")
54 prompt, _ := cmd.Flags().GetString("prompt")
53 prompt, _ := cmd.Flags().GetString("prompt")
55− outputFormat, _ := cmd.Flags().GetString("output-format")
56 quiet, _ := cmd.Flags().GetBool("quiet")
54 quiet, _ := cmd.Flags().GetBool("quiet")
58− // Validate format option
59− if !format.IsValid(outputFormat) {
60− return fmt.Errorf("invalid format option: %s\n%s", outputFormat, format.GetHelpText())
63 if cwd != "" {
56 if cwd != "" {
64 err := os.Chdir(cwd)
57 err := os.Chdir(cwd)
65 if err != nil {
58 if err != nil {
@@ -109,7 +102,7 @@ to assist developers in writing, debugging, and understanding code directly from
109 // Non-interactive mode
102 // Non-interactive mode
110 if prompt != "" {
103 if prompt != "" {
111 // Run non-interactive flow using the App method
104 // Run non-interactive flow using the App method
112− return app.RunNonInteractive(ctx, prompt, outputFormat, quiet)
105+ return app.RunNonInteractive(ctx, prompt, quiet)
115 // Set up the TUI
108 // Set up the TUI
@@ -164,17 +157,8 @@ func init() {
164 rootCmd.Flags().BoolP("debug", "d", false, "Debug")
157 rootCmd.Flags().BoolP("debug", "d", false, "Debug")
165 rootCmd.Flags().StringP("prompt", "p", "", "Prompt to run in non-interactive mode")
158 rootCmd.Flags().StringP("prompt", "p", "", "Prompt to run in non-interactive mode")
167− // Add format flag with validation logic
168− rootCmd.Flags().StringP("output-format", "f", format.Text.String(),
169− "Output format for non-interactive mode (text, json)")
171 // Add quiet flag to hide spinner in non-interactive mode
160 // Add quiet flag to hide spinner in non-interactive mode
172 rootCmd.Flags().BoolP("quiet", "q", false, "Hide spinner in non-interactive mode")
161 rootCmd.Flags().BoolP("quiet", "q", false, "Hide spinner in non-interactive mode")
174− // Register custom validation for the format flag
175− rootCmd.RegisterFlagCompletionFunc("output-format", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
176− return format.SupportedFormats, cobra.ShellCompDirectiveNoFileComp
180func maybePrependStdin(prompt string) (string, error) {
164func maybePrependStdin(prompt string) (string, error) {