/usr/share/highlight/langDefs/cmake.lang is in highlight-common 3.41-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | Description="CMake"
Keywords={
{ Id=1,
List={
"if", "elseif", "else", "endif", "foreach", "endforeach", "and", "while", "endwhile", "macro", "endmacro", "function", "endfunction", "set", "unset"
},
},
{ Id=2,
Regex=[[ [0-9A-Z_]{2,} ]],
},
{ Id=3,
Regex=[[\$\{.+\$\{.+?\}.+?\}|\$\{.+?\} ]],
},
{ Id=3,
Regex=[[ [A-Z_\>]+\:([\w/]+) ]],
},
{ Id=4,
Regex=[[(\w+)\s*\(]],
},
}
Strings={
Delimiter=[["|']],
DelimiterPairs= {
{ Open=[[ \[=*\[ ]], Close=[[ \]=*\] ]], Raw=true }
},
AssertEqualLength=true
}
IgnoreCase=false
Comments={
{ Block=false,
Delimiter= { [[ #(?!\[\[) ]] },
},
{ Block=true,
Nested=false,
Delimiter= { [[ #\[\[ ]],[[ \]\] ]],}
}
}
Operators=[[\(|\)|\{|\}|\[|\]|\,|\;|\.|\:|\&|<|>|\!|\=|\/|\*|\%|\+|\-|\~|\#|\\]]
-- resolve issue with ]] close delimiter which ends comments and strings
function OnStateChange(oldState, newState, token)
if token=="]]" and oldState==HL_STRING and newState==HL_BLOCK_COMMENT_END then
return HL_STRING_END
end
return newState
end
|