47 lines
2.2 KiB
Go
47 lines
2.2 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 {
|
|
Add string `arg:"--add" help:"add a new chat"`
|
|
Format *EmptyCmd `arg:"subcommand:format" help:"add a conversation"`
|
|
Playback *PlaybackCmd `arg:"subcommand:playback" help:"dump your prior conversations to the terminal'"`
|
|
Output string `arg:"--output" help:"should get a string from regex-cli"`
|
|
Input string `arg:"--input" help:"should get a string from regex-cli"`
|
|
Editor *EmptyCmd `arg:"subcommand:editor" help:"open env EDITOR"`
|
|
ImportFile string `arg:"--import" help:"import a file from regex-cli"`
|
|
Stats []string `arg:"--stats" help:"add stats to a chat"`
|
|
NewChat []string `arg:"--new-chat" help:"create a new chat"`
|
|
GetNextAutoTopic bool `arg:"--get-next-auto-topic" help:"get the next auto topic name"`
|
|
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"`
|
|
Uuid string `arg:"--uuid" help:"look at this uuid"`
|
|
}
|
|
|
|
func (args) Version() string {
|
|
return ARGNAME + " " + VERSION + " Built on " + BUILDTIME
|
|
}
|
|
|
|
func (a args) Description() string {
|
|
return `
|
|
regex -- interact with Googles' Gemini AI
|
|
`
|
|
}
|