diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index db85a570178..e59bc993fca 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -1919,6 +1919,7 @@ void TextEditorWidgetPrivate::foldLicenseHeader() if (TextDocumentLayout::canFold(block) && block.next().isVisible()) { const QString trimmedText = text.trimmed(); QStringList commentMarker; + QStringList docMarker; if (auto highlighter = qobject_cast( q->textDocument()->syntaxHighlighter())) { const Highlighter::Definition def = highlighter->definition(); @@ -1929,11 +1930,19 @@ void TextEditorWidgetPrivate::foldLicenseHeader() } } else { commentMarker = QStringList({"/*", "#"}); + docMarker = QStringList({"/*!", "/**"}); } if (Utils::anyOf(commentMarker, [&](const QString &marker) { return trimmedText.startsWith(marker); })) { + if (Utils::anyOf(docMarker, [&](const QString &marker) { + return trimmedText.startsWith(marker) + && (trimmedText.size() == marker.size() + || trimmedText.at(marker.size()).isSpace()); + })) { + break; + } TextDocumentLayout::doFoldOrUnfold(block, false); moveCursorVisible(); documentLayout->requestUpdate();