summaryrefslogtreecommitdiffstats
path: root/src/xmldocvisitor.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'feature/bug_endblock_msg' of ↵Dimitri van Heesch2019-08-041-1/+1
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_endblock_msg
| * Correction warning messagealbert-github2019-06-011-1/+1
| | | | | | | | Consistency
* | Merge branch 'feature/issue_6831' of ↵Dimitri van Heesch2019-08-041-2/+7
|\ \ | | | | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/issue_6831
| * | issue #6831 Failure to recognize class array with PHP in @varalbert-github2019-02-151-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | There are 2 different situations here: - @var, here a special change is necessary to check and handle whether or not we are in PHP (declinfo.*, doxygen.cpp) - @param - the type recognition for the PHP type has to be extended with the `[]` possibility and subsequently the `[]` part has to be handled separately from the 'datatype' (doctokinizer.l, docparser.*). - In the output we now can have multiple text strings resulting in a small change in handling of the separator between the data type (*docvisitor.*)
* | | Merge branch 'fetaure/bug_html_ins_del_tag' of ↵Dimitri van Heesch2019-08-031-0/+6
|\ \ \ | | | | | | | | | | | | https://github.com/albert-github/doxygen into albert-github-fetaure/bug_html_ins_del_tag
| * | | Adding HTML tags ins and delalbert-github2019-04-041-0/+6
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Github does not support the `<u>` tag for underlined text, in HTML there exists the tag `<ins>`. On https://www.w3schools.com/tags/tag_ins.asp is written: The `<ins>` tag defines a text that has been inserted into a document. Browsers will normally strike a line through deleted text and underline inserted text. Most browsers will display the `<ins>` element with the following default values: ``` ins { text-decoration: underline; } ``` analogous there exists the tag `<del>` (https://www.w3schools.com/tags/tag_del.asp): The `<del>` tag defines text that has been deleted from a document. Browsers will normally strike a line through deleted text and underline inserted text. Most browsers will display the `<del>` element with the following default values: ``` del { text-decoration: line-through; } ``` Definitions analogue to the underline and strike through tag the implementation for the other formats has been chosen.
* | | Remove not used classalbert-github2019-07-071-12/+0
| | | | | | | | | | | | | | | | | | | | | As per comment in `docvisitor.h`: ``` class DocCopy; // TODO: no longer generated => remove ```
* | | High consequence coverity mesagesalbert-github2019-07-021-1/+1
| | | | | | | | | | | | | | | - initializing fd (analogous to htmldocvisitor) - always good to close file pointers
* | | issue #7033 Syntax highlighting doesn't work when calling \dontinclude from ↵albert-github2019-06-061-2/+4
|/ / | | | | | | | | | | Markdown files Don't use the file name extension of the including file but of the included file. In case of no included filename or no extension, fall back of the file extension of the including file.
* | Merge branch 'feature/bug_lineno_split_examples' of ↵Dimitri van Heesch2019-03-091-1/+17
|\ \ | | | | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_lineno_split_examples
| * | Show line numbers in "split" examplesalbert-github2019-03-031-1/+16
|/ / | | | | | | | | | | With the commands like `\skip`, `\skipline` it is possible to show parts of a file for further explanation / tutorials. They can be started with `\include` or `\dontinclude` but in case `\include` specifies that the line numbers have to be shown they are only shown in the full example and not in the split up example - show line numbers in split up example in case `lineno` is required - add `lineno` option to `\dontinclude` so here also line numbers can be shown.
* | Refactored Definition and derived classes such that they are abstract interfacesDimitri van Heesch2019-02-281-4/+6
|/
* issue #6744 Ampersand in Markdown image URL is not escaped in XML outputalbert-github2019-01-061-4/+2
| | | | Convert name / url based on HTML / XML conventions and don't do double conversions (XML).
* Issue #6039: Links on image in Markdown (Origin: bugzilla #769223)Dimitri van Heesch2019-01-031-1/+4
|
* Improved robustness of the emoji featureDimitri van Heesch2018-12-231-3/+7
| | | | | | | | Changes: - Use of `@emoji name` instead of `:name:` - Support only GitHub emojis (i.e. without spaces or special characters in the name) - Provided script to download images for LaTeX support. - XML output now has <emoji> tag with name an unicode sequence.
* Incorrect number tag sequence for xhtml with htmlinclude command possiblealbert-github2018-11-251-1/+8
| | | | | | Analogous to the `\htmlonly` also with the `\htmlinclude` command it is possible that some parts are added that cannot be inside a `<p> ... <\/p>` and thus we have to temporary close (and later reopen) the paragraph. The option `[block]` has been added to the `\htmlinclude` command (analogous to the `\htmlonly` command). Problem can be seen with the default doxygen test 30 (`[030_htmlinclude.dox]: test the \htmlinclude command`).
* Merge branch 'feature/bug_inline_image' of ↵Dimitri van Heesch2018-11-111-3/+4
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_inline_image
| * Inline imagesalbert-github2018-08-091-2/+3
| | | | | | | | Create the possibility of inline images with the `\image` command by means of the option `inline`.
* | Merge branch 'feature/issue_6517' of ↵Dimitri van Heesch2018-11-111-0/+15
|\ \ | | | | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/issue_6517
| * | issue_6517: Emoji supportalbert-github2018-10-011-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added issue support for the different output types. - Sources of the emoji - based on the Unicode definition v11.0: - https://unicode.org/emoji/charts/full-emoji-list.html - http://www.unicode.org/emoji/charts/full-emoji-modifiers.html - github definition list: - https://api.github.com/emojis - Input of emoji: :<test>: with the restriction that direct after the opening colon and direct before the closing colon no space is allowed - doctokinizer.l, adding detection of emoji and new command `\:` - doktokinizer.h, adding "word" type TK_EMOJI - docparser.* handling of new "word" type TK_EMOJI (analogous to HTML Entities), handling of new command `\:` - cmdmapper,cpp, cmdmapper.h, adding new command `\:` - htmlentity.cpp, adding new definition required for new command `\:` - Emoji - emoji.cpp, emoji.h, class for handling emoji analogous to HTML Entities, including small directions on how to update the code when a new emoji is defined. Not everything is converted to lowercase for comparison and accents are removed. - doxygen.cpp possibility to create list of supported emoji - handling emoji for output types (analogous to HTML Entities), see documentation for different output types - docparser.h, *docvisitor.* - rtfdocvisitor.* converting output to UTF-16 (based on http://scruss.com/blog/2017/03/12/in-the-unlikely-event-you-need-to-represent-emoji-in-rtf-using-perl/) - latexdocvisitor.*, handling arguments for emoji in output (see also latexgen.cpp for meaning of the arguments of doxygenemoji). - latexgen.cpp, adding new latex command for doxygen (doxygenemoji) and prevent too many open file (code before documentclass) - config.xml, definition of `LATEX_EMOJI_DIRECTORY` with path to images required for LaTeX output - Documentation: - emojisup.doc, user description - commands.doc, description of new command `\:` - index.doc, reference to emoji chapter - xmlcmds.doc, adjust reference to next chapter as a new chapter is added - Doxyfile*, adding emoji chapter Build system - CMakeLists.txt adding new files
* | | Merge pull request #6438 from albert-github/feature/bug_citeDimitri van Heesch2018-10-281-1/+1
|\ \ \ | |/ / |/| | Correcting labels for citations
| * | Correcting labels for citationsalbert-github2018-08-101-1/+1
| |/ | | | | | | | | The labels for RTF and XML were incorrect due to the fact that the wrong branch was chosen in the code (the newAnchor was set for the results of the `\cite ` command as well). Small readability issue with XML (when there are a lot of citations).
* | Merge pull request #6424 from albert-github/feature/bug_image_xmlDimitri van Heesch2018-09-031-1/+1
|\ \ | | | | | | Include height item in XML output
| * | Include height item in XML outputalbert-github2018-08-051-1/+1
| |/ | | | | | | | | | | When width and height are given with the `\image` command only the `width=` is placed in the output. contrary to e.g. HTML. This has been corrected. Based on: https://stackoverflow.com/questions/38778067/doxygen-image-tag-size-specification-syntax
* | Bug 667993 - HTML tags <u> and </u> not supportedalbert-github2018-07-071-0/+6
|/ | | | Added underline possibility and strike through possibility for the different output formats insofar it is possible (other similar possibilities are not always possible for all output formats either).
* Properly copy images for the XML output.Vladimír Vondruš2017-12-071-9/+14
| | | | | | | 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.
* Propagate language information to all <programlisting> XML elements.Vladimír Vondruš2017-11-191-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Use language identifier instead of file extension for language attributeDimitri van Heesch2017-09-281-1/+1
|
* Use language in stead of lang for language name attributeShi Yan2017-08-221-1/+1
|
* Add language type attribute to programlisting tagShi Yan2017-08-221-1/+1
| | | | | | | | | | | | | | The current programlisting tag doesn't have any attribute to indicate the code's language. This makes code highlighting customization difficult. For example, the current doxygen generated document doesn't hightlight javascript code block. If one wants to customize the code block by parsing the xml files and uses 3rd party syntax highlighter, there is no way to tell from the xml file what language the code snippet is using. This change introduces an attribute "lang" to the programlisting tag.
* Bug 770660 - Code snippet always shows line numbers from 1albert-github2016-09-031-0/+22
| | | | | | | | | This patch makes the handling of the \snippet and other commands consistent between the different languages (no line numbers anymore with python) and also introduces analogous to \includelineno the command \snippetlineno. Some non relevant changes: - *code.l Calculation of the end line was incorrect, in case of a snippet the end line was the number of lines of the snippet and not reltive to the start line. - *code.l made consistent over the different laguages, enabling exBlock and inlineFragment - testing/indexpage.xml in test 14 the \snippet command was used with python and giving line numbers, linenumbers are now gone (consistency)
* Warnings from CLANG compileralbert-github2016-08-281-0/+5
| | | | The CLANG compiler gave some warnings after pull request #503 ("Introducing commands includedoc and snippetdoc ") at places that are not / should not be reachable.
* Include command show line number (e.g. LaTeX)albert-github2016-08-241-2/+16
| | | | | Based on the report of Luis Vega (http://doxygen.10944.n7.nabble.com/include-inserts-line-numbers-for-LaTeX-PDF-output-td7683.html) The default setting for parseCode calls was not consistent between the different output formats, resulting in wrong settings of default options (e.g. show line numbers).
* Changed configuration mechanism to directly access options in order to ↵Dimitri van Heesch2016-01-171-1/+1
| | | | improve performance
* Bug 646002 - htmlonly content appears in generated XML outputalbert-github2015-08-121-20/+2
| | | | | All the @*only comments appear in the xml document. In the other document formats only documentation of the relevant @*only (in HTML only @htmlonly) appears. This patch corrects this so only the @xmlonly documentation appears.
* Bump copyright yearDimitri van Heesch2015-02-261-1/+1
|
* Remove unused local and static global variablesalbert-github2014-12-271-2/+0
| | | | Remove unused local and static global variables. Variables have been identified by Understand (version 758) from Scitools.
* various fixes and restructuringDimitri van Heesch2014-12-221-19/+4
|
* Merge branch 'feature/bug_size_latex' of ↵Dimitri van Heesch2014-12-201-38/+84
|\ | | | | | | | | | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_size_latex Conflicts: src/doctokenizer.h src/latexgen.cpp
| * Limit images sizes and make more uniform (LaTeX)albert-github2014-11-281-36/+79
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adjusts some problems regarding image sizes in LaTeX output of doxygen (a.o. Bug 738299 - When using msc or PlantUML, the default latex for the created image should include [width=\linewidth]) this has been done is such a way that all the "image" commands (i.e. image, dot, dotfile, msc, mscfile, diafile, startuml) operate in a similar way / have the same possibilities. - commands.doc Adjusted documentation to reflect changes. - cmdmapper.cpp - cmdmapper.h Added utility function to map command id back to command name - doctokenizer.h - doctokenizer.l Handle Caption and Size indication. Required also that some other rules had to be tightened a bit (like usage of {} in startuml and usage of "" for captions. This was already described in the documentation in this way). - docparser.cpp - docparser.h Created routine to uniformly handle the Caption and size indications and store them in a general way. - latexgen.cpp Replaced graphicx package by adjustbox package (includes graphicx) to support "min width" etc. - doxygen.sty templates\latex Added commands to make commands with and without caption behave similar. - docbookvisitor.cpp - docbookvisitor.h - htmldocvisitor.cpp - latexdocvisitor.cpp - latexdocvisitor.h - printdocvisitor.h - xmldocvisitor.cpp Created routine to uniformly handle the Caption and size indications in a general way. - indexpage.xml (testing\022) - indexpage.xml (testing\031) - class_receiver.xml (testing\037) - class_sender.xml (testing\037) Adjusted example output.
* Bug 731947 - Support for PlantUMLDimitri van Heesch2014-08-101-0/+5
|
* Bug 728740 - XML Output: Doxygen doesn’t escape & characters (included in ↵Dimitri van Heesch2014-08-041-1/+3
| | | | a hyperlink) in <detaileddescription>
* Docbook output improvementsDimitri van Heesch2014-06-201-3/+4
| | | | | | 1. New Feature: Adapted Class Graph generation for DOCBOOK 2. Fixed DOCBOOK Code documentation formatting 3. Fixed Doxygen to handle FULL_PATH_NAMES for DOCBOOK generation
* Bug 692985 - Notes in xml output are not correctly separatedDimitri van Heesch2014-04-191-2/+6
|
* Added \latexinclude command (thanks to Juan Zaratiegui for the patch)Dimitri van Heesch2014-03-271-0/+5
|
* Improved handling of percent symbolDimitri van Heesch2014-02-111-1/+1
|
* Updated copyrightDimitri van Heesch2014-02-111-1/+1
|
* Restructered html entity handlingDimitri van Heesch2014-02-101-2/+3
|
* Recognize all HTML4 special character entitiesalbert-github2014-02-081-103/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In doxygen a limited number of HTML4 special character entities are recognized, with this patch the full list of HTML4 special character entities (see http://www.w3.org/TR/html4/sgml/entities.html) is supported (as far as they can be represented in the output format). - doxygen_manual.tex - latexgen.cpp Added wasysym package to support per thousand sign (perthousand command from textcomp didn't work properly) Added option for textcomp package so currency symbol would work properly - htmlcmds.doc Adjusted documentation, listing all entities - compound.xsd - xmlgen.cpp Removed in xsd file all references for special HTML4 character entities and placed placeholder so doxygen (in xmlgen.cpp)can automatically add the right element names. - util.cpp - util.h Define all entities with their representation for all output formats. Define access routines to the different representations Mapping (for recognition of the entities) based on running through the list of available entities, after validation of the order of the entities. A few entities contain now besides letters also numbers at the end. - docparser.h Define symbols for all entities as well as a helper struct and enum. The member m_letter is not used anymore and thus removed. All existing symbols were renamed so no confusion (i.e. errors when forgetting to rename some symbols) can occur. Obsolete references to letter removed, all letters with accents etc. are explicitly defined and not through the generic accent name plus an extra letter. - docparser.cpp Adjust used symbols to their new names. Remove references to letter (as used for accents etc.) Replace list of explicitly supported entities with call to symbol code access routine. - docbookvisitor.cpp - htmldocvisitor.cpp - latexdocvisitor.cpp - mandocvisitor.cpp - perlmodgen.cpp - printdocvisitor.h - rtfdocvisitor.cpp - textdocvisitor.cpp - xmldocvisitor.cpp Replace list of explicitly supported entities with call to access routine and use returned value to output.
* Bug 719639 - @xrefitem with empty heading stringalbert-github2013-12-011-2/+2
| | | | | | | Replaced: if (!(x->title().length())) return; by: if (x->title().isEmpty()) return;