summaryrefslogtreecommitdiffstats
path: root/src/config.l
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2000-02-20 17:34:13 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2000-02-20 17:34:13 (GMT)
commitb76d4ee1ec41101fffbef5d33c5a2ea70a6c6e54 (patch)
treef122ed1db8000e070cab7f8ad4c4af87b89adbe5 /src/config.l
parent8cc2d754b7ad3e3e88f4c1bb92878d8f517076e6 (diff)
downloadDoxygen-b76d4ee1ec41101fffbef5d33c5a2ea70a6c6e54.zip
Doxygen-b76d4ee1ec41101fffbef5d33c5a2ea70a6c6e54.tar.gz
Doxygen-b76d4ee1ec41101fffbef5d33c5a2ea70a6c6e54.tar.bz2
+ The graphical class hierarchy was not properly generated when
template classes were used. + Template specialization could not be documented using the \class command. This is now fixed. Example: /*! * \class T<A,int> * My template specialization of template T. */ + Fixed a bug when parsing M$-IDL code, containing helpstring("bla") attributes. The attributes of a method are no longer shown in the documentation (the attributes of method arguments still visible however). + Improved the search algorithm that tries to connect classes with their base classes. It should now (hopefully) work correct in all cases where nested classes and/or namespaces are used. + Fixed a scanner problem that could cause doxygen to get confused after parsing struct initializers. + the DOTFONTPATH environment variable is now automatically set for Windows. This should make any "missing doxfont.ttf" messages disappear. + the extra LaTeX packages specified with EXTRA_PACKAGES can now also be used when generating formulas for HTML. + The documentation of a parameters that is part of a member definition, is now used in the documentation as well. + Fixed a HTML output bug in the class/file group-pages. + Links to example files generated with \link ... \endlink where not correct. + made the bullet list generation more robust. A space is now required after the - sign. A list can now start a paragraph. + the configure script now detects whether or not dot is installed. + The VERBATIM_HEADERS option didn't have any effect any more. It should now works again as advertised. + The IGNORE_PREFIX option can now also deal with a list of prefixes. + @verbatim ... @endverbatim blocks did not work. + new option SHOW_INCLUDE_FILES, which can be set to NO to turn of the list of include files that is generated for each documented file. + new option STRIP_CODE_COMMENTS, which can be set to NO to keep any special comment blocks in the generated code fragments.
Diffstat (limited to 'src/config.l')
-rw-r--r--src/config.l40
1 files changed, 35 insertions, 5 deletions
diff --git a/src/config.l b/src/config.l
index 004ba50..d5d2227 100644
--- a/src/config.l
+++ b/src/config.l
@@ -20,6 +20,7 @@
* includes
*/
#include <stdio.h>
+#include <stdlib.h>
#include <iostream.h>
#include <assert.h>
#include <ctype.h>
@@ -84,7 +85,7 @@ QCString Config::inputFilter;
QCString Config::paperType;
QCString Config::manExtension;
QCString Config::htmlStyleSheet;
-QCString Config::ignorePrefix;
+QStrList Config::ignorePrefixList;
QStrList Config::includePath;
QStrList Config::examplePath;
QStrList Config::imagePath;
@@ -141,6 +142,8 @@ bool Config::inlineInfoFlag = TRUE;
bool Config::collGraphFlag = TRUE;
bool Config::includeGraphFlag = TRUE;
bool Config::gfxHierarchyFlag = TRUE;
+bool Config::showIncFileFlag = TRUE;
+bool Config::stripCommentsFlag = TRUE;
int Config::tabSize = 8;
int Config::colsInAlphaIndex = 5;
@@ -219,7 +222,7 @@ static int yyread(char *buf,int max_size)
<Start>"TAB_SIZE"[ \t]*"=" { BEGIN(GetString); s=&tabSizeString; s->resize(0); }
<Start>"HTML_STYLESHEET"[ \t]*"=" { BEGIN(GetString); s=&Config::htmlStyleSheet; s->resize(0); }
<Start>"COLS_IN_ALPHA_INDEX"[ \t]*"=" { BEGIN(GetString); s=&colsInAlphaIndexString; s->resize(0); }
-<Start>"IGNORE_PREFIX"[ \t]*"=" { BEGIN(GetString); s=&Config::ignorePrefix; s->resize(0); }
+<Start>"IGNORE_PREFIX"[ \t]*"=" { BEGIN(GetStrList); l=&Config::ignorePrefixList; l->clear(); elemStr=""; }
<Start>"INCLUDE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::includePath; l->clear(); elemStr=""; }
<Start>"EXAMPLE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::examplePath; l->clear(); elemStr=""; }
<Start>"IMAGE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::imagePath; l->clear(); elemStr=""; }
@@ -276,6 +279,8 @@ static int yyread(char *buf,int max_size)
<Start>"GENERATE_RTF"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateRTF; }
<Start>"COMPACT_RTF"[ \t]*"=" { BEGIN(GetBool); b=&Config::compactRTFFlag; }
<Start>"RTF_HYPERLINKS"[ \t]*"=" { BEGIN(GetBool); b=&Config::rtfHyperFlag; }
+<Start>"SHOW_INCLUDE_FILES"[ \t]*"=" { BEGIN(GetBool); b=&Config::showIncFileFlag; }
+<Start>"STRIP_CODE_COMMENTS"[ \t]*"=" { BEGIN(GetBool); b=&Config::stripCommentsFlag; }
<Start>[a-z_A-Z0-9]+ { err("Warning: ignoring unknown tag `%s' at line %d\n",yytext,yyLineNr); }
<GetString,GetBool>\n { yyLineNr++; BEGIN(Start); }
<GetStrList>\n {
@@ -433,7 +438,7 @@ void Config::init()
Config::paperType = "a4wide";
Config::manExtension = ".3";
Config::htmlStyleSheet.resize(0);
- Config::ignorePrefix.resize(0);
+ Config::ignorePrefixList.clear();
Config::includePath.clear();
Config::examplePath.clear();
Config::imagePath.clear();
@@ -492,6 +497,8 @@ void Config::init()
Config::collGraphFlag = TRUE;
Config::includeGraphFlag = TRUE;
Config::gfxHierarchyFlag = TRUE;
+ Config::showIncFileFlag = TRUE;
+ Config::stripCommentsFlag = TRUE;
}
void writeTemplateConfig(QFile *f,bool sl)
@@ -697,6 +704,15 @@ void writeTemplateConfig(QFile *f,bool sl)
if (!sl)
{
t << "\n";
+ t << "# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct\n";
+ t << "# doxygen to hide any special comment blocks from generated source code\n";
+ t << "# fragments. Normal C and C++ comments will always remain visible.\n";
+ t << "\n";
+ }
+ t << "STRIP_CODE_COMMENTS = YES\n";
+ if (!sl)
+ {
+ t << "\n";
t << "# If the CASE_SENSE_NAMES tag is set to NO (the default) then Doxygen\n";
t << "# will only generate file names in lower case letters. If set to\n";
t << "# YES upper case letters are also allowed. This is useful if you have\n";
@@ -717,6 +733,15 @@ void writeTemplateConfig(QFile *f,bool sl)
if (!sl)
{
t << "\n";
+ t << "# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen\n";
+ t << "# will put list of the files that are included by a file in the documentation\n";
+ t << "# of that file.\n";
+ t << "\n";
+ }
+ t << "SHOW_INCLUDE_FILES = YES\n";
+ if (!sl)
+ {
+ t << "\n";
t << "# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen\n";
t << "# will interpret the first line (until the first dot) of a JavaDoc-style\n";
t << "# comment as the brief description. If set to NO, the Javadoc-style will\n";
@@ -945,8 +970,8 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "\n";
t << "# In case all classes in a project start with a common prefix, all\n";
t << "# classes will be put under the same header in the alphabetical index.\n";
- t << "# The IGNORE_PREFIX tag can be use to specify a prefix that should be ignored\n";
- t << "# while generating the index headers.\n";
+ t << "# The IGNORE_PREFIX tag can be used to specify one or more prefixes that\n";
+ t << "# should be ignored while generating the index headers.\n";
t << "\n";
}
t << "IGNORE_PREFIX = \n";
@@ -1649,6 +1674,11 @@ void checkConfig()
}
}
}
+
+#if defined(_WIN32)
+ if (Config::haveDotFlag) _putenv("DOTFONTPATH=.");
+#endif
+
}
void parseConfig(const QCString &s)