| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
default.
Remove now unused method trTypeString.
|
|\
| |
| | |
-Fixed: some of remained work to support RTL in HTML output
|
| |
| |
| |
| | |
- Removed: support RTL form Return section in html, for consistency with parameter sections
|
| | |
|
| |
| |
| |
| | |
contains a \code block
|
|\ \
| | |
| | |
| | | |
https://github.com/albert-github/doxygen into albert-github-feature/bug_783134
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
contains a \code block
General problem regarding having a code / verbatim section inside a table.
Besides handling of the $ some other characters need special handling as well as the \n.
|
|\ \ \
| | | |
| | | | |
XML output: avoid warnings with scoped enum values in anonymous namespaces
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When a C++11 `enum class` was present in an anonymous namespace (usually
in *.cpp files), the XML output was emitting warnings similar to the
following:
Internal inconsistency: member False does not belong to any container!
And the XML output was rendering bogus IDs for enum values starting with
`dummy_`, such as:
dummy_1a96ab6574751fdf6a53ceec8a3896c45daf8320b26d30ab433c5a54546d21f414c
The fix is to call memberOutputFileBase() on the enumeration itself and
not on the enum value, that way it provides correct file base that
corresponds to file base of the enumeration. There's also a new test
that checks this.
Note: this assumes that enum values belong to the same compound as enums
themselves. In my experience that was always the case and there's no
broken test after this change, so I hope I didn't break anything.
|
|\ \ \ \
| |/ / /
|/| | /
| | |/
| |/| |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
HTML output
|
| | | |
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* src/doctokenizer.l: add VARARGS, aka variadic function args '...'
* src/util.cpp (linkToText): call substitute() with skip_seq set to 3
to keep each '...' sequence of chars unchanged
For instance, the command '@ref fun(int,...)' now is able to parse
each '...' sequence of chars correctly to reference fun(int,...).
Before this patch, the '...' part was skipped.
Also, linkToText() is fixed to not substitute '...' with '::::::' in
the text representation of the link.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* src/util.h (substitute): add skip_seq to function declaration
* src/util.cpp (substitute): implement skip_seq to keep unchanged a
given number of sequential chars otherwise targeted for substitution
* src/util.cpp (resolveRef): call substitute() with skip_seq set to 3
to keep each '...' sequence of chars unchanged
For instance, the command {@link fun(int,...)} now keeps each '...'
sequence of chars unchanged to reference fun(int,...). Before this
patch, each '.' was substituted into '::' by resolveRef() calling
substitute(), producing a weird reference to fun(int,::::::).
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
template
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Physical newlines in ALIASES configuration tags.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Some commands read input till the end of the physical line. In case these commands are used in an alias the rest of the line is lost / gives not the required results.
This patch creates the possibility to have physical newlines in ALIASES.
See also: https://stackoverflow.com/questions/46050789/doxygen-alias-with-multiple-commands
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix not initialized pointer when parser is starting on a new file.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The pointer oldEntry holds the last value of VhdlParser::current and is
compared to detect comment blocks that belong together. This could lead to
false positives when a new file is parsed and the new entry in
VhdlParser::current has by change the same pointer value as the old entry.
Doxygen warning like "warning: Found unknown command `\brief'" are the
consequence that leads to concatenated brief and detailed description in
the resulting output.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Allow case insensitive file pattern matching based on CASE_SENSE_NAMES
|
| |/ / / / / |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Changed the navtree collapsed list icon to be more symmetric to the expanded list icon
|
| |/ / / / / |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Properly copy images for the XML output
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Use the exact same mechanism that is used for the HTML/LaTeX/... output,
which is findAndCopyImage() in docparser.cpp, because that one works,
unlike the method here. Not sure why that function doesn't handle XML as
well. Also not sure how to integrate this into the automated tests.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Full support for strong and typed enums in the XML output
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
There's a new boolean `strong` attribute on the `<memberdef>` element
that defines whether the enum is a classic or a strong one.
Tests were updated to verify both cases.
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The <type> element (used for function return type and variable type) is
now reused also for underlying enum type.
C++03-style enum types that don't have the underlying type specified
have the <type> tag as well, but empty to indicate that the underlying
type is unspecified.
Added a new test case for this.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Provide template parameters also for type aliases in the XML output
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Until now, probably due to C++03 assumptions, typedefs and type
aliases skipped printing of the template parameter specifications to
the XML output. That's now fixed, so the following type alias will
properly contain <templateparamlist> in the XML output:
template<class T> using Vec = std::vector<T>;
Added also a test case that verifies this.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Expose TOC placeholder in XML output
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Currently the XML output for a page was generated the same
independently of whether the \tableofcontents command was present in
the page source or not. Because of that, the users of the XML output
had no chance of knowing whether given page should have a TOC or not.
There's now a new <tableofcontents> element that gets added in case
the TOC was requested. As it is trivial to populate the TOC on user
side by simply enumerating the <sectN> elements, the element is empty
and acts just as a boolean.
|
|\ \ \ \ \ \ \
| |/ / / / / /
| | | | | | | |
Provide page brief in <briefdescription> of XML output
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Until now the brief description of pages was prepended to the
<detaileddescription> element and the <briefdescription> element was
not present at all, which meant there was no easy way to extract the
brief description for purposes of creating a page index, for example.
With this patch, the brief description is included in both
<briefdescription> and <detaileddescription>, thus duplicated, to
avoid backwards compatibility issues.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Encode invalid XML characters instead of skipping them
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The <sp> element in <programlisting> has a new optional attribute
`value`, which contains value of given invalid ASCII character. In
case of space, the `value` attribute is omitted.
Use cases for this: including snippets of *very esoteric* languages,
markup that makes use of the advanced ASCII formatting characters or
for example highlighting a console output containing ANSI color codes
(which is my case, in fact).
Regarding backwards compatibility -- as files with such ASCII
characters are very rare, I don't expect this minor difference in the
output to be a problem. Besides that, such ASCII characters are often
replaced by a space in many applications anyway.
A test snippet was extended to contain a special character so this
difference in behavior could be verified.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Misc. typos
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Super trivial typos
Some are in qtools/ which I know is a 3rd party dependency but as we know is now obsolete upstream. I reckon it wouldn't be much of an issue to merge neverthless
Tacked on several more commits
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Suppresses warning for XML <see langword="..."/>
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Propagate language information to all <programlisting> XML elements
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This is based on work done in 141dbfd5a4f79c98da14a1b414c6db4e1b34618b
through ed9acb6e1bb81a2eec334180f7b8c1bf0598b444 and makes a few
behavioral changes to it.
There's a new attribute called `filename` and the `language` was removed,
because it could provide misleading information. This allows for more
flexibility on the user side. In particular:
* For historical reasons, `*.txt` files are marked by Doxygen as C++
(see https://bugzilla.gnome.org/show_bug.cgi?id=760836 for details).
In particular, code snippet included from a CMakeLists.txt file would
be marked and highlighted as C++. So in this case, the language
attribute would be very misleading.
* Doxygen is aware only of a very small subset of languages and thus a
lot of information can be lost when relying on its
extension-to-language-name conversion -- in particular, all
extensions that are not recognized are assumed to be C++. On the other
hand, putting more effort into its language detection algorithms is
not worth the time, as there will always be new languages that fail to
detect. So let's leave that on the user of the XML output instead.
* Using just file extension is not enough, it has to be a full filename.
For example, `*.txt` can be either a plain text file or a
`CMakeLists.txt`.
* The path is not stripped from the filename, as it also may contain
additional information that helps to detect the language better.
In addition to that, filenames of code snippets included via the \include
command and related are propagated to the <programlisting> element as
well.
With this change, (1) code snippets using simply
\code
some code
\endcode
will not produce any `filename` attribute and it's up to the user what to
do -- assume C++, detect language from contents or not highlight
anything.
<programlisting>
some code
</programlisting>
(2) Code snippets using
\code{.cmake}
some code
\endcode
will produce the following:
<programlisting filename=".cmake">
some code
</programlisting>
(3) And finally, \include, \dontinclude and related \skip, \skipline etc.
commands
\include path/to/some-file.py
will produce
<programlisting filename="path/to/some-file.py">
some code
</programlisting>
The tests were updated to check all three cases.
On the user side, when using Pygments for example, it's then just a
matter of calling pygments.lexers.find_lexer_class_for_filename() with
value of the `filename` attribute value and optionally also the code
snippet for additional language analysis.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
It has refcounting, copy-on-write and all, but this is still better.
|