Module Docstrings
module Docstrings:sig
..end
Documentation comments
Warning: this module is unstable and part of compiler-libs.
val init : unit -> unit
(Re)Initialise all docstring state
val warn_bad_docstrings : unit -> unit
Emit warnings for unattached and ambiguous docstrings
Docstrings
type
docstring
Documentation comments
val docstring : string -> Location.t -> docstring
Create a docstring
val register : docstring -> unit
Register a docstring
val docstring_body : docstring -> string
Get the text of a docstring
val docstring_loc : docstring -> Location.t
Get the location of a docstring
Set functions
These functions are used by the lexer to associate docstrings to the locations of tokens.
val set_pre_docstrings : Lexing.position -> docstring list -> unit
Docstrings immediately preceding a token
val set_post_docstrings : Lexing.position -> docstring list -> unit
Docstrings immediately following a token
val set_floating_docstrings : Lexing.position -> docstring list -> unit
Docstrings not immediately adjacent to a token
val set_pre_extra_docstrings : Lexing.position -> docstring list -> unit
Docstrings immediately following the token which precedes this one
val set_post_extra_docstrings : Lexing.position -> docstring list -> unit
Docstrings immediately preceding the token which follows this one
Items
The Docstrings.docs
type represents documentation attached to an item.
type
docs = {
|
docs_pre : |
|
docs_post : |
}
val empty_docs : docs
val docs_attr : docstring -> Parsetree.attribute
val add_docs_attrs : docs -> Parsetree.attributes -> Parsetree.attributes
Convert item documentation to attributes and add them to an attribute list
val symbol_docs : unit -> docs
Fetch the item documentation for the current symbol. This also marks this documentation (for ambiguity warnings).
val symbol_docs_lazy : unit -> docs Lazy.t
val rhs_docs : int -> int -> docs
Fetch the item documentation for the symbols between two positions. This also marks this documentation (for ambiguity warnings).
val rhs_docs_lazy : int -> int -> docs Lazy.t
val mark_symbol_docs : unit -> unit
Mark the item documentation for the current symbol (for ambiguity warnings).
val mark_rhs_docs : int -> int -> unit
Mark as associated the item documentation for the symbols between two positions (for ambiguity warnings)
Fields and constructors
The Docstrings.info
type represents documentation attached to a field or
constructor.
typeinfo =
docstring option
val empty_info : info
val info_attr : docstring -> Parsetree.attribute
val add_info_attrs : info -> Parsetree.attributes -> Parsetree.attributes
Convert field info to attributes and add them to an attribute list
val symbol_info : unit -> info
Fetch the field info for the current symbol.
val rhs_info : int -> info
Fetch the field info following the symbol at a given position.
Unattached comments
The Docstrings.text
type represents documentation which is not attached to
anything.
typetext =
docstring list
val empty_text : text
val empty_text_lazy : text Lazy.t
val text_attr : docstring -> Parsetree.attribute
val add_text_attrs : text -> Parsetree.attributes -> Parsetree.attributes
Convert text to attributes and add them to an attribute list
val symbol_text : unit -> text
Fetch the text preceding the current symbol.
val symbol_text_lazy : unit -> text Lazy.t
val rhs_text : int -> text
Fetch the text preceding the symbol at the given position.
val rhs_text_lazy : int -> text Lazy.t
Extra text
There may be additional text attached to the delimiters of a block
(e.g. struct
and end
). This is fetched by the following
functions, which are applied to the contents of the block rather
than the delimiters.
val symbol_pre_extra_text : unit -> text
Fetch additional text preceding the current symbol
val symbol_post_extra_text : unit -> text
Fetch additional text following the current symbol
val rhs_pre_extra_text : int -> text
Fetch additional text preceding the symbol at the given position
val rhs_post_extra_text : int -> text
Fetch additional text following the symbol at the given position
val rhs_post_text : int -> text
Fetch text following the symbol at the given position
module WithMenhir:sig
..end