<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns:fn="http://www.w3.org/2005/02/xpath-functions"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css"> <title>Erlang -- edoc</title> </head> <body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container"> <script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript"> <!-- function getWinHeight() { var myHeight = 0; if( typeof( window.innerHeight ) == 'number' ) { //Non-IE myHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode' myHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible myHeight = document.body.clientHeight; } return myHeight; } function setscrollpos() { var objf=document.getElementById('loadscrollpos'); document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2; } function addEvent(obj, evType, fn){ if (obj.addEventListener){ obj.addEventListener(evType, fn, true); return true; } else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r; } else { return false; } } addEvent(window, 'load', setscrollpos); //--></script><div id="leftnav"><div class="innertube"> <img alt="Erlang logo" src="../../../../doc/erlang-logo.png"><br><small><a href="users_guide.html">User's Guide</a><br><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/edoc-0.7.10.pdf">PDF</a><br><a href="../../../../doc/index.html">Top</a></small><p><strong>EDoc</strong><br><strong>Reference Manual</strong><br><small>Version 0.7.10</small></p> <br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Table of Contents</strong></small></p> <ul class="flipMenu"> <li id="loadscrollpos" title="edoc " expanded="true">edoc<ul> <li><a href="edoc.html"> Top of manual page </a></li> <li title="application-1"><a href="edoc.html#application-1">application/1</a></li> <li title="application-2"><a href="edoc.html#application-2">application/2</a></li> <li title="application-3"><a href="edoc.html#application-3">application/3</a></li> <li title="file-1"><a href="edoc.html#file-1">file/1</a></li> <li title="file-2"><a href="edoc.html#file-2">file/2</a></li> <li title="files-1"><a href="edoc.html#files-1">files/1</a></li> <li title="files-2"><a href="edoc.html#files-2">files/2</a></li> <li title="get_doc-1"><a href="edoc.html#get_doc-1">get_doc/1</a></li> <li title="get_doc-2"><a href="edoc.html#get_doc-2">get_doc/2</a></li> <li title="get_doc-3"><a href="edoc.html#get_doc-3">get_doc/3</a></li> <li title="layout-1"><a href="edoc.html#layout-1">layout/1</a></li> <li title="layout-2"><a href="edoc.html#layout-2">layout/2</a></li> <li title="packages-1"><a href="edoc.html#packages-1">packages/1</a></li> <li title="packages-2"><a href="edoc.html#packages-2">packages/2</a></li> <li title="read-1"><a href="edoc.html#read-1">read/1</a></li> <li title="read-2"><a href="edoc.html#read-2">read/2</a></li> <li title="read_comments-1"><a href="edoc.html#read_comments-1">read_comments/1</a></li> <li title="read_comments-2"><a href="edoc.html#read_comments-2">read_comments/2</a></li> <li title="read_source-1"><a href="edoc.html#read_source-1">read_source/1</a></li> <li title="read_source-2"><a href="edoc.html#read_source-2">read_source/2</a></li> <li title="run-3"><a href="edoc.html#run-3">run/3</a></li> </ul> </li> <li id="no" title="edoc_doclet " expanded="false">edoc_doclet<ul> <li><a href="edoc_doclet.html"> Top of manual page </a></li> <li title="run-2"><a href="edoc_doclet.html#run-2">run/2</a></li> </ul> </li> <li id="no" title="edoc_extract " expanded="false">edoc_extract<ul> <li><a href="edoc_extract.html"> Top of manual page </a></li> <li title="file-4"><a href="edoc_extract.html#file-4">file/4</a></li> <li title="header-3"><a href="edoc_extract.html#header-3">header/3</a></li> <li title="header-4"><a href="edoc_extract.html#header-4">header/4</a></li> <li title="header-5"><a href="edoc_extract.html#header-5">header/5</a></li> <li title="source-3"><a href="edoc_extract.html#source-3">source/3</a></li> <li title="source-4"><a href="edoc_extract.html#source-4">source/4</a></li> <li title="source-5"><a href="edoc_extract.html#source-5">source/5</a></li> <li title="text-4"><a href="edoc_extract.html#text-4">text/4</a></li> </ul> </li> <li id="no" title="edoc_layout " expanded="false">edoc_layout<ul> <li><a href="edoc_layout.html"> Top of manual page </a></li> <li title="module-2"><a href="edoc_layout.html#module-2">module/2</a></li> <li title="overview-2"><a href="edoc_layout.html#overview-2">overview/2</a></li> <li title="package-2"><a href="edoc_layout.html#package-2">package/2</a></li> <li title="type-1"><a href="edoc_layout.html#type-1">type/1</a></li> </ul> </li> <li id="no" title="edoc_lib " expanded="false">edoc_lib<ul> <li><a href="edoc_lib.html"> Top of manual page </a></li> <li title="get_doc_env-4"><a href="edoc_lib.html#get_doc_env-4">get_doc_env/4</a></li> </ul> </li> <li id="no" title="edoc_run " expanded="false">edoc_run<ul> <li><a href="edoc_run.html"> Top of manual page </a></li> <li title="application-1"><a href="edoc_run.html#application-1">application/1</a></li> <li title="file-1"><a href="edoc_run.html#file-1">file/1</a></li> <li title="files-1"><a href="edoc_run.html#files-1">files/1</a></li> <li title="packages-1"><a href="edoc_run.html#packages-1">packages/1</a></li> </ul> </li> </ul> </div></div> <div id="content"> <div class="innertube"> <!-- refpage --><center><h1>edoc</h1></center> <h3>MODULE</h3> <div class="REFBODY">edoc</div> <h3>MODULE SUMMARY</h3> <div class="REFBODY">EDoc - the Erlang program documentation generator.</div> <h3>DESCRIPTION</h3> <div class="REFBODY"><p> <p>EDoc - the Erlang program documentation generator.</p> <p>This module provides the main user interface to EDoc. </p><ul> <li><p><span class="bold_code"><a href="chapter.html">EDoc User Manual</a></span></p></li> <li><p><span class="bold_code"><a href="chapter.html#Running_EDoc">Running EDoc</a></span></p></li> </ul></p></div> <h3><a name="id65476">DATA TYPES</a></h3> <div class="REFBODY"> <a name="types"></a> <dl> <dt><strong><span class="code">comment() = {Line, Column, Indentation, Text}</span></strong></dt> <dd> <a name="type-comment"></a> <ul> <li><span class="code">Line = integer()</span></li> <li><span class="code">Column = integer()</span></li> <li><span class="code">Indentation = integer()</span></li> <li><span class="code">Text = [string()]</span></li> </ul> </dd> <dt><strong><span class="code">edoc_module()</span></strong></dt> <dd> <a name="type-edoc_module"></a> <p>The EDoc documentation data for a module, expressed as an XML document in <span class="bold_code"><a href="javascript:erlhref('../../../../doc/../','xmerl','index.html');">XMerL</a></span> format. See the file <span class="bold_code"><a href="../../priv/edoc.dtd">edoc.dtd</a></span> for details. </p> </dd> <dt><strong><span class="code">filename() = filename() (see module //kernel/file)</span></strong></dt> <dd> <a name="type-filename"></a> </dd> <dt><strong><span class="code">package() = atom() | string()</span></strong></dt> <dd> <a name="type-package"></a> </dd> <dt><strong><span class="code">proplist() = [term()]</span></strong></dt> <dd> <a name="type-proplist"></a> </dd> <dt><strong><span class="code">syntaxTree() = syntaxTree() (see module //syntax_tools/erl_syntax)</span></strong></dt> <dd> <a name="type-syntaxTree"></a> </dd> </dl> </div> <h3>EXPORTS</h3> <p><a name="application-1"><span class="bold_code">application(Application::atom()) -> ok</span></a><br></p> <div class="REFBODY"><p><a name="application-1"></a> <p>Equivalent to <span class="bold_code"><a href="#application-2">application(Application, [])</a></span>.</p> </p></div> <p><a name="application-2"><span class="bold_code">application(Application::atom(), Options::proplist()) -> ok</span></a><br></p> <div class="REFBODY"><p><a name="application-2"></a> <p>Run EDoc on an application in its default app-directory. See <span class="bold_code"><a href="#application-3">application/3</a></span> for details.</p> <p><strong>See also:</strong> <span class="bold_code"><a href="#application-1">application/1</a></span>.</p> </p></div> <p><a name="application-3"><span class="bold_code">application(Application::atom(), Dir::filename(), Options::proplist()) -> ok</span></a><br></p> <div class="REFBODY"><p><a name="application-3"></a> <p>Run EDoc on an application located in the specified directory. Tries to automatically set up good defaults. Unless the user specifies otherwise: </p><ul> <li><p>The <span class="code">doc</span> subdirectory will be used as the target directory, if it exists; otherwise the application directory is used. </p></li> <li><p>The source code is assumed to be located in the <span class="code">src</span> subdirectory, if it exists, or otherwise in the application directory itself. </p></li> <li><p>The <span class="bold_code"><a href="#run-3">subpackages</a></span> option is turned on. All found source files will be processed. </p></li> <li><p>The <span class="code">include</span> subdirectory is automatically added to the include path. (Only important if <span class="bold_code"><a href="#read_source-2"> preprocessing</a></span> is turned on.) </p></li> </ul><p> See <span class="bold_code"><a href="#run-3">run/3</a></span> for details, including options. </p> <p><strong>See also:</strong> <span class="bold_code"><a href="#application-2">application/2</a></span>.</p> </p></div> <p><a name="file-1"><span class="bold_code">file(Name::filename()) -> ok</span></a><br></p> <div class="REFBODY"><p><a name="file-1"></a> <p><strong>This function is deprecated: </strong>See <span class="bold_code"><a href="#file-2">file/2</a></span> for details.</p> <p>Equivalent to <span class="bold_code"><a href="#file-2">file(Name, [])</a></span>.</p> </p></div> <p><a name="file-2"><span class="bold_code">file(Name::filename(), Options::proplist()) -> ok</span></a><br></p> <div class="REFBODY"><p><a name="file-2"></a> <p><strong>This function is deprecated: </strong>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 <span class="bold_code"><a href="#application-2">application/2</a></span>, <span class="bold_code"><a href="#packages-2">packages/2</a></span> and <span class="bold_code"><a href="#files-2">files/2</a></span>. </p> <p>Reads a source code file and outputs formatted documentation to a corresponding file.</p> <p>Options: </p><dl> <dt><strong><span class="code">{dir, filename()}</span> </strong></dt> <dd><p>Specifies the output directory for the created file. (By default, the output is written to the directory of the source file.) </p></dd> <dt><strong><span class="code">{source_suffix, string()}</span> </strong></dt> <dd><p>Specifies the expected suffix of the input file. The default value is <span class="code">".erl"</span>. </p></dd> <dt><strong><span class="code">{file_suffix, string()}</span> </strong></dt> <dd><p>Specifies the suffix for the created file. The default value is <span class="code">".html"</span>. </p></dd> </dl> <p>See <span class="bold_code"><a href="#get_doc-2">get_doc/2</a></span> and <span class="bold_code"><a href="#layout-2">layout/2</a></span> for further options.</p> <p>For running EDoc from a Makefile or similar, see <span class="bold_code"><a href="edoc_run.html#file-1">edoc_run:file/1</a></span>. </p> <p><strong>See also:</strong> <span class="bold_code"><a href="#read-2">read/2</a></span>.</p> </p></div> <p><a name="files-1"><span class="bold_code">files(Files::[filename() | {package(), [filename()]}]) -> ok</span></a><br></p> <div class="REFBODY"><p><a name="files-1"></a> <p>Equivalent to <span class="bold_code"><a href="#packages-2">packages(Packages, [])</a></span>.</p> </p></div> <p><a name="files-2"><span class="bold_code">files(Files::[filename() | {package(), [filename()]}], Options::proplist()) -> ok</span></a><br></p> <div class="REFBODY"><p><a name="files-2"></a> <p>Runs EDoc on a given set of source files. See <span class="bold_code"><a href="#run-3">run/3</a></span> for details, including options.</p> </p></div> <p><a name="get_doc-1"><span class="bold_code">get_doc(File::filename()) -> {ModuleName, edoc_module()}</span></a><br></p> <div class="REFBODY"><p><a name="get_doc-1"></a> <p>Equivalent to <span class="bold_code"><a href="#get_doc-2">get_doc(File, [])</a></span>.</p> </p></div> <p><a name="get_doc-2"><span class="bold_code">get_doc(File::filename(), Options::proplist()) -> {ModuleName, edoc_module()}</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">ModuleName = atom()</span><br> </div> </div> <div class="REFBODY"><p><a name="get_doc-2"></a> <p>Reads a source code file and extracts EDoc documentation data. Note that without an environment parameter (see <span class="bold_code"><a href="#get_doc-3">get_doc/3</a></span>), hypertext links may not be correct.</p> <p>Options: </p><dl> <dt><strong><span class="code">{def, Macros}</span> </strong></dt> <dd> <ul> <li><p><span class="code">Macros</span> = <span class="code">Macro | [Macro]</span></p></li> <li><p><span class="code">Macro</span> = <span class="code">{Name::atom(), Text::string()}</span></p></li> </ul> <p> Specifies a set of EDoc macro definitions. See <span class="bold_code"><a href="chapter.html#Macro_expansion">Inline macro expansion</a></span> for details. </p> </dd> <dt><strong><span class="code">{hidden, boolean()}</span> </strong></dt> <dd><p>If the value is <span class="code">true</span>, documentation of hidden functions will also be included. The default value is <span class="code">false</span>. </p></dd> <dt><strong><span class="code">{private, boolean()}</span> </strong></dt> <dd><p>If the value is <span class="code">true</span>, documentation of private functions will also be included. The default value is <span class="code">false</span>. </p></dd> <dt><strong><span class="code">{todo, boolean()}</span> </strong></dt> <dd><p>If the value is <span class="code">true</span>, To-Do notes written using <span class="code">@todo</span> or <span class="code">@TODO</span> tags will be included in the documentation. The default value is <span class="code">false</span>. </p></dd> </dl> <p>See <span class="bold_code"><a href="#read_source-2">read_source/2</a></span>, <span class="bold_code"><a href="#read_comments-2">read_comments/2</a></span> and <span class="bold_code"><a href="edoc_lib.html#get_doc_env-4">edoc_lib:get_doc_env/4</a></span> for further options. </p> <p><strong>See also:</strong> <span class="bold_code"><a href="#get_doc-3">get_doc/3</a></span>, <span class="bold_code"><a href="#layout-2">layout/2</a></span>, <span class="bold_code"><a href="#read-2">read/2</a></span>, <span class="bold_code"><a href="#run-3">run/3</a></span>, <span class="bold_code"><a href="edoc_extract.html#source-5">edoc_extract:source/5</a></span>.</p> </p></div> <p><a name="get_doc-3"><span class="bold_code">get_doc(File::filename(), Env::edoc_env() (see module edoc_lib), Options::proplist()) -> {ModuleName, edoc_module()}</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">ModuleName = atom()</span><br> </div> </div> <div class="REFBODY"><p><a name="get_doc-3"></a> <p>Like <span class="bold_code"><a href="#get_doc-2">get_doc/2</a></span>, but for a given environment parameter. <span class="code">Env</span> is an environment created by <span class="bold_code"><a href="edoc_lib.html#get_doc_env-4">edoc_lib:get_doc_env/4</a></span>.</p> </p></div> <p><a name="layout-1"><span class="bold_code">layout(Doc::edoc_module()) -> string()</span></a><br></p> <div class="REFBODY"><p><a name="layout-1"></a> <p>Equivalent to <span class="bold_code"><a href="#layout-2">layout(Doc, [])</a></span>.</p> </p></div> <p><a name="layout-2"><span class="bold_code">layout(Doc::edoc_module(), Options::proplist()) -> string()</span></a><br></p> <div class="REFBODY"><p><a name="layout-2"></a> <p>Transforms EDoc module documentation data to text. The default layout creates an HTML document.</p> <p>Options: </p><dl> <dt><strong><span class="code">{layout, Module::atom()}</span> </strong></dt> <dd><p>Specifies a callback module to be used for formatting. The module must export a function <span class="code">module(Doc, Options)</span>. The default callback module is <span class="bold_code"><a href="edoc_layout.html">edoc_layout</a></span>; see <span class="bold_code"><a href="edoc_layout.html#module-2">edoc_layout:module/2</a></span> for layout-specific options. </p></dd> </dl><p> </p> <p><strong>See also:</strong> <span class="bold_code"><a href="#file-2">file/2</a></span>, <span class="bold_code"><a href="#layout-1">layout/1</a></span>, <span class="bold_code"><a href="#read-2">read/2</a></span>, <span class="bold_code"><a href="#run-3">run/3</a></span>.</p> </p></div> <p><a name="packages-1"><span class="bold_code">packages(Packages::[package()]) -> ok</span></a><br></p> <div class="REFBODY"><p><a name="packages-1"></a> <p>Equivalent to <span class="bold_code"><a href="#packages-2">packages(Packages, [])</a></span>.</p> </p></div> <p><a name="packages-2"><span class="bold_code">packages(Packages::[package()], Options::proplist()) -> ok</span></a><br></p> <div class="REFBODY"><p><a name="packages-2"></a> <p>Runs EDoc on a set of packages. The <span class="code">source_path</span> option is used to locate the files; see <span class="bold_code"><a href="#run-3">run/3</a></span> for details, including options. This function automatically appends the current directory to the source path. </p> </p></div> <p><a name="read-1"><span class="bold_code">read(File::filename()) -> string()</span></a><br></p> <div class="REFBODY"><p><a name="read-1"></a> <p>Equivalent to <span class="bold_code"><a href="#read-2">read(File, [])</a></span>.</p> </p></div> <p><a name="read-2"><span class="bold_code">read(File::filename(), Options::proplist()) -> string()</span></a><br></p> <div class="REFBODY"><p><a name="read-2"></a> <p>Reads and processes a source file and returns the resulting EDoc-text as a string. See <span class="bold_code"><a href="#get_doc-2">get_doc/2</a></span> and <span class="bold_code"><a href="#layout-2">layout/2</a></span> for options. </p> <p><strong>See also:</strong> <span class="bold_code"><a href="#file-2">file/2</a></span>.</p> </p></div> <p><a name="read_comments-1"><span class="bold_code">read_comments(File) -> [comment()]</span></a><br></p> <div class="REFBODY"><p><a name="read_comments-1"></a> <p>Equivalent to <span class="bold_code"><a href="#read_comments-2">read_comments(File, [])</a></span>.</p> </p></div> <p><a name="read_comments-2"><span class="bold_code">read_comments(File::filename(), Options::proplist()) -> [comment()]</span></a><br></p> <div class="REFBODY"><p><a name="read_comments-2"></a> <p>Extracts comments from an Erlang source code file. See the module <span class="bold_code"><a href="javascript:erlhref('../../../../doc/../','syntax_tools','erl_comment_scan.html');">erl_comment_scan(3)</a></span> for details on the representation of comments. Currently, no options are avaliable.</p> </p></div> <p><a name="read_source-1"><span class="bold_code">read_source(Name::File) -> [syntaxTree()]</span></a><br></p> <div class="REFBODY"><p><a name="read_source-1"></a> <p>Equivalent to <span class="bold_code"><a href="#read_source-2">read_source(File, [])</a></span>.</p> </p></div> <p><a name="read_source-2"><span class="bold_code">read_source(File::filename(), Options::proplist()) -> [syntaxTree()]</span></a><br></p> <div class="REFBODY"><p><a name="read_source-2"></a> <p>Reads an Erlang source file and returns the list of "source code form" syntax trees.</p> <p>Options: </p><dl> <dt><strong><span class="code">{preprocess, boolean()}</span> </strong></dt> <dd> <p>If the value is <span class="code">true</span>, the source file will be read via the Erlang preprocessor (<span class="code">epp</span>). The default value is <span class="code">false</span>. <span class="code">no_preprocess</span> is an alias for <span class="code">{preprocess, false}</span>.</p> <p>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. <strong>Note: comments in included files will not be available to EDoc, even with this option enabled.</strong> </p> </dd> <dt><strong><span class="code">{includes, Path::[string()]}</span> </strong></dt> <dd><p>Specifies a list of directory names to be searched for include files, if the <span class="code">preprocess</span> option is turned on. Also used with the <span class="code">@headerfile</span> tag. The default value is the empty list. The directory of the source file is always automatically appended to the search path. </p></dd> <dt><strong><span class="code">{macros, [{atom(), term()}]}</span> </strong></dt> <dd><p>Specifies a list of pre-defined Erlang preprocessor (<span class="code">epp</span>) macro definitions, used if the <span class="code">preprocess</span> option is turned on. The default value is the empty list.</p></dd> </dl><p> <span class="code">{report_missing_types, boolean()}</span> <p>If the value is <span class="code">true</span>, warnings are issued for missing types. The default value is <span class="code">false</span>. <span class="code">no_report_missing_types</span> is an alias for <span class="code">{report_missing_types, false}</span>. </p> </p> <p><strong>See also:</strong> <span class="bold_code"><a href="javascript:erlhref('../../../../doc/../','syntax_tools','erl_syntax.html');">erl_syntax(3)</a></span>, <span class="bold_code"><a href="#get_doc-2">get_doc/2</a></span>.</p> </p></div> <p><a name="run-3"><span class="bold_code">run(Packages::[package()], Files::[filename() | {package(), [filename()]}], Options::proplist()) -> ok</span></a><br></p> <div class="REFBODY"><p><a name="run-3"></a> <p>Runs EDoc on a given set of source files and/or packages. Note that the doclet plugin module has its own particular options; see the <span class="code">doclet</span> option below.</p> <p>Also see <span class="bold_code"><a href="#layout-2">layout/2</a></span> for layout-related options, and <span class="bold_code"><a href="#get_doc-2">get_doc/2</a></span> for options related to reading source files.</p> <p>Options: </p><dl> <dt><strong><span class="code">{app_default, string()}</span> </strong></dt> <dd><p>Specifies the default base URI for unknown applications. </p></dd> <dt><strong><span class="code">{application, App::atom()}</span> </strong></dt> <dd><p>Specifies that the generated documentation describes the application <span class="code">App</span>. This mainly affects generated references. </p></dd> <dt><strong><span class="code">{dir, filename()}</span> </strong></dt> <dd><p>Specifies the target directory for the generated documentation. </p></dd> <dt><strong><span class="code">{doc_path, [string()]}</span> </strong></dt> <dd><p>Specifies a list of URI:s pointing to directories that contain EDoc-generated documentation. URI without a <span class="code">scheme://</span> part are taken as relative to <span class="code">file://</span>. (Note that such paths must use <span class="code">/</span> as separator, regardless of the host operating system.) </p></dd> <dt><strong><span class="code">{doclet, Module::atom()}</span> </strong></dt> <dd><p>Specifies a callback module to be used for creating the documentation. The module must export a function <span class="code">run(Cmd, Ctxt)</span>. The default doclet module is <span class="bold_code"><a href="edoc_doclet.html">edoc_doclet</a></span>; see <span class="bold_code"><a href="edoc_doclet.html#run-2">edoc_doclet:run/2</a></span> for doclet-specific options. </p></dd> <dt><strong><span class="code">{exclude_packages, [package()]}</span> </strong></dt> <dd><p>Lists packages to be excluded from the documentation. Typically used in conjunction with the <span class="code">subpackages</span> option. </p></dd> <dt><strong><span class="code">{file_suffix, string()}</span> </strong></dt> <dd><p>Specifies the suffix used for output files. The default value is <span class="code">".html"</span>. Note that this also affects generated references. </p></dd> <dt><strong><span class="code">{new, boolean()}</span> </strong></dt> <dd><p>If the value is <span class="code">true</span>, any existing <span class="code">edoc-info</span> file in the target directory will be ignored and overwritten. The default value is <span class="code">false</span>. </p></dd> <dt><strong><span class="code">{packages, boolean()}</span> </strong></dt> <dd> <p>If the value is <span class="code">true</span>, it it assumed that packages (module namespaces) are being used, and that the source code directory structure reflects this. The default value is <span class="code">true</span>. (Usually, this does the right thing even if all the modules belong to the top-level "empty" package.) <span class="code">no_packages</span> is an alias for <span class="code">{packages, false}</span>. See the <span class="code">subpackages</span> option below for further details.</p> <p>If the source code is organized in a hierarchy of subdirectories although it does not use packages, use <span class="code">no_packages</span> together with the recursive-search <span class="code">subpackages</span> option (on by default) to automatically generate documentation for all the modules. </p> </dd> <dt><strong><span class="code">{source_path, [filename()]}</span> </strong></dt> <dd><p>Specifies a list of file system paths used to locate the source code for packages. </p></dd> <dt><strong><span class="code">{source_suffix, string()}</span> </strong></dt> <dd><p>Specifies the expected suffix of input files. The default value is <span class="code">".erl"</span>. </p></dd> <dt><strong><span class="code">{subpackages, boolean()}</span> </strong></dt> <dd> <p>If the value is <span class="code">true</span>, all subpackages of specified packages will also be included in the documentation. The default value is <span class="code">false</span>. <span class="code">no_subpackages</span> is an alias for <span class="code">{subpackages, false}</span>. See also the <span class="code">exclude_packages</span> option.</p> <p>Subpackage source files are found by recursively searching for source code files in subdirectories of the known source code root directories. (Also see the <span class="code">source_path</span> 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 <span class="code">test-files</span> will not be searched.) </p> </dd> </dl><p> </p> <p><strong>See also:</strong> <span class="bold_code"><a href="#application-2">application/2</a></span>, <span class="bold_code"><a href="#files-2">files/2</a></span>, <span class="bold_code"><a href="#packages-2">packages/2</a></span>.</p> </p></div> Richard Carlsson carlsson.richard@gmail.com</div> <div class="footer"> <hr> <p>Copyright © 2006-2012 Ericsson AB. All Rights Reserved.</p> </div> </div> </div></body> </html>