diff options
author | albert-github <albert.tests@gmail.com> | 2016-09-02 13:01:11 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2016-09-03 09:04:38 (GMT) |
commit | 9ae1af9b8679a0f14cb568d1db3afcc6e3ba40a6 (patch) | |
tree | cd636c234fbe837dddfabbb0230aa016e01d6572 /src/docbookvisitor.cpp | |
parent | 445347566078a1cc64705f28932e1da5bf9f531f (diff) | |
download | Doxygen-9ae1af9b8679a0f14cb568d1db3afcc6e3ba40a6.zip Doxygen-9ae1af9b8679a0f14cb568d1db3afcc6e3ba40a6.tar.gz Doxygen-9ae1af9b8679a0f14cb568d1db3afcc6e3ba40a6.tar.bz2 |
Bug 770660 - Code snippet always shows line numbers from 1
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)
Diffstat (limited to 'src/docbookvisitor.cpp')
-rw-r--r-- | src/docbookvisitor.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/docbookvisitor.cpp b/src/docbookvisitor.cpp index 535d294..ab10da0 100644 --- a/src/docbookvisitor.cpp +++ b/src/docbookvisitor.cpp @@ -359,6 +359,28 @@ void DocbookDocVisitor::visit(DocInclude *inc) ); m_t << "</computeroutput></literallayout>"; break; + case DocInclude::SnipWithLines: + { + QFileInfo cfi( inc->file() ); + FileDef fd( cfi.dirPath().utf8(), cfi.fileName().utf8() ); + m_t << "<literallayout><computeroutput>"; + Doxygen::parserManager->getParser(inc->extension()) + ->parseCode(m_ci, + inc->context(), + extractBlock(inc->text(),inc->blockId()), + langExt, + inc->isExample(), + inc->exampleFile(), + &fd, + lineBlock(inc->text(),inc->blockId()), + -1, // endLine + FALSE, // inlineFragment + 0, // memberDef + TRUE // show line number + ); + m_t << "</computeroutput></literallayout>"; + } + break; case DocInclude::SnippetDoc: case DocInclude::IncludeDoc: err("Internal inconsistency: found switch SnippetDoc / IncludeDoc in file: %s" |