1+ {
2+ "$schema" : " https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json" ,
3+ "name" : " FASTBuild" ,
4+ "foldingStartMarker" : " /\\ *\\ *(?!\\ *)|^(?![^{]*?//|[^{]*?/\\ *(?!.*?\\ */.*?\\ {)).*?\\ {\\ s*($|//|/\\ *(?!.*?\\ */.*\\ S))" ,
5+ "foldingStopMarker" : " (?<!\\ *)\\ *\\ */|^\\ s*\\ }" ,
6+ "patterns" : [
7+ {
8+ "include" : " #keywords"
9+ },
10+ {
11+ "include" : " #functions"
12+ },
13+ {
14+ "include" : " #strings_single"
15+ },
16+ {
17+ "include" : " #strings_double"
18+ },
19+ {
20+ "include" : " #fastbuild_defines"
21+ },
22+ {
23+ "include" : " #directives"
24+ },
25+ {
26+ "include" : " #defined_variables"
27+ },
28+ {
29+ "include" : " #local_variables"
30+ },
31+ {
32+ "include" : " #comment"
33+ }
34+ ],
35+ "repository" : {
36+ "string_highlight" : {
37+ "patterns" : [{
38+ "name" : " constant.character.escape.fastbuild" ,
39+ "match" : " \\ ^.|\\ $[\\ w\\ d]+\\ $|%\\ d+"
40+ }]
41+ },
42+ "keywords" : {
43+ "patterns" : [{
44+ "name" : " keyword.operator.fastbuild" ,
45+ "match" : " \\ b(\\ +\\ -/\\ *=)\\ b"
46+ }]
47+ },
48+ "functions" : {
49+ "patterns" : [{
50+ "name" : " support.function.fastbuild" ,
51+ "match" : " \\ b(Alias|Compiler|Copy|CopyDir|CSAssembly|DLL|Exec|Executable|ForEach|Library|ObjectList|Print|RemoveDir|Settings|Test|Unity|Using|VCXProject|VSSolution|XCodeProject)\\ b"
52+ }]
53+ },
54+ "strings_single" : {
55+ "name" : " string.quoted.single.fastbuild" ,
56+ "begin" : " '" ,
57+ "end" : " '" ,
58+ "patterns" : [
59+ {
60+ "include" : " #string_highlight"
61+ }
62+ ]
63+ },
64+ "strings_double" : {
65+ "name" : " string.quoted.double.fastbuild" ,
66+ "begin" : " \" " ,
67+ "end" : " \" " ,
68+ "patterns" : [
69+ {
70+ "include" : " #string_highlight"
71+ }
72+ ]
73+ },
74+ "fastbuild_defines" : {
75+ "patterns" : [
76+ {
77+ "name" : " variable.language.fastbuild" ,
78+ "match" : " __WINDOWS__|__OSX__|__LINUX__"
79+ }
80+ ]
81+ },
82+ "directives" : {
83+ "patterns" : [{
84+ "name" : " keyword.other.fastbuild" ,
85+ "match" : " #(undef|if|else|endif|exists|import|include|once)"
86+ }]
87+ },
88+ "defined_variables" : {
89+ "patterns" : [{
90+ "name" : " keyword.other.fastbuild" ,
91+ "match" : " #define\\ s+([\\ w\\ d]+)" ,
92+ "captures" : {
93+ "1" : {
94+ "name" : " meta.parameter.type.variable.fastbuild"
95+ }
96+ }
97+ }]
98+ },
99+ "local_variables" : {
100+ "patterns" : [{
101+ "match" : " [\\ s^]\\ .(['\" ]?)([\\ w\\ d\\ $]+)\\ 1?" ,
102+ "captures" : {
103+ "2" : {
104+ "name" : " variable.other.fastbuild"
105+ }
106+ }
107+ }]
108+ },
109+ "comment" : {
110+ "patterns" : [
111+ {
112+ "name" : " comment.line.double-slash.fastbuild" ,
113+ "match" : " (//|;).*"
114+ }
115+ ]
116+ }
117+ },
118+ "scopeName" : " source.fastbuild"
119+ }
0 commit comments