better doxygen support

master
Marc Wäckerlin 9 years ago
parent 2a8c072769
commit bf6b4764db
  1. 12
      ChangeLog
  2. 49
      bootstrap.sh
  3. 93
      doc/doxyfile.in
  4. 26
      scripts/doxygen-webtester.sed
  5. 13
      scripts/example.wt
  6. 3
      scripts/makefile.am

@ -1,3 +1,15 @@
2015-05-06 16:56 marc
* debian/control.in: reprepo requires a section
2015-05-06 14:51 marc
* ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
configure.ac, makefile.am, scripts,
scripts/doxygen-webtester.sed, scripts/example.wt,
scripts/makefile.am: added doxygen-webtester.sed do generate
doxygen from webtester files
2015-05-06 07:56 marc
* ChangeLog, debian/.dirs, debian/.install, debian/webtester.dirs,

@ -322,11 +322,22 @@ copy() {
doxyreplace() {
echo -en "\e[1m-> doxyfile:\e[0m configure $1 ..."
if sed -i 's|\(^'"$1"' *=\) *|\1'" $2"'|g' doc/doxyfile.in; then
if sed -i 's|\(^'"$1"' *=\) *.*|\1'" $2"'|g' doc/doxyfile.in; then
echo -e " \e[32msuccess\e[0m"
else
echo -e " \e[31merror\e[0m"
echo -e "\e[1m**** command: sed -i 's|\(^'"$1"' *=\) *|\1'" $2"'|g' doc/doxyfile.in;\e[0m"
echo -e "\e[1m**** command: $0 $*\e[0m"
exit 1
fi
}
doxyadd() {
echo -en "\e[1m-> doxyfile:\e[0m configure $1 ..."
if sed -i '/^'"$1"' *=/a'"$1"' += '"$2" doc/doxyfile.in; then
echo -e " \e[32msuccess\e[0m"
else
echo -e " \e[31merror\e[0m"
echo -e "\e[1m**** command: $0 $*\e[0m"
exit 1
fi
}
@ -368,7 +379,7 @@ EOF
exit 0
fi
PACKAGE_NAME=$(sed -n 's/.*m4_define *( *x_package_name *, *\([^ ]*\) *).*/\1/p' configure.ac)
echo "${HEADER}" | to --condition AX_USE_CXX src/makefile.am
echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition AX_USE_CXX src/makefile.am
to --condition AX_USE_CXX src/version.hxx <<EOF
/*! @file
@ -446,17 +457,21 @@ namespace NAMESPACE {
const std::string IDENT("\$Id: " PACKAGE_STRING);
}
EOF
echo "${HEADER}" | to --condition AX_USE_SCRIPTS scripts/makefile.am
echo "${HEADER}" | to --condition AX_USE_DOXYGEN doc/makefile.am
echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition AX_USE_SCRIPTS scripts/makefile.am
echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition AX_USE_DOXYGEN doc/makefile.am
to --condition AX_USE_CPPUNIT test/makefile.am <<EOF
${HEADER}AM_CPPFLAGS = -I${top_srcdir}/src -I${top_builddir}/src
AM_LDFLAGS = -L${top_builddir}/src/.libs
LDADD = -l${PACKAGE_NAME}
MAINTAINERCLEANFILES = makefile.in
EOF
to --condition AX_BUILD_EXAMPLES examples/makefile.am <<EOF
${HEADER}AM_CPPFLAGS = -I${top_srcdir}/src -I${top_builddir}/src
AM_LDFLAGS = -L${top_builddir}/src/.libs
LDADD = -l${PACKAGE_NAME}
MAINTAINERCLEANFILES = makefile.in
EOF
if testtag AX_USE_DOXYGEN && ! test -f doc/doxyfile.in; then
run doxygen -g doc/doxyfile.in
@ -469,27 +484,47 @@ if testtag AX_USE_DOXYGEN && ! test -f doc/doxyfile.in; then
doxyreplace INLINE_INHERITED_MEMB YES
doxyreplace MULTILINE_CPP_IS_BRIEF YES
doxyreplace TAB_SIZE 2
doxyreplace ALIASES '"id=\par File-ID\n" "copy=\par Copyright\n" "license=\par License\n" "classmutex=\par Reentrant:\nAccess is locked with class static mutex @c " "instancemutex=\par Reentrant:\nAccess is locked with per instance mutex @c " "mutex=\par Reentrant:\nAccess is locked with mutex @c "'
doxyreplace ALIASES '"id=\\par File-ID\\n"'
doxyadd ALIASES '"copy=\\par Copyright\\n"'
doxyadd ALIASES '"license=\\par License\\n"'
doxyadd ALIASES '"classmutex=\\par Reentrant:\\nAccess is locked with class static mutex @c "'
doxyadd ALIASES '"instancemutex=\\par Reentrant:\\nAccess is locked with per instance mutex @c "'
doxyadd ALIASES '"mutex=\\par Reentrant:\\nAccess is locked with mutex @c "'
doxyreplace ENABLE_PREPROCESSING YES
doxyreplace MACRO_EXPANSION YES
doxyadd PREDEFINED '"NAMESPACE=@PACKAGE_NAME@"'
doxyreplace BUILTIN_STL_SUPPORT YES
doxyreplace DISTRIBUTE_GROUP_DOC YES
doxyreplace EXTRACT_ALL YES
doxyreplace EXTRACT_PACKAGE YES
doxyreplace EXTRACT_PRIVATE YES
doxyreplace EXTRACT_STATIC YES
doxyreplace EXTRACT_LOCAL_CLASSES YES
doxyreplace EXTRACT_LOCAL_METHODS YES
doxyreplace EXTRACT_ANON_NSPACES YES
doxyreplace SHOW_GROUPED_MEMB_INC YES
doxyreplace SORT_MEMBERS_CTORS_1ST YES
doxyreplace WARN_IF_UNDOCUMENTED NO
doxyreplace WARN_LOGFILE doxygen.errors
doxyreplace INPUT "@top_srcdir@/src"
if testtag AX_USE_SCRIPTS; then
doxyadd INPUT "@top_srcdir@/scripts"
fi
if testtag AX_USE_CPPUNIT; then
doxyadd INPUT "@top_srcdir@/test"
fi
doxyreplace FILE_PATTERNS '*.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.idl *.ddl *.odl *.h *.hh *.hxx *.hpp *.h++ *.cs *.d *.php *.php4 *.php5 *.phtml *.inc *.m *.markdown *.md *.mm *.dox *.py *.f90 *.f *.for *.tcl *.vhd *.vhdl *.ucf *.qsf *.as *.js'
doxyadd FILE_PATTERNS *.wt
doxyreplace RECURSIVE YES
doxyreplace EXCLUDE_PATTERNS "moc_* uic_* qrc_*"
if testtag AX_BUILD_EXAMPLES; then
doxyreplace EXAMPLE_PATH @top_srcdir@/examples
fi
doxyreplace EXAMPLE_RECURSIVE YES
doxyreplace FILTER_PATTERNS '*.wt=doxygen-webtester.sed'
doxyreplace SOURCE_BROWSER YES
doxyreplace INLINE_SOURCES YES
doxyreplace GENERATE_TESTLIST YES
doxyreplace GENERATE_TREEVIEW NO
doxyreplace SEARCHENGINE YES
doxyreplace GENERATE_HTML YES
@ -565,7 +600,7 @@ if ! test -f makefile.am; then
for d in src test scripts doc examples; do
test -d $d && SUBDIRS="${SUBDIRS} $d"
done
echo "${HEADER}SUBDIRS =${SUBDIRS}" | to makefile.am
echo "${HEADER}SUBDIRS =${SUBDIRS}\n\nMAINTAINERCLEANFILES = makefile.in" | to makefile.am
fi
to --condition AX_USE_LIBTOOL src/${PACKAGE_NAME}.pc.in <<EOF
${HEADER}prefix=@prefix@

@ -32,7 +32,7 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places.
# The default value is: My Project.
PROJECT_NAME = @PACKAGE_NAME@"My Project"
PROJECT_NAME = @PACKAGE_NAME@
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
@ -125,7 +125,7 @@ ALWAYS_DETAILED_SEC = NO
# operators of the base classes will not be shown.
# The default value is: NO.
INLINE_INHERITED_MEMB = YESNO
INLINE_INHERITED_MEMB = YES
# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path
# before files name in the file list and in the header files. If set to NO the
@ -189,7 +189,7 @@ QT_AUTOBRIEF = NO
# not recognized any more.
# The default value is: NO.
MULTILINE_CPP_IS_BRIEF = YESNO
MULTILINE_CPP_IS_BRIEF = YES
# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
# documentation from any documented member that it re-implements.
@ -208,7 +208,7 @@ SEPARATE_MEMBER_PAGES = NO
# uses this value to replace tabs by spaces in code fragments.
# Minimum value: 1, maximum value: 16, default value: 4.
TAB_SIZE = 24
TAB_SIZE = 2
# This tag can be used to specify a number of aliases that act as commands in
# the documentation. An alias has the form:
@ -220,13 +220,12 @@ TAB_SIZE = 24
# "Side Effects:". You can put \n's in the value part of an alias to insert
# newlines.
ALIASES = "id=par File-ID
" "copy=par Copyright
" "license=par License
" "classmutex=par Reentrant:
Access is locked with class static mutex @c " "instancemutex=par Reentrant:
Access is locked with per instance mutex @c " "mutex=par Reentrant:
Access is locked with mutex @c "
ALIASES = "id=\par File-ID\n"
ALIASES += "mutex=\par Reentrant:\nAccess is locked with mutex @c "
ALIASES += "instancemutex=\par Reentrant:\nAccess is locked with per instance mutex @c "
ALIASES += "classmutex=\par Reentrant:\nAccess is locked with class static mutex @c "
ALIASES += "license=\par License\n"
ALIASES += "copy=\par Copyright\n"
# This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding "class=itcl::class"
@ -304,7 +303,7 @@ AUTOLINK_SUPPORT = YES
# diagrams that involve STL classes more complete and accurate.
# The default value is: NO.
BUILTIN_STL_SUPPORT = YESNO
BUILTIN_STL_SUPPORT = YES
# If you use Microsoft's C++/CLI language, you should set this option to YES to
# enable parsing support.
@ -336,7 +335,7 @@ IDL_PROPERTY_SUPPORT = YES
# all members of a group must be documented explicitly.
# The default value is: NO.
DISTRIBUTE_GROUP_DOC = YESNO
DISTRIBUTE_GROUP_DOC = YES
# Set the SUBGROUPING tag to YES to allow class member groups of the same type
# (for instance a group of public functions) to be put as a subgroup of that
@ -404,25 +403,25 @@ LOOKUP_CACHE_SIZE = 0
# normally produced when WARNINGS is set to YES.
# The default value is: NO.
EXTRACT_ALL = YESNO
EXTRACT_ALL = YES
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will
# be included in the documentation.
# The default value is: NO.
EXTRACT_PRIVATE = YESNO
EXTRACT_PRIVATE = YES
# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
# scope will be included in the documentation.
# The default value is: NO.
EXTRACT_PACKAGE = NO
EXTRACT_PACKAGE = YES
# If the EXTRACT_STATIC tag is set to YES all static members of a file will be
# included in the documentation.
# The default value is: NO.
EXTRACT_STATIC = YESNO
EXTRACT_STATIC = YES
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
# locally in source files will be included in the documentation. If set to NO
@ -430,7 +429,7 @@ EXTRACT_STATIC = YESNO
# for Java sources.
# The default value is: YES.
EXTRACT_LOCAL_CLASSES = YESYES
EXTRACT_LOCAL_CLASSES = YES
# This flag is only useful for Objective-C code. When set to YES local methods,
# which are defined in the implementation section but not in the interface are
@ -438,7 +437,7 @@ EXTRACT_LOCAL_CLASSES = YESYES
# included.
# The default value is: NO.
EXTRACT_LOCAL_METHODS = YESNO
EXTRACT_LOCAL_METHODS = YES
# If this flag is set to YES, the members of anonymous namespaces will be
# extracted and appear in the documentation as a namespace called
@ -447,7 +446,7 @@ EXTRACT_LOCAL_METHODS = YESNO
# are hidden.
# The default value is: NO.
EXTRACT_ANON_NSPACES = YESNO
EXTRACT_ANON_NSPACES = YES
# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
# undocumented members inside documented classes or files. If set to NO these
@ -513,7 +512,7 @@ SHOW_INCLUDE_FILES = YES
# which file to include in order to use the member.
# The default value is: NO.
SHOW_GROUPED_MEMB_INC = NO
SHOW_GROUPED_MEMB_INC = YES
# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
# files with double quotes in the documentation rather than with sharp brackets.
@ -552,7 +551,7 @@ SORT_BRIEF_DOCS = NO
# detailed member documentation.
# The default value is: NO.
SORT_MEMBERS_CTORS_1ST = YESNO
SORT_MEMBERS_CTORS_1ST = YES
# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
# of group names into alphabetical order. If set to NO the group names will
@ -705,7 +704,7 @@ WARNINGS = YES
# will automatically be disabled.
# The default value is: YES.
WARN_IF_UNDOCUMENTED = NOYES
WARN_IF_UNDOCUMENTED = NO
# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
# potential errors in the documentation, such as not documenting some parameters
@ -750,6 +749,7 @@ WARN_LOGFILE = doxygen.errors
# Note: If this tag is empty the current directory is searched.
INPUT = @top_srcdir@/src
INPUT += @top_srcdir@/scripts
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@ -769,13 +769,14 @@ INPUT_ENCODING = UTF-8
# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
# *.qsf, *.as and *.js.
FILE_PATTERNS =
FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.idl *.ddl *.odl *.h *.hh *.hxx *.hpp *.h++ *.cs *.d *.php *.php4 *.php5 *.phtml *.inc *.m *.markdown *.md *.mm *.dox *.py *.f90 *.f *.for *.tcl *.vhd *.vhdl *.ucf *.qsf *.as *.js
FILE_PATTERNS += *.wt
# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.
# The default value is: NO.
RECURSIVE = YESNO
RECURSIVE = YES
# The EXCLUDE tag can be used to specify files and/or directories that should be
# excluded from the INPUT source files. This way you can easily exclude a
@ -831,7 +832,7 @@ EXAMPLE_PATTERNS =
# irrespective of the value of the RECURSIVE tag.
# The default value is: NO.
EXAMPLE_RECURSIVE = YESNO
EXAMPLE_RECURSIVE = YES
# The IMAGE_PATH tag can be used to specify one or more files or directories
# that contain images that are to be included in the documentation (see the
@ -863,7 +864,7 @@ INPUT_FILTER =
# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
# patterns match the file name, INPUT_FILTER is applied.
FILTER_PATTERNS =
FILTER_PATTERNS = *.wt=doxygen-webtester.sed
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
# INPUT_FILTER ) will also be used to filter the input files that are used for
@ -898,13 +899,13 @@ USE_MDFILE_AS_MAINPAGE =
# also VERBATIM_HEADERS is set to NO.
# The default value is: NO.
SOURCE_BROWSER = YESNO
SOURCE_BROWSER = YES
# Setting the INLINE_SOURCES tag to YES will include the body of functions,
# classes and enums directly into the documentation.
# The default value is: NO.
INLINE_SOURCES = YESNO
INLINE_SOURCES = YES
# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
# special comment blocks from generated source code fragments. Normal C, C++ and
@ -1006,7 +1007,7 @@ IGNORE_PREFIX =
# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output
# The default value is: YES.
GENERATE_HTML = YESYES
GENERATE_HTML = YES
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
@ -1358,7 +1359,7 @@ DISABLE_INDEX = NO
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_TREEVIEW = NONO
GENERATE_TREEVIEW = NO
# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
# doxygen will group on one line in the generated HTML documentation.
@ -1472,7 +1473,7 @@ MATHJAX_CODEFILE =
# The default value is: YES.
# This tag requires that the tag GENERATE_HTML is set to YES.
SEARCHENGINE = YESYES
SEARCHENGINE = YES
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# implemented using a web server instead of a web client using Javascript. There
@ -1546,7 +1547,7 @@ EXTRA_SEARCH_MAPPINGS =
# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
# The default value is: YES.
GENERATE_LATEX = NOYES
GENERATE_LATEX = NO
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
@ -1657,14 +1658,14 @@ USE_PDFLATEX = YES
# The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_BATCHMODE = YESNO
LATEX_BATCHMODE = YES
# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
# index chapters (such as File Index, Compound Index, etc.) in the output.
# The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_HIDE_INDICES = YESNO
LATEX_HIDE_INDICES = YES
# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
# code with syntax highlighting in the LaTeX output.
@ -1709,7 +1710,7 @@ RTF_OUTPUT = rtf
# The default value is: NO.
# This tag requires that the tag GENERATE_RTF is set to YES.
COMPACT_RTF = YESNO
COMPACT_RTF = YES
# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
# contain hyperlink fields. The RTF file will contain links (just like the HTML
@ -1721,7 +1722,7 @@ COMPACT_RTF = YESNO
# The default value is: NO.
# This tag requires that the tag GENERATE_RTF is set to YES.
RTF_HYPERLINKS = YESNO
RTF_HYPERLINKS = YES
# Load stylesheet definitions from file. Syntax is similar to doxygen's config
# file, i.e. a series of assignments. You only have to provide replacements,
@ -1901,7 +1902,7 @@ ENABLE_PREPROCESSING = YES
# The default value is: NO.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
MACRO_EXPANSION = NO
MACRO_EXPANSION = YES
# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
# the macro expansion is limited to the macros specified with the PREDEFINED and
@ -1941,7 +1942,7 @@ INCLUDE_FILE_PATTERNS =
# recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
PREDEFINED =
PREDEFINED = "NAMESPACE=@PACKAGE_NAME@"
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
@ -2046,7 +2047,7 @@ DIA_PATH =
# and usage relations if the target is undocumented or is not a class.
# The default value is: YES.
HIDE_UNDOC_RELATIONS = NOYES
HIDE_UNDOC_RELATIONS = NO
# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
# available from the path. This tool is part of Graphviz (see:
@ -2055,7 +2056,7 @@ HIDE_UNDOC_RELATIONS = NOYES
# set to NO
# The default value is: NO.
HAVE_DOT = YESNO
HAVE_DOT = YES
# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
# to run in parallel. When set to 0 doxygen will base this on the number of
@ -2097,7 +2098,7 @@ DOT_FONTPATH =
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
CLASS_GRAPH = YESYES
CLASS_GRAPH = YES
# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
# graph for each documented class showing the direct and indirect implementation
@ -2142,7 +2143,7 @@ UML_LIMIT_NUM_FIELDS = 10
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
TEMPLATE_RELATIONS = YESNO
TEMPLATE_RELATIONS = YES
# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
# YES then doxygen will generate a graph for each documented file showing the
@ -2209,7 +2210,7 @@ DIRECTORY_GRAPH = YES
# The default value is: png.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_IMAGE_FORMAT = svgpng
DOT_IMAGE_FORMAT = svg
# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
# enable generation of interactive SVG images that allow zooming and panning.
@ -2221,7 +2222,7 @@ DOT_IMAGE_FORMAT = svgpng
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
INTERACTIVE_SVG = YESNO
INTERACTIVE_SVG = YES
# The DOT_PATH tag can be used to specify the path where the dot tool can be
# found. If left blank, it is assumed the dot tool can be found in the path.
@ -2282,7 +2283,7 @@ MAX_DOT_GRAPH_DEPTH = 0
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_TRANSPARENT = YESNO
DOT_TRANSPARENT = YES
# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
# files in one run (i.e. multiple -o and -T options on the command line). This

@ -17,18 +17,28 @@
# variable definition
/^set/{
s,^set \+\([^ =]\+\)\( *= *\(.*\)\)\?,/** @var \1, # prepend variable decl
G # append hold buffer
s,$, */\n, # append end of comment
p; z; x; d # clear buffer, next line
x
s,$, */, # append end of comment
x
s,^set \+\([^ =]\+\) *\=\? *\(.*\)\?,void \1;\n,
H
s,^void ,/** @var , # prepend function decl
s,;$,,
G # append hold buffer
p; z; x; d # clear buffer, next line
}
# function definition
/^function/{
s,^function \+\([^ ]\+\) *\(.*\)\?,/** @fn \1(\2), # prepend function decl
G # append hold buffer
s,$, */\n, # append end of comment
p; z; x; d # clear buffer, next line
x
s,$, */, # append end of comment
x
s,^function \+\([^ ]\+\) *\(.*\)\?,void \1(\2);\n,
H
s,^void ,/** @def , # prepend function decl
s,;$,,
G # append hold buffer
p; z; x; d # clear buffer, next line
}
# default for non matching lines - print buffer

@ -1,13 +0,0 @@
## Commented Webtest Example File
##
## This is text that can be converted to doxygen using the tool
## @c doxygen-webtester.sed as filter.
## This is a variable declaration
set a=b
## This is a function
##
## Here we have an example of a function declaration
function function-name ARG1, ARG2
# do nothing

@ -7,3 +7,6 @@
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
dist_bin_SCRIPTS = doxygen-webtester.sed
MAINTAINERCLEANFILES = makefile.in

Loading…
Cancel
Save