$ new-project --named blah
User presses <TAB>:
Options from Step 1 are displayed (Step 1 not yet valid):
--type (required)
--targetDir
--topLevelPackage
$ new-project --named blah --type “Forge Addon”
User presses <TAB>:
Options from Step 1 AND Step 2 are displayed (Step 1 is valid):
--targetDir (Step 1)
--topLevelPackage (Step 1)
--projectLayout (Step 2)
--installAddons (Step 2)
$ new-project --named blah --type “Forge Addon” --projectLayout complex
User presses <TAB>:
Options from Step 2 only are displayed:
--installAddons
$ new-project --named blah --type “Maven” --projectLayout complex
User presses <TAB>
Shell throws error:
“--projectLayout is not a valid input for “MavenProjectStep”
Re-display previous line and let the user fix it. (Completion fails, but command line preserved.)
$ new-project --named blah --type “Maven” --projectLayout complex