From d31d09366fb60e98689336119b176df7318e8ebf Mon Sep 17 00:00:00 2001 From: Avril Date: Sun, 6 Apr 2025 21:03:39 +0100 Subject: [PATCH] Added extra info in old interface help message (about version & enabled features.) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fortune for rematch's current commit: Blessing − 吉 --- src/main.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main.rs b/src/main.rs index 996cd42..99d818e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -205,8 +205,22 @@ fn main() -> eyre::Result<()> let args: re::FrozenVec = std::env::args().map(String::into_boxed_str).collect(); if args.len() < 4 { + println!("rematch v{}: Regular-expression group matcher", env!("CARGO_PKG_VERSION")); + println!(""); println!("Usage: {} ...", args[0]); println!("Pass `-' as `' to read lines from stdin"); + println!(""); + println!("Enabled Features:"); + if cfg!(feature="perl") { + println!("+perl\t\t\tEnable PCRE2 (extended) regular-expressions.\n\t\t\tNote that PCRE2 regex engine matches on *bytes*, not *characters*; meaning if a match cuts a vlid UTF8 codepoint into an invalid one, the output will replace the invalid characters with U+FFFD REPLACEMENT CHARACTER."); + } else { + println!("-perl\t\tPCRE2 (extended) features are disabled; a faster but less featureful regular expression engine (that matches on UTF8 strings instead of raw bytes) is used instead."); + } + if cfg!(feature="unstable") { + println!("+unstable\t\tUnstable optimisations evailable & enabled for build."); + } else { + println!("-unstable\t\tUnstable optimisations disabled / not available for build."); + } std::process::exit(1) } else { let re = re::Regex::compile(&args[2])?;