edoc_extract(3)

NAME
edoc_extract - EDoc documentation extraction.

DESCRIPTION

See also: edoc.

DATA TYPES

FUNCTIONS

file(File, Context, Env, Opts) -> {ok, Tags} | {error, Reason} when File :: filename(), Context :: context(), Env :: edoc:env(), Opts :: proplist(), Tags :: [term()], Reason :: term().

    Reads a text file and returns the list of tags in the file. Any lines of text before the first tag are ignored. Env is an environment created by edoc_lib:get_doc_env/3. Upon error, Reason is an atom returned from the call to //kernel/file:read_file/1 or the atom 'invalid_unicode'.

    See text/4 for options.
find_type_docs(Forms0, Comments, Env, File)

    Extracts what will be documentation of Erlang types. Returns a dict of {Name, Doc} where Name is {TypeName, Arity}.

    The idea is to mimic how the @type tag works. Using @type:

            @type t() = t1(). Some docs of t/0;
            Further docs of t/0.

    The same thing using -type:

            -type t() :: t1(). % Some docs of t/0;
            Further docs of t/0.
get_module_info(Forms, File) -> edoc:module_meta() when Forms :: erl_syntax:forms(), File :: filename().

    Initialises a module-info record with data about the module represented by the list of forms. Exports are guaranteed to exist in the set of defined names.
header(File, Env, Opts) -> edoc:entry_data() when File :: filename(), Env :: edoc:env(), Opts :: proplist().

    Similar to header/5, but reads the syntax tree and the comments from the specified file.

    See also: header/4, edoc:read_comments/2, edoc:read_source/2.
header(Forms, File, Env, Opts) -> edoc:entry_data() when Forms :: erl_syntax:forms(), File :: filename(), Env :: edoc:env(), Opts :: proplist().

    Extracts EDoc documentation from commented header file syntax trees. Similar to source/5, but ignores any documentation that occurs before a module declaration or a function definition. (Warning messages are printed if content may be ignored.) Env is assumed to already be set up with a suitable module context.

    See also: //syntax_tools/erl_recomment, header/5.
header(Forms, Comments, File, Env, Opts) -> edoc:entry_data() when Forms :: erl_syntax:forms(), Comments :: [edoc:comment()], File :: filename(), Env :: edoc:env(), Opts :: proplist().

    Similar to header/4, but first inserts the given comments in the syntax trees. The syntax trees must contain valid position information. (Cf. edoc:read_comments/2.)

    See also: //syntax_tools/erl_recomment, header/3, header/4.
preprocess_forms(Forms) -> Forms when Forms :: erl_syntax:forms().

    Preprocessing: copies any precomments on forms to standalone comments, and removes "invisible" forms from the list.
remove_percent_chars(string()) -> string().

    Replaces leading % characters by spaces. For example, "%%% foo" -> "\s\s\s foo", but "% % foo" -> "\s % foo", since the second % is preceded by whitespace.
select_spec(Ts, Where, Specs)

    See also: selected_specs/2.
source(File, Env, Opts) -> R when File :: filename(), Env :: edoc:env(), Opts :: proplist(), R :: {module(), edoc:edoc_module()} | {module(), edoc:edoc_module(), [edoc:entry()]}.

    Like source/5, but reads the syntax tree and the comments from the specified file.

    See also: source/4, edoc:read_comments/2, edoc:read_source/2.
source(Forms, File, Env, Opts) -> R when Forms :: erl_syntax:forms(), File :: filename(), Env :: edoc:env(), Opts :: proplist(), R :: {module(), edoc:edoc_module()} | {module(), edoc:edoc_module(), [edoc:entry()]}.

    Extracts EDoc documentation from commented source code syntax trees. The given Forms must be a single syntax tree of type form_list, or a list of syntax trees representing "program forms" (cf. edoc:read_source/2. Env is an environment created by edoc_lib:get_doc_env/3. The File argument is used for error reporting and output file name generation only.

    See edoc:get_doc/2 for descriptions of the def, hidden, private, and todo options.

    See also: //syntax_tools/erl_recomment, source/5, edoc:read_comments/2, edoc:read_source/2.
source(Forms, Comments, File, Env, Opts) -> R when Forms :: erl_syntax:forms(), Comments :: [edoc:comment()], File :: filename(), Env :: edoc:env(), Opts :: proplist(), R :: {module(), edoc:edoc_module()} | {module(), edoc:edoc_module(), [edoc:entry()]}.

    Like source/4, but first inserts the given comments in the syntax trees. The syntax trees must contain valid position information. (Cf. edoc:read_comments/2.)

    See also: //syntax_tools/erl_recomment, source/3, source/4, edoc:read_comments/2, edoc:read_source/2.
text(Text, Context, Env, Opts) -> Tags when Text :: string(), Context :: context(), Env :: edoc:env(), Opts :: proplist(), Tags :: [term()].

    Returns the list of tags in the text. Any lines of text before the first tag are ignored. Env is an environment created by edoc_lib:get_doc_env/3.

    See source/4 for a description of the def option.