micro/runtime/syntax/pony.yaml

38 lines
1.3 KiB
YAML
Raw Normal View History

2017-03-21 21:55:22 +03:00
filetype: pony
detect:
filename: "\\.pony$"
rules:
- statement: "\\b(type|interface|trait|primitive|class|struct|actor)\\b"
- statement: "\\b(compiler_intrinsic)\\b"
- statement: "\\b(use)\\b"
- statement: "\\b(var|let|embed)\\b"
- statement: "\\b(new|be|fun)\\b"
- statement: "\\b(iso|trn|ref|val|box|tag|consume)\\b"
- statement: "\\b(break|continue|return|error)\\b"
- statement: "\\b(if|then|elseif|else|end|match|where|try|with|as|recover|object|lambda|as|digestof|ifdef)\\b"
- statement: "\\b(while|do|repeat|until|for|in)\\b"
- statement: "(\\?|=>)"
- statement: "(\\||\\&|\\,|\\^)"
- symbol.operator: "(\\-|\\+|\\*|/|\\!|%|<<|>>)"
- symbol.operator: "(==|!=|<=|>=|<|>)"
- statement: "\\b(is|isnt|not|and|or|xor)\\b"
- type: "\\b(_*[A-Z][_a-zA-Z0-9\\']*)\\b"
- constant: "\\b(this)\\b"
- constant.bool: "\\b(true|false)\\b"
- constant.number: "\\b((0b[0-1_]*)|(0o[0-7_]*)|(0x[0-9a-fA-F_]*)|([0-9_]+(\\.[0-9_]+)?((e|E)(\\\\+|-)?[0-9_]+)?))\\b"
- constant.string: "\"(\\\\.|[^\"])*\""
- comment:
start: "\"\"\"[^\"]*"
end: "\"\"\""
rules: []
- comment: "(^|[[:space:]])//.*"
- comment:
start: "/\\*"
end: "\\*/"
rules: []
- todo: "TODO:?"