44 lines
1.8 KiB
Go
44 lines
1.8 KiB
Go
// Copyright 2017-2025 WIT.COM Inc. All rights reserved.
|
|
// Use of this source code is governed by the GPL 3.0
|
|
|
|
package main
|
|
|
|
/*
|
|
this parses the command line arguements using alex flint's go-arg
|
|
*/
|
|
|
|
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"`
|
|
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 PlaybackCmd struct {
|
|
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"`
|
|
}
|
|
|
|
func (args) Version() string {
|
|
return ARGNAME + " " + VERSION + " Built on " + BUILDTIME
|
|
}
|
|
|
|
func (a args) Description() string {
|
|
return `
|
|
regex -- interact with Googles' Gemini AI
|
|
`
|
|
}
|