This commit is contained in:
Zachary Yedidia
2020-02-09 00:19:21 -05:00
3 changed files with 42 additions and 9 deletions

34
runtime/syntax/forth.yaml Normal file
View File

@@ -0,0 +1,34 @@
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):?"

View File

@@ -4,7 +4,7 @@ detect:
filename: "\\.(gql|graphql)$"
rules:
- type: "\\b(?:(query|mutation|subscription|type|fragment|schema|union|on|extends?))\\b"
- type: "\\b(?:(query|mutation|subscription|type|input|scalar|fragment|schema|union|on|extends?))\\b"
# scalar types
- statement: "\\b(ID|Int|Float|Boolean|String|Datetime|Null)\\b"

View File

@@ -1,6 +1,6 @@
filetype: php
detect:
detect:
filename: "\\.php[2345s~]?$"
rules:
@@ -18,16 +18,15 @@ rules:
- comment: "<!--.+?-->"
- default: "<\\?(php|=)\" end=\"\\?>"
- identifier.class: "([a-zA-Z0-9_-]+)\\("
- preproc: "\\b(require|include)(_once)?\\b"
- type: "\\b(var|class|extends|function|echo|case|default|exit|switch|extends|as|define|do|declare|in|trait|interface|[E|e]xception|array|int|string|bool|iterable|void)\\b"
- type: "\\b(array|bool(ean)?|callable|callback|float|int(eger)?|iterable|object|resource|mixed|string|void)\\b"
- identifier.class: "[a-zA-Z\\\\]+::"
- identifier: "\\b([A-Z][a-zA-Z0-9_]+)\\b"
- 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)"
- type.keyword: "\\b(global|final|public|private|protected|static|const|var)\\b"
- statement: "\\b(abstract|catch|class|declare|do|else(if)?|end(declare|for(each)?|if|switch|while)|finally|for(each)|function|if|interface|namespace|switch|trait|try|while)\\b"
- identifier: "\\bnew\\s+([a-zA-Z0-9\\\\]+)"
- special: "\\b(as|and|break|case|clone|continue|default|die|fn|echo|empty|eval|exit|extends|goto|or|include(_once)?|implements|instanceof|insteadof|isset|list|new|print|return|require(_once)?|unset|use|throw|xor|yield(\\s+from))\\b"
- constant.bool: "\\b(true|false|null|TRUE|FALSE|NULL)\\b"
- constant: "[\\s|=|\\s|\\(|/|+|-|\\*|\\[]"
- constant.number: "[0-9]"
- identifier: "(\\$this|parent|self|\\$this->)"