refactor(recipe): update regex for robust Grok output matching

- Blank import bufio to avoid unused warnings.
- Refine regex to handle double-quoted format and fix backtick issues.
- Update comments for clarity on regex changes.
This commit is contained in:
Greg Gauthier 2026-03-06 22:25:39 +00:00
parent c5bdd44e55
commit d4f3e3adbc

View File

@ -1,7 +1,7 @@
package recipe
import (
"bufio"
_ "bufio"
"fmt"
"os"
"path/filepath"
@ -99,7 +99,7 @@ func (r *Runner) discoverFiles() []string {
return files
}
// handleApplyStep with flexible regex that matches Grok's current output style
// handleApplyStep with robust regex that matches Grok's current output
func (r *Runner) handleApplyStep(previousResults []string) {
if len(previousResults) == 0 {
fmt.Println(" ⚠️ No previous results to apply — skipping.")
@ -124,8 +124,8 @@ func (r *Runner) handleApplyStep(previousResults []string) {
fmt.Println(" Review it, then run with dry_run=false to apply.")
}
// Flexible regex — matches both old and new Grok formats
var blockRe = regexp.MustCompile(`(?s)```go\n(?://\s*)?(.+?\.go)\n(.*?)\n````)
// Double-quoted regex — no raw-string backtick problems ever again
var blockRe = regexp.MustCompile(`(?s)```go\n// \s*(.+?\.go)\n(.*?)\n````)
func extractCodeBlocks(text string) map[string]string {
blocks := make(map[string]string)