summaryrefslogtreecommitdiff
path: root/crates/typst-cli/src/args.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/typst-cli/src/args.rs')
-rw-r--r--crates/typst-cli/src/args.rs31
1 files changed, 29 insertions, 2 deletions
diff --git a/crates/typst-cli/src/args.rs b/crates/typst-cli/src/args.rs
index 65259ab7..7436d25c 100644
--- a/crates/typst-cli/src/args.rs
+++ b/crates/typst-cli/src/args.rs
@@ -13,9 +13,36 @@ use semver::Version;
/// in environment variables.
const ENV_PATH_SEP: char = if cfg!(windows) { ';' } else { ':' };
-/// The Typst compiler.
+/// The overall structure of the help.
+#[rustfmt::skip]
+const HELP_TEMPLATE: &str = "\
+Typst {version}
+
+{usage-heading} {usage}
+
+{all-args}{after-help}\
+";
+
+/// Adds a list of useful links after the normal help.
+#[rustfmt::skip]
+const AFTER_HELP: &str = color_print::cstr!("\
+<s><u>Resources:</></>
+ <s>Tutorial:</> https://typst.app/docs/tutorial/
+ <s>Reference documentation:</> https://typst.app/docs/reference/
+ <s>Templates & Packages:</> https://typst.app/universe/
+ <s>Forum for questions:</> https://forum.typst.app/
+");
+
+/// The Typst compiler
#[derive(Debug, Clone, Parser)]
-#[clap(name = "typst", version = crate::typst_version(), author)]
+#[clap(
+ name = "typst",
+ version = crate::typst_version(),
+ author,
+ help_template = HELP_TEMPLATE,
+ after_help = AFTER_HELP,
+ max_term_width = 80,
+)]
pub struct CliArguments {
/// The command to run
#[command(subcommand)]