+ (** {2 Command line parsing} *)
+
+let debug = ref false
+let args = ref []
+let add_arg arg = args := arg :: !args
+
+let arg_spec =
+ let std_arg_spec = [] in
+ let debug_arg_spec =
+ if BuildTimeConf.debug then
+ [ "-debug", Arg.Set debug,
+ "Do not catch top-level exception (useful for backtrace inspection)"; ]
+ else []
+ in
+ std_arg_spec @ debug_arg_spec
+
+let usage () =
+ let heading = sprintf "Matita v%s\nUsage: " BuildTimeConf.version in
+ if Helm_registry.get "matita.mode" = "cicbrowser" then
+ heading ^ "cicbrowser [ URL | Whelp query ]\nOptions:"
+ else
+ heading ^ "matita [ FILE ]"
+
+let set_matita_mode () =
+ let matita_mode =
+ if Filename.basename Sys.argv.(0) = "cicbrowser"
+ then "cicbrowser"
+ else "matita"
+ in
+ Helm_registry.set "matita.mode" matita_mode
+
+ (** {2 Main} *)