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 } if aliasList { aliases, err := d.ListAliases() if err != nil { return } output.PrintAliases(cmd.OutOrStdout(), aliases, jsonFlag) return } if len(args) == 0 { aliases, _ := d.ListAliases() output.PrintAliases(cmd.OutOrStdout(), aliases, jsonFlag) return } if len(args) == 1 { a, err := d.GetAlias(args[0]) if err != nil { fmt.Fprintln(os.Stderr, " alias not found:", args[0]) return } fmt.Println(a.Command) return } if err := d.SetAlias(args[0], args[1]); err != nil { fmt.Fprintln(os.Stderr, " failed to set alias:", err) return } output.PrintSuccess(cmd.OutOrStdout(), "Alias '%s' set", args[0]) }, } func init() { rootCmd.AddCommand(aliasCmd) aliasCmd.Flags().BoolVar(&aliasList, "list", false, "list all aliases") }