micro/runtime/syntax/php.yaml

50 lines
2.7 KiB
YAML
Raw Normal View History

2017-03-21 21:55:22 +03:00
filetype: php
detect:
filename: "\\.php[2345s~]?$"
rules:
- symbol.operator: "<|>"
- error: "<[^!].*?>"
- symbol.tag: "(?i)<[/]?(a(bbr|cronym|ddress|pplet|rea|rticle|side|udio)?|b(ase(font)?|d(i|o)|ig|lockquote|r)?|ca(nvas|ption)|center|cite|co(de|l|lgroup)|d(ata(list)?|d|el|etails|fn|ialog|ir|l|t)|em(bed)?|fieldset|fig(caption|ure)|font|form|(i)?frame|frameset|h[1-6]|hr|i|img|in(put|s)|kbd|keygen|label|legend|li(nk)?|ma(in|p|rk)|menu(item)?|met(a|er)|nav|no(frames|script)|o(l|pt(group|ion)|utput)|p(aram|icture|re|rogress)?|q|r(p|t|uby)|s(trike)?|samp|se(ction|lect)|small|source|span|strong|su(b|p|mmary)|textarea|time|track|u(l)?|var|video|wbr)( .*|>)*?>"
- symbol.tag.extended: "(?i)<[/]?(body|div|html|head(er)?|footer|title|table|t(body|d|h(ead)?|r|foot))( .*|>)*?>"
- preproc: "(?i)<[/]?(script|style)( .*|>)*?>"
- special: "&[^;[[:space:]]]*;"
- symbol: "[:=]"
- identifier: "(alt|bgcolor|height|href|label|longdesc|name|onclick|onfocus|onload|onmouseover|size|span|src|style|target|type|value|width)="
- constant.string: "\"[^\"]*\""
- constant.number: "(?i)#[0-9A-F]{6,6}"
- constant.string.url: "(ftp(s)?|http(s)?|git|chrome)://[^ ]+"
- comment: "<!--.+?-->"
- default: "<\\?(php|=)\" end=\"\\?>"
- identifier.class: "([a-zA-Z0-9_-]+)\\("
2018-06-04 22:13:58 +03:00
- preproc: "\\b(require|include)(_once)?\\b"
- type: "\\b(var|class|extends|fn|function|echo|case|default|exit|switch|extends|as|define|do|declare|in|trait|interface|[E|e]xception|array|int|string|bool|iterable|void)\\b"
2017-03-21 21:55:22 +03:00
- identifier.class: "[a-zA-Z\\\\]+::"
2018-06-04 22:13:58 +03:00
- identifier: "\\b([A-Z][a-zA-Z0-9_]+)\\b"
2017-03-21 21:55:22 +03:00
- identifier: "([A-Z0-9_]+)[;|\\s|\\)|,]"
- type.keyword: "(global|public|private|protected|static|const)"
- statement: "(implements|abstract|instanceof|if|else(if)?|endif|namespace|use|as|new|throw|catch|try|while|print|(end)?(foreach)?)\\b"
- identifier: "new\\s([a-zA-Z0-9\\\\]+)"
- special: "(break|continue|goto|return)"
- constant.bool: "(true|false|null|TRUE|FALSE|NULL)"
- constant: "[\\s|=|\\s|\\(|/|+|-|\\*|\\[]"
- constant.number: "[0-9]"
- identifier: "(\\$this|parent|self|\\$this->)"
- symbol.operator: "(=>|===|!==|==|!=|&&|\\|\\||::|=|->|\\!)"
- identifier.var: "(\\$[a-zA-Z0-9\\-_]+)"
- symbol.operator: "[\\(|\\)|/|+|\\-|\\*|\\[|.|,|;]"
- constant.string: "\"(\\\\.|[^\"])*\"|'(\\\\.|[^'])*'"
- constant.specialChar: "\\\\[abfnrtv'\\\"\\\\]"
- symbol.brackets: "(\\[|\\]|\\{|\\}|[()])"
- comment: "(^|[[:space:]])//.*"
- comment: "(^|[[:space:]])#.*"
- comment:
start: "/\\*"
end: "\\*/"
rules: []
- preproc: "<\\?(php|=)?"
- preproc: "\\?>"
- preproc: "<!DOCTYPE.+?>"