summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-08-21 10:52:40 -0500
committerJeff Carr <[email protected]>2025-08-21 10:52:40 -0500
commitad39cfacbdc142c130ebef0b662ec007677e2acd (patch)
treefd94e039e068bfe967296f4e70abc889815634d5 /main.go
day1v0.0.1
Diffstat (limited to 'main.go')
-rw-r--r--main.go71
1 files changed, 71 insertions, 0 deletions
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..e6150f9
--- /dev/null
+++ b/main.go
@@ -0,0 +1,71 @@
+// Copyright 2017-2025 WIT.COM Inc. All rights reserved.
+// Use of this source code is governed by the GPL 3.0
+
+package main
+
+// An app to submit patches for the 30 GO GUI repos
+
+import (
+ "embed"
+ "os"
+ "strings"
+
+ "go.wit.com/dev/alexflint/arg"
+ "go.wit.com/gui"
+ "go.wit.com/lib/protobuf/gitpb"
+ "go.wit.com/log"
+)
+
+// sent via -ldflags
+var VERSION string
+var BUILDTIME string
+
+// this optionally can store the GUI plugins
+//
+//go:embed resources/*
+var resources embed.FS
+
+// used for shell auto completion
+var ARGNAME string = "gemini"
+
+// using this for now. triggers config save
+var configSave bool
+
+func getVersion(repo *gitpb.Repo, name string) string {
+ cmd := []string{"git", "describe", "--tags", "--always", name}
+ result, _ := repo.RunQuiet(cmd)
+ output := strings.Join(result.Stdout, "\n")
+ log.Info("cmd =", cmd, output)
+
+ return strings.TrimSpace(output)
+}
+
+func main() {
+ me = new(mainType)
+ gui.InitArg()
+ me.pp = arg.MustParse(&argv)
+
+ if argv.Bash {
+ argv.doBash()
+ os.Exit(0)
+ }
+ if len(argv.BashAuto) != 0 {
+ argv.doBashAuto()
+ os.Exit(0)
+ }
+
+ if argv.Playback != nil {
+ log.Info("do playback here")
+ okExit("")
+ }
+
+ if argv.Add != nil {
+ log.Info("add new conversation to protobuf")
+ okExit("")
+ }
+
+ // if opening the GUI, always check git for dirty repos
+ log.Info("open the gui here")
+ // doGui()
+ okExit("")
+}