diff options
author | Damien Doligez <damien.doligez-inria.fr> | 2014-10-15 13:34:58 +0000 |
---|---|---|
committer | Damien Doligez <damien.doligez-inria.fr> | 2014-10-15 13:34:58 +0000 |
commit | 031cffd1554cde5e9d78b78e4959708a2d8c9201 (patch) | |
tree | 38aec36ff5282a62a704f7a925ddac41aae51db6 /ocamldoc/odoc_args.ml | |
parent | e3ad818fb5f8ddc7b477779a6da69ccac0f00f4f (diff) | |
parent | 6ca707d0665b2015a5690de8c560e27f6371e443 (diff) | |
download | ocaml-031cffd1554cde5e9d78b78e4959708a2d8c9201.tar.gz |
merge branch 4.02 from release 4.02.0 to release 4.02.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15558 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'ocamldoc/odoc_args.ml')
-rw-r--r-- | ocamldoc/odoc_args.ml | 99 |
1 files changed, 64 insertions, 35 deletions
diff --git a/ocamldoc/odoc_args.ml b/ocamldoc/odoc_args.ml index be5ce12fc6..77b59025b4 100644 --- a/ocamldoc/odoc_args.ml +++ b/ocamldoc/odoc_args.ml @@ -172,29 +172,73 @@ let add_hidden_modules s = let set_generator (g : Odoc_gen.generator) = current_generator := Some g +let anonymous f = + let sf = + if Filename.check_suffix f "ml" then + Odoc_global.Impl_file f + else + if Filename.check_suffix f !Config.interface_suffix then + Odoc_global.Intf_file f + else + if Filename.check_suffix f "txt" then + Odoc_global.Text_file f + else + failwith (Odoc_messages.unknown_extension f) + in + Odoc_global.files := !Odoc_global.files @ [sf] + +module Options = Main_args.Make_ocamldoc_options(struct + let set r () = r := true + let unset r () = r := false + let _absname = set Location.absname + let _I s = Odoc_global.include_dirs := + (Misc.expand_directory Config.standard_library s) :: !Odoc_global.include_dirs + let _impl s = Odoc_global.files := !Odoc_global.files @ [Odoc_global.Impl_file s] + let _intf s = Odoc_global.files := !Odoc_global.files @ [Odoc_global.Intf_file s] + let _intf_suffix s = Config.interface_suffix := s + let _labels = unset Clflags.classic + let _no_alias_deps = set Clflags.transparent_modules + let _no_app_funct = unset Clflags.applicative_functors + let _noassert = set Clflags.noassert + let _nolabels = set Clflags.classic + let _nostdlib = set Clflags.no_std_include + let _open s = Clflags.open_modules := s :: !Clflags.open_modules + let _pp s = Clflags.preprocessor := Some s + let _ppx s = Clflags.all_ppx := s :: !Clflags.all_ppx + let _principal = set Clflags.principal + let _rectypes = set Clflags.recursive_types + let _safe_string = unset Clflags.unsafe_string + let _short_paths = unset Clflags.real_paths + let _strict_sequence = set Clflags.strict_sequence + let _strict_formats = set Clflags.strict_formats + let _thread = set Clflags.use_threads + let _vmthread = set Clflags.use_vmthreads + let _unsafe () = assert false + let _unsafe_string = set Clflags.unsafe_string + let _v () = Compenv.print_version_and_library "documentation generator" + let _version = Compenv.print_version_string + let _vnum = Compenv.print_version_string + let _w = (Warnings.parse_options false) + let _warn_error _ = assert false + let _warn_help _ = assert false + let _where = Compenv.print_standard_library + let _verbose = set Clflags.verbose + let _nopervasives = set Clflags.nopervasives + let _dsource = set Clflags.dump_source + let _dparsetree = set Clflags.dump_parsetree + let _dtypedtree = set Clflags.dump_typedtree + let _drawlambda = set Clflags.dump_rawlambda + let _dlambda = set Clflags.dump_lambda + let _dinstr = set Clflags.dump_instr + let anonymous = anonymous +end) + (** The default option list *) -let default_options = [ - "-version", Arg.Unit (fun () -> print_string M.message_version ; print_newline () ; exit 0) , M.option_version ; - "-vnum", Arg.Unit (fun () -> print_string M.config_version ; - print_newline () ; exit 0) , M.option_version ; - "-v", Arg.Unit (fun () -> Odoc_global.verbose := true), M.verbose_mode ; - "-I", Arg.String (fun s -> - Odoc_global.include_dirs := - (Misc.expand_directory Config.standard_library s) :: !Odoc_global.include_dirs), - M.include_dirs ; - "-pp", Arg.String (fun s -> Odoc_global.preprocessor := Some s), M.preprocess ; - "-ppx", Arg.String (fun s -> Odoc_global.ppx := s :: !Odoc_global.ppx), M.ppx ; - "-impl", Arg.String (fun s -> - Odoc_global.files := !Odoc_global.files @ [Odoc_global.Impl_file s]), - M.option_impl ; - "-intf", Arg.String (fun s -> - Odoc_global.files := !Odoc_global.files @ [Odoc_global.Intf_file s]), - M.option_intf ; +let default_options = Options.list @ +[ "-text", Arg.String (fun s -> Odoc_global.files := !Odoc_global.files @ [Odoc_global.Text_file s]), M.option_text ; - "-rectypes", Arg.Set Odoc_global.recursive_types, M.rectypes ; - "-nolabels", Arg.Unit (fun () -> Odoc_global.classic := true), M.nolabels ; "-warn-error", Arg.Set Odoc_global.warn_error, M.werr ; "-hide-warnings", Arg.Clear Odoc_config.print_warnings, M.hide_warnings ; "-o", Arg.String (fun s -> Odoc_global.out_file := s), M.out_file ; @@ -338,24 +382,9 @@ let add_option o = options := iter !options let parse () = - let anonymous f = - let sf = - if Filename.check_suffix f "ml" then - Odoc_global.Impl_file f - else - if Filename.check_suffix f "mli" then - Odoc_global.Intf_file f - else - if Filename.check_suffix f "txt" then - Odoc_global.Text_file f - else - failwith (Odoc_messages.unknown_extension f) - in - Odoc_global.files := !Odoc_global.files @ [sf] - in if modified_options () then append_last_doc "\n"; let options = !options @ !help_options in - let _ = Arg.parse options + let _ = Arg.parse (Arg.align ~limit:13 options) anonymous (M.usage^M.options_are) in |