X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=runtime%2Fsyntax%2Fclojure.yaml;h=56f891098b25c437623d5b500d9bf9714edda9ed;hb=a274daeaaf4300d4f97f2606bb756744fb144112;hp=b18ff48eeaf82bd3f38ff359ac8fb10a7b4af857;hpb=b977bf5cca84f7dc762fe8d9967831502ee5cc87;p=micro.git diff --git a/runtime/syntax/clojure.yaml b/runtime/syntax/clojure.yaml index b18ff48e..56f89109 100644 --- a/runtime/syntax/clojure.yaml +++ b/runtime/syntax/clojure.yaml @@ -1,19 +1,38 @@ filetype: clojure -detect: - filename: "\\.(clj)$" +detect: + filename: "\\.(clj[sc]?)$" rules: - - constant: "" + + # Constants - constant.bool: "\\b(true|false)\\b" - constant.macro: "\\b(nil)\\b" + # Valid numbers - constant.number: "[\\-]?[0-9]+?\\b" - constant.number: "0x[0-9][A-Fa-f]+?\\b" - constant.number: "[\\-]?(3[0-6]|2[0-9]|1[0-9]|[2-9])r[0-9A-Z]+?\\b" + # Invalid numbers - error: "[\\-]?([4-9][0-9]|3[7-9]|1|0)r[0-9A-Z]+?\\b" + + # Symbols - symbol.operator: "[=>+\\-*/'?]" + + # Types/casting - type: "\\b(byte|short|(big)?int(eger)?|long|float|num|bigdec|rationalize)\\b" - - special: "" - - constant.string: "" - - constant.specialChar: "(\\\\u[0-9A-fa-f]{4,4}|\\\\newline|\\\\space|\\\\tab|\\\\formfeed|\\\\backspace|\\\\return|\\\\.)" - - comment: ";.*$" + + # String highlighting + - constant.string: + start: "\"" + end: "\"" + skip: "\\\\." + rules: + - constant.specialChar: "(\\\\u[0-9A-fa-f]{4,4}|\\\\newline|\\\\space|\\\\tab|\\\\formfeed|\\\\backspace|\\\\return|\\\\.)" + + # Comments + - comment: + start: ";" + end: "$" + rules: + - todo: "(TODO|XXX|FIXME):?" +