]> git.lizzy.rs Git - micro.git/blobdiff - runtime/syntax/cmake.yaml
Merge pull request #1360 from Lisiadito/js
[micro.git] / runtime / syntax / cmake.yaml
index 7238a4f5591bcbc90559688eb4d9e9481494f429..d23e613dcb1b3ec6de91dbfd5000a8e4636d5cd9 100644 (file)
@@ -1,22 +1,42 @@
 filetype: cmake
 
-detect: 
+detect:
     filename: "(CMakeLists\\.txt|\\.cmake)$"
 
 rules:
     - identifier.var: "^[[:space:]]*[A-Z0-9_]+"
     - preproc: "^[[:space:]]*(include|include_directories|include_external_msproject)\\b"
+
     - statement: "^[[:space:]]*\\b((else|end)?if|else|(end)?while|(end)?foreach|break)\\b"
     - statement: "\\b(COPY|NOT|COMMAND|PROPERTY|POLICY|TARGET|EXISTS|IS_(DIRECTORY|ABSOLUTE)|DEFINED)\\b[[:space:]]"
     - statement: "[[:space:]]\\b(OR|AND|IS_NEWER_THAN|MATCHES|(STR|VERSION_)?(LESS|GREATER|EQUAL))\\b[[:space:]]"
+
     - special: "^[[:space:]]*\\b((end)?(function|macro)|return)"
-    - constant.string: "['][^']*[^\\\\][']|[']{3}.*[^\\\\][']{3}"
-    - constant.string: "[\"][^\"]*[^\\\\][\"]|[\"]{3}.*[^\\\\][\"]{3}"
+
+    - constant.string:
+        start: "\""
+        end: "\""
+        skip: "\\\\."
+        rules:
+            - constant.specialChar: "\\\\."
+
+    - constant.string:
+        start: "'"
+        end: "'"
+        skip: "\\\\."
+        rules:
+            - constant.specialChar: "\\\\."
+
     - preproc:
         start: "\\$(\\{|ENV\\{)"
         end: "\\}"
         rules: []
 
     - identifier.macro: "\\b(APPLE|UNIX|WIN32|CYGWIN|BORLAND|MINGW|MSVC(_IDE|60|71|80|90)?)\\b"
-    - comment: "^([[:space:]]*)?#.*"
-    - comment: "[[:space:]]#.*"
+
+    - comment:
+        start: "#"
+        end: "$"
+        rules:
+            - todo: "(TODO|XXX|FIXME):?"
+