open Format
-
-let index_empty_texts = ref true
-let sample_factor = ref 64
-let disable_text_collection = ref false
-let tc_threshold = ref 60000
-
-let query = ref ""
-let input_file = ref ""
-let output_file = ref None
-let save_file = ref ""
-let count_only = ref false
-let time = ref false
-let bottom_up = ref false
-let no_jump = ref false
-let no_cache = ref false
-let verbose = ref false
-let text_index_type = ref 0
-let do_perf = ref false
-let twopass = ref false
-let repeat = ref 1
-let docstats = ref false
-let no_wrap_results = ref false
+open Config
let set_index_type = function
| "default" -> text_index_type := 0
"-doc-stats", Arg.Set(docstats),
" Compute document statistics (performs full traversal)";
-
"-v", Arg.Set(verbose), " verbose mode"; ] @
IFNDEF NTRACE
THEN [
ELSE []
END
+let real_spec =
+ spec @ [
+ "-", Arg.Unit (fun () -> anon_fun "-"), "";
+ ]
+
let parse_cmdline() =
- let _ = Arg.parse spec anon_fun usage_msg
+ let _ =
+ try
+ Arg.parse_argv Sys.argv real_spec anon_fun usage_msg;
+ if (!pos > 3 || !pos < 2) then raise (Arg.Bad "Invalid number of arguments")
+ with
+ Arg.Bad s | Arg.Help s ->
+ eprintf "%s\n" (Arg.usage_string spec usage_msg);
+ exit 1
in
- if (!pos > 3 || !pos < 2)
- then begin Arg.usage spec usage_msg; exit 1 end;
Logger.set_verbose !verbose