CMakePM: Add support for block/endblock functions

The block() / endblock() functionatlity has been added to CMake version
3.25.

See https: //cmake.org/cmake/help/latest/command/block.html

Change-Id: If6458b84c3e30c4d4d8cbd3d3f1c661e8ffa869c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Cristian Adam
2023-05-25 12:46:32 +02:00
parent fe9e5cc42f
commit 42fff6e27e
2 changed files with 5 additions and 3 deletions

View File

@@ -89,7 +89,7 @@ QString CMakeAutoCompleter::insertMatchingQuote(const QTextCursor &cursor,
int CMakeAutoCompleter::paragraphSeparatorAboutToBeInserted(QTextCursor &cursor) int CMakeAutoCompleter::paragraphSeparatorAboutToBeInserted(QTextCursor &cursor)
{ {
const QString line = cursor.block().text().trimmed(); const QString line = cursor.block().text().trimmed();
if (line.contains(QRegularExpression(QStringLiteral("^(endfunction|endmacro|endif|endforeach|endwhile)\\w*\\(")))) if (line.contains(QRegularExpression(QStringLiteral("^(endfunction|endmacro|endif|endforeach|endwhile|endblock)\\w*\\("))))
tabSettings().indentLine(cursor.block(), tabSettings().indentationColumn(cursor.block().text())); tabSettings().indentLine(cursor.block(), tabSettings().indentationColumn(cursor.block().text()));
return 0; return 0;
} }

View File

@@ -52,7 +52,8 @@ static bool lineStartsBlock(const QString &line)
lineContainsFunction(line, QStringLiteral("while")) || lineContainsFunction(line, QStringLiteral("while")) ||
lineContainsFunction(line, QStringLiteral("if")) || lineContainsFunction(line, QStringLiteral("if")) ||
lineContainsFunction(line, QStringLiteral("elseif")) || lineContainsFunction(line, QStringLiteral("elseif")) ||
lineContainsFunction(line, QStringLiteral("else")); lineContainsFunction(line, QStringLiteral("else")) ||
lineContainsFunction(line, QStringLiteral("block"));
} }
static bool lineEndsBlock(const QString &line) static bool lineEndsBlock(const QString &line)
{ {
@@ -62,7 +63,8 @@ static bool lineEndsBlock(const QString &line)
lineContainsFunction(line, QStringLiteral("endwhile")) || lineContainsFunction(line, QStringLiteral("endwhile")) ||
lineContainsFunction(line, QStringLiteral("endif")) || lineContainsFunction(line, QStringLiteral("endif")) ||
lineContainsFunction(line, QStringLiteral("elseif")) || lineContainsFunction(line, QStringLiteral("elseif")) ||
lineContainsFunction(line, QStringLiteral("else")); lineContainsFunction(line, QStringLiteral("else")) ||
lineContainsFunction(line, QStringLiteral("endblock"));
} }
static bool lineIsEmpty(const QString &line) static bool lineIsEmpty(const QString &line)
{ {