summaryrefslogtreecommitdiffstats
path: root/src/doctokenizer.l
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'feature/bug_startuml' of ↵Dimitri van Heesch2021-05-011-3/+1
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_startuml
| * Extending startuml with extra figure typesalbert-github2021-04-041-3/+1
| | | | | | | | | | | | | | | | | | | | Not all diagrams can be created with the PlantUML `@startuml` command but need another PlantUML `@start...` command. This wil look like `@start<engine>` where currently supported are the following `<engine>`'s: `uml`, `bpm`, `wire`, `dot`, `ditaa`, `salt`, `math`, `latex`, `gantt`, `mindmap`, `wbs`, `yaml`, `creole`, `json` and `flow`. By default the `<engine>` is `uml`. The `<engine>` can be specified as an option. Explicitly the option variant has been chosen so we won't get an explosion of extra commands.
* | issue #8525 Links aren't properly rendered when preceded by quoted textalbert-github2021-04-301-1/+1
| | | | | | | | 2 or more returns inside a quoted text were not handled properly, added a repeat count.
* | Merge pull request #8512 from albert-github/feature/issue_8511Dimitri van Heesch2021-04-291-1/+1
|\ \ | | | | | | issue #8511 Java: linebreak after @link can cause wrong parsing of subsequent doc
| * | issue #8511 Java: linebreak after @link can cause wrong parsing of ↵albert-github2021-04-201-1/+1
| | | | | | | | | | | | | | | | | | subsequent doc Allowing also a `\n` after the @link.
* | | Refactoring: remove implicit conversion from QCString to const char *Dimitri van Heesch2021-04-221-29/+29
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the following in relation to string use - The implicit convert from 'QCString' to 'const char *' is removed - Strings parameters use 'const QCString &' as much as possible in favor over 'const char *' - 'if (s)' where s is a QCString has been replaced by 'if(!s.isEmpty())' - data() now always returns a valid C-string and not a 0-pointer. - when passing a string 's' to printf and related functions 'qPrint(s)' is used instead of 's.data()' - for empty string arguments 'QCString()' is used instead of '0' - The copy() operation has been removed - Where possible 'qstrcmp(a,b)==0' has been replaces by 'a==b' and 'qstrcmp(a,b)<0' has been replaced by 'a<b' - Parameters of string type that were default initialized with '= 0' are no initialized with '= QCString()'
* | Fixed potential crash when using . after a markdown style linked image.Dimitri van Heesch2021-04-091-2/+3
|/
* Fixed potential crash in handling empty list item.Dimitri van Heesch2021-03-291-4/+14
|
* Refactoring: Add TextStream buffer to improve output writing performanceDimitri van Heesch2021-03-281-5/+5
| | | | | - direct use of std::stringstream and std::ostream gave a 30% drop in performance.
* Refactoring: replace QFile/FTextStream with fstream/stringstreamDimitri van Heesch2021-03-181-2/+0
|
* Refactoring: some cleanup and removed text direction logicDimitri van Heesch2021-03-041-1/+0
|
* Merge branch 'master' into feature/bug_lexDimitri van Heesch2021-03-031-23/+28
|\
| * Refactoring: replaced std::regex with own much faster implementationDimitri van Heesch2021-03-021-13/+13
| |
| * Some performance tweaks + remove setting of global localeDimitri van Heesch2021-02-221-4/+4
| |
| * Disable qregex.h and fix some warnings and issuesDimitri van Heesch2021-02-201-1/+0
| |
| * Refactoring: replace QRegExp by std::regex in doctokenizer.lDimitri van Heesch2021-02-201-21/+27
| |
| * Improve handling of @param command without name or descriptionDimitri van Heesch2021-02-201-1/+1
| |
* | Adding support for lex filesalbert-github2021-02-181-3/+4
|/ | | | | - Correct handling of C comment start and end tokens as well as Cpp comment start in rules. These tokes can give "Reached end of file while still inside a (nested) comment..." - Correct other warnings in respect to lex files
* Refactoring: cleanup unused qtools headersDimitri van Heesch2021-01-221-1/+0
|
* Refactoring: modernize g_lexerStackDimitri van Heesch2021-01-221-13/+10
|
* Refactoring: modernize HtmlAttribListDimitri van Heesch2021-01-221-1/+1
|
* Slightly reworked the codeDimitri van Heesch2021-01-081-4/+2
|
* issue #8311 Markdown table: double-quote ruins the outputalbert-github2021-01-071-0/+4
| | | | In case of an artificial line break and the string starting with a `"` reject the rule, so lonely `"` are handled properly.
* Fixed small issue computing indentation for inline line breaksDimitri van Heesch2020-12-241-0/+1
|
* Concatenation of \param text and \details textalbert-github2020-12-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | When having a simple file like: ``` /// \file /// @brief Different xxxxxxxxxxxxxxxxxxxxx /// @param[in] var = zzzzzz /// @details Different yyyyyyyy void fie(int var); `` we see in the version 1.8.18 that the text is displayed as: ``` Parameters [in] var = zzzzzz Different yyyyyyyy ``` but in the newer versions this is like: ``` Parameters [in] var = zzzzzz Different yyyyyyyy ``` the inserted intermediate `\ilinebr` are not handled as newlines
* Merge pull request #8243 from albert-github/feature/issue_8142Dimitri van Heesch2020-12-161-1/+1
|\ | | | | issue #8142 UTF-8 in URL in source generates truncated URL in HTML
| * issue #8142 UTF-8 in URL in source generates truncated URL in HTMLalbert-github2020-12-111-1/+1
| | | | | | | | Specifying the URL in a similar way as other IDs
* | Incorrect specification of irc as URL protocolalbert-github2020-12-111-1/+1
|/ | | | | - missing colon (`:`) at irc - adding irc, sftp and ftps
* issue #8186 Path resolving breaks on included @ signalbert-github2020-11-191-2/+2
| | | | Add in the `@` sign as possible character in a FILEMASK
* 64-bit Windows compiler warnings doctokinizer.lalbert-github2020-11-011-10/+11
| | | | | | | | | | Removing compiler warnings like: ``` .../src/doctokenizer.l(101): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data .../src/doctokenizer.l(844): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data ... ``` (analogous as done in e.g. `commentscan.l`)
* issue #8127 Java: xml output of preformatted (`<pre>`) block adds para-block ↵albert-github2020-10-261-10/+18
| | | | | | for blank lines (hindering certain manual parsing) Don't terminate a paragraph and remove the whitespace when inside a pre block, but output the blanks.
* Miscounting in respect to lists in markdownalbert-github2020-10-161-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When having examples like: ``` Steps 1. \aa2 2. \aa3 3. \aa4 \aa5 ``` and ``` Steps - \bb2 - \bb3 - \bb4 \aa5 ``` we get warnings like: ``` .../aa_list.md:3: warning: Found unknown command '\aa2' .../aa_list.md:4: warning: Found unknown command '\aa3' .../aa_list.md:5: warning: Found unknown command '\aa4' .../aa_list.md:6: warning: Found unknown command '\aa5' .../bb_list.md:3: warning: Found unknown command '\bb2' .../bb_list.md:4: warning: Found unknown command '\bb3' .../bb_list.md:5: warning: Found unknown command '\bb4' .../bb_list.md:6: warning: Found unknown command '\aa5' ``` instead off: ``` .../aa_list.md:2: warning: Found unknown command '\aa2' .../aa_list.md:3: warning: Found unknown command '\aa3' .../aa_list.md:4: warning: Found unknown command '\aa4' .../aa_list.md:5: warning: Found unknown command '\aa5' .../bb_list.md:2: warning: Found unknown command '\bb2' .../bb_list.md:3: warning: Found unknown command '\bb3' .../bb_list.md:4: warning: Found unknown command '\bb4' .../bb_list.md:5: warning: Found unknown command '\aa5' ``` this is due to the fact that there is a line le counting. In case of REJECT no lineCount should be performed and otherwise just once.
* Warnings during compilation of doctokinizeralbert-github2020-10-071-1/+1
| | | | | | | | | With the doctokinizer.l we get the warnings like: ``` doctokenizer.l(502): warning C4018: '<': signed/unsigned mismatch ``` The casting of `(int)` is also used on other places in this file like in `handleHtmlTag`.
* Minor tweaksDimitri van Heesch2020-10-051-60/+47
| | | | | | - lineCount() without arguments was unused - converted lineCount(...) into a macro with yytext and yyleng as arguments
* Merge branch 'feature/bug_doctok_cnt' of ↵Dimitri van Heesch2020-10-051-10/+85
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_doctok_cnt
| * Miscounting lines in doctokinizeralbert-github2020-09-201-10/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When having a file like: ``` @page md_aa aa Last \error2 - Install \error3 ``` we get the warnings: ``` aa.md:3: warning: Found unknown command '\error2' aa.md:7: warning: Found unknown command '\error3' ``` instead of ``` aa.md:3: warning: Found unknown command '\error2' aa.md:5: warning: Found unknown command '\error3' ``` Investigation lead to that this is due to the fact that with a `REJECT` the line counter in `doctokinizer.l` is not reset. By counting the lines ourselves we can properly count the lines. (Other lexers don't have this problem as here we already do the counting ourselves)
* | Incorrect recognition as RCS tagalbert-github2020-10-041-1/+2
|/ | | | | | | | | | | | | | | | | | | | When we have a, stripped down, example like: ``` \mainpage the page <tt>$PATH:</tt>$x86$<tt>bin</tt> ``` we get the warning like: ``` aa.md:4: warning: end of comment block while expecting command </tt> ``` this is due to the fact that `$PATH:</tt>$` is seen as a RCS tag although `PATH` is not a RCS keyword. Limiting the number of allowed keywords to the real RCS tags (for CVS the list is the same). See also: - https://www.gnu.org/software/trans-coord/manual/cvs/cvs.html#Keyword-substitution - https://www.gnu.org/software/rcs/manual/rcs.html#Keywords
* Split lexer rulesDimitri van Heesch2020-09-111-353/+361
| | | | | Also replaced tabs by spaces and removed trailing whitespace And fixed line counting issue.
* issue #8015 Special command \skip and \until no longer functional in ALIASESalbert-github2020-09-071-0/+6
| | | | The pattern `\ilinebr` is actually also a line break, but was not handled.
* Merge branch 'feature/bug_direction' of ↵Dimitri van Heesch2020-07-301-1/+1
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_direction
| * More flexible and correct detection of direction of an argumentalbert-github2020-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | In the current version a line like: ``` uint8_t innInstances, ///< [inn]Number of CIP node instances. ``` was seen as an input parameter. Also not all combinations were checked (`[inout]` was OK but `[outin]` wasn't although `[in,out]` and `[out,in]` were working in the tokenizer. Line up the detection of the direction between the tokenizer and the method `extractDirection` Note: this problem was found when working on #7879.
* | And one more fix for \ilinebr handlingDimitri van Heesch2020-07-291-4/+4
| |
* | More fixes regarding \ilinebr handlingDimitri van Heesch2020-07-291-7/+7
| |
* | Fixed typoDimitri van Heesch2020-07-281-1/+1
| |
* | More \ilinebr related cleanup and combined some rulesDimitri van Heesch2020-07-281-29/+19
| |
* | More improvement regarding \\ilinebr handlingDimitri van Heesch2020-07-281-0/+6
| | | | | | | | | | | | - 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-4/+26
| | | | | | | | | | | | | | - 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.
* | Additional tweaks to get markdown tables inside ALIASES workDimitri van Heesch2020-07-271-22/+39
|/ | | | | | | | | | - 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)
* Refactor: modernize markdown and make it thread-safeDimitri van Heesch2020-06-161-7/+9
|
* issue #7747 Three-way comparison operatoralbert-github2020-05-041-1/+1
| | | | Implementation of the C++2x three-way / spaceship operator.