forked from rescript-lang/ocaml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathodoc_comments.mli
76 lines (65 loc) · 3.46 KB
/
odoc_comments.mli
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
(**************************************************************************)
(* *)
(* OCaml *)
(* *)
(* Maxence Guesdon, projet Cristal, INRIA Rocquencourt *)
(* *)
(* Copyright 2001 Institut National de Recherche en Informatique et *)
(* en Automatique. *)
(* *)
(* All rights reserved. This file is distributed under the terms of *)
(* the GNU Lesser General Public License version 2.1, with the *)
(* special exception on linking described in the file LICENSE. *)
(* *)
(**************************************************************************)
(** Analysis of comments. *)
val simple_blank : string
(** The type of modules in argument to Info_retriever *)
module type Texter =
sig
(** Return a text structure from a string. *)
val text_of_string : string -> Odoc_types.text
end
(** The basic module for special comments analysis.*)
module Basic_info_retriever :
sig
(** Return true if the given string contains a blank line. *)
val blank_line_outside_simple :
string -> string -> bool
(** This function retrieves all the special comments in the given string. *)
val all_special : string -> string -> int * Odoc_types.info list
(** [just_after_special file str] return the pair ([length], [info_opt])
where [info_opt] is the first optional special comment found
in [str], without any blank line before. [length] is the number
of chars from the beginning of [str] to the end of the special comment. *)
val just_after_special :
string -> string -> int * Odoc_types.info option
(** [first_special file str] return the pair ([length], [info_opt])
where [info_opt] is the first optional special comment found
in [str]. [length] is the number of chars from the beginning of
[str] to the end of the special comment. *)
val first_special :
string -> string -> int * Odoc_types.info option
(** Return a pair [(comment_opt, element_comment_list)], where [comment_opt] is the last special
comment found in the given string and not followed by a blank line,
and [element_comment_list] the list of values built from the other
special comments found and the given function. *)
val get_comments :
(Odoc_types.text -> 'a) ->
string -> string -> Odoc_types.info option * 'a list
end
(** [info_of_string s] parses the given string
like a regular ocamldoc comment and return an
{!Odoc_types.info} structure.
@return an empty structure if there was a syntax error. TODO: change this
*)
val info_of_string : string -> Odoc_types.info
(** [info_of_comment_file file] parses the given file
and return an {!Odoc_types.info} structure. The content of the
file must have the same syntax as the content of a special comment.
The given module list is used for cross reference.
@raise Failure if the file could not be opened or there is a
syntax error.
*)
val info_of_comment_file :
Odoc_module.t_module list -> string -> Odoc_types.info