forked from zyedidia/micro
-
Notifications
You must be signed in to change notification settings - Fork 0
/
clojure.yaml
38 lines (30 loc) · 983 Bytes
/
clojure.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
filetype: clojure
detect:
filename: "\\.(clj[sc]?|edn)$"
rules:
# 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"
# 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):?"