summaryrefslogtreecommitdiffstats
path: root/src/commentscan.l
Commit message (Collapse)AuthorAgeFilesLines
* Forgot to handle deprecated in the same way as other xref itemsDimitri van Heesch2020-12-031-1/+1
|
* Join sequences of the same type of xref items together in a single paragraph ↵Dimitri van Heesch2020-12-021-9/+11
| | | | (restores 1.8.16 behavior)
* Line miscount in case of Html type Commentalbert-github2020-11-281-1/+5
| | | | | | | | | | | | | | | | | | | | | | When having an example like: ``` /*! \file <table> <tr><th> Command</th> <th> Function</th></tr> <!-- this is a multiline comment end of comment --> <tr><td> ? \xx6 </td><td> Dummy</td></tr> </table> */ ``` we get the warning: ``` .../aa.c:5: warning: Found unknown command '\xx6' ``` instead of ``` .../aa.c:6: warning: Found unknown command '\xx6' ```
* Reworked changes a bitDimitri van Heesch2020-10-041-20/+20
| | | | | | - topLine is replaced by startLine - changed unputDocnl macro into a more self contained function-like macro
* Miscounting of lines in respect to page commandalbert-github2020-09-241-21/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | All examples together are a bit big so they are all in the attached file together with the warnings before and after this patch. When looking at the output we see that a number of lines are off by 1 ore more due to the insertion of extra lines in the code or due to the fact that there is a reference to the start of the documentation of the page and not the line of the page command. - commentscan.l in case of a rule contaiinge {DOCNL} this can be `=n` or `\ilinebr` in the later case this should not be replaced by `\n` as this results in an increase of the line count later on. in case of a page like command also register the line of the command as "topline". - entry.h, entry.cpp storage space for the "topline" registering the line of the page like commands. - doxygen.cpp setting and using the "topline" - markdown.cpp, markdown.h don't add a `\n` as this increases the line count but use the `\ilinebr` to get correct warnings see to it that when having empty lines at the top of the page and a page is added that the empty lines appear after the page command. - index.cpp using the "topline" instead of the "docLine" to get the correct warning - pagedef.cpp, pagedef.h set and retrieve the "topline" for page like commands. - util.cpp, util.h setting and using the "topline" in `addRelatedPage` use the known file name and line for the warning regarding the section label - cite.cpp, context.cpp, reflist.cpp changed to have good function calls.
* issue #8037: Links using @ref stopped working in doxygen 1.8.19Dimitri van Heesch2020-09-211-0/+1
|
* Line count mismatch for Python (#8041)albert-github2020-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When having an example like: ``` ## General \PYgen0 docu # # # # # General detail \PYgen1 text # and more STYLE_TEMPLATE = r''' \makeatletter ''' ## General \PYgen2 docu # # # # # # General detail \PYgen3 text # and more STYLE_TEMPLATE1 = r''' \makeatletter ''' ``` with ``` EXTRACT_ALL = YES QUIET = YES ``` we get the warnings (removed doubles and sorted): ``` bb.py:1: warning: Found unknown command '\PYgen0' bb.py:10: warning: Found unknown command '\PYgen1' bb.py:12: warning: Found unknown command '\PYgen2' bb.py:23: warning: Found unknown command '\PYgen3' ``` we see here (especially with `PYgen3` a wrong line number. After fixing the line count in `pyscanner.l` there was for the second block an offset of 1. This was caused by `commentscan.l` introduced with #7960 after correcting this this offset was also gone. Revisiting the original example of #7960 showed that here here was also an offset of 1 (probably due to a misinterpretation of where the `<tr>` warning should be mentioned), here it is now also correct.. (The original mismatch was shown of Fossies for the Pygments package)
* Command \ilinebr reamainedalbert-github2020-09-031-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When having the alias: ``` ALIASES += sbl_add_package_main_class{4}="\addtogroup \1-ref-manual ^^ @{ ^^ \class \2 ^^ \brief \3 \4 ^^ @}" ``` for the comment block: ``` /** \sbl_add_package_main_class{Molecular_potential_energy, T_Phi_psi_dihedral_angles_visitor, Defines iterator over all successive pairs of dihedrals., \details Defines iterator over all successive pairs of dihedrals. \tparam CovalentStructure The type of the input covalent structure } */ ``` we get the warning: ``` warning: the name '\ilinebr' supplied as the argument of the \class, \struct, \union, or \include command is not an input file ``` The problem was that the rule: ``` <ClassDocArg2>{FILE}|"<>" { // second argument; include file ``` took the `\ilinebr`, the rule: ``` <ClassDocArg2>{DOCNL} { ``` should habe been checked before. (reported as: https://stackoverflow.com/questions/63710433/doxygen-alias-with-arguments-the-classical-linebr-problem)
* Improvement of line count for e.g. warningsalbert-github2020-08-151-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When having a file like (but extended example based on a problem found in CGAL where line numbers were a bit off): ``` /*! The <hr2> class `Face_filtered_graph` is an adaptor that creates a filtered view of a graph */ struct Face_filtered_graph_no_det { /*! * \brief constructs an empty face filtered graph (no face is selected) * * * * * * * * * <table class="params"> * something * something * </table> * * * * * * * * * <table class="params"> * something * something * </table> */ Face_filtered_graph_no_det(); } ``` we get: ``` .../no_det.h:1: warning: Unsupported xml/html tag <hr2> found .../no_det.h:5: warning: expected <tr> tag but found TK_LNKWORD token instead! .../no_det.h:17: warning: expected <tr> tag but found TK_LNKWORD token instead! ``` instead of: ``` .../no_det.h:1: warning: Unsupported xml/html tag <hr2> found .../no_det.h:14: warning: expected <tr> tag but found TK_LNKWORD token instead! .../no_det.h:26: warning: expected <tr> tag but found TK_LNKWORD token instead! ``` Line counting is in an interpreter, especially when merging blocks etc.) a difficult situation. - `util.cpp`: `\ilinebr` is an internal newline, but the line count should not be increased - `commentscan.l` - put empty lines in output as well otherwise they are missing in the line count - don't insert `\n` to separate blocks, but use the artificial `\ilinebr` - properly initialize the `docLine` (important for examples were at the beginning of the block there are a number of newlines
* New option allowing processing using multiple threadsDimitri van Heesch2020-08-051-12/+0
| | | | | | | | | | | | | | | | | | Introduces new option NUM_PROC_THREADS. It specifies the number threads doxygen is allowed to use during processing. When set to 0 doxygen will based this on the number of cores available in the system. You can set it explicitly to a value larger than 0 to get more control over the balance between CPU load and processing speed. At this moment only the input processing can be done using multiple threads. I plan to extend this with more parallel processing in the future. Since this is still an experimental feature the default is set to 1, which efficively disables parallel processing. Please report any issues you encounter that appear when changing the default. Note that generating dot graphs in parallel is still controlled separately by the DOT_NUM_THREADS setting.
* Misleading warning about missing argumentalbert-github2020-07-311-14/+25
| | | | | | | | | | | | | | When having a `@struct` command without argument one gets the misleading warning: ``` warning: missing argument after \class. ``` instead of: ``` warning: missing argument after '\struct'. ``` This happens with a number of commands, for these commands the `currentCmd` has been introduced. (Found in cmake through Fossies).
* More \ilinebr related cleanup and combined some rulesDimitri van Heesch2020-07-281-1/+0
|
* More improvement regarding \\ilinebr handlingDimitri van Heesch2020-07-281-9/+5
| | | | | | - White space around \\ilinebr is not preserved in commentscan - Cases where \n was unput in doctokenizer are now handled in the same way for \\ilinebr
* Better handling of \\ilinebrDimitri van Heesch2020-07-281-1/+17
| | | | | | | - Routines to strip leading and trailing whitespace now also take \\ilinebr into account - Added a number of cases in doctokenizer.l where \\ilinebr wasn't handled yet.
* Forgot to add space after internal \ilinebr commandDimitri van Heesch2020-07-271-1/+1
|
* Additional tweaks to get markdown tables inside ALIASES workDimitri van Heesch2020-07-271-31/+31
| | | | | | | | | | - Changed \_linebr to \ilinebr - \ilinebr is now also passed to doctokenizer - Also fixes issue #7493 regarding \snippet inside markdown tables and dealing with wrong line on issues detected by docparser after a markdown table. - Added function tracing to markdown (enabled with -d markdown in a debug build)
* issue #7867 Fixed regression where blank line after \class was not seen as ↵Dimitri van Heesch2020-07-181-476/+494
| | | | paragraph separator
* issue #7852, #7867, #7901: Changed the set of commands that effect ending a ↵Dimitri van Heesch2020-07-171-146/+150
| | | | brief description
* Multi-threaded parsing: added locks around global dataDimitri van Heesch2020-06-171-13/+39
|
* Refactor: modernize markdown and make it thread-safeDimitri van Heesch2020-06-161-1046/+1049
|
* Enabled stricter compiler warnings and fixed all new warningsDimitri van Heesch2020-03-081-20/+25
|
* Restructure the way RefLists are handledDimitri van Heesch2020-02-271-31/+21
|
* Restructure section handlingDimitri van Heesch2020-02-211-27/+26
|
* Restructure citation handlingDimitri van Heesch2020-02-161-1/+1
|
* Improve formula handling and rendering.Dimitri van Heesch2020-02-121-15/+6
| | | | Also added option HTML_FORMULA_FORMAT to generate SVG files for images (requires pdf2svg)
* Fix 'converting to std::stack<GuardedSection> from initializer list would ↵Dimitri van Heesch2020-01-281-1/+1
| | | | use explicit constructor' issue on some versions of gcc.
* commentscan.l: replace QStack by std::stackDimitri van Heesch2020-01-271-47/+39
|
* Replace DocCmdMapper by std::mapDimitri van Heesch2020-01-271-209/+150
|
* Move DocGroup inside CommentScanner instead of using a globalDimitri van Heesch2020-01-261-12/+56
|
* Merge branch 'ifspacing'Dimitri van Heesch2020-01-261-0/+2
|\
| * Fix for removed spaces in certain \if \else \endif constructsDimitri van Heesch2020-01-071-0/+2
| |
* | Merge pull request #7498 from albert-github/feature/bug_rulesDimitri van Heesch2020-01-111-12/+0
|\ \ | | | | | | Remove unused rules
| * | Remove unused rulesalbert-github2020-01-091-12/+0
| |/ | | | | | | Remove some unused rules.
* | Adding commands `\rtfinclude`, `\docbookinclude`, `\maninclude` and ↵albert-github2020-01-091-0/+4
|/ | | | | | `\xmlinclude` Adding for consistency with `\*only`, `\htmlincclude` and `\latexinclude` the commands: `\rtfinclude`, `\docbookinclude`, `\maninclude` and `\xmlinclude`
* Make commentscan.l reentrantDimitri van Heesch2019-12-301-1324/+1441
|
* Replaced \_fakeform by \_formDimitri van Heesch2019-12-261-2/+2
|
* Merge branch 'feature/bug_formula' of ↵Dimitri van Heesch2019-12-261-2/+2
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_formula
| * Better warning in case of `@form`albert-github2019-11-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When having a problem like: ``` /** \file */ /** * The fie * * @form: the new format * @content: the content of the form * * Sets @form content to be @content. * * \f$ \alpha \f$ \f[ \beta \f] */ void fie(char *form, char *content); ``` we get warnings like: ``` .../aa.h:5: warning: Wrong formula id -1 .../aa.h:6: warning: Found unknown command '\content' .../aa.h:8: warning: Wrong formula id -1 .../aa.h:8: warning: Found unknown command '\content' ``` The `@form:` is in RST analogue to the doxygen `@param form` but not understood by doxygen. The result is that it is seen as an formula as doxygen translates the formula commands to `\form`. For `@content` is handled properly as this is not a doxygen command. In this patch a more unique name is chosen so these type of conflicts don't appear (that easy). The resulting, better, warnings are now: ``` .../aa.h:5: warning: Found unknown command '\form' .../aa.h:6: warning: Found unknown command '\content' .../aa.h:8: warning: Found unknown command '\form' .../aa.h:8: warning: Found unknown command '\content' ```
* | Removed exitCode parameter as it is always 1Dimitri van Heesch2019-12-221-1/+1
| |
* | Merge branch 'feature/bug_terminate' of ↵Dimitri van Heesch2019-12-221-2/+1
|\ \ | | | | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_terminate
| * | Better termination messagealbert-github2019-11-221-2/+1
| | | | | | | | | | | | | | | In case a `WARN_LOGFILE` is used it in this file no clear whether doxygen finished correctly or exited beforehand in case a fatal error. Now a 'Exiting...' is also given in the warning log file in case an error is a fatal error.
* | | Split language parser into "outline parser" and "code parser"Dimitri van Heesch2019-12-031-2/+2
|/ /
* | Remove bogus flex codeDimitri van Heesch2019-11-181-9/+0
| |
* | Spelling corrections for src directoryalbert-github2019-11-051-1/+1
|/ | | | | | | | Spelling corrections as found by codespell and in #561. Some reported problems were already fixed, others are fixed here, with some exceptions (a,o.): - "referenceby" in defgen.cpp as this is in the output and I cannot oversee the consequences (looks like none, but ...) - "HANGEUL_CHARSET" left as is as in some MS documentation is written: 'HANGUL_CHARSET: Also spelled "Hangeul". Specifies the Hangul Korean character set.' (https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-wmf/0d0b32ac-a836-4bd2-a112-b6000a1b4fc9).
* Replaced QList<ListItemInfo> with std::vector<ListItemInfo>Dimitri van Heesch2019-10-291-9/+6
|
* Replaced QList<SectionInfo> by std::vector<SectionInfo>Dimitri van Heesch2019-10-291-3/+3
|
* Replaced QList<Grouping> with std::vector<Grouping>Dimitri van Heesch2019-10-291-2/+2
|
* Replaced QList<BaseInfo> with std::vector<BaseInfo>Dimitri van Heesch2019-10-291-5/+5
|
* Merge branch 'std'Dimitri van Heesch2019-10-071-11/+7
|\
| * Use smartpointers to manage the lifetime of Entry objectsDimitri van Heesch2019-10-071-11/+7
| |