package cmd import ( "axolotl/db" "axolotl/output" "fmt" "os" "github.com/spf13/cobra" ) var aliasList bool var aliasCmd = &cobra.Command{ Use: "alias [name] [command]", Short: "Manage aliases", Args: cobra.MaximumNArgs(2), Run: func(cmd *cobra.Command, args []string) { d, err := db.GetDB() if err != nil { fmt.Fprintln(os.Stderr, err) return } w := cmd.OutOrStdout() if aliasList || len(args) == 0 { if aliases, err := d.ListAliases(); err == nil { output.PrintAliases(w, aliases, jsonFlag) } return } if len(args) == 1 { if a, err := d.GetAlias(args[0]); err != nil { fmt.Fprintln(os.Stderr, "alias not found:", args[0]) } else { fmt.Println(a.Command) } return } if err := d.SetAlias(args[0], args[1]); err != nil { fmt.Fprintln(os.Stderr, "failed to set alias:", err) } else { output.PrintAction(w, "Alias set", args[0], false) } }, } func init() { rootCmd.AddCommand(aliasCmd) aliasCmd.Flags().BoolVar(&aliasList, "list", false, "") }