Minor refactor

- Use init() function to set up commands
- Expose an Execute() function instead of the root command
This commit is contained in:
Matt Low 2023-11-14 06:00:51 +00:00
parent dd5f166767
commit 6599af042b
2 changed files with 19 additions and 17 deletions

View File

@ -8,9 +8,8 @@ import (
)
func main() {
cmd := cli.NewRootCmd()
if err := cmd.Execute(); err != nil {
fmt.Println(err)
if err := cli.Execute(); err != nil {
fmt.Fprint(os.Stderr, err)
os.Exit(1)
}
}

View File

@ -12,6 +12,21 @@ import (
// TODO: allow setting with flag
const MAX_TOKENS = 256
func init() {
rootCmd.AddCommand(
lsCmd,
newCmd,
promptCmd,
replyCmd,
rmCmd,
viewCmd,
)
}
func Execute() error {
return rootCmd.Execute()
}
var rootCmd = &cobra.Command{
Use: "lmcli",
Short: "Interact with Large Language Models",
@ -223,8 +238,8 @@ var replyCmd = &cobra.Command{
messageContents, err := InputFromEditor("# How would you like to reply?\n", "reply.*.md")
userReply := Message{
ConversationID: conversation.ID,
Role: "user",
ConversationID: conversation.ID,
Role: "user",
OriginalContent: messageContents,
}
@ -387,15 +402,3 @@ var promptCmd = &cobra.Command{
fmt.Println()
},
}
func NewRootCmd() *cobra.Command {
rootCmd.AddCommand(
lsCmd,
newCmd,
promptCmd,
replyCmd,
rmCmd,
viewCmd,
)
return rootCmd
}