logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

edoc - EDoc - the Erlang program documentation generator.

Authors

       Richard Carlsson <carlsson.richard@gmail.com>

                                                    edoc 1.1                                          edoc(3erl)

Data Types

comment()=erl_comment_scan:comment():edoc_module()=xmerl_scan:xmlElement():

           The  EDoc documentation data for a module, expressed as an XML document in XMerL format. See the file
           edoc.dtd for details.

         entry()=#entry{name=function_name()|atom(),args=[atom()|list()],line=integer(),export=boolean(),data=entry_data()}:

           Module Entries (one per function, plus module header and footer).

         entry_data()=term():env()=#env{}:

           Environment information needed by EDoc for generating references.

         filename()=file:filename():function_name()={atom(),integer()}:module_meta()=#module{name=[]|atom(),parameters=none|[atom()],functions=ordset(function_name()),exports=ordset(function_name()),attributes=ordset({atom(),term()}),records=[{atom(),[{atom(),term()}]}],encoding=epp:source_encoding(),file=file:filename()}:

           Module information.

         ordset(T)=ordsets:ordset(T):proplist()=proplists:proplist():syntaxTree()=erl_syntax:syntaxTree():tag()=#tag{name=atom(),line=integer(),origin=comment|code,data=term(),form=undefined|erl_parse:abstract_form()}:

           Generic tag information. #tag.form is only defined  if  #tag.origin  is  code,  that  is  the  #tag{}
           represents a code fragment, not a doc comment tag.

Description

       EDoc - the Erlang program documentation generator.

       This module provides the main user interface to EDoc.

         * EDoc User Manual

         * Running EDoc

Exports

application(App::atom())->ok

              Equivalent to application(Application, []).

       application(App,Options)->ok

              Types:

                 App = atom()
                 Options = proplist()

              Run EDoc on an application in its default app-directory. See application/3 for details.

              Seealso: application/1.

       application(App,Dir,Options)->ok

              Types:

                 App = atom()
                 Dir = filename()
                 Options = proplist()

              Run  EDoc on an application located in the specified directory. Tries to automatically set up good
              defaults. Unless the user specifies otherwise:

                * The doc subdirectory will be used as  the  target  directory,  if  it  exists;  otherwise  the
                  application directory is used.

                * The  source  code is assumed to be located in the src subdirectory, if it exists, or otherwise
                  in the application directory itself.

                * The subpackages option is turned on. All found source files will be processed.

                * The include subdirectory is automatically added  to  the  include  path.  (Only  important  if
                  preprocessing is turned on.)

              See run/2 for details, including options.

              Seealso: application/2.

       file(Name::filename())->okThisfunctionisdeprecated: See file/2 for details.

              Equivalent to file(Name, []).

       file(Name,Options)->ok

              Types:

                 Name = filename()
                 Options = proplist()

              Thisfunctionisdeprecated:  This  is part of the old interface to EDoc and is mainly kept for
              backwards compatibility. The preferred way of generating  documentation  is  through  one  of  the
              functions application/2 and files/2.

              Reads a source code file and outputs formatted documentation to a corresponding file.

              Options:

                {dir,filename()}:
                  Specifies the output directory for the created file. (By default, the output is written to the
                  directory of the source file.)

                {source_suffix,string()}:
                  Specifies the expected suffix of the input file. The default value is ".erl".

                {file_suffix,string()}:
                  Specifies the suffix for the created file. The default value is ".html".

              See get_doc/2 and layout/2 for further options.

              For running EDoc from a Makefile or similar, see edoc_run:file/1.

              Seealso: read/2.

       files(Files::[filename()])->okfiles(Files,Options)->ok

              Types:

                 Files = [filename()]
                 Options = proplist()

              Runs EDoc on a given set of source files. See run/2 for details, including options.

       get_doc(File::filename())->{module(),edoc_module()}

              Equivalent to get_doc(File, []).

       get_doc(File,Options)->R

              Types:

                 File = filename()
                 Options = proplist()
                 R = {module(), edoc_module()} | {module(), edoc_module(), [entry()]}

              Reads  a  source  code file and extracts EDoc documentation data. Note that without an environment
              parameter (see get_doc/3), hypertext links may not be correct.

              Options:

                {def,Macros}:

                  * Macros = Macro|[Macro]

                  * Macro = {Name::atom(),Text::string()|MacroFun}

                  * MacroFun   =   fun((MacroArgument::string(),Line::integer(),edoc_lib:edoc_env())->(Text::string()))

                  Specifies a set of user-defined EDoc macros. The text substituted for macro calls is specified
                  as either a string() or a function(). The function is called with the macro argument text, the
                  current  line  number, and the current environment. The fun is to return a string(). See Macro
                  expansion for details.

                {hidden,boolean()}:
                  If the value is true, documentation of hidden functions will also  be  included.  The  default
                  value is false.

                {private,boolean()}:
                  If  the  value  is true, documentation of private functions will also be included. The default
                  value is false.

                {todo,boolean()}:
                  If the value is true, To-Do notes written using @todo or @TODO tags will be  included  in  the
                  documentation. The default value is false.

              See read_source/2, read_comments/2 and edoc_lib:get_doc_env/3 for further options.

              Seealso: get_doc/3, layout/2, read/2, run/2, edoc_extract:source/5.

       get_doc(File,Env,Options)->R

              Types:

                 File = filename()
                 Env = env()
                 Options = proplist()
                 R = {module(), edoc_module()} | {module(), edoc_module(), [entry()]}

              Like  get_doc/2,  but  for  a  given  environment  parameter.  Env  is  an  environment created by
              edoc_lib:get_doc_env/3.

       layout(Doc::edoc_module())->string()

              Equivalent to layout(Doc, []).

       layout(Doc,Opts)->string()

              Types:

                 Doc = edoc_module()
                 Opts = proplist()

              Transforms EDoc module documentation data to text. The default layout creates an HTML document.

              Options:

                {layout,Module::atom()}:
                  Specifies a callback module to be used for formatting.  The  module  must  export  a  function
                  module(Doc,Options). The default callback module is edoc_layout; see edoc_layout:module/2 for
                  layout-specific options.

              Seealso: file/2, layout/1, read/2, run/2.

       read(File::filename())->string()

              Equivalent to read(File, []).

       read(File,Opts)->string()

              Types:

                 File = filename()
                 Opts = proplist()

              Reads  and  processes a source file and returns the resulting EDoc-text as a string. See get_doc/2
              and layout/2 for options.

              Seealso: file/2.

       read_comments(File::filename())->[comment()]

              Equivalent to read_comments(File, []).

       read_comments(File,Opts)->[comment()]

              Types:

                 File = filename()
                 Opts = proplist()

              Extracts comments from an Erlang source code  file.  See  the  module  erl_comment_scan(3erl)  for
              details on the representation of comments. Currently, no options are avaliable.

       read_source(Name::filename())->[syntaxTree()]

              Equivalent to read_source(File, []).

       read_source(File,Opts)->[syntaxTree()]

              Types:

                 File = filename()
                 Opts = proplist()

              Reads an Erlang source file and returns the list of "source code form" syntax trees.

              Options:

                {preprocess,boolean()}:
                  If  the  value  is  true,  the source file will be read via the Erlang preprocessor (epp). The
                  default value is false. no_preprocess is an alias for {preprocess,false}.

                  Normally, preprocessing is not necessary for EDoc to work, but if a file contains  too  exotic
                  definitions or uses of macros, it will not be possible to read it without preprocessing. Note:commentsinincludedfileswillnotbeavailabletoEDoc,evenwiththisoptionenabled.{includes,Path::[string()]}:
                  Specifies a list of directory names to be searched for include files, if the preprocess option
                  is  turned  on.  Also  used with the @headerfile tag. The default value is the empty list. The
                  directory of the source file is always automatically appended to the search path.

                {macros,[{atom(),term()}]}:
                  Specifies a list of pre-defined Erlang preprocessor  (epp)  macro  definitions,  used  if  the
                  preprocess option is turned on. The default value is the empty list.

                {report_missing_types,boolean()}:
                  If  the  value  is  true,  warnings  are issued for missing types. The default value is false.
                  no_report_missing_types is an alias for {report_missing_types,false}.

                {link_predefined_types,boolean()}:
                  If the value is true, all predefined data types will have a link to the  erlang  module.  This
                  option  is to be used when generating documentation for the Erlang/OTP docs. The default value
                  is false. no_link_predefined_types is an alias for {link_predefined_types,false}.

              Seealso:erl_syntax(3erl), get_doc/2.

       run(Files,Opts)->ok

              Types:

                 Files = [filename()]
                 Opts = proplist()

              Runs EDoc on a given set of source  files.  Note  that  the  doclet  plugin  module  has  its  own
              particular options; see the doclet option below.

              Also  see layout/2 for layout-related options, and get_doc/2 for options related to reading source
              files.

              Options:

                {app_default,string()}:
                  Specifies the default base URI for unknown applications.

                {application,App::atom()}:
                  Specifies that the generated documentation describes the application App. This mainly  affects
                  generated references.

                {dir,filename()}:
                  Specifies the target directory for the generated documentation.

                {doc_path,[string()]}:
                  Specifies  a  list  of  file  system paths pointing to directories that contain EDoc-generated
                  documentation. All paths for applications in the code path are automatically added.

                {doclet,Module::atom()}:
                  Specifies a callback module to be used for creating the documentation. The module must  export
                  a function run(Cmd,Ctxt). The default doclet module is edoc_doclet; see edoc_doclet:run/2 for
                  doclet-specific options.

                {file_suffix,string()}:
                  Specifies  the suffix used for output files. The default value is ".html". Note that this also
                  affects generated references.

                {new,boolean()}:
                  If the value is true, any existing edoc-info file in the target directory will be ignored  and
                  overwritten. The default value is false.

                {source_path,[filename()]}:
                  Specifies a list of file system paths used to locate the source code for packages.

                {source_suffix,string()}:
                  Specifies the expected suffix of input files. The default value is ".erl".

                {subpackages,boolean()}:
                  If  the  value  is  true,  all  subpackages of specified packages will also be included in the
                  documentation. The default value is  false.  no_subpackages  is  an  alias  for  {subpackages,false}.

                  Subpackage  source  files  are  found  by  recursively  searching  for  source  code  files in
                  subdirectories of the known source code root directories. (Also see the  source_path  option.)
                  Directory  names  must  begin with a lowercase letter and contain only alphanumeric characters
                  and underscore, or they will be ignored. (For example, a subdirectory  named  test-files  will
                  not be searched.)

              Seealso: application/2, files/2.

Name

       edoc - EDoc - the Erlang program documentation generator.

See Also