@include _number.regexp

documentation:
  from /** to */
comment:
  from /* to */
  from --
string:
  from " to "
  from ' to '
  from ` to `
  escape:
    match /\\[fnrtv0'"\\]/
    match /\\c[A-Za-z]/
    match /\\x[0-9a-fA-F]{2}/
    match /\\u[0-9a-fA-F]{4}/
    match /\\u{[0-9a-fA-F]+}/
number:
  match /$(NUMBER)/
operator.between{Operator}:
  match /(?i:(NOT)?\sBETWEEN\s(SYMMETRIC)?)/
operator.like{Operator}:
  match /(?i:(NOT)?\sLIKE\s(ESCAPE)?)/
operator.in{Operator}:
  match /(?i:(NOT)?\sIN)/
operator.is{Operator}:
  match /(?i:IS\s(NOT)?\s(NULL|TRUE|FALSE))/
operator.isndf{Operator}:
  match /(?i:IS\sNOT\sDISTINCT\sFROM)/
operator:
  symbol(ignorecase) @sql.operator
datatype:
  keyword(ignorecase) @sql.datatype
keyword:
  keyword(ignorecase) @sql.keyword
function:
  keyword(ignorecase) @sql.function
symbol:
  match /[A-Za-z_$][A-Za-z_$0-9]*/