1 #ifndef ROBODOC_CONFIG_H
2 #define ROBODOC_CONFIG_H
7 Copyright (C) 1994-2007 Frans Slothouber, Jacco van Weert, Petteri Kettunen,
8 Bernd Koesling, Thomas Aglassinger, Anthon Pang, Stefan Kost, David Druffner,
9 Sasha Vasko, Kai Hofmann, Thierry Pierron, Friedrich Haase, and Gergely Budai.
11 This file is part of ROBODoc
13 ROBODoc is free software; you can redistribute it and/or modify
14 it under the terms of the GNU General Public License as published by
15 the Free Software Foundation; either version 3 of the License, or
16 (at your option) any later version.
18 This program is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU General Public License for more details.
23 You should have received a copy of the GNU General Public License
24 along with this program. If not, see <http://www.gnu.org/licenses/>.
48 SK_REMARK_BEGIN_MARKERS,
49 SK_REMARK_END_MARKERS,
52 SK_SOURCE_LINE_COMMENTS,
53 SK_HEADER_IGNORE_CHARS,
54 SK_HEADER_SEPARATE_CHARS,
55 SK_PREFORMATTED_ITEMS,
62 /****s* Configuration/keywords_hash_s
64 * Structure for a keyword hash table row.
66 * o keyword -- pointer to the keyword
67 * o next -- pointer to next entry in the row
70 struct keywords_hash_s
72 struct keywords_hash_s *next;
79 /****s* Configuration/Parameters
81 * Structure to store all the paramters found in a block in the
82 * robodoc configuation file.
84 * o number -- the number of parameters found.
85 * o size -- the maximum size of the names array.
86 * o names -- an array with the values of the parameters.
88 * Find a better name for the attribute 'names'
102 /****s* Configuration/RB_Configuration
104 * All the data from the robodoc.rc file is stored in this
107 * o items -- an array with names that robodoc recognizes as
108 * items. Alsways includes the name "SOURCE" as
110 * o ignore_items -- an array with the names of items that ROBODoc
112 * o source_items -- an array with the names of items that work
113 * similar to the built-in SOURCE item.
114 * o preformatted_items -- item names that will be automatically
116 * o format_items -- item names that should be formatted by the
118 * o item_order -- an array with item names that
119 * indicates which items should be displayed first.
120 * o options -- Array with all options specified both on the
121 * commandline as well as in the robodoc.rc file.
122 * o custom_headertypes -- list with custom header types.
123 * o ignore_files -- list with wildcard expressions that specifies
124 * files and directories that robodoc should skip
125 * while scanning the source tree.
126 * o header_markers -- list with markers that mark the begin of a
128 * o remark_markers -- list with markers that mark a remark.
129 * o end_markers -- list with markers that markt the end of a
131 * o remark_begin_markers -- list of markers that mark the begin of
132 * a remark. For instance (*
133 * o remakr_end_markers -- list of markers that mark the end of a
134 * remark. For instance *)
135 * o keywords -- source keywords to recognise (and colorise)
136 * o source_line_comments -- comment markers that span until the end of line
137 * o header_ignore_chars -- characters for beginning of header remarks
138 * o header_separate_chars -- characters that separates header artifacts
143 struct RB_Configuration
145 struct Parameters items;
146 struct Parameters ignore_items;
147 struct Parameters source_items;
148 struct Parameters preformatted_items;
149 struct Parameters format_items;
150 struct Parameters item_order;
152 struct Parameters options;
154 struct Parameters ignore_files;
155 struct Parameters accept_files;
157 struct Parameters custom_headertypes;
158 struct Parameters header_markers;
159 struct Parameters remark_markers;
160 struct Parameters end_markers;
161 struct Parameters remark_begin_markers;
162 struct Parameters remark_end_markers;
164 struct Parameters keywords;
165 struct Parameters source_line_comments;
166 struct Parameters header_ignore_chars;
167 struct Parameters header_separate_chars;
172 char *ReadConfiguration(
176 void Free_Configuration(
178 void Install_C_Syntax(
183 char *Find_Parameter_Exact(
184 struct Parameters *params,
186 char *Find_Parameter_Partial(
187 struct Parameters *params,
189 char *Find_Parameter_Char(
190 struct Parameters *params,
193 extern struct RB_Configuration configuration;