# Note: For now, only PRO commands have command specific help. so only "rollbackonechangset" and "rollbackoneupdate".
## Context
We should make it easier to learn liquibase, in part by making it easier to read the help. while only PRO commands will be affected, this should be coded so that we can add command specific help (as part of the upcoming Usability Epic) and it should function without further coding work.

## Requirements
As a user, i want to open a terminal/command line, fire up liquibase and hit the command's help, without having to fire up a database as well.

When learning liquibase i often check the <command> --help, but this will not work without a specified url which actually connects to a database. for example, rollbackonechangeset --help will tell you.

```
mmc-mbp:opt mariochampion$ liquibase rollbackonechangeset --help
Liquibase Community 3.8.6 by Datical
Errors:
  The option --url is required.
  The option --changeLogFile is required.
```

## Acceptance Criteria
This ticket will be successfully resolved when: 

1. A user with or without a PRO license should be able to see command --help, without required command options.
1. A user typing "liquibase rollbackonechangeset --help" will see the help for that command in their console
1. A user typing "liquibase rollbackoneupdate --help" will see the help for that command in their console


if (this.commandParams.contains("--help")) {
            argsMap.put("help", true);
        }
        LiquibaseCommand liquibaseCommand = CommandFactory.getInstance().getCommand(commandName);
        AbstractSelfConfiguratingCommand configuratingCommand = (AbstractSelfConfiguratingCommand) liquibaseCommand;
        configuratingCommand.configure(argsMap);
        return liquibaseCommand;
    }
    /**
     * Return the first "parameter" from the command line that does NOT have the form of parameter=value. A parameter
     * is a command line argument that follows the main action (e.g. update/rollback/...). Example:
     * For the main action "updateToTagSQL &lt;tag&gt;", &lt;tag&gt; would be the command argument.
     *
     * @return the command argument, if one is given. Otherwise null.
     */
    private String getCommandArgument() {
        for (String param : commandParams) {
            if (!param.contains("=")) {
                return param;
            }
        }
        return null;
    }
    /**
     * Returns the value for a command line parameter of the form parameterName=value, or defaultValue if that
     * parameter has not been specified by the user.
     *
     * @param paramName    name of the parameter
     * @param defaultValue return value if parameter is not given
     * @return the user-specified value for paramName, or defaultValue