1%% =====================================================================
2%% Header file for EDoc
3%%
4%% Copyright (C) 2001-2004 Richard Carlsson
5%%
6%% Licensed under the Apache License, Version 2.0 (the "License"); you may
7%% not use this file except in compliance with the License. You may obtain
8%% a copy of the License at <http://www.apache.org/licenses/LICENSE-2.0>
9%%
10%% Unless required by applicable law or agreed to in writing, software
11%% distributed under the License is distributed on an "AS IS" BASIS,
12%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13%% See the License for the specific language governing permissions and
14%% limitations under the License.
15%%
16%% Alternatively, you may use this file under the terms of the GNU Lesser
17%% General Public License (the "LGPL") as published by the Free Software
18%% Foundation; either version 2.1, or (at your option) any later version.
19%% If you wish to allow use of your version of this file only under the
20%% terms of the LGPL, you should delete the provisions above and replace
21%% them with the notice and other provisions required by the LGPL; see
22%% <http://www.gnu.org/licenses/>. If you do not delete the provisions
23%% above, a recipient may use your version of this file under the terms of
24%% either the Apache License or the LGPL.
25%%
26%% Author contact: carlsson.richard@gmail.com
27%% =====================================================================
28
29%% Note: Documentation in this file is included by edoc_extract.erl
30
31-define(APPLICATION, edoc).
32-define(INFO_FILE, "edoc-info").
33-define(OVERVIEW_FILE, "overview.edoc").
34-define(DEFAULT_SOURCE_SUFFIX, ".erl").
35-define(DEFAULT_FILE_SUFFIX, ".html").
36-define(DEFAULT_DOCLET, edoc_doclet).
37-define(DEFAULT_LAYOUT, edoc_layout).
38-define(APP_DEFAULT, "http://www.erlang.org/edoc/doc").
39-define(CURRENT_DIR, ".").
40-define(SOURCE_DIR, "src").
41-define(EBIN_DIR, "ebin").
42-define(EDOC_DIR, "doc").
43-define(REPORT_MISSING_TYPES, false).
44
45-include("edoc_doclet.hrl").
46
47%% Module information
48
49%% @type module() = #module{name = [] | atom(),
50%%                          parameters = none | [atom()],
51%%                          functions = ordset(function_name()),
52%%                          exports = ordset(function_name()),
53%%                          attributes = ordset({atom(), term()}),
54%%                          records = [{atom(), [{atom(), term()}]}],
55%%                          encoding = epp:source_encoding()}
56%%  ordset(T) = sets:ordset(T)
57%%  function_name(T) = {atom(), integer()}
58
59-record(module, {name = [],
60		 parameters = none,
61		 functions = [],
62		 exports = [],
63		 attributes = [],
64		 records = [],
65		 encoding = latin1
66		}).
67
68%% Environment for generating documentation data
69
70-record(env, {module = [],
71	      root = "",
72	      file_suffix,
73	      apps,
74	      modules,
75	      app_default,
76	      macros = [],
77	      includes = []
78	     }).
79
80%% Simplified comment data
81
82%% @type comment() = #comment{line = integer(),
83%%                            text = string()}
84
85-record(comment, {line = 0, text}).
86
87%% Module Entries (one per function, plus module header and footer)
88
89%% @type entry() = #entry{{atom(), integer()}  % function
90%%                          | name = atom(),   % other
91%%                        args = [atom()],
92%%                        line = integer(),
93%%                        export = boolean(),
94%%                        data = term()}
95
96-record(entry, {name, args = [], line = 0, export, data}).
97
98%% Generic tag information
99
100%% @type tag() = #tag{name = atom(),
101%%                    line = integer(),
102%%                    origin = comment | code,
103%%                    data = term()}
104
105-record(tag, {name, line = 0, origin = comment, data}).
106