]> git.lizzy.rs Git - micro.git/blob - runtime/syntax/cmake.yaml
Add support for skipping and remove need for lookbehind
[micro.git] / runtime / syntax / cmake.yaml
1 filetype: cmake
2
3 detect:
4     filename: "(CMakeLists\\.txt|\\.cmake)$"
5
6 rules:
7     - identifier.var: "^[[:space:]]*[A-Z0-9_]+"
8     - preproc: "^[[:space:]]*(include|include_directories|include_external_msproject)\\b"
9
10     - statement: "^[[:space:]]*\\b((else|end)?if|else|(end)?while|(end)?foreach|break)\\b"
11     - statement: "\\b(COPY|NOT|COMMAND|PROPERTY|POLICY|TARGET|EXISTS|IS_(DIRECTORY|ABSOLUTE)|DEFINED)\\b[[:space:]]"
12     - statement: "[[:space:]]\\b(OR|AND|IS_NEWER_THAN|MATCHES|(STR|VERSION_)?(LESS|GREATER|EQUAL))\\b[[:space:]]"
13
14     - special: "^[[:space:]]*\\b((end)?(function|macro)|return)"
15
16     - constant.string:
17         start: "\""
18         end: "\""
19         rules:
20             - constant.specialChar: "\\\\."
21
22     - constant.string:
23         start: "'"
24         end: "'"
25         rules:
26             - constant.specialChar: "\\\\."
27
28     - preproc:
29         start: "\\$(\\{|ENV\\{)"
30         end: "\\}"
31         rules: []
32
33     - identifier.macro: "\\b(APPLE|UNIX|WIN32|CYGWIN|BORLAND|MINGW|MSVC(_IDE|60|71|80|90)?)\\b"
34
35     - comment:
36         start: "#"
37         end: "$"
38         rules:
39             - todo: "(TODO|XXX|FIXME):?"
40