Macro termint::help

source ·
macro_rules! help {
    ($header:literal: $($rest:tt)*) => { ... };
    (
        $cmd:literal $([$param:literal])* => $description:literal
        $($rest:tt)*
    ) => { ... };
    (
        $cmd:literal $([$param:literal])* => {
            $($description:literal),* $(,)?
        }
        $($rest:tt)*
    ) => { ... };
    () => { ... };
}
Expand description

Makes creating help easier

  • Printed in green
"header":

§Command help:

  • Command is printed in yellow and has left padding of 2
  • Others in default color
  • Description has left padding of 4
// One description literals
"command" ["params"]* => "description"
// Multiple description literals
"command" ["params"]* => {
    "description1",
    "description2"
}

§Usage:

help!(
    "Usage":
    "-t" ["value"] => "Tests program with [value]"
    "-d" => {
        "Creates documentation",
        "When used with -t, also tests the documentation",
    }
    "Special case":
    "-ntd" => "Creates documentation and runs test without testing docs"
);