aboutsummaryrefslogtreecommitdiff
path: root/syntaxes/wing.tmLanguage.json
blob: 9c4c94c2238243532ebeade7f7ed7d0dc3e08ab4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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"
}