-
Notifications
You must be signed in to change notification settings - Fork 0
/
Vanadis.yaml
59 lines (49 loc) · 1.7 KB
/
Vanadis.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
filetype: Vanadis
detect:
filename: "\\.(vic|vas)$"
rules:
# This file is made for Vanadis, it is adapted from the NASM assembly file from micro itself
## Instructions
- statement: "\\b(alloc|free|push|pop|flip|unf)\\b"
- statement: "\\b(mov|set|cast|memv|fill|rsz)\\b"
- statement: "\\b(staptr|cdxptr)\\b"
- statement: "\\b(inc|dec|add|sub|mul|div|mod)\\b"
- statement: "\\b(and|or|xor|not|rshf|lshf)\\b"
- statement: "\\b(gcmp|scmp|gecmp|secmp|ecmp|cmp|pecmp)\\b"
- statement: "\\b(input|print|dprint|lib)\\b"
- statement: "\\b(fread|fwrite|flen|time)\\b"
- statement: "\\b(ex)\\b"
- statement: "\\b(Ce|Cs|Cg|Cse|Cge|Cn|jmp|call|ret)\\b"
# - symbol.operator: "[$]"
# - symbol.operator: "[!]"
# - symbol.operator: "[\\^]"
# - symbol.operator: "[\\[]"
# - symbol.operator: "[\\]]"
# - symbol.operator: "[\\<]"
# - symbol.operator: "[*]"
# - symbol.operator: "[>lot~,%]"
- symbol.operator: "[;,]"
- preproc: "\\b(def|enum|=|opens|clons|insert)\\b"
- preproc: "[=]"
## Constants
- constant.number: "\\b[0-9t]+\\b"
- constant.number: "[-]"
- constant.number: ":+[a-zA-Z0-9_-]+\\b"
## Types
- type: "\\b(chr|i8|u8)\\b"
- type: "\\b(i16|u16|i32|u32)\\b"
- type: "\\b(i64|u64|wrd|f32|f64)\\b"
- preproc: "\\benum:(chr|i8|u8|i16|u16|i32|u32|i64|u64|wrd|f32|f64)\\b"
## Other
# - preproc: "\\b(?i)(jmp|call|ret)(?-i)\\b"
- constant.string:
start: "\""
end: "\""
skip: "\\\\."
rules:
- constant.specialChar: "\\\\."
- comment:
start: "(#)"
end: "($|;)"
rules:
- todo: "\\b(TODO|XXX|FIXME|cdx:|sta:|--|[)]|[(])\\b"