summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard van Velzen <richard@goreply.com>2023-02-24 14:33:42 +0100
committerGitHub <noreply@github.com>2023-02-24 14:33:42 +0100
commit0b8fed976ee6216a2f2e44f5c905d70beadcddef (patch)
tree06e52e9662eb171922caed3324150c4da3016f99
parent8f417de6a9f3dff6d86a02c9faa365d6828a1046 (diff)
downloadpygments-git-0b8fed976ee6216a2f2e44f5c905d70beadcddef.tar.gz
Implement CMake bracket comment syntax (#2354)
-rw-r--r--pygments/lexers/make.py1
-rw-r--r--tests/examplefiles/cmake/main.cmake10
-rw-r--r--tests/examplefiles/cmake/main.cmake.output15
3 files changed, 26 insertions, 0 deletions
diff --git a/pygments/lexers/make.py b/pygments/lexers/make.py
index f2ec1010..e65050e2 100644
--- a/pygments/lexers/make.py
+++ b/pygments/lexers/make.py
@@ -193,6 +193,7 @@ class CMakeLexer(RegexLexer):
],
'ws': [
(r'[ \t]+', Whitespace),
+ (r'#\[(?P<level>=*)\[[\w\W]*?\](?P=level)\]', Comment),
(r'#.*\n', Comment),
]
}
diff --git a/tests/examplefiles/cmake/main.cmake b/tests/examplefiles/cmake/main.cmake
index 6dfcab10..b600aa66 100644
--- a/tests/examplefiles/cmake/main.cmake
+++ b/tests/examplefiles/cmake/main.cmake
@@ -43,3 +43,13 @@ ANOTHER_COMMAND() # this command has no arguments
YET_ANOTHER_COMMAND( these
arguments are spread # another comment
over several lines )
+
+#[[ multiline
+CMake comment
+]]
+
+#[==[ another multiline
+CMake comment
+]==]
+
+#[==[ #[[ A "nested" comment ]] ]==] \ No newline at end of file
diff --git a/tests/examplefiles/cmake/main.cmake.output b/tests/examplefiles/cmake/main.cmake.output
index 32aa1098..dcd18f31 100644
--- a/tests/examplefiles/cmake/main.cmake.output
+++ b/tests/examplefiles/cmake/main.cmake.output
@@ -405,3 +405,18 @@
' ' Text.Whitespace
')' Punctuation
'\n' Text.Whitespace
+
+'\n' Text.Whitespace
+
+'#[[ multiline\nCMake comment\n]]' Comment
+'\n' Text.Whitespace
+
+'\n' Text.Whitespace
+
+'#[==[ another multiline\nCMake comment\n]==]' Comment
+'\n' Text.Whitespace
+
+'\n' Text.Whitespace
+
+'#[==[ #[[ A "nested" comment ]] ]==]' Comment
+'\n' Text.Whitespace