message: Improved help for deffered params
diff: @@ -545,7 +545,7 @@ impl CommandExecutor {
  print!(" [{}=]<{}-value>", main_param.name(), main_param.name())
  }
  - for param in command.metadata().all_params() {
  + for param in command.metadata().params() {
  if param.is_optional() {
  print!(" [{}=<{}-value>]", param.name(), param.name())
  } else {
  @@ -553,6 +553,14 @@ impl CommandExecutor {
  }
  }
  + for param in command.metadata().deferred_params() {
  + if param.is_optional() {
  + print!(" [{}[=<{}-value>]]", param.name(), param.name())
  + } else {
  + print!(" {}[=<{}-value>]", param.name(), param.name())
  + }
  + }
  +
  println!();
  if command.metadata().main_param().is_some() || command.metadata().all_params().len() > 0 {
  @@ -563,7 +571,7 @@ impl CommandExecutor {
  println!("\t{} - {}", main_param.name(), main_param.help())
  }
  - for param in command.metadata().all_params() {
  + for param in command.metadata().params() {
  print!("\t{} - ", param.name());
  if param.is_optional() {
  @@ -572,6 +580,18 @@ impl CommandExecutor {
  println!("{}", param.help());
  }
  +
  + for param in command.metadata().deferred_params() {
  + print!("\t{} - ", param.name());
  +
  + if param.is_optional() {
  + print!("(optional) ")
  + }
  +
  + print!("(left empty for deferred input) ");
  +
  + println!("{}", param.help());
  + }
  }
  if command.metadata().examples().len() > 0 {
  