aboutsummaryrefslogtreecommitdiff
path: root/syntaxes/wing.tmLanguage.json
diff options
context:
space:
mode:
Diffstat (limited to 'syntaxes/wing.tmLanguage.json')
-rw-r--r--syntaxes/wing.tmLanguage.json67
1 files changed, 67 insertions, 0 deletions
diff --git a/syntaxes/wing.tmLanguage.json b/syntaxes/wing.tmLanguage.json
new file mode 100644
index 0000000..d92b5e8
--- /dev/null
+++ b/syntaxes/wing.tmLanguage.json
@@ -0,0 +1,67 @@
+{
+ "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
+ "name": "Wing",
+ "patterns": [
+ {
+ "include": "#keywords"
+ },
+ {
+ "include": "#strings"
+ }
+ ],
+ "repository": {
+ "keywords": {
+ "patterns": [
+ {
+ "name": "entity.name.function",
+ "match": "(?<=\\b(function|if) )([a-zA-Z0-9-_]+)"
+ },
+ {
+ "name": "entity.name.function",
+ "match": "(?<=< )([a-zA-Z0-9-_]+)"
+ },
+ {
+ "name": "storage.type",
+ "match": "\\b(function|end)"
+ },
+ {
+ "name": "keyword.control",
+ "match": "\\b(if|else|do)( +do\\b|)"
+ },
+ {
+ "name": "variable.language",
+ "match": "^ *(#include|#require)"
+ },
+ {
+ "name": "entity.name.function",
+ "match": "(?<=\\b|^(#include|#require) )(<([a-zA-Z0-9-_]+)>|wing:([a-zA-Z0-9-_]+))"
+ },
+ {
+ "name": "comment.line.double-dash",
+ "match": "^(.*)--(.*)$"
+ },
+ {
+ "name": "comment.line.number-sign",
+ "match": "^( +)#!(.*)"
+ },
+ {
+ "name": "variable.other",
+ "match": "(?<= |^)\\$([a-zA-Z0-9-_]+)(!|)(?=\\b|$)"
+ },
+ {
+ "name": "entity.name.function",
+ "match": "^ *([a-zA-Z0-9-_]+)(?<!if|else|end|function|#include|#require)( |$)"
+ },
+ {
+ "name": "constant.character.escape",
+ "match": "\\\\\\$"
+ },
+ {
+ "name": "storage.modifier",
+ "match": "^ *(\\?!|\\?\\?|\\?)"
+ }
+ ]
+ }
+ },
+ "scopeName": "source.wing"
+} \ No newline at end of file