     name: "string.quoted.double.js"
     patterns: [
       {
-        match: "\\\\(x\\h{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"
+        match: "\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"
         name: "constant.character.escape.js"
       }
       {

    begin: "(?:\\s+|[,])(?:(ref)|([a-zA-Z][a-zA-Z]*)|(data-[a-zA-Z0-9-]*)|([_a-zA-Z0-9][a-zA-Z0-9:_.-]*))\\s*([=])\\s*"
    beginCaptures:
      "1":
        name: "support.function.marko-attribute"
      "2":
        name: "entity.other.attribute-name.html"
      "3":
        name: "entity.other.attribute-name.html"
      "4":
        name: "support.function.marko-attribute"
      "5":
        name: "punctuation.separator.key-value.html"
    end: "(?=[,;]|\\s|/>|>)"

      }
    ]
  "expression-hex":
    match: "\\b0[xX][0-9A-Fa-f]+\\b"
    name: "constant.numeric.hex.js"
  "expression-no-gt":
    comment: "A JavaScript expression"
