summaryrefslogtreecommitdiff
path: root/argv.struct.go
diff options
context:
space:
mode:
Diffstat (limited to 'argv.struct.go')
-rw-r--r--argv.struct.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/argv.struct.go b/argv.struct.go
new file mode 100644
index 0000000..6d94f1f
--- /dev/null
+++ b/argv.struct.go
@@ -0,0 +1,36 @@
+// Copyright 2017-2025 WIT.COM Inc. All rights reserved.
+// Use of this source code is governed by the GPL 3.0
+
+package main
+
+var argv args
+
+type args struct {
+ Uuid string `arg:"--uuid" help:"look at this uuid"`
+ Topic string `arg:"--topic" help:"set the topic"`
+ JsonFile string `arg:"--json" help:"import a JSON file from gemini-cli"`
+ Interact *EmptyCmd `arg:"subcommand:interact" help:"open env EDITOR"`
+ Playback *PlaybackCmd `arg:"subcommand:playback" help:"dump your prior conversations to the terminal'"`
+ NewChat *PlaybackCmd `arg:"subcommand:newchat" help:"used by gemini-cli on startup"`
+ Clean *CleanCmd `arg:"subcommand:clean" help:"cleanup the files in /tmp"`
+ Stats string `arg:"--stats" help:"add stats to a chat"`
+ Force bool `arg:"--force" help:"try to strong arm things"`
+ Verbose bool `arg:"--verbose" help:"show more output"`
+ Bash bool `arg:"--bash" help:"generate bash completion"`
+ BashAuto []string `arg:"--auto-complete" help:"todo: move this to go-arg"`
+}
+
+type EmptyCmd struct {
+}
+
+type CleanCmd struct {
+ Match string `arg:"positional"`
+}
+
+type PlaybackCmd struct {
+ Last *EmptyCmd `arg:"subcommand:last" help:"dump the last one"`
+ List *EmptyCmd `arg:"subcommand:list" help:"list memories"`
+ Long *EmptyCmd `arg:"subcommand:long" help:"show info on each chat"`
+ Purge *EmptyCmd `arg:"subcommand:purge" help:"verify chat uuids & purge empty chats"`
+ Submit *EmptyCmd `arg:"subcommand:submit" help:"convert and submit the last entry"`
+}