1+ {
2+ "$schema" : " https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json" ,
3+ "name" : " ProXPL" ,
4+ "scopeName" : " source.proxpl" ,
5+ "patterns" : [
6+ {
7+ "include" : " #comments"
8+ },
9+ {
10+ "include" : " #keywords"
11+ },
12+ {
13+ "include" : " #types"
14+ },
15+ {
16+ "include" : " #strings"
17+ },
18+ {
19+ "include" : " #numbers"
20+ },
21+ {
22+ "include" : " #booleans"
23+ },
24+ {
25+ "include" : " #operators"
26+ },
27+ {
28+ "include" : " #functions"
29+ }
30+ ],
31+ "repository" : {
32+ "comments" : {
33+ "patterns" : [
34+ {
35+ "name" : " comment.line.double-slash.proxpl" ,
36+ "match" : " //.*$"
37+ },
38+ {
39+ "name" : " comment.block.proxpl" ,
40+ "begin" : " /\\ *" ,
41+ "end" : " \\ */"
42+ }
43+ ]
44+ },
45+ "keywords" : {
46+ "patterns" : [
47+ {
48+ "name" : " keyword.control.proxpl" ,
49+ "match" : " \\ b(if|else|while|for|return|import)\\ b"
50+ },
51+ {
52+ "name" : " keyword.declaration.proxpl" ,
53+ "match" : " \\ b(var|func)\\ b"
54+ }
55+ ]
56+ },
57+ "types" : {
58+ "patterns" : [
59+ {
60+ "name" : " storage.type.proxpl" ,
61+ "match" : " \\ b(int|float|string|bool)\\ b"
62+ }
63+ ]
64+ },
65+ "strings" : {
66+ "patterns" : [
67+ {
68+ "name" : " string.quoted.double.proxpl" ,
69+ "begin" : " \" " ,
70+ "end" : " \" " ,
71+ "patterns" : [
72+ {
73+ "name" : " constant.character.escape.proxpl" ,
74+ "match" : " \\\\ ."
75+ }
76+ ]
77+ }
78+ ]
79+ },
80+ "numbers" : {
81+ "patterns" : [
82+ {
83+ "name" : " constant.numeric.proxpl" ,
84+ "match" : " \\ b[0-9]+(\\ .[0-9]+)?\\ b"
85+ }
86+ ]
87+ },
88+ "booleans" : {
89+ "patterns" : [
90+ {
91+ "name" : " constant.language.proxpl" ,
92+ "match" : " \\ b(true|false)\\ b"
93+ }
94+ ]
95+ },
96+ "operators" : {
97+ "patterns" : [
98+ {
99+ "name" : " keyword.operator.proxpl" ,
100+ "match" : " (\\ +|\\ -|\\ *|\\ /|==|!=|>|<|=)"
101+ }
102+ ]
103+ },
104+ "functions" : {
105+ "patterns" : [
106+ {
107+ "name" : " entity.name.function.proxpl" ,
108+ "match" : " \\ b([a-zA-Z_][a-zA-Z0-9_]*)\\ s*(?=\\ ()"
109+ },
110+ {
111+ "name" : " support.function.proxpl" ,
112+ "match" : " \\ b(print)\\ b"
113+ }
114+ ]
115+ }
116+ }
117+ }
0 commit comments