feat: brew version support

This commit is contained in:
Tommy Guo 2026-01-30 23:01:06 -05:00
parent 55ad5ffc62
commit 952b8c47ce

View File

@ -10,37 +10,35 @@ import (
"github.com/oug-t/difi/internal/ui" "github.com/oug-t/difi/internal/ui"
) )
var version = "dev"
func main() { func main() {
// Define flags showVersion := flag.Bool("version", false, "Show version")
help := flag.Bool("help", false, "Show help")
flag.Usage = func() { flag.Usage = func() {
fmt.Fprintf(os.Stderr, "Usage: difi [flags] [target-branch]\n") fmt.Fprintf(os.Stderr, "Usage: difi [flags] [target-branch]\n")
fmt.Fprintf(os.Stderr, "\nFlags:\n") fmt.Fprintf(os.Stderr, "\nFlags:\n")
flag.PrintDefaults() flag.PrintDefaults()
fmt.Fprintf(os.Stderr, "\nExamples:\n") fmt.Fprintf(os.Stderr, "\nExamples:\n")
fmt.Fprintf(os.Stderr, " difi # Diff against main\n") fmt.Fprintf(os.Stderr, " difi # Diff against main\n")
fmt.Fprintf(os.Stderr, " difi develop # Diff against develop\n") fmt.Fprintf(os.Stderr, " difi develop # Diff against develop\n")
fmt.Fprintf(os.Stderr, " difi HEAD~1 # Diff against last commit\n") fmt.Fprintf(os.Stderr, " difi HEAD~1 # Diff against last commit\n")
} }
flag.Parse() flag.Parse()
if *help { if *showVersion {
flag.Usage() fmt.Printf("difi version %s\n", version)
os.Exit(0) os.Exit(0)
} }
// Determine Target Branch
// If user provides an argument (e.g., "difi develop"), use it.
// Otherwise default to "main".
target := "main" target := "main"
if flag.NArg() > 0 { if flag.NArg() > 0 {
target = flag.Arg(0) target = flag.Arg(0)
} }
// Load Config
cfg := config.Load() cfg := config.Load()
// Pass target to the model
p := tea.NewProgram(ui.NewModel(cfg, target), tea.WithAltScreen()) p := tea.NewProgram(ui.NewModel(cfg, target), tea.WithAltScreen())
if _, err := p.Run(); err != nil { if _, err := p.Run(); err != nil {
fmt.Printf("Error: %v\n", err) fmt.Printf("Error: %v\n", err)