HEX
Server: Apache
System: Linux pdx1-shared-a2-09 6.6.116-grsec-jammy-dirty #1 SMP Sat Nov 8 00:02:42 UTC 2025 x86_64
User: dh_pvsc7i (5084578)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/share/highlight/langDefs/cmake.lang
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