diff options
| author | Alain Frisch <alain@frisch.fr> | 2008-04-09 16:32:09 +0000 |
|---|---|---|
| committer | Alain Frisch <alain@frisch.fr> | 2008-04-09 16:32:09 +0000 |
| commit | 7332e6d6d3aa8743e167a506581962d105bf7788 (patch) | |
| tree | ee8827eeca7bb8fcae8207422c42a19160e256e4 /stdlib/arg.ml | |
| parent | cbfeebb112b7a3e396e26606fd3b7cd0a198e79d (diff) | |
| download | ocaml-cducetrunk.tar.gz | |
Merge from diff ocaml3100/ocaml3102: cvs update -j ocaml3100 -j ocaml3102 -kkcducetrunk
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/cducetrunk@8864 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'stdlib/arg.ml')
| -rw-r--r-- | stdlib/arg.ml | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/stdlib/arg.ml b/stdlib/arg.ml index dd6c517532..009e203753 100644 --- a/stdlib/arg.ml +++ b/stdlib/arg.ml @@ -65,7 +65,7 @@ let make_symlist prefix sep suffix l = let print_spec buf (key, spec, doc) = match spec with - | Symbol (l, _) -> bprintf buf " %s %s %s\n" key (make_symlist "{" "|" "}" l) + | Symbol (l, _) -> bprintf buf " %s %s%s\n" key (make_symlist "{" "|" "}" l) doc | _ -> bprintf buf " %s %s\n" key doc ;; @@ -225,13 +225,18 @@ let rec second_word s = with Not_found -> len ;; -let max_arg_len cur (kwd, _, doc) = - max cur (String.length kwd + second_word doc) +let max_arg_len cur (kwd, spec, doc) = + match spec with + | Symbol _ -> max cur (String.length kwd) + | _ -> max cur (String.length kwd + second_word doc) ;; let add_padding len ksd = match ksd with - | (_, Symbol _, _) -> ksd + | (kwd, (Symbol (l, _) as spec), msg) -> + let cutcol = second_word msg in + let spaces = String.make (len - cutcol + 3) ' ' in + (kwd, spec, "\n" ^ spaces ^ msg) | (kwd, spec, msg) -> let cutcol = second_word msg in let spaces = String.make (len - String.length kwd - cutcol) ' ' in |
