package packer // A command is a runnable sub-command of the `packer` application. // When `packer` is called with the proper subcommand, this will be // called. // // The mapping of command names to command interfaces is in the // Environment struct. type Command interface { // Help should return long-form help text that includes the command-line // usage, a brief few sentences explaining the function of the command, // and the complete list of flags the command accepts. Help() string // Run should run the actual command with the given environmet and // command-line arguments. It should return the exit status when it is // finished. Run(env Environment, args []string) int // Synopsis should return a one-line, short synopsis of the command. // This should be less than 50 characters ideally. Synopsis() string }