PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.27.4
Code Block Pro – Beautiful Syntax Highlighting v1.27.4
1.27.1 1.27.2 1.27.3 1.27.4 1.27.5 1.27.6 1.27.7 1.28.0 1.3.0 1.4.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.8.0 1.9.0 1.9.1 1.9.2 1.9.3 trunk 1.1.0 1.10.0 1.11.0 1.11.1 All 63 releases
code-block-pro / build / shiki / languages / nextflow.tmLanguage.json

nextflow.tmLanguage.json in Code Block Pro – Beautiful Syntax Highlighting 1.27.4, at build/shiki/languages/nextflow.tmLanguage.json

300 lines 7.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 {
2 "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
3 "name": "nextflow",
4 "scopeName": "source.nextflow",
5 "keyEquivalent": "^~N",
6 "patterns": [
7 {
8 "include": "#nfl-rules"
9 }
10 ],
11 "repository": {
12 "nfl-rules": {
13 "patterns": [
14 {
15 "include": "#process-def"
16 },
17 {
18 "include": "#workflow-def"
19 },
20 {
21 "include": "#code-block"
22 },
23 {
24 "include": "#include-statement"
25 },
26 {
27 "include": "#implicit-variables"
28 },
29 {
30 "comment": "method call and parens",
31 "begin": "(\\w*\\()",
32 "beginCaptures": {
33 "1": {
34 "patterns": [
35 {
36 "include": "source.nextflow-groovy"
37 }
38 ]
39 }
40 },
41 "end": "\\)",
42 "patterns": [
43 {
44 "include": "#nfl-rules"
45 }
46 ]
47 },
48 {
49 "comment": "braces",
50 "begin": "{",
51 "end": "}",
52 "patterns": [
53 {
54 "include": "#nfl-rules"
55 }
56 ]
57 },
58 {
59 "include": "source.nextflow-groovy"
60 }
61 ]
62 },
63 "process-def": {
64 "name": "process.nextflow",
65 "begin": "^\\s*(process)\\s+(\\w+|\"[^\"]+\"|'[^']+')\\s*{",
66 "beginCaptures": {
67 "1": {
68 "name": "keyword.nextflow"
69 },
70 "2": {
71 "name": "function.nextflow"
72 }
73 },
74 "end": "}",
75 "patterns": [
76 {
77 "include": "#process-body"
78 }
79 ]
80 },
81 "process-body": {
82 "patterns": [
83 {
84 "name": "entity.name.function.nextflow",
85 "match": "(?:accelerator|afterScript|beforeScript|cache|cpus|conda|container|containerOptions|clusterOptions|debug|disk|echo|errorStrategy|executor|ext|label|machineType|maxErrors|maxForks|maxRetries|memory|module|penv|pod|publishDir|queue|resourceLabels|scratch|stageInMode|stageOutMode|storeDir|tag|time)\\b"
86 },
87 {
88 "name": "constant.block.nextflow",
89 "match": "(?:input|output|when|script|shell|exec):"
90 },
91 {
92 "name": "entity.name.function.nextflow",
93 "match": "\\b(tuple|set|path|file|val|stdout)(\\(|\\s)"
94 },
95 {
96 "include": "#implicit-variables"
97 },
98 {
99 "comment": "method call and parens",
100 "begin": "(\\w*\\()",
101 "beginCaptures": {
102 "1": {
103 "patterns": [
104 {
105 "include": "source.nextflow-groovy"
106 }
107 ]
108 }
109 },
110 "end": "\\)",
111 "patterns": [
112 {
113 "include": "#process-body"
114 }
115 ]
116 },
117 {
118 "comment": "braces",
119 "begin": "{",
120 "end": "}",
121 "patterns": [
122 {
123 "include": "#process-body"
124 }
125 ]
126 },
127 {
128 "include": "source.nextflow-groovy#comments"
129 },
130 {
131 "include": "source.nextflow-groovy#support-functions"
132 },
133 {
134 "include": "source.nextflow-groovy#keyword"
135 },
136 {
137 "include": "source.nextflow-groovy#values"
138 },
139 {
140 "include": "source.nextflow-groovy#anonymous-classes-and-new"
141 },
142 {
143 "include": "source.nextflow-groovy#types"
144 },
145 {
146 "include": "source.nextflow-groovy#parens"
147 },
148 {
149 "include": "source.nextflow-groovy#closures"
150 },
151 {
152 "include": "source.nextflow-groovy#braces"
153 }
154 ]
155 },
156 "workflow-def": {
157 "name": "workflow.nextflow",
158 "begin": "^\\s*(workflow)(?:\\s+(\\w+|\"[^\"]+\"|'[^']+'))?\\s*{",
159 "beginCaptures": {
160 "1": {
161 "name": "keyword.nextflow"
162 },
163 "2": {
164 "name": "constant.nextflow"
165 }
166 },
167 "end": "}",
168 "patterns": [
169 {
170 "include": "#workflow-body"
171 }
172 ]
173 },
174 "workflow-body": {
175 "patterns": [
176 {
177 "include": "#implicit-variables"
178 },
179 {
180 "name": "constant.block.nextflow",
181 "match": "(?:take|main|emit):"
182 },
183 {
184 "name": "entity.name.function.nextflow",
185 "match": "(?<=[\\s\\.])(branch|buffer|close|collate|collect|collectFile|combine|concat|count|countBy|cross|distinct|dump|filter|first|flatMap|flatten|groupTuple|ifEmpty|join|last|map|max|merge|min|mix|multiMap|randomSample|reduce|set|splitCsv|splitFasta|splitFastq|splitText|sum|take|tap|toInteger|toList|toSortedList|transpose|unique|until|view)(?=[{\\(\\s])"
186 },
187 {
188 "comment": "Channel factory single line",
189 "match": "\\b((?:C|c)hannel\\.)((fromList|fromPath|fromFilePairs|fromSRA|from|of|empty|value|watchPath)\\W)?",
190 "captures": {
191 "1": {
192 "name": "keyword.nextflow"
193 },
194 "2": {
195 "name": "entity.name.function.nextflow"
196 }
197 }
198 },
199 {
200 "comment": "Channel factory multi-line",
201 "begin": "\\b((?:C|c)hannel)\\s*$",
202 "beginCaptures": {
203 "1": {
204 "name": "keyword.nextflow"
205 }
206 },
207 "end": "(^\\s*)(?:(\\.)(fromList|fromPath|fromFilePairs|fromSRA|from|of|empty|value|watchPath)\\W)?",
208 "endCaptures": {
209 "1": {
210 "name": "keyword.nextflow"
211 },
212 "2": {
213 "name": "keyword.nextflow"
214 },
215 "3": {
216 "name": "entity.name.function.nextflow"
217 }
218 }
219 },
220 {
221 "comment": "method call and parens",
222 "begin": "(\\w*\\()",
223 "beginCaptures": {
224 "1": {
225 "patterns": [
226 {
227 "include": "source.nextflow-groovy"
228 }
229 ]
230 }
231 },
232 "end": "\\)",
233 "patterns": [
234 {
235 "include": "#workflow-body"
236 }
237 ]
238 },
239 {
240 "comment": "braces",
241 "begin": "{",
242 "end": "}",
243 "patterns": [
244 {
245 "include": "#workflow-body"
246 }
247 ]
248 },
249 {
250 "include": "source.nextflow-groovy#comments"
251 },
252 {
253 "include": "source.nextflow-groovy#support-functions"
254 },
255 {
256 "include": "source.nextflow-groovy#keyword"
257 },
258 {
259 "include": "source.nextflow-groovy#values"
260 },
261 {
262 "include": "source.nextflow-groovy#anonymous-classes-and-new"
263 },
264 {
265 "include": "source.nextflow-groovy#types"
266 },
267 {
268 "include": "source.nextflow-groovy#parens"
269 },
270 {
271 "include": "source.nextflow-groovy#closures"
272 },
273 {
274 "include": "source.nextflow-groovy#braces"
275 }
276 ]
277 },
278 "include-statement": {
279 "patterns": [
280 {
281 "match": "^\\b(include)\\b",
282 "name": "keyword.nextflow"
283 },
284 {
285 "match": "\\b(from)\\b",
286 "name": "keyword.nextflow"
287 }
288 ]
289 },
290 "implicit-variables": {
291 "patterns": [
292 {
293 "match": "(?<=[^\\.\\w]|^)(params|nextflow|workflow|launchDir|moduleDir|projectDir|workDir)\\b",
294 "name": "variable.language.nextflow"
295 }
296 ]
297 }
298 }
299 }
300