From 39497fe7d80a6765b131b0a62ab48db8bd47a8e9 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Fri, 19 Oct 2018 17:38:51 -0400 Subject: Accept a few other command-line arguments to trigger help text (closes #63) --- src/main.mlton.sml | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/main.mlton.sml b/src/main.mlton.sml index 1229d552..57e89ef2 100644 --- a/src/main.mlton.sml +++ b/src/main.mlton.sml @@ -43,14 +43,25 @@ fun parse_flags flag_info args = fn (flag1, _, _) => flag0 = flag1 end + fun normalizeArg arg = + case arg of + "-h" => "-help" + | "--h" => "-help" + | "--help" => "-help" + | _ => arg + fun loop [] : string list = [] | loop (arg :: args) = - if String.isPrefix "-" arg then - case List.find (search_pred arg) flag_info of - NONE => raise Fail ("Unknown flag "^arg^", see -help") - | SOME x => exec x args - else - arg :: loop args + let + val arg = normalizeArg arg + in + if String.isPrefix "-" arg then + case List.find (search_pred arg) flag_info of + NONE => raise Fail ("Unknown flag "^arg^", see -help") + | SOME x => exec x args + else + arg :: loop args + end and exec (_, ZERO f, _) args = (f (); loop args) -- cgit v1.2.3