diff --git a/runtime/syntax/nim.yaml b/runtime/syntax/nim.yaml index 45f73d173b..71cc5b47d7 100644 --- a/runtime/syntax/nim.yaml +++ b/runtime/syntax/nim.yaml @@ -17,11 +17,42 @@ rules: - constant.number: "\\b0[ocC][0-7][0-7_]+\\b" - constant.number: "\\b0[bB][01][01_]+\\b" - constant.number: "\\b[0-9_]((\\.?)[0-9_]+)?[eE][+\\-][0-9][0-9_]+\\b" - - constant.string: "\"(\\\\.|[^\"])*\"|'(\\\\.|[^'])*'" - - comment: "[[:space:]]*(?:[^\\\\]|^)#.*$" - - comment: - start: "\\#\\[" - end: "\\]\\#" + + - constant.string: + start: "\"" + end: "(\"|$)" + skip: "\\\\." + rules: + - constant.specialChar: "\\\\([\"'abceflnprtv\\\\]|\\d+|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\{[0-9A-Fa-f]+\\})" + + - constant.string: + start: "(r|R)\"" + end: "(\"|$)" + skip: "\\\\." + rules: [] + + - constant.string: + start: "\"\"\"" + end: "\"\"\"" + skip: "\\\\." rules: [] - - todo: "(TODO|FIXME|XXX):?" + - constant.string: + start: "'" + end: "('|$)" + skip: "\\\\." + rules: + - error: "[[:graph:]]{2,}'" + - constant.specialChar: "\\\\([\"'abceflnprtv\\\\]|\\d+|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\{[0-9A-Fa-f]+\\})" + + - comment: + start: "#\\[" + end: "\\]#" + rules: + - todo: "(TODO|FIXME|XXX):?" + + - comment: + start: "#" + end: "$" + rules: + - todo: "(TODO|FIXME|XXX):?"