35 lines
831 B
YAML
35 lines
831 B
YAML
|
filetype: forth
|
||
|
|
||
|
detect:
|
||
|
filename: "\\.(forth|4th|fs|fs8|ft|fth|frt)$"
|
||
|
|
||
|
rules:
|
||
|
- identifier: "\\b[A-Za-z_0-9-]*\\b"
|
||
|
|
||
|
- statement: "\\b(?i:(if|else|then|do|loop|case|endcase|of|endof|begin|while|repeat|until|again|unloop|leave|exit|done|next|\\?do|\\+do|\\-do|\\+loop|\\-loop|\\?leave))\\b"
|
||
|
|
||
|
- statement: "(^:|;$)"
|
||
|
|
||
|
- type: "\\b(?i:(variable|constant|cells))\\b"
|
||
|
|
||
|
- special: "\\B[?.]\\B" #for some reason, \b and \B are inverted for symbols
|
||
|
|
||
|
- constant.number: "\\b[0-9]+\\b"
|
||
|
|
||
|
- constant.string:
|
||
|
start: "\\b([Ss.]\" )"
|
||
|
end: "\""
|
||
|
rules: []
|
||
|
|
||
|
- comment:
|
||
|
start: "\\("
|
||
|
end: "\\)"
|
||
|
rules:
|
||
|
- todo: "(TODO|NOTE|XXX|FIXME):?"
|
||
|
|
||
|
- comment:
|
||
|
start: "\\\\"
|
||
|
end: "$"
|
||
|
rules:
|
||
|
- todo: "(TODO|NOTE|XXX|FIXME):?"
|