github-linguist 7.11.0 → 7.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (598) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +1123 -623
  3. data/ext/linguist/lex.linguist_yy.h +433 -66
  4. data/ext/linguist/linguist.c +5 -35
  5. data/ext/linguist/linguist.h +0 -18
  6. data/ext/linguist/tokenizer.l +83 -65
  7. data/grammars/annotation.liquidhaskell.haskell.json +1 -1835
  8. data/grammars/config.xcompose.json +1 -80
  9. data/grammars/documentation.markdown.injection.haxe.json +1 -22
  10. data/grammars/etc.json +1 -987
  11. data/grammars/file.lasso.json +1 -702
  12. data/grammars/hidden.manref.json +1 -29
  13. data/grammars/hidden.regexp.injection-shell.json +1 -28
  14. data/grammars/hint.haskell.json +1 -1762
  15. data/grammars/hint.message.haskell.json +1 -1786
  16. data/grammars/hint.type.haskell.json +1 -1759
  17. data/grammars/injections.etc.json +1 -659
  18. data/grammars/inline.prisma.json +1 -55
  19. data/grammars/markdown.hack.codeblock.json +1 -20
  20. data/grammars/markdown.haxe.codeblock.json +1 -26
  21. data/grammars/markdown.hxml.codeblock.json +1 -26
  22. data/grammars/markdown.lean.codeblock.json +1 -0
  23. data/grammars/markdown.plantuml.codeblock.json +1 -26
  24. data/grammars/objdump.x86asm.json +1 -69
  25. data/grammars/source.4dm.json +1 -1156
  26. data/grammars/source.SASLog.json +1 -18
  27. data/grammars/source.abap.json +1 -335
  28. data/grammars/source.abapcds.json +1 -0
  29. data/grammars/source.abl.json +1 -734
  30. data/grammars/source.abnf.json +1 -294
  31. data/grammars/source.actionscript.3.json +1 -1538
  32. data/grammars/source.acucobol.json +1 -13
  33. data/grammars/source.ada.json +1 -133
  34. data/grammars/source.afm.json +1 -1207
  35. data/grammars/source.agc.json +1 -87
  36. data/grammars/source.agda.json +1 -72
  37. data/grammars/source.ahk.json +1 -195
  38. data/grammars/source.al.json +1 -130
  39. data/grammars/source.alloy.json +1 -40
  40. data/grammars/source.ampl.json +1 -151
  41. data/grammars/source.angelscript.json +1 -186
  42. data/grammars/source.antlr.json +1 -295
  43. data/grammars/source.apache-config.json +1 -346
  44. data/grammars/source.apache-config.mod_perl.json +1 -65
  45. data/grammars/source.apl.json +1 -1427
  46. data/grammars/source.applescript.json +1 -1384
  47. data/grammars/source.asl.json +1 -56
  48. data/grammars/source.asn.json +1 -55
  49. data/grammars/source.asp.json +1 -151
  50. data/grammars/source.aspectj.json +1 -960
  51. data/grammars/source.assembly.json +1 -116
  52. data/grammars/source.ats.json +1 -164
  53. data/grammars/source.autoit.json +1 -167
  54. data/grammars/source.avro.json +1 -381
  55. data/grammars/source.awk.json +1 -384
  56. data/grammars/source.ballerina.json +1 -1785
  57. data/grammars/source.batchfile.json +1 -732
  58. data/grammars/source.bdf.json +1 -425
  59. data/grammars/source.befunge.json +1 -34
  60. data/grammars/source.bf.json +1 -30
  61. data/grammars/source.blitzmax.json +1 -905
  62. data/grammars/source.bnf.json +1 -191
  63. data/grammars/source.boo.json +1 -448
  64. data/grammars/source.boogie.json +1 -0
  65. data/grammars/source.brightauthorproject.json +1 -24
  66. data/grammars/source.brightscript.json +1 -148
  67. data/grammars/source.bsl.json +1 -451
  68. data/grammars/source.bsv.json +1 -277
  69. data/grammars/source.c++.json +1 -436
  70. data/grammars/source.c++.qt.json +1 -29
  71. data/grammars/source.c.ec.json +1 -33
  72. data/grammars/source.c.json +1 -712
  73. data/grammars/source.c.nwscript.json +1 -0
  74. data/grammars/source.c.platform.json +1 -1115
  75. data/grammars/source.c2hs.json +1 -24
  76. data/grammars/source.cabal.json +1 -63
  77. data/grammars/source.cache.cmake.json +1 -70
  78. data/grammars/source.cake.json +1 -13
  79. data/grammars/source.camlp4.ocaml.json +1 -60
  80. data/grammars/source.capnp.json +1 -88
  81. data/grammars/source.ceylon.json +1 -93
  82. data/grammars/source.cfscript.cfc.json +1 -162
  83. data/grammars/source.cfscript.json +1 -737
  84. data/grammars/source.changelogs.rpm-spec.json +1 -91
  85. data/grammars/source.chapel.json +1 -265
  86. data/grammars/source.cirru.json +1 -61
  87. data/grammars/source.clarion.json +1 -146
  88. data/grammars/source.clean.json +1 -222
  89. data/grammars/source.click.json +1 -107
  90. data/grammars/source.clips.json +1 -67
  91. data/grammars/source.clojure.json +1 -429
  92. data/grammars/source.cm.json +1 -49
  93. data/grammars/source.cmake.json +1 -173
  94. data/grammars/source.cobol.json +1 -485
  95. data/grammars/source.coffee.json +1 -1310
  96. data/grammars/source.cool.json +1 -96
  97. data/grammars/source.coq.json +1 -58
  98. data/grammars/source.crystal.json +1 -2694
  99. data/grammars/source.cs.json +1 -4323
  100. data/grammars/source.csound-document.json +1 -175
  101. data/grammars/source.csound-score.json +1 -191
  102. data/grammars/source.csound.json +1 -824
  103. data/grammars/source.css.json +1 -1859
  104. data/grammars/source.css.less.json +1 -536
  105. data/grammars/source.css.mss.json +1 -249
  106. data/grammars/source.css.postcss.sugarss.json +1 -260
  107. data/grammars/source.css.scss.json +1 -1873
  108. data/grammars/source.csx.json +1 -13
  109. data/grammars/source.cuda-c++.json +1 -103
  110. data/grammars/source.curlrc.json +1 -984
  111. data/grammars/source.cwl.json +1 -103
  112. data/grammars/source.cython.json +1 -1912
  113. data/grammars/source.d.json +1 -741
  114. data/grammars/source.dart.json +1 -433
  115. data/grammars/source.data-weave.json +1 -1580
  116. data/grammars/source.desktop.json +1 -86
  117. data/grammars/source.diff.json +1 -153
  118. data/grammars/source.dircolors.json +1 -137
  119. data/grammars/source.direct-x.json +1 -135
  120. data/grammars/source.disasm.json +1 -30
  121. data/grammars/source.ditroff.desc.json +1 -411
  122. data/grammars/source.ditroff.json +1 -1280
  123. data/grammars/source.dm.json +1 -628
  124. data/grammars/source.dmf.json +1 -96
  125. data/grammars/source.dockerfile.json +1 -88
  126. data/grammars/source.dosbox-conf.json +1 -97
  127. data/grammars/source.dot.json +1 -117
  128. data/grammars/source.dylan.json +1 -212
  129. data/grammars/source.ebnf.json +1 -240
  130. data/grammars/source.editorconfig.json +1 -365
  131. data/grammars/source.eiffel.json +1 -133
  132. data/grammars/source.elixir.json +1 -965
  133. data/grammars/source.elm.json +1 -375
  134. data/grammars/source.emacs.lisp.json +1 -1301
  135. data/grammars/source.erlang.json +1 -1647
  136. data/grammars/source.essl.json +1 -37
  137. data/grammars/source.factor.json +1 -252
  138. data/grammars/source.fan.json +1 -341
  139. data/grammars/source.fancy.json +1 -245
  140. data/grammars/source.faust.json +1 -119
  141. data/grammars/source.figctrl.json +1 -252
  142. data/grammars/source.figfont.json +1 -121
  143. data/grammars/source.firestore.json +1 -289
  144. data/grammars/source.fish.json +1 -190
  145. data/grammars/source.fontdir.json +1 -99
  146. data/grammars/source.fontforge.json +1 -355
  147. data/grammars/source.forth.json +1 -84
  148. data/grammars/source.fortran.json +1 -464
  149. data/grammars/source.fortran.modern.json +1 -200
  150. data/grammars/source.fsharp.fsi.json +1 -9
  151. data/grammars/source.fsharp.fsl.json +1 -9
  152. data/grammars/source.fsharp.fsx.json +1 -13
  153. data/grammars/source.fsharp.json +1 -452
  154. data/grammars/source.fstar.json +1 -439
  155. data/grammars/source.futhark.json +1 -167
  156. data/grammars/source.gap.json +1 -163
  157. data/grammars/source.gcode.json +1 -176
  158. data/grammars/source.gdb.json +1 -160
  159. data/grammars/source.gdb.session.json +1 -70
  160. data/grammars/source.gdbregs.json +1 -14
  161. data/grammars/source.gdscript.json +1 -245
  162. data/grammars/source.gedcom.json +1 -196
  163. data/grammars/source.generic-db.json +1 -41
  164. data/grammars/source.gerber.json +1 -321
  165. data/grammars/source.gf.json +1 -51
  166. data/grammars/source.gfm.blade.json +1 -15
  167. data/grammars/source.gfm.json +1 -1913
  168. data/grammars/source.gitattributes.json +1 -111
  169. data/grammars/source.gitconfig.json +1 -450
  170. data/grammars/source.gitignore.json +1 -140
  171. data/grammars/source.glsl.json +1 -139
  172. data/grammars/source.gn.json +1 -345
  173. data/grammars/source.gnuplot.json +1 -260
  174. data/grammars/source.go.json +1 -540
  175. data/grammars/source.golo.json +1 -177
  176. data/grammars/source.gosu.2.json +1 -153
  177. data/grammars/source.grace.json +1 -675
  178. data/grammars/source.graphql.json +1 -978
  179. data/grammars/source.gremlin.json +1 -200
  180. data/grammars/source.groovy.gradle.json +1 -69
  181. data/grammars/source.groovy.json +1 -1374
  182. data/grammars/source.hack.json +1 -2595
  183. data/grammars/source.haproxy-config.json +1 -152
  184. data/grammars/source.harbour.json +1 -388
  185. data/grammars/source.haskell.json +1 -1760
  186. data/grammars/source.hc.json +1 -709
  187. data/grammars/source.hgignore.json +1 -34
  188. data/grammars/source.hlsl.json +1 -211
  189. data/grammars/source.hosts.json +1 -40
  190. data/grammars/source.hql.json +1 -492
  191. data/grammars/source.hsc2hs.json +1 -9
  192. data/grammars/source.hsig.json +1 -1760
  193. data/grammars/source.httpspec.json +1 -283
  194. data/grammars/source.hx.argument.json +1 -80
  195. data/grammars/source.hx.json +1 -2428
  196. data/grammars/source.hx.type.json +1 -8
  197. data/grammars/source.hxml.json +1 -59
  198. data/grammars/source.hy.json +1 -429
  199. data/grammars/source.ideal.json +1 -356
  200. data/grammars/source.idl-dlm.json +1 -105
  201. data/grammars/source.idl.json +1 -246
  202. data/grammars/source.idris.json +1 -523
  203. data/grammars/source.igor.json +1 -369
  204. data/grammars/source.inform7.json +1 -183
  205. data/grammars/source.ini.json +1 -107
  206. data/grammars/source.ini.npmrc.json +1 -311
  207. data/grammars/source.inno.json +1 -133
  208. data/grammars/source.inputrc.json +1 -500
  209. data/grammars/source.io.json +1 -156
  210. data/grammars/source.ioke.json +1 -266
  211. data/grammars/source.isabelle.root.json +1 -64
  212. data/grammars/source.isabelle.theory.json +1 -102
  213. data/grammars/source.j.json +1 -260
  214. data/grammars/source.jasmin.json +1 -294
  215. data/grammars/source.java-properties.json +1 -87
  216. data/grammars/source.java.json +1 -1020
  217. data/grammars/source.jcl.json +1 -46
  218. data/grammars/source.jflex.json +1 -484
  219. data/grammars/source.jison.json +1 -711
  220. data/grammars/source.jisonlex-injection.json +1 -10
  221. data/grammars/source.jisonlex.json +1 -434
  222. data/grammars/source.jolie.json +1 -132
  223. data/grammars/source.jq.json +1 -211
  224. data/grammars/source.js.json +1 -1897
  225. data/grammars/source.js.objj.json +1 -419
  226. data/grammars/source.js.regexp.json +1 -152
  227. data/grammars/source.js.regexp.replacement.json +1 -26
  228. data/grammars/source.jsdoc.json +1 -460
  229. data/grammars/source.json.json +1 -139
  230. data/grammars/source.jsonnet.json +1 -197
  231. data/grammars/source.julia.console.json +1 -51
  232. data/grammars/source.julia.json +1 -991
  233. data/grammars/source.kotlin.json +1 -704
  234. data/grammars/source.lark.json +1 -0
  235. data/grammars/source.lbnf.json +1 -0
  236. data/grammars/source.lcov.json +1 -398
  237. data/grammars/source.lean.json +1 -226
  238. data/grammars/source.lean.markdown.json +1 -2598
  239. data/grammars/source.lex.json +1 -232
  240. data/grammars/source.lex.regexp.json +1 -269
  241. data/grammars/source.lid.json +1 -19
  242. data/grammars/source.lilypond.json +1 -869
  243. data/grammars/source.lisp.json +1 -101
  244. data/grammars/source.litcoffee.json +1 -654
  245. data/grammars/source.livescript.json +1 -603
  246. data/grammars/source.llvm.json +1 -61
  247. data/grammars/source.logos.json +1 -24
  248. data/grammars/source.logtalk.json +1 -310
  249. data/grammars/source.loomscript.json +1 -208
  250. data/grammars/source.lsl.json +1 -241
  251. data/grammars/source.ltspice.symbol.json +1 -294
  252. data/grammars/source.lua.json +1 -275
  253. data/grammars/source.m2.json +1 -125
  254. data/grammars/source.m4.json +1 -229
  255. data/grammars/source.m68k.json +1 -412
  256. data/grammars/source.mailmap.json +1 -28
  257. data/grammars/source.makefile.json +1 -470
  258. data/grammars/source.makegen.json +1 -9
  259. data/grammars/source.man-conf.json +1 -153
  260. data/grammars/source.mask.json +1 -816
  261. data/grammars/source.mata.json +1 -125
  262. data/grammars/source.mathematica.json +1 -416
  263. data/grammars/source.matlab.json +1 -1096
  264. data/grammars/source.maxscript.json +1 -465
  265. data/grammars/source.mcfunction-snapshot.json +1 -24480
  266. data/grammars/source.mcfunction.json +1 -1354
  267. data/grammars/source.mercury.json +1 -246
  268. data/grammars/source.meson.json +1 -165
  269. data/grammars/source.meta-info.json +1 -146
  270. data/grammars/source.ml.json +1 -285
  271. data/grammars/source.mlir.json +1 -109
  272. data/grammars/source.modelica.json +1 -142
  273. data/grammars/source.modula-3.json +1 -88
  274. data/grammars/source.modula2.json +1 -94
  275. data/grammars/source.monkey.json +1 -694
  276. data/grammars/source.moonscript.json +1 -144
  277. data/grammars/source.mql5.json +1 -187
  278. data/grammars/source.msl.json +1 -755
  279. data/grammars/source.mupad.json +1 -131
  280. data/grammars/source.nanorc.json +1 -333
  281. data/grammars/source.nasl.json +1 -155
  282. data/grammars/source.ncl.json +1 -53
  283. data/grammars/source.ne.json +1 -105
  284. data/grammars/source.nemerle.json +1 -132
  285. data/grammars/source.neon.json +1 -381
  286. data/grammars/source.nesc.json +1 -21
  287. data/grammars/source.netlinx.erb.json +1 -34
  288. data/grammars/source.netlinx.json +1 -704
  289. data/grammars/source.nextflow-groovy.json +1 -1359
  290. data/grammars/source.nextflow.json +1 -94
  291. data/grammars/source.nginx.json +1 -815
  292. data/grammars/source.nim.comment.json +1 -82
  293. data/grammars/source.nim.json +1 -1083
  294. data/grammars/source.nim_filter.json +1 -113
  295. data/grammars/source.nimcfg.json +1 -103
  296. data/grammars/source.ninja.json +1 -248
  297. data/grammars/source.nit.json +1 -234
  298. data/grammars/source.nix.json +1 -1196
  299. data/grammars/source.nsis.json +1 -152
  300. data/grammars/source.nu.json +1 -516
  301. data/grammars/source.nunjucks.json +1 -0
  302. data/grammars/source.nut.json +1 -262
  303. data/grammars/source.objc++.json +1 -12
  304. data/grammars/source.objc.json +1 -910
  305. data/grammars/source.objc.platform.json +1 -842
  306. data/grammars/source.objectscript.json +1 -309
  307. data/grammars/source.objectscript_class.json +1 -674
  308. data/grammars/source.objectscript_csp.json +1 -19
  309. data/grammars/source.objectscript_macros.json +1 -226
  310. data/grammars/source.ocaml.json +1 -1418
  311. data/grammars/source.ocamllex.json +1 -298
  312. data/grammars/source.ocamlyacc.json +1 -339
  313. data/grammars/source.odin-ehr.json +1 -806
  314. data/grammars/source.odin.json +1 -402
  315. data/grammars/source.ooc.json +1 -685
  316. data/grammars/source.opa.json +1 -196
  317. data/grammars/source.opal.json +1 -410
  318. data/grammars/source.opalsysdefs.json +1 -66
  319. data/grammars/source.openbsd-pkg.contents.json +1 -128
  320. data/grammars/source.opencobol.json +1 -62
  321. data/grammars/source.opentype.json +1 -448
  322. data/grammars/source.opts.json +1 -108
  323. data/grammars/source.ox.json +1 -89
  324. data/grammars/source.oz.json +1 -77
  325. data/grammars/source.p4.json +1 -122
  326. data/grammars/source.paket.dependencies.json +1 -0
  327. data/grammars/source.paket.lock.json +1 -0
  328. data/grammars/source.pan.json +1 -706
  329. data/grammars/source.papyrus.skyrim.json +1 -1272
  330. data/grammars/source.parrot.pir.json +1 -145
  331. data/grammars/source.pascal.json +1 -143
  332. data/grammars/source.pawn.json +1 -1194
  333. data/grammars/source.pcb.board.json +1 -285
  334. data/grammars/source.pcb.schematic.json +1 -424
  335. data/grammars/source.pcb.sexp.json +1 -232
  336. data/grammars/source.pep8.json +1 -118
  337. data/grammars/source.perl.6.json +1 -309
  338. data/grammars/source.perl.json +1 -2519
  339. data/grammars/source.php.zephir.json +1 -353
  340. data/grammars/source.pic.json +1 -908
  341. data/grammars/source.pig_latin.json +1 -168
  342. data/grammars/source.pike.json +1 -49
  343. data/grammars/source.plist.json +1 -336
  344. data/grammars/source.po.json +1 -222
  345. data/grammars/source.pogoscript.json +1 -79
  346. data/grammars/source.pony.json +1 -245
  347. data/grammars/source.postcss.json +1 -370
  348. data/grammars/source.postscript.json +1 -477
  349. data/grammars/source.pov-ray sdl.json +1 -82
  350. data/grammars/source.powershell.json +1 -981
  351. data/grammars/source.prisma.json +1 -435
  352. data/grammars/source.processing.json +1 -872
  353. data/grammars/source.prolog.eclipse.json +1 -201
  354. data/grammars/source.prolog.json +1 -286
  355. data/grammars/source.protobuf.json +1 -471
  356. data/grammars/source.puppet.json +1 -433
  357. data/grammars/source.purescript.json +1 -861
  358. data/grammars/source.pyjade.json +1 -996
  359. data/grammars/source.python.django.json +1 -29
  360. data/grammars/source.python.json +1 -5292
  361. data/grammars/source.python.salt.json +1 -9
  362. data/grammars/source.q.json +1 -215
  363. data/grammars/source.q_output.json +1 -348
  364. data/grammars/source.qasm.json +1 -66
  365. data/grammars/source.ql.json +1 -1408
  366. data/grammars/source.qmake.json +1 -210
  367. data/grammars/source.qml.json +1 -174
  368. data/grammars/source.qsharp.json +1 -120
  369. data/grammars/source.quake.json +1 -44
  370. data/grammars/source.quoting.raku.json +1 -0
  371. data/grammars/source.r.json +1 -194
  372. data/grammars/source.racket.json +1 -98
  373. data/grammars/source.raku.json +1 -0
  374. data/grammars/source.rascal.json +1 -283
  375. data/grammars/source.reason.hover.type.json +1 -14
  376. data/grammars/source.reason.json +1 -3382
  377. data/grammars/source.rebol.json +1 -637
  378. data/grammars/source.record-jar.json +1 -0
  379. data/grammars/source.red.json +1 -644
  380. data/grammars/source.reg.json +1 -159
  381. data/grammars/source.regexp.extended.json +1 -558
  382. data/grammars/source.regexp.json +1 -1434
  383. data/grammars/source.regexp.posix.json +1 -0
  384. data/grammars/source.regexp.python.json +1 -490
  385. data/grammars/source.regexp.raku.json +1 -0
  386. data/grammars/source.regexp.spin.json +1 -179
  387. data/grammars/source.rego.json +1 -124
  388. data/grammars/source.renpy.json +1 -1948
  389. data/grammars/source.rescript.json +1 -0
  390. data/grammars/source.rexx.json +1 -52
  391. data/grammars/source.ring.json +1 -247
  392. data/grammars/source.rpm-spec.json +1 -765
  393. data/grammars/source.ruby.gemfile.json +1 -24
  394. data/grammars/source.ruby.json +1 -2605
  395. data/grammars/source.ruby.rspec.cucumber.steps.json +1 -261
  396. data/grammars/source.rust.json +1 -629
  397. data/grammars/source.sas.json +1 -286
  398. data/grammars/source.sass.json +1 -1089
  399. data/grammars/source.sassdoc.json +1 -346
  400. data/grammars/source.scad.json +1 -145
  401. data/grammars/source.scala.json +1 -1121
  402. data/grammars/source.scaml.json +1 -451
  403. data/grammars/source.scheme.json +1 -353
  404. data/grammars/source.scilab.json +1 -96
  405. data/grammars/source.sdbl.json +1 -90
  406. data/grammars/source.sed.json +1 -1520
  407. data/grammars/source.shaderlab.json +1 -198
  408. data/grammars/source.shell.json +1 -1272
  409. data/grammars/source.shen.json +1 -143
  410. data/grammars/source.sieve.json +1 -383
  411. data/grammars/source.slice.json +1 -2755
  412. data/grammars/source.smali.json +1 -1610
  413. data/grammars/source.smalltalk.json +1 -187
  414. data/grammars/source.smpl.json +1 -314
  415. data/grammars/source.smt.json +1 -158
  416. data/grammars/source.solidity.json +1 -189
  417. data/grammars/source.sourcepawn.json +1 -651
  418. data/grammars/source.sparql.json +1 -18
  419. data/grammars/source.spin.json +1 -916
  420. data/grammars/source.sqf.json +1 -111
  421. data/grammars/source.sql.json +1 -459
  422. data/grammars/source.ssh-config.json +1 -97
  423. data/grammars/source.stan.json +1 -388
  424. data/grammars/source.stata.json +1 -197
  425. data/grammars/source.strings.json +1 -49
  426. data/grammars/source.stylus.json +1 -1018
  427. data/grammars/source.supercollider.json +1 -93
  428. data/grammars/source.svelte.json +1 -827
  429. data/grammars/source.swift.json +1 -3134
  430. data/grammars/source.sy.json +1 -2954
  431. data/grammars/source.systemverilog.json +1 -1036
  432. data/grammars/source.tags.json +1 -266
  433. data/grammars/source.tcl.json +1 -260
  434. data/grammars/source.tea.json +1 -174
  435. data/grammars/source.terra.json +1 -138
  436. data/grammars/source.terraform.json +1 -694
  437. data/grammars/source.thrift.json +1 -698
  438. data/grammars/source.tl.json +1 -259
  439. data/grammars/source.tla.json +1 -140
  440. data/grammars/source.tnsaudit.json +1 -256
  441. data/grammars/source.toc.json +1 -52
  442. data/grammars/source.toml.json +1 -426
  443. data/grammars/source.ts.json +1 -5581
  444. data/grammars/source.tsql.json +1 -507
  445. data/grammars/source.tsx.json +1 -5834
  446. data/grammars/source.turing.json +1 -1553
  447. data/grammars/source.turtle.json +1 -489
  448. data/grammars/source.txl.json +1 -48
  449. data/grammars/source.ucd.nameslist.json +1 -444
  450. data/grammars/source.ucd.unidata.json +1 -570
  451. data/grammars/source.ucfconstraints.json +1 -67
  452. data/grammars/source.ur.json +1 -31
  453. data/grammars/source.v.json +1 -1010
  454. data/grammars/source.vala.json +1 -800
  455. data/grammars/source.varnish.vcl.json +1 -331
  456. data/grammars/source.vbnet.json +1 -239
  457. data/grammars/source.verilog.json +1 -296
  458. data/grammars/source.vhdl.json +1 -1374
  459. data/grammars/source.vim-snippet.json +1 -645
  460. data/grammars/source.viml.json +1 -1197
  461. data/grammars/source.vtt.json +1 -702
  462. data/grammars/source.vyper.json +1 -213
  463. data/grammars/source.wavefront.mtl.json +1 -1190
  464. data/grammars/source.wavefront.obj.json +1 -1341
  465. data/grammars/source.wdl.json +1 -220
  466. data/grammars/source.webassembly.json +1 -349
  467. data/grammars/source.webidl.json +1 -807
  468. data/grammars/source.wgetrc.json +1 -1640
  469. data/grammars/source.wollok.json +1 -100
  470. data/grammars/source.wsd.json +1 -781
  471. data/grammars/source.x10.json +1 -64
  472. data/grammars/source.x86.json +1 -299
  473. data/grammars/source.x86asm.json +1 -42
  474. data/grammars/source.xc.json +1 -371
  475. data/grammars/source.xlfd.json +1 -462
  476. data/grammars/source.xojo.json +1 -85
  477. data/grammars/source.xq.json +1 -230
  478. data/grammars/source.xtend.json +1 -724
  479. data/grammars/source.yacc.json +1 -626
  480. data/grammars/source.yaml.json +1 -443
  481. data/grammars/source.yaml.salt.json +1 -345
  482. data/grammars/source.yang.json +1 -78
  483. data/grammars/source.yara.json +1 -99
  484. data/grammars/source.yasnippet.json +1 -377
  485. data/grammars/source.zap.json +1 -260
  486. data/grammars/source.zeek.json +1 -412
  487. data/grammars/source.zenscript.json +1 -282
  488. data/grammars/source.zig.json +1 -547
  489. data/grammars/source.zil.json +1 -750
  490. data/grammars/text.bibtex.json +1 -246
  491. data/grammars/text.browserslist.json +1 -0
  492. data/grammars/text.cfml.basic.json +1 -735
  493. data/grammars/text.checksums.json +1 -0
  494. data/grammars/text.conllu.json +1 -45
  495. data/grammars/text.dfy.dafny.json +1 -188
  496. data/grammars/text.elixir.json +1 -52
  497. data/grammars/text.eml.basic.json +1 -296
  498. data/grammars/text.error-list.json +1 -53
  499. data/grammars/text.find-refs.json +1 -926
  500. data/grammars/text.gherkin.feature.json +1 -127
  501. data/grammars/text.haml.json +1 -518
  502. data/grammars/text.hamlc.json +1 -219
  503. data/grammars/text.html.asciidoc.json +1 -478
  504. data/grammars/text.html.asdoc.json +1 -529
  505. data/grammars/text.html.asp.json +1 -53
  506. data/grammars/text.html.basic.json +1 -908
  507. data/grammars/text.html.cfm.json +1 -802
  508. data/grammars/text.html.creole.json +1 -317
  509. data/grammars/text.html.cshtml.json +1 -356
  510. data/grammars/text.html.django.json +1 -63
  511. data/grammars/text.html.ecr.json +1 -48
  512. data/grammars/text.html.elixir.json +1 -21
  513. data/grammars/text.html.erb.json +1 -150
  514. data/grammars/text.html.erlang.yaws.json +1 -67
  515. data/grammars/text.html.factor.json +1 -19
  516. data/grammars/text.html.ftl.json +1 -76
  517. data/grammars/text.html.handlebars.json +1 -845
  518. data/grammars/text.html.javadoc.json +1 -426
  519. data/grammars/text.html.js.json +1 -24
  520. data/grammars/text.html.jsp.json +1 -1196
  521. data/grammars/text.html.liquid.json +1 -25
  522. data/grammars/text.html.mako.json +1 -726
  523. data/grammars/text.html.markdown.source.gfm.apib.json +1 -1298
  524. data/grammars/text.html.markdown.source.gfm.mson.json +1 -1156
  525. data/grammars/text.html.mediawiki.elm-build-output.json +1 -97
  526. data/grammars/text.html.mediawiki.elm-documentation.json +1 -17
  527. data/grammars/text.html.mediawiki.json +1 -946
  528. data/grammars/text.html.nunjucks.json +1 -0
  529. data/grammars/text.html.php.blade.json +1 -3833
  530. data/grammars/text.html.php.json +1 -2507
  531. data/grammars/text.html.riot.json +1 -788
  532. data/grammars/text.html.slash.json +1 -307
  533. data/grammars/text.html.smarty.json +1 -232
  534. data/grammars/text.html.soy.json +1 -606
  535. data/grammars/text.html.ssp.json +1 -43
  536. data/grammars/text.html.tcl.json +1 -37
  537. data/grammars/text.html.twig.json +1 -1344
  538. data/grammars/text.html.vue.json +1 -963
  539. data/grammars/text.idl-idldoc.json +1 -10
  540. data/grammars/text.jade.json +1 -963
  541. data/grammars/text.junit-test-report.json +1 -89
  542. data/grammars/text.log.latex.json +1 -84
  543. data/grammars/text.marko.json +1 -1662
  544. data/grammars/text.muse.json +1 -1471
  545. data/grammars/text.openbsd-pkg.desc.json +1 -78
  546. data/grammars/text.plain.json +1 -18
  547. data/grammars/text.python.console.json +1 -21
  548. data/grammars/text.python.traceback.json +1 -43
  549. data/grammars/text.rdoc.json +1 -44
  550. data/grammars/text.restructuredtext.clean.json +1 -24
  551. data/grammars/text.restructuredtext.json +1 -1765
  552. data/grammars/text.robot.json +1 -63
  553. data/grammars/text.roff.json +1 -6927
  554. data/grammars/text.rtf.json +1 -148
  555. data/grammars/text.runoff.json +1 -308
  556. data/grammars/text.sfd.json +1 -292
  557. data/grammars/text.shell-session.json +1 -29
  558. data/grammars/text.slim.json +1 -527
  559. data/grammars/text.srt.json +1 -166
  560. data/grammars/text.tex.json +1 -264
  561. data/grammars/text.tex.latex.beamer.json +1 -57
  562. data/grammars/text.tex.latex.haskell.json +1 -1826
  563. data/grammars/text.tex.latex.json +1 -1003
  564. data/grammars/text.tex.latex.memoir.json +1 -129
  565. data/grammars/text.tex.latex.rd.json +1 -111
  566. data/grammars/text.texinfo.json +1 -1525
  567. data/grammars/text.vim-help.json +1 -383
  568. data/grammars/text.xml.ant.json +1 -195
  569. data/grammars/text.xml.flex-config.json +1 -2628
  570. data/grammars/text.xml.genshi.json +1 -28
  571. data/grammars/text.xml.json +1 -351
  572. data/grammars/text.xml.plist.json +1 -664
  573. data/grammars/text.xml.pom.json +1 -769
  574. data/grammars/text.xml.svg.json +1 -562
  575. data/grammars/text.xml.xsl.json +1 -88
  576. data/grammars/text.zone_file.json +1 -67
  577. data/grammars/version +1 -1
  578. data/lib/linguist/VERSION +1 -1
  579. data/lib/linguist/classifier.rb +28 -17
  580. data/lib/linguist/generated.rb +23 -3
  581. data/lib/linguist/generic.yml +18 -0
  582. data/lib/linguist/heuristics.yml +57 -22
  583. data/lib/linguist/language.rb +4 -2
  584. data/lib/linguist/languages.json +1 -1
  585. data/lib/linguist/languages.yml +142 -25
  586. data/lib/linguist/linguist.bundle +0 -0
  587. data/lib/linguist/samples.json +1 -1
  588. data/lib/linguist/samples.rb +4 -4
  589. data/lib/linguist/{md5.rb → sha256.rb} +3 -3
  590. data/lib/linguist/strategy/extension.rb +13 -5
  591. data/lib/linguist/vendor.yml +1 -1
  592. metadata +23 -10
  593. data/ext/linguist/strndup.c +0 -10
  594. data/grammars/source.js.css.json +0 -328
  595. data/grammars/source.js.jsx.json +0 -2488
  596. data/grammars/source.perl6fe.json +0 -2769
  597. data/grammars/source.quoting.perl6fe.json +0 -2369
  598. data/grammars/source.regexp.perl6fe.json +0 -244
@@ -1,144 +1 @@
1
- {
2
- "name": "MoonScript",
3
- "scopeName": "source.moonscript",
4
- "patterns": [
5
- {
6
- "name": "comment.line.double-dash.lua",
7
- "match": "(--)(?!\\[\\[).*$\\n?",
8
- "captures": {
9
- "1": {
10
- "name": "punctuation.definition.comment.lua"
11
- }
12
- }
13
- },
14
- {
15
- "name": "string.quoted.single.lua",
16
- "begin": "'",
17
- "end": "'",
18
- "patterns": [
19
- {
20
- "name": "constant.character.escape.lua",
21
- "match": "\\\\(\\d{1,3}|.)"
22
- }
23
- ],
24
- "beginCaptures": {
25
- "0": {
26
- "name": "punctuation.definition.string.begin.lua"
27
- }
28
- },
29
- "endCaptures": {
30
- "0": {
31
- "name": "punctuation.definition.string.end.lua"
32
- }
33
- }
34
- },
35
- {
36
- "name": "string.quoted.double.lua",
37
- "begin": "\"",
38
- "end": "\"",
39
- "patterns": [
40
- {
41
- "name": "constant.character.escape.lua",
42
- "match": "\\\\(\\d{1,3}|.)"
43
- }
44
- ],
45
- "beginCaptures": {
46
- "0": {
47
- "name": "punctuation.definition.string.begin.lua"
48
- }
49
- },
50
- "endCaptures": {
51
- "0": {
52
- "name": "punctuation.definition.string.end.lua"
53
- }
54
- }
55
- },
56
- {
57
- "name": "string.quoted.other.multiline.lua",
58
- "begin": "(?\u003c!--)\\[(=*)\\[",
59
- "end": "\\]\\1\\]",
60
- "beginCaptures": {
61
- "0": {
62
- "name": "punctuation.definition.string.begin.lua"
63
- }
64
- },
65
- "endCaptures": {
66
- "0": {
67
- "name": "punctuation.definition.string.end.lua"
68
- }
69
- }
70
- },
71
- {
72
- "name": "constant.numeric.lua",
73
- "match": "(?\u003c![\\d.])\\s0x[a-fA-F\\d]+|\\b\\d+(\\.\\d+)?([eE]-?\\d+)?|\\.\\d+([eE]-?\\d+)?"
74
- },
75
- {
76
- "name": "support.constant",
77
- "match": "\\b[A-Z]\\w*\\b(?!:)"
78
- },
79
- {
80
- "name": "keyword.operator",
81
- "match": "=\u003e|-\u003e"
82
- },
83
- {
84
- "name": "keyword.operator.lua",
85
- "match": "\\b(and|or|not)\\b"
86
- },
87
- {
88
- "name": "entity.name.function",
89
- "match": "[a-zA-Z_]\\w*\\s*(?=:)"
90
- },
91
- {
92
- "name": "entity.name.function",
93
- "match": "\\(|\\)"
94
- },
95
- {
96
- "name": "keyword.operator.lua",
97
- "match": "\\+|-|%|#|\\*|\\/|\\^|==?|~=|!=|\\\\|:|,|;|\\.|\u003c=?|\u003e=?|(?\u003c!\\.)\\.{2}(?!\\.)"
98
- },
99
- {
100
- "name": "storage.modifier",
101
- "match": "{|}|\\[|\\]"
102
- },
103
- {
104
- "name": "storage.type.class",
105
- "match": "\\b(class|extends|super)\\b"
106
- },
107
- {
108
- "name": "keyword.control",
109
- "match": "\\b(if|then|else|elseif|export|import|from|switch|when|with|using|do|for|in|while|return|local|unless|continue|break)\\b"
110
- },
111
- {
112
- "name": "variable.language",
113
- "match": "\\b(self)\\b"
114
- },
115
- {
116
- "name": "variable.parameter",
117
- "match": "@@?[a-zA-Z_]\\w*\\b"
118
- },
119
- {
120
- "name": "constant.language.nil",
121
- "match": "\\b(nil)\\b"
122
- },
123
- {
124
- "name": "constant.language.boolean",
125
- "match": "\\b(true|false)\\b"
126
- },
127
- {
128
- "name": "invalid.illegal",
129
- "match": "(?\u003c!\\.|\\\\)\\b(function|repeat|end)\\b(?!\\s*:)"
130
- },
131
- {
132
- "name": "support.function.lua",
133
- "match": "(?\u003c![^.]\\.|\\\\)\\b(assert|collectgarbage|dofile|error|getfenv|getmetatable|ipairs|loadfile|loadstring|module|next|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|unpack|xpcall)\\b"
134
- },
135
- {
136
- "name": "support.constant",
137
- "match": "(?\u003c![^.]\\.|\\\\)\\b(_G)\\b"
138
- },
139
- {
140
- "name": "support.function.library.lua",
141
- "match": "(?\u003c![^.]\\.|\\\\)\\b(coroutine\\.(create|resume|running|status|wrap|yield)|string\\.(byte|char|dump|find|format|gmatch|gsub|len|lower|match|rep|reverse|sub|upper)|table\\.(concat|insert|maxn|remove|sort)|math\\.(abs|acos|asin|atan2?|ceil|cosh?|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pow|rad|random|randomseed|sinh?|sqrt|tanh?)|io\\.(close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|os\\.(clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(cpath|loaded|loadlib|path|preload|seeall)|debug\\.(debug|[gs]etfenv|[gs]ethook|getinfo|[gs]etlocal|[gs]etmetatable|getregistry|[gs]etupvalue|traceback))\\b"
142
- }
143
- ]
144
- }
1
+ {"name":"MoonScript","scopeName":"source.moonscript","patterns":[{"name":"comment.line.double-dash.lua","match":"(--)(?!\\[\\[).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.lua"}}},{"name":"string.quoted.single.lua","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.lua","match":"\\\\(\\d{1,3}|.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}},{"name":"string.quoted.double.lua","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.lua","match":"\\\\(\\d{1,3}|.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}},{"name":"string.quoted.other.multiline.lua","begin":"(?\u003c!--)\\[(=*)\\[","end":"\\]\\1\\]","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}},{"name":"constant.numeric.lua","match":"(?\u003c![\\d.])\\s0x[a-fA-F\\d]+|\\b\\d+(\\.\\d+)?([eE]-?\\d+)?|\\.\\d+([eE]-?\\d+)?"},{"name":"support.constant","match":"\\b[A-Z]\\w*\\b(?!:)"},{"name":"keyword.operator","match":"=\u003e|-\u003e"},{"name":"keyword.operator.lua","match":"\\b(and|or|not)\\b"},{"name":"entity.name.function","match":"[a-zA-Z_]\\w*\\s*(?=:)"},{"name":"entity.name.function","match":"\\(|\\)"},{"name":"keyword.operator.lua","match":"\\+|-|%|#|\\*|\\/|\\^|==?|~=|!=|\\\\|:|,|;|\\.|\u003c=?|\u003e=?|(?\u003c!\\.)\\.{2}(?!\\.)"},{"name":"storage.modifier","match":"{|}|\\[|\\]"},{"name":"storage.type.class","match":"\\b(class|extends|super)\\b"},{"name":"keyword.control","match":"\\b(if|then|else|elseif|export|import|from|switch|when|with|using|do|for|in|while|return|local|unless|continue|break)\\b"},{"name":"variable.language","match":"\\b(self)\\b"},{"name":"variable.parameter","match":"@@?[a-zA-Z_]\\w*\\b"},{"name":"constant.language.nil","match":"\\b(nil)\\b"},{"name":"constant.language.boolean","match":"\\b(true|false)\\b"},{"name":"invalid.illegal","match":"(?\u003c!\\.|\\\\)\\b(function|repeat|end)\\b(?!\\s*:)"},{"name":"support.function.lua","match":"(?\u003c![^.]\\.|\\\\)\\b(assert|collectgarbage|dofile|error|getfenv|getmetatable|ipairs|loadfile|loadstring|module|next|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|unpack|xpcall)\\b"},{"name":"support.constant","match":"(?\u003c![^.]\\.|\\\\)\\b(_G)\\b"},{"name":"support.function.library.lua","match":"(?\u003c![^.]\\.|\\\\)\\b(coroutine\\.(create|resume|running|status|wrap|yield)|string\\.(byte|char|dump|find|format|gmatch|gsub|len|lower|match|rep|reverse|sub|upper)|table\\.(concat|insert|maxn|remove|sort)|math\\.(abs|acos|asin|atan2?|ceil|cosh?|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pow|rad|random|randomseed|sinh?|sqrt|tanh?)|io\\.(close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|os\\.(clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(cpath|loaded|loadlib|path|preload|seeall)|debug\\.(debug|[gs]etfenv|[gs]ethook|getinfo|[gs]etlocal|[gs]etmetatable|getregistry|[gs]etupvalue|traceback))\\b"}]}
@@ -1,187 +1 @@
1
- {
2
- "name": "MQL5",
3
- "scopeName": "source.mql5",
4
- "patterns": [
5
- {
6
- "include": "#comments"
7
- },
8
- {
9
- "name": "string.quoted.double.mql5",
10
- "begin": "\"",
11
- "end": "\"",
12
- "patterns": [
13
- {
14
- "include": "#escape_characters"
15
- }
16
- ],
17
- "beginCaptures": {
18
- "0": {
19
- "name": "punctuation.definition.string.begin.mql5"
20
- }
21
- },
22
- "endCaptures": {
23
- "0": {
24
- "name": "punctuation.definition.string.end.mql5"
25
- }
26
- }
27
- },
28
- {
29
- "name": "string.quoted.single.mql5",
30
- "begin": "'",
31
- "end": "'",
32
- "patterns": [
33
- {
34
- "include": "#escape_characters"
35
- }
36
- ],
37
- "beginCaptures": {
38
- "0": {
39
- "name": "punctuation.definition.string.begin.mql5"
40
- }
41
- },
42
- "endCaptures": {
43
- "0": {
44
- "name": "punctuation.definition.string.end.mql5"
45
- }
46
- }
47
- },
48
- {
49
- "name": "string.other.mql5",
50
- "begin": "(#include)(?:\\s*)(\u003c)",
51
- "end": "\u003e",
52
- "beginCaptures": {
53
- "1": {
54
- "name": "keyword.control.preprocessor.mql5"
55
- },
56
- "2": {
57
- "name": "punctuation.definition.string.begin.mql5"
58
- }
59
- },
60
- "endCaptures": {
61
- "0": {
62
- "name": "punctuation.definition.string.end.mql5"
63
- }
64
- }
65
- },
66
- {
67
- "name": "keyword.control.preprocessor.mql5",
68
- "match": "#\\b(include|package|define|undef|import|property|resource|ifdef|ifndef|else|endif)\\b"
69
- },
70
- {
71
- "name": "storage.modifier.mql5",
72
- "match": "\\b(const|private|protected|public|virtual|export)\\b"
73
- },
74
- {
75
- "name": "storage.input.mql5",
76
- "match": "\\b(extern|input|static|sinput)\\b"
77
- },
78
- {
79
- "name": "storage.type.mql5",
80
- "match": "\\b(char|short|int|long|uchar|ushort|uint|ulong|bool|color|datetime|string|double|float|enum|struct|class|interface|void)\\b"
81
- },
82
- {
83
- "name": "keyword.control.mql5",
84
- "match": "\\b(if|else|switch|case|default|break|continue|for|do|while|new|delete|return)\\b"
85
- },
86
- {
87
- "name": "keyword.other.mql5",
88
- "match": "\\b(operator|sizeof|this|template|typename|typedef|trash|defined|unsigned|dynamic_cast|override|final|__DATE__|__DATETIME__|__FILE__|__FUNCSIG__|__FUNCTION__|__LINE__|__PATH__)\\b"
89
- },
90
- {
91
- "name": "punctuation.definition.operator.mql5",
92
- "match": "=|\\+|\\-|\u003c|\u003e|!|\\*|/|%|\u0026|\\||~|\\^|,|:|\\?|;"
93
- },
94
- {
95
- "name": "punctuation.definition.brackets.mql5",
96
- "match": "\\(|\\)|\\[|\\]"
97
- },
98
- {
99
- "name": "entity.name.function.mql5",
100
- "match": "(?\u003c!\\.)\\b(AccountBalance|AccountCompany|AccountCredit|AccountCurrency|AccountEquity|AccountFreeMargin|AccountFreeMarginCheck|AccountFreeMarginMode|AccountInfoDouble|AccountInfoInteger|AccountInfoString|AccountLeverage|AccountMargin|AccountName|AccountNumber|AccountProfit|AccountServer|AccountStopoutLevel|AccountStopoutMode|acos|Alert|ArrayBsearch|ArrayCompare|ArrayCopy|ArrayCopyRates|ArrayCopySeries|ArrayDimension|ArrayFill|ArrayFree|ArrayGetAsSeries|ArrayInitialize|ArrayIsDynamic|ArrayIsSeries|ArrayMaximum|ArrayMinimum|ArrayRange|ArrayResize|ArraySetAsSeries|ArraySize|ArraySort|asin|atan|Bars|BarsCalculated|BarsPerWindow|ceil|CharArrayToString|ChartApplyTemplate|ChartClose|ChartFirst|ChartGetDouble|ChartGetInteger|ChartGetString|ChartID|ChartIndicatorAdd|ChartIndicatorDelete|ChartIndicatorGet|ChartIndicatorName|ChartIndicatorsTotal|ChartNavigate|ChartNext|ChartOpen|CharToStr|CharToString|ChartPeriod|ChartPriceOnDropped|ChartRedraw|ChartSaveTemplate|ChartScreenShot|ChartSetDouble|ChartSetInteger|ChartSetString|ChartSetSymbolPeriod|ChartSymbol|ChartTimeOnDropped|ChartTimePriceToXY|ChartWindowFind|ChartWindowOnDropped|ChartXOnDropped|ChartXYToTimePrice|ChartYOnDropped|CheckPointer|CLBufferCreate|CLBufferFree|CLBufferRead|CLBufferWrite|CLContextCreate|CLContextFree|CLExecute|CLGetDeviceInfo|CLGetInfoInteger|CLGetInfoString|CLHandleType|ClientTerminalName|CLKernelCreate|CLKernelFree|CLProgramCreate|CLProgramFree|CLSetKernelArg|CLSetKernelArgMem|ColorToARGB|ColorToString|Comment|CompanyName|CopyBuffer|CopyClose|CopyHigh|CopyLow|CopyOpen|CopyRates|CopyRealVolume|CopySpread|CopyTicks|CopyTickVolume|CopyTime|cos|CryptDecode|CryptEncode|CurTime|Day|DayOfWeek|DayOfYear|DebugBreak|Digits|DoubleToStr|DoubleToString|EnumToString|EventChartCustom|EventKillTimer|EventSetMillisecondTimer|EventSetTimer|exp|ExpertRemove|fabs|FileClose|FileCopy|FileDelete|FileFindClose|FileFindFirst|FileFindNext|FileFlush|FileGetInteger|FileIsEnding|FileIsExist|FileIsLineEnding|FileMove|FileOpen|FileOpenHistory|FileReadArray|FileReadBool|FileReadDatetime|FileReadDouble|FileReadFloat|FileReadInteger|FileReadLong|FileReadNumber|FileReadString|FileReadStruct|FileSeek|FileSize|FileTell|FileWrite|FileWriteArray|FileWriteDouble|FileWriteFloat|FileWriteInteger|FileWriteLong|FileWriteString|FileWriteStruct|FirstVisibleBar|floor|fmax|fmin|fmod|FolderClean|FolderCreate|FolderDelete|FrameAdd|FrameFilter|FrameFirst|FrameInputs|FrameNext|GetLastError|GetMicrosecondCount|GetPointer|GetTickCount|GlobalVariableCheck|GlobalVariableDel|GlobalVariableGet|GlobalVariableName|GlobalVariablesDeleteAll|GlobalVariableSet|GlobalVariableSetOnCondition|GlobalVariablesFlush|GlobalVariablesTotal|GlobalVariableTemp|GlobalVariableTime|HideTestIndicators|Highest|HistoryDealGetDouble|HistoryDealGetInteger|HistoryDealGetString|HistoryDealGetTicket|HistoryDealSelect|HistoryDealsTotal|HistoryOrderGetDouble|HistoryOrderGetInteger|HistoryOrderGetString|HistoryOrderGetTicket|HistoryOrderSelect|HistoryOrdersTotal|HistorySelect|HistorySelectByPosition|HistoryTotal|Hour|iBars|iBarShift|iClose|iHigh|iHighest|iLow|iLowest|IndicatorBuffers|IndicatorCounted|IndicatorCreate|IndicatorDigits|IndicatorParameters|IndicatorRelease|IndicatorSetDouble|IndicatorSetInteger|IndicatorSetString|IndicatorShortName|IntegerToString|iOpen|IsConnected|IsDemo|IsDllsAllowed|IsExpertEnabled|IsLibrariesAllowed|IsOptimization|IsStopped|IsTesting|IsTradeAllowed|IsTradeContextBusy|IsVisualMode|iTime|iVolume|LocalTime|log|log10|Lowest|MarketBookAdd|MarketBookGet|MarketBookRelease|MarketInfo|MathAbs|MathArccos|MathArcsin|MathArctan|MathCeil|MathCos|MathExp|MathFloor|MathIsValidNumber|MathLog|MathLog10|MathMax|MathMin|MathMod|MathPow|MathRand|MathRound|MathSin|MathSqrt|MathSrand|MathTan|MessageBox|Minute|Month|MQL5InfoInteger|MQL5InfoString|MQLInfoInteger|MQLInfoString|MQLSetInteger|NormalizeDouble|ObjectCreate|ObjectDelete|ObjectDescription|ObjectFind|ObjectGet|ObjectGetDouble|ObjectGetFiboDescription|ObjectGetInteger|ObjectGetShiftByValue|ObjectGetString|ObjectGetTimeByValue|ObjectGetValueByShift|ObjectGetValueByTime|ObjectMove|ObjectName|ObjectsDeleteAll|ObjectSet|ObjectSetDouble|ObjectSetFiboDescription|ObjectSetInteger|ObjectSetString|ObjectSetText|ObjectsRedraw|ObjectsTotal|ObjectType|OnBookEvent|OnCalculate|OnChartEvent|OnDeinit|OnInit|OnStart|OnTester|OnTesterDeinit|OnTesterInit|OnTesterPass|OnTick|OnTimer|OnTrade|OnTradeTransaction|OrderCalcMargin|OrderCalcProfit|OrderCheck|OrderClose|OrderCloseBy|OrderClosePrice|OrderCloseTime|OrderComment|OrderCommission|OrderDelete|OrderExpiration|OrderGetDouble|OrderGetInteger|OrderGetString|OrderGetTicket|OrderLots|OrderMagicNumber|OrderModify|OrderOpenPrice|OrderOpenTime|OrderPrint|OrderProfit|OrderSelect|OrderSend|OrderSendAsync|OrdersHistoryTotal|OrderStopLoss|OrdersTotal|OrderSwap|OrderSymbol|OrderTakeProfit|OrderTicket|OrderType|ParameterGetRange|ParameterSetRange|Period|PeriodSeconds|PlaySound|PlotIndexGetInteger|PlotIndexSetDouble|PlotIndexSetInteger|PlotIndexSetString|Point|PositionGetDouble|PositionGetInteger|PositionGetString|PositionGetSymbol|PositionGetTicket|PositionSelect|PositionSelectByTicket|PositionsTotal|pow|PriceOnDropped|Print|printf|PrintFormat|rand|RefreshRates|ResetLastError|ResourceCreate|ResourceFree|ResourceReadImage|ResourceSave|round|ScreenShot|Seconds|SendFTP|SendMail|SendNotification|SeriesInfoInteger|ServerAddress|SetIndexArrow|SetIndexBuffer|SetIndexDrawBegin|SetIndexEmptyValue|SetIndexLabel|SetIndexShift|SetIndexStyle|SetLevelStyle|SetLevelValue|SetUserError|ShortArrayToString|ShortToString|SignalBaseGetDouble|SignalBaseGetInteger|SignalBaseGetString|SignalBaseSelect|SignalBaseTotal|SignalInfoGetDouble|SignalInfoGetInteger|SignalInfoGetString|SignalInfoSetDouble|SignalInfoSetInteger|SignalSubscribe|SignalUnsubscribe|sin|Sleep|sqrt|srand|StringAdd|StringBufferLen|StringCompare|StringConcatenate|StringFill|StringFind|StringFormat|StringGetChar|StringGetCharacter|StringInit|StringLen|StringReplace|StringSetChar|StringSetCharacter|StringSplit|StringSubstr|StringToCharArray|StringToColor|StringToDouble|StringToInteger|StringToLower|StringToShortArray|StringToTime|StringToUpper|StringTrimLeft|StringTrimRight|StrToDouble|StrToInteger|StrToTime|StructToTime|Symbol|SymbolInfoDouble|SymbolInfoInteger|SymbolInfoMarginRate|SymbolInfoSessionQuote|SymbolInfoSessionTrade|SymbolInfoString|SymbolInfoTick|SymbolIsSynchronized|SymbolName|SymbolSelect|SymbolsTotal|tan|TerminalClose|TerminalCompany|TerminalInfoDouble|TerminalInfoInteger|TerminalInfoString|TerminalName|TerminalPath|TesterStatistics|TesterWithdrawal|TextGetSize|TextOut|TextSetFont|TimeCurrent|TimeDay|TimeDaylightSavings|TimeDayOfWeek|TimeDayOfYear|TimeGMT|TimeGMTOffset|TimeHour|TimeLocal|TimeMinute|TimeMonth|TimeOnDropped|TimeSeconds|TimeToStr|TimeToString|TimeToStruct|TimeTradeServer|TimeYear|UninitializeReason|WebRequest|WindowBarsPerChart|WindowExpertName|WindowFind|WindowFirstVisibleBar|WindowHandle|WindowIsVisible|WindowOnDropped|WindowPriceMax|WindowPriceMin|WindowPriceOnDropped|WindowRedraw|WindowScreenShot|WindowsTotal|WindowTimeOnDropped|WindowXOnDropped|WindowYOnDropped|Year|ZeroMemory)\\b"
101
- },
102
- {
103
- "name": "entity.name.function.mql5",
104
- "match": "(?\u003c!\\.)\\b(init|deinit|start)\\b"
105
- },
106
- {
107
- "name": "support.function.mql5",
108
- "match": "(?\u003c!\\.)\\b(iAC|iAD|iADX|iADXWilder|iAlligator|iAMA|iAO|iATR|iBands|iBandsOnArray|iBearsPower|iBullsPower|iBWMFI|iCCI|iCCIOnArray|iChaikin|iCustom|iDEMA|iDeMarker|iEnvelopes|iEnvelopesOnArray|iForce|iFractals|iFrAMA|iGator|iIchimoku|iMA|iMACD|iMAOnArray|iMFI|iMomentum|iMomentumOnArray|iOBV|iOsMA|iRSI|iRSIOnArray|iRVI|iSAR|iStdDev|iStdDevOnArray|iStochastic|iTEMA|iTriX|iVIDyA|iVolumes|iWPR)\\b"
109
- },
110
- {
111
- "name": "variable.language.predefined.mql5",
112
- "match": "(?\u003c!\\.)\\b(!ZeroString|!ZeroValue|_AppliedTo|_CriticalError|_Digits|_IsX64|_LastError|_Period|_Point|_RandomSeed|_ReturnedDouble|_ReturnedFloat|_ReturnedString|_StopFlag|_Symbol|_UninitReason|Ask|Bars|Bid|Close|Digits|High|Low|MqlBookInfo|MqlDateTime|MqlParam|MqlRates|MqlTick|MqlTradeCheckResult|MqlTradeRequest|MqlTradeResult|MqlTradeTransaction|Open|Point|Time|Volume)\\b"
113
- },
114
- {
115
- "name": "support.constant.mql5",
116
- "match": "\\b(__MQ5BUILD__|__MQL4__|__MQL4BUILD__|__MQL5__|__MQL5BUILD__|__MQL__|__MQLBUILD__|ACCOUNT_ASSETS|ACCOUNT_BALANCE|ACCOUNT_COMMISSION_BLOCKED|ACCOUNT_COMPANY|ACCOUNT_CREDIT|ACCOUNT_CURRENCY|ACCOUNT_EQUITY|ACCOUNT_FREEMARGIN|ACCOUNT_LEVERAGE|ACCOUNT_LIABILITIES|ACCOUNT_LIMIT_ORDERS|ACCOUNT_LOGIN|ACCOUNT_MARGIN|ACCOUNT_MARGIN_FREE|ACCOUNT_MARGIN_INITIAL|ACCOUNT_MARGIN_LEVEL|ACCOUNT_MARGIN_MAINTENANCE|ACCOUNT_MARGIN_MODE|ACCOUNT_MARGIN_MODE_EXCHANGE|ACCOUNT_MARGIN_MODE_RETAIL_HEDGING|ACCOUNT_MARGIN_MODE_RETAIL_NETTING|ACCOUNT_MARGIN_SO_CALL|ACCOUNT_MARGIN_SO_MODE|ACCOUNT_MARGIN_SO_SO|ACCOUNT_NAME|ACCOUNT_PROFIT|ACCOUNT_SERVER|ACCOUNT_STOPOUT_MODE_MONEY|ACCOUNT_STOPOUT_MODE_PERCENT|ACCOUNT_TRADE_ALLOWED|ACCOUNT_TRADE_EXPERT|ACCOUNT_TRADE_MODE|ACCOUNT_TRADE_MODE_CONTEST|ACCOUNT_TRADE_MODE_DEMO|ACCOUNT_TRADE_MODE_REAL|ALIGN_CENTER|ALIGN_LEFT|ALIGN_RIGHT|ANCHOR_BOTTOM|ANCHOR_CENTER|ANCHOR_LEFT|ANCHOR_LEFT_LOWER|ANCHOR_LEFT_UPPER|ANCHOR_LOWER|ANCHOR_RIGHT|ANCHOR_RIGHT_LOWER|ANCHOR_RIGHT_UPPER|ANCHOR_TOP|ANCHOR_UPPER|BASE_LINE|BOOK_TYPE_BUY|BOOK_TYPE_BUY_MARKET|BOOK_TYPE_SELL|BOOK_TYPE_SELL_MARKET|BORDER_FLAT|BORDER_RAISED|BORDER_SUNKEN|CHAR_MAX|CHAR_MIN|CHAR_VALUE|CHART_AUTOSCROLL|CHART_BARS|CHART_BEGIN|CHART_BRING_TO_TOP|CHART_CANDLES|CHART_COLOR_ASK|CHART_COLOR_BACKGROUND|CHART_COLOR_BID|CHART_COLOR_CANDLE_BEAR|CHART_COLOR_CANDLE_BULL|CHART_COLOR_CHART_DOWN|CHART_COLOR_CHART_LINE|CHART_COLOR_CHART_UP|CHART_COLOR_FOREGROUND|CHART_COLOR_GRID|CHART_COLOR_LAST|CHART_COLOR_STOP_LEVEL|CHART_COLOR_VOLUME|CHART_COMMENT|CHART_CURRENT_POS|CHART_DRAG_TRADE_LEVELS|CHART_END|CHART_EVENT_MOUSE_MOVE|CHART_EVENT_OBJECT_CREATE|CHART_EVENT_OBJECT_DELETE|CHART_EXPERT_NAME|CHART_FIRST_VISIBLE_BAR|CHART_FIXED_MAX|CHART_FIXED_MIN|CHART_FIXED_POSITION|CHART_FOREGROUND|CHART_HEIGHT_IN_PIXELS|CHART_IS_OBJECT|CHART_IS_OFFLINE|CHART_LINE|CHART_MODE|CHART_MOUSE_SCROLL|CHART_POINTS_PER_BAR|CHART_PRICE_MAX|CHART_PRICE_MIN|CHART_SCALE|CHART_SCALE_PT_PER_BAR|CHART_SCALEFIX|CHART_SCALEFIX_11|CHART_SCRIPT_NAME|CHART_SHIFT|CHART_SHIFT_SIZE|CHART_SHOW_ASK_LINE|CHART_SHOW_BID_LINE|CHART_SHOW_DATE_SCALE|CHART_SHOW_GRID|CHART_SHOW_LAST_LINE|CHART_SHOW_OBJECT_DESCR|CHART_SHOW_OHLC|CHART_SHOW_ONE_CLICK|CHART_SHOW_PERIOD_SEP|CHART_SHOW_PRICE_SCALE|CHART_SHOW_TRADE_LEVELS|CHART_SHOW_VOLUMES|CHART_VISIBLE_BARS|CHART_VOLUME_HIDE|CHART_VOLUME_REAL|CHART_VOLUME_TICK|CHART_WIDTH_IN_BARS|CHART_WIDTH_IN_PIXELS|CHART_WINDOW_HANDLE|CHART_WINDOW_IS_VISIBLE|CHART_WINDOW_YDISTANCE|CHART_WINDOWS_TOTAL|CHARTEVENT_CHART_CHANGE|CHARTEVENT_CLICK|CHARTEVENT_CUSTOM|CHARTEVENT_CUSTOM_LAST|CHARTEVENT_KEYDOWN|CHARTEVENT_MOUSE_MOVE|CHARTEVENT_OBJECT_CHANGE|CHARTEVENT_OBJECT_CLICK|CHARTEVENT_OBJECT_CREATE|CHARTEVENT_OBJECT_DELETE|CHARTEVENT_OBJECT_DRAG|CHARTEVENT_OBJECT_ENDEDIT|CHARTS_MAX|CHIKOUSPAN_LINE|CL_BUFFER_SIZE|CL_DEVICE_ACCELERATOR|CL_DEVICE_BUILT_IN_KERNELS|CL_DEVICE_COUNT|CL_DEVICE_CPU|CL_DEVICE_CUSTOM|CL_DEVICE_DEFAULT|CL_DEVICE_DOUBLE_FP_CONFIG|CL_DEVICE_EXTENSIONS|CL_DEVICE_GLOBAL_MEM_SIZE|CL_DEVICE_GPU|CL_DEVICE_LOCAL_MEM_SIZE|CL_DEVICE_MAX_CLOCK_FREQUENCY|CL_DEVICE_MAX_COMPUTE_UNITS|CL_DEVICE_MAX_WORK_GROUP_SIZE|CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS|CL_DEVICE_MAX_WORK_ITEM_SIZES|CL_DEVICE_NAME|CL_DEVICE_OPENCL_C_VERSION|CL_DEVICE_PROFILE|CL_DEVICE_TYPE|CL_DEVICE_VENDOR|CL_DEVICE_VENDOR_ID|CL_DEVICE_VERSION|CL_DRIVER_VERSION|CL_MEM_ALLOC_HOST_PTR|CL_MEM_COPY_HOST_PTR|CL_MEM_READ_ONLY|CL_MEM_READ_WRITE|CL_MEM_USE_HOST_PTR|CL_MEM_WRITE_ONLY|CL_PLATFORM_EXTENSIONS|CL_PLATFORM_NAME|CL_PLATFORM_PROFILE|CL_PLATFORM_VENDOR|CL_PLATFORM_VERSION|CL_USE_ANY|CL_USE_CPU_ONLY|CL_USE_GPU_ONLY|clrAliceBlue|clrAntiqueWhite|clrAqua|clrAquamarine|clrAzure|clrBeige|clrBisque|clrBlack|clrBlanchedAlmond|clrBlue|clrBlueViolet|clrBrown|clrBurlyWood|clrCadetBlue|clrChartreuse|clrChocolate|clrCoral|clrCornflowerBlue|clrCornsilk|clrCrimson|clrCyan|clrDarkBlue|clrDarkCyan|clrDarkGoldenrod|clrDarkGray|clrDarkGreen|clrDarkKhaki|clrDarkMagenta|clrDarkOliveGreen|clrDarkOrange|clrDarkOrchid|clrDarkRed|clrDarkSalmon|clrDarkSeaGreen|clrDarkSlateBlue|clrDarkSlateGray|clrDarkTurquoise|clrDarkViolet|clrDeepPink|clrDeepSkyBlue|clrDimGray|clrDodgerBlue|clrFireBrick|clrFloralWhite|clrForestGreen|clrFuchsia|clrGainsboro|clrGhostWhite|clrGold|clrGoldenrod|clrGray|clrGreen|clrGreenYellow|clrHoneydew|clrHotPink|clrIndianRed|clrIndigo|clrIvory|clrKhaki|clrLavender|clrLavenderBlush|clrLawnGreen|clrLemonChiffon|clrLightBlue|clrLightCoral|clrLightCyan|clrLightGoldenrod|clrLightGray|clrLightGreen|clrLightPink|clrLightSalmon|clrLightSeaGreen|clrLightSkyBlue|clrLightSlateGray|clrLightSteelBlue|clrLightYellow|clrLime|clrLimeGreen|clrLinen|clrMagenta|clrMaroon|clrMediumAquamarine|clrMediumBlue|clrMediumOrchid|clrMediumPurple|clrMediumSeaGreen|clrMediumSlateBlue|clrMediumSpringGreen|clrMediumTurquoise|clrMediumVioletRed|clrMidnightBlue|clrMintCream|clrMistyRose|clrMoccasin|clrNavajoWhite|clrNavy|clrNONE|clrOldLace|clrOlive|clrOliveDrab|clrOrange|clrOrangeRed|clrOrchid|clrPaleGoldenrod|clrPaleGreen|clrPaleTurquoise|clrPaleVioletRed|clrPapayaWhip|clrPeachPuff|clrPeru|clrPink|clrPlum|clrPowderBlue|clrPurple|clrRed|clrRosyBrown|clrRoyalBlue|clrSaddleBrown|clrSalmon|clrSandyBrown|clrSeaGreen|clrSeashell|clrSienna|clrSilver|clrSkyBlue|clrSlateBlue|clrSlateGray|clrSnow|clrSpringGreen|clrSteelBlue|clrTan|clrTeal|clrThistle|clrTomato|clrTurquoise|clrViolet|clrWheat|clrWhite|clrWhiteSmoke|clrYellow|clrYellowGreen|COLOR_FORMAT_ARGB_NORMALIZE|COLOR_FORMAT_ARGB_RAW|COLOR_FORMAT_XRGB_NOALPHA|COPY_TICKS_ALL|COPY_TICKS_INFO|COPY_TICKS_TRADE|copyright|CORNER_LEFT_LOWER|CORNER_LEFT_UPPER|CORNER_RIGHT_LOWER|CORNER_RIGHT_UPPER|CP_ACP|CP_MACCP|CP_OEMCP|CP_SYMBOL|CP_THREAD_ACP|CP_UTF7|CP_UTF8|CRYPT_AES128|CRYPT_AES256|CRYPT_ARCH_ZIP|CRYPT_BASE64|CRYPT_DES|CRYPT_HASH_MD5|CRYPT_HASH_SHA1|CRYPT_HASH_SHA256|DBL_DIG|DBL_EPSILON|DBL_MANT_DIG|DBL_MAX|DBL_MAX_10_EXP|DBL_MAX_EXP|DBL_MIN|DBL_MIN_10_EXP|DBL_MIN_EXP|DEAL_COMMENT|DEAL_COMMISSION|DEAL_ENTRY|DEAL_ENTRY_IN|DEAL_ENTRY_INOUT|DEAL_ENTRY_OUT|DEAL_ENTRY_OUT_BY|DEAL_ENTRY_STATE|DEAL_EXTERNAL_ID|DEAL_MAGIC|DEAL_ORDER|DEAL_POSITION_ID|DEAL_PRICE|DEAL_PROFIT|DEAL_SWAP|DEAL_SYMBOL|DEAL_TICKET|DEAL_TIME|DEAL_TIME_MSC|DEAL_TYPE|DEAL_TYPE_BALANCE|DEAL_TYPE_BONUS|DEAL_TYPE_BUY|DEAL_TYPE_BUY_CANCELED|DEAL_TYPE_CHARGE|DEAL_TYPE_COMMISSION|DEAL_TYPE_COMMISSION_AGENT_DAILY|DEAL_TYPE_COMMISSION_AGENT_MONTHLY|DEAL_TYPE_COMMISSION_DAILY|DEAL_TYPE_COMMISSION_MONTHLY|DEAL_TYPE_CORRECTION|DEAL_TYPE_CREDIT|DEAL_TYPE_INTEREST|DEAL_TYPE_SELL|DEAL_TYPE_SELL_CANCELED|DEAL_VOLUME|description|DOUBLE_VALUE|DRAW_ARROW|DRAW_BARS|DRAW_BARSCLOSE|DRAW_BARSHIGH|DRAW_BARSLOW|DRAW_BARSOPEN|DRAW_CANDLES|DRAW_COLOR_ARROW|DRAW_COLOR_BARS|DRAW_COLOR_CANDLES|DRAW_COLOR_HISTOGRAM|DRAW_COLOR_HISTOGRAM2|DRAW_COLOR_LINE|DRAW_COLOR_SECTION|DRAW_COLOR_ZIGZAG|DRAW_COLORCANDLE|DRAW_COLORLINE|DRAW_FILLING|DRAW_HISTOGRAM|DRAW_HISTOGRAM2|DRAW_LINE|DRAW_NONE|DRAW_SECTION|DRAW_ZIGZAG|ELLIOTT_CYCLE|ELLIOTT_GRAND_SUPERCYCLE|ELLIOTT_INTERMEDIATE|ELLIOTT_MINOR|ELLIOTT_MINUETTE|ELLIOTT_MINUTE|ELLIOTT_PRIMARY|ELLIOTT_SUBMINUETTE|ELLIOTT_SUPERCYCLE|EMPTY|EMPTY_VALUE|ENUM_ACCOUNT_INFO_DOUBLE|ENUM_ACCOUNT_INFO_INTEGER|ENUM_ACCOUNT_INFO_STRING|ENUM_ACCOUNT_MARGIN_MODE|ENUM_ACCOUNT_STOPOUT_MODE|ENUM_ACCOUNT_TRADE_MODE|ENUM_ALIGN_MODE|ENUM_ANCHOR_POINT|ENUM_APPLIED_PRICE|ENUM_APPLIED_VOLUME|ENUM_ARROW_ANCHOR|ENUM_BASE_CORNER|ENUM_BOOK_TYPE|ENUM_BORDER_TYPE|ENUM_CHART_EVENT|ENUM_CHART_MODE|ENUM_CHART_POSITION|ENUM_CHART_PROPERTY_DOUBLE|ENUM_CHART_PROPERTY_INTEGER|ENUM_CHART_PROPERTY_STRING|ENUM_CHART_VOLUME_MODE|ENUM_CL_DEVICE_TYPE|ENUM_COLOR_FORMAT|ENUM_CRYPT_METHOD|ENUM_CUSTOMIND_PROPERTY_DOUBLE|ENUM_CUSTOMIND_PROPERTY_INTEGER|ENUM_CUSTOMIND_PROPERTY_STRING|ENUM_DATATYPE|ENUM_DAY_OF_WEEK|ENUM_DEAL_ENTRY|ENUM_DEAL_PROPERTY_DOUBLE|ENUM_DEAL_PROPERTY_INTEGER|ENUM_DEAL_PROPERTY_STRING|ENUM_DEAL_TYPE|ENUM_DRAW_TYPE|ENUM_ELLIOT_WAVE_DEGREE|ENUM_FILE_POSITION|ENUM_FILE_PROPERTY_INTEGER|ENUM_GANN_DIRECTION|ENUM_INDEXBUFFER_TYPE|ENUM_INDICATOR|ENUM_INIT_RETCODE|ENUM_LICENSE_TYPE|ENUM_LINE_STYLE|ENUM_MA_METHOD|ENUM_MARKETINFO|ENUM_MQL5_INFO_INTEGER|ENUM_MQL5_INFO_STRING|ENUM_MQL_INFO_INTEGER|ENUM_MQL_INFO_STRING|ENUM_OBJECT|ENUM_OBJECT_PROPERTY_DOUBLE|ENUM_OBJECT_PROPERTY_INTEGER|ENUM_OBJECT_PROPERTY_STRING|ENUM_OPENCL_HANDLE_TYPE|ENUM_OPENCL_PROPERTY_INTEGER|ENUM_OPENCL_PROPERTY_STRING|ENUM_ORDER_PROPERTY_DOUBLE|ENUM_ORDER_PROPERTY_INTEGER|ENUM_ORDER_PROPERTY_STRING|ENUM_ORDER_STATE|ENUM_ORDER_TYPE|ENUM_ORDER_TYPE_FILLING|ENUM_ORDER_TYPE_TIME|ENUM_PLOT_PROPERTY_DOUBLE|ENUM_PLOT_PROPERTY_INTEGER|ENUM_PLOT_PROPERTY_STRING|ENUM_POINTER_TYPE|ENUM_POSITION_PROPERTY_DOUBLE|ENUM_POSITION_PROPERTY_INTEGER|ENUM_POSITION_PROPERTY_STRING|ENUM_POSITION_TYPE|ENUM_PROGRAM_TYPE|ENUM_SERIES_INFO_INTEGER|ENUM_SERIESMODE|ENUM_SIGNAL_BASE_DOUBLE|ENUM_SIGNAL_BASE_INTEGER|ENUM_SIGNAL_BASE_STRING|ENUM_SIGNAL_INFO_DOUBLE|ENUM_SIGNAL_INFO_INTEGER|ENUM_SIGNAL_INFO_STRING|ENUM_STATISTICS|ENUM_STO_PRICE|ENUM_SYMBOL_CALC_MODE|ENUM_SYMBOL_INFO_DOUBLE|ENUM_SYMBOL_INFO_INTEGER|ENUM_SYMBOL_INFO_STRING|ENUM_SYMBOL_OPTION_MODE|ENUM_SYMBOL_OPTION_RIGHT|ENUM_SYMBOL_SWAP_MODE|ENUM_SYMBOL_TRADE_EXECUTION|ENUM_SYMBOL_TRADE_MODE|ENUM_TERMINAL_INFO_DOUBLE|ENUM_TERMINAL_INFO_INTEGER|ENUM_TERMINAL_INFO_STRING|ENUM_TIMEFRAMES|ENUM_TRADE_REQUEST_ACTIONS|ENUM_TRADE_TRANSACTION_TYPE|ERR_ACCOUNT_DISABLED|ERR_ACCOUNT_WRONG_PROPERTY|ERR_ARRAY_AS_PARAMETER_EXPECTED|ERR_ARRAY_BAD_SIZE|ERR_ARRAY_INDEX_OUT_OF_RANGE|ERR_ARRAY_INVALID|ERR_ARRAY_RESIZE_ERROR|ERR_BOOKS_CANNOT_ADD|ERR_BOOKS_CANNOT_DELETE|ERR_BOOKS_CANNOT_GET|ERR_BOOKS_CANNOT_SUBSCRIBE|ERR_BROKER_BUSY|ERR_BUFFERS_NO_MEMORY|ERR_BUFFERS_WRONG_INDEX|ERR_CANNOT_CALL_FUNCTION|ERR_CANNOT_CLEAN_DIRECTORY|ERR_CANNOT_DELETE_DIRECTORY|ERR_CANNOT_DELETE_FILE|ERR_CANNOT_LOAD_LIBRARY|ERR_CANNOT_OPEN_FILE|ERR_CHAR_ARRAY_ONLY|ERR_CHART_CANNOT_CHANGE|ERR_CHART_CANNOT_CREATE_TIMER|ERR_CHART_CANNOT_OPEN|ERR_CHART_INDICATOR_CANNOT_ADD|ERR_CHART_INDICATOR_CANNOT_DEL|ERR_CHART_INDICATOR_NOT_FOUND|ERR_CHART_NAVIGATE_FAILED|ERR_CHART_NO_EXPERT|ERR_CHART_NO_REPLY|ERR_CHART_NOREPLY|ERR_CHART_NOT_FOUND|ERR_CHART_PROP_INVALID|ERR_CHART_SCREENSHOT_FAILED|ERR_CHART_TEMPLATE_FAILED|ERR_CHART_WINDOW_NOT_FOUND|ERR_CHART_WRONG_ID|ERR_CHART_WRONG_PARAMETER|ERR_CHART_WRONG_PROPERTY|ERR_CHARTINDICATOR_NOT_FOUND|ERR_CHARTWINDOW_NOT_FOUND|ERR_COMMON_ERROR|ERR_CUSTOM_INDICATOR_ERROR|ERR_CUSTOM_WRONG_PROPERTY|ERR_DIRECTORY_NOT_EXIST|ERR_DLL_CALLS_NOT_ALLOWED|ERR_DLLFUNC_CRITICALERROR|ERR_DOUBLE_ARRAY_ONLY|ERR_DOUBLE_PARAMETER_EXPECTED|ERR_END_OF_FILE|ERR_EXTERNAL_CALLS_NOT_ALLOWED|ERR_FILE_ARRAYRESIZE_ERROR|ERR_FILE_BIN_STRINGSIZE|ERR_FILE_BINSTRINGSIZE|ERR_FILE_BUFFER_ALLOCATION_ERROR|ERR_FILE_CACHEBUFFER_ERROR|ERR_FILE_CANNOT_CLEAN_DIRECTORY|ERR_FILE_CANNOT_DELETE|ERR_FILE_CANNOT_DELETE_DIRECTORY|ERR_FILE_CANNOT_OPEN|ERR_FILE_CANNOT_REWRITE|ERR_FILE_DIRECTORY_NOT_EXIST|ERR_FILE_ENDOFFILE|ERR_FILE_INCOMPATIBLE)\\b"
117
- },
118
- {
119
- "name": "support.constant.mql5",
120
- "match": "\\b(ERR_FILE_INVALID_HANDLE|ERR_FILE_IS_DIRECTORY|ERR_FILE_ISNOT_DIRECTORY|ERR_FILE_NOT_BIN|ERR_FILE_NOT_CSV|ERR_FILE_NOT_DIRECTORY|ERR_FILE_NOT_EXIST|ERR_FILE_NOT_TOREAD|ERR_FILE_NOT_TOWRITE|ERR_FILE_NOT_TXT|ERR_FILE_NOT_TXTORCSV|ERR_FILE_NOTBIN|ERR_FILE_NOTCSV|ERR_FILE_NOTTOREAD|ERR_FILE_NOTTOWRITE|ERR_FILE_NOTTXT|ERR_FILE_NOTTXTORCSV|ERR_FILE_READ_ERROR|ERR_FILE_READERROR|ERR_FILE_STRINGRESIZE_ERROR|ERR_FILE_STRUCT_WITH_OBJECTS|ERR_FILE_TOO_LONG_FILENAME|ERR_FILE_TOO_MANY_OPENED|ERR_FILE_WRITE_ERROR|ERR_FILE_WRITEERROR|ERR_FILE_WRONG_DIRECTORYNAME|ERR_FILE_WRONG_FILENAME|ERR_FILE_WRONG_HANDLE|ERR_FLOAT_ARRAY_ONLY|ERR_FORMAT_TOO_MANY_FORMATTERS|ERR_FORMAT_TOO_MANY_PARAMETERS|ERR_FTP_CHANGEDIR|ERR_FTP_CLOSED|ERR_FTP_CONNECT_FAILED|ERR_FTP_ERROR|ERR_FTP_FILE_ERROR|ERR_FTP_NOLOGIN|ERR_FTP_NOSERVER|ERR_FTP_SEND_FAILED|ERR_FUNC_NOT_ALLOWED_IN_TESTING|ERR_FUNCTION_NOT_ALLOWED|ERR_FUNCTION_NOT_CONFIRMED|ERR_GLOBAL_VARIABLE_NOT_FOUND|ERR_GLOBAL_VARIABLES_PROCESSING|ERR_GLOBALVARIABLE_EXISTS|ERR_GLOBALVARIABLE_NOT_FOUND|ERR_HISTORY_BARS_LIMIT|ERR_HISTORY_LOAD_ERRORS|ERR_HISTORY_NOT_FOUND|ERR_HISTORY_TIMEOUT|ERR_HISTORY_WILL_UPDATED|ERR_HISTORY_WRONG_PROPERTY|ERR_INCOMPATIBLE_ARRAYS|ERR_INCOMPATIBLE_FILE|ERR_INCOMPATIBLE_FILEACCESS|ERR_INCORRECT_SERIESARRAY_USING|ERR_INDICATOR_CANNOT_ADD|ERR_INDICATOR_CANNOT_APPLY|ERR_INDICATOR_CANNOT_CREATE|ERR_INDICATOR_CANNOT_INIT|ERR_INDICATOR_CANNOT_LOAD|ERR_INDICATOR_CUSTOM_NAME|ERR_INDICATOR_DATA_NOT_FOUND|ERR_INDICATOR_NO_MEMORY|ERR_INDICATOR_PARAMETER_TYPE|ERR_INDICATOR_PARAMETERS_MISSING|ERR_INDICATOR_UNKNOWN_SYMBOL|ERR_INDICATOR_WRONG_HANDLE|ERR_INDICATOR_WRONG_INDEX|ERR_INDICATOR_WRONG_PARAMETERS|ERR_INT_ARRAY_ONLY|ERR_INTEGER_PARAMETER_EXPECTED|ERR_INTERNAL_ERROR|ERR_INVALID_ACCOUNT|ERR_INVALID_ARRAY|ERR_INVALID_DATETIME|ERR_INVALID_FILEHANDLE|ERR_INVALID_FUNCTION_PARAMSCNT|ERR_INVALID_FUNCTION_PARAMVALUE|ERR_INVALID_PARAMETER|ERR_INVALID_POINTER|ERR_INVALID_POINTER_TYPE|ERR_INVALID_PRICE|ERR_INVALID_PRICE_PARAM|ERR_INVALID_STOPS|ERR_INVALID_TICKET|ERR_INVALID_TRADE_PARAMETERS|ERR_INVALID_TRADE_VOLUME|ERR_LONG_ARRAY_ONLY|ERR_LONG_POSITIONS_ONLY_ALLOWED|ERR_LONGS_NOT_ALLOWED|ERR_MAIL_SEND_FAILED|ERR_MALFUNCTIONAL_TRADE|ERR_MARKET_CLOSED|ERR_MARKET_LASTTIME_UNKNOWN|ERR_MARKET_NOT_SELECTED|ERR_MARKET_SELECT_ERROR|ERR_MARKET_UNKNOWN_SYMBOL|ERR_MARKET_WRONG_PROPERTY|ERR_MQL5_WRONG_PROPERTY|ERR_NO_CONNECTION|ERR_NO_ERROR|ERR_NO_HISTORY_DATA|ERR_NO_MEMORY_FOR_ARRAYSTRING|ERR_NO_MEMORY_FOR_CALL_STACK|ERR_NO_MEMORY_FOR_HISTORY|ERR_NO_MEMORY_FOR_INDICATOR|ERR_NO_MEMORY_FOR_PARAM_STRING|ERR_NO_MEMORY_FOR_RETURNED_STR|ERR_NO_MEMORY_FOR_TEMP_STRING|ERR_NO_MQLERROR|ERR_NO_OBJECT_NAME|ERR_NO_ORDER_SELECTED|ERR_NO_RESULT|ERR_NO_SPECIFIED_SUBWINDOW|ERR_NO_STRING_DATE|ERR_NOT_ENOUGH_MEMORY|ERR_NOT_ENOUGH_MONEY|ERR_NOT_ENOUGH_RIGHTS|ERR_NOT_ENOUGH_STACK_FOR_PARAM|ERR_NOT_INITIALIZED_ARRAY|ERR_NOT_INITIALIZED_ARRAYSTRING|ERR_NOT_INITIALIZED_STRING|ERR_NOTIFICATION_ERROR|ERR_NOTIFICATION_PARAMETER|ERR_NOTIFICATION_SEND_FAILED|ERR_NOTIFICATION_SETTINGS|ERR_NOTIFICATION_TOO_FREQUENT|ERR_NOTIFICATION_WRONG_PARAMETER|ERR_NOTIFICATION_WRONG_SETTINGS|ERR_NOTINITIALIZED_STRING|ERR_NUMBER_ARRAYS_ONLY|ERR_OBJECT_ALREADY_EXISTS|ERR_OBJECT_COORDINATES_ERROR|ERR_OBJECT_DOES_NOT_EXIST|ERR_OBJECT_ERROR|ERR_OBJECT_GETDATE_FAILED|ERR_OBJECT_GETVALUE_FAILED|ERR_OBJECT_NOT_FOUND|ERR_OBJECT_WRONG_PROPERTY|ERR_OFF_QUOTES|ERR_OLD_VERSION|ERR_ONEDIM_ARRAYS_ONLY|ERR_OPENCL_BUFFER_CREATE|ERR_OPENCL_CONTEXT_CREATE|ERR_OPENCL_EXECUTE|ERR_OPENCL_INTERNAL|ERR_OPENCL_INVALID_HANDLE|ERR_OPENCL_KERNEL_CREATE|ERR_OPENCL_NOT_SUPPORTED|ERR_OPENCL_PROGRAM_CREATE|ERR_OPENCL_QUEUE_CREATE|ERR_OPENCL_SET_KERNEL_PARAMETER|ERR_OPENCL_TOO_LONG_KERNEL_NAME|ERR_OPENCL_WRONG_BUFFER_OFFSET|ERR_OPENCL_WRONG_BUFFER_SIZE|ERR_ORDER_LOCKED|ERR_OUT_OF_MEMORY|ERR_PLAY_SOUND_FAILED|ERR_PRICE_CHANGED|ERR_RECURSIVE_STACK_OVERFLOW|ERR_REMAINDER_FROM_ZERO_DIVIDE|ERR_REQUOTE|ERR_RESOURCE_DUPLICATED|ERR_RESOURCE_NAME_DUPLICATED|ERR_RESOURCE_NAME_IS_TOO_LONG|ERR_RESOURCE_NOT_FOUND|ERR_RESOURCE_NOT_SUPPORTED|ERR_RESOURCE_UNSUPPOTED_TYPE|ERR_SEND_MAIL_ERROR|ERR_SERIES_ARRAY|ERR_SERVER_BUSY|ERR_SHORT_ARRAY_ONLY|ERR_SHORTS_NOT_ALLOWED|ERR_SMALL_ARRAY|ERR_SMALL_ASSERIES_ARRAY|ERR_SOME_ARRAY_ERROR|ERR_SOME_FILE_ERROR|ERR_SOME_OBJECT_ERROR|ERR_STRING_ARRAY_ONLY|ERR_STRING_FUNCTION_INTERNAL|ERR_STRING_OUT_OF_MEMORY|ERR_STRING_PARAMETER_EXPECTED|ERR_STRING_RESIZE_ERROR|ERR_STRING_SMALL_LEN|ERR_STRING_TIME_ERROR|ERR_STRING_TOO_BIGNUMBER|ERR_STRING_UNKNOWNTYPE|ERR_STRING_ZEROADDED|ERR_STRINGPOS_OUTOFRANGE|ERR_STRUCT_WITHOBJECTS_ORCLASS|ERR_SUCCESS|ERR_SYMBOL_SELECT|ERR_SYSTEM_BUSY|ERR_TERMINAL_WRONG_PROPERTY|ERR_TOO_FREQUENT_REQUESTS|ERR_TOO_LONG_FILENAME|ERR_TOO_LONG_STRING|ERR_TOO_MANY_FILES|ERR_TOO_MANY_FORMATTERS|ERR_TOO_MANY_OPENED_FILES|ERR_TOO_MANY_PARAMETERS|ERR_TOO_MANY_REQUESTS|ERR_TRADE_CALC_FAILED|ERR_TRADE_CONTEXT_BUSY|ERR_TRADE_DEAL_NOT_FOUND|ERR_TRADE_DISABLED|ERR_TRADE_ERROR|ERR_TRADE_EXPERT_DISABLED_BY_SERVER|ERR_TRADE_EXPIRATION_DENIED|ERR_TRADE_HEDGE_PROHIBITED|ERR_TRADE_MODIFY_DENIED|ERR_TRADE_NOT_ALLOWED|ERR_TRADE_ORDER_NOT_FOUND|ERR_TRADE_POSITION_NOT_FOUND|ERR_TRADE_PROHIBITED_BY_FIFO|ERR_TRADE_SEND_FAILED|ERR_TRADE_TIMEOUT|ERR_TRADE_TOO_MANY_ORDERS|ERR_TRADE_WRONG_PROPERTY|ERR_UNKNOWN_COMMAND|ERR_UNKNOWN_OBJECT_PROPERTY|ERR_UNKNOWN_OBJECT_TYPE|ERR_UNKNOWN_SYMBOL|ERR_USER_ERROR_FIRST|ERR_USER_ERROR_LAST|ERR_WEBREQUEST_CONNECT_FAILED|ERR_WEBREQUEST_INVALID_ADDRESS|ERR_WEBREQUEST_REQUEST_FAILED|ERR_WEBREQUEST_TIMEOUT|ERR_WRONG_DIRECTORYNAME|ERR_WRONG_FILE_NAME|ERR_WRONG_FILEHANDLE|ERR_WRONG_FILENAME|ERR_WRONG_FORMATSTRING|ERR_WRONG_FUNCTION_POINTER|ERR_WRONG_INTERNAL_PARAMETER|ERR_WRONG_JUMP|ERR_WRONG_STRING_DATE|ERR_WRONG_STRING_OBJECT|ERR_WRONG_STRING_PARAMETER|ERR_WRONG_STRING_TIME|ERR_ZERO_DIVIDE|ERR_ZEROSIZE_ARRAY|false|False|FALSE|FILE_ACCESS_DATE|FILE_ANSI|FILE_BIN|FILE_COMMON|FILE_CREATE_DATE|FILE_CSV|FILE_END|FILE_EXISTS|FILE_IS_ANSI|FILE_IS_BINARY|FILE_IS_COMMON|FILE_IS_CSV|FILE_IS_READABLE|FILE_IS_TEXT|FILE_IS_WRITABLE|FILE_LINE_END|FILE_MODIFY_DATE|FILE_POSITION|FILE_READ|FILE_REWRITE|FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SIZE|FILE_TXT|FILE_UNICODE|FILE_WRITE|FLOAT_VALUE|FLT_DIG|FLT_EPSILON|FLT_MANT_DIG|FLT_MAX|FLT_MAX_10_EXP|FLT_MAX_EXP|FLT_MIN|FLT_MIN_10_EXP|FLT_MIN_EXP|FONT_ITALIC|FONT_STRIKEOUT|FONT_UNDERLINE|FRIDAY|FW_BLACK|FW_BOLD|FW_DEMIBOLD|FW_DONTCARE|FW_EXTRABOLD|FW_EXTRALIGHT|FW_HEAVY|FW_LIGHT|FW_MEDIUM|FW_NORMAL|FW_REGULAR|FW_SEMIBOLD|FW_THIN|FW_ULTRABOLD|FW_ULTRALIGHT|GANN_DOWN_TREND|GANN_UP_TREND|GATORJAW_LINE|GATORLIPS_LINE|GATORTEETH_LINE|icon|IDABORT|IDCANCEL|IDCLOSE|IDCONTINUE|IDHELP|IDIGNORE|IDNO|IDOK|IDRETRY|IDTRYAGAIN|IDYES|IND_AC|IND_AD|IND_ADX|IND_ADXW|IND_ALLIGATOR|IND_AMA|IND_AO|IND_ATR|IND_BANDS|IND_BEARS|IND_BULLS|IND_BWMFI|IND_CCI|IND_CHAIKIN|IND_CUSTOM|IND_DEMA|IND_DEMARKER|IND_ENVELOPES|IND_FORCE|IND_FRACTALS|IND_FRAMA|IND_GATOR|IND_ICHIMOKU|IND_MA|IND_MACD|IND_MFI|IND_MOMENTUM|IND_OBV|IND_OSMA|IND_RSI|IND_RVI|IND_SAR|IND_STDDEV|IND_STOCHASTIC|IND_TEMA|IND_TRIX|IND_VIDYA|IND_VOLUMES|IND_WPR|indicator_applied_price|indicator_buffers|INDICATOR_CALCULATIONS|indicator_chart_window|indicator_color|INDICATOR_COLOR_INDEX|INDICATOR_DATA|INDICATOR_DIGITS|indicator_height|INDICATOR_HEIGHT|indicator_label|indicator_level|indicator_levelcolor|INDICATOR_LEVELCOLOR|INDICATOR_LEVELS|indicator_levelstyle|INDICATOR_LEVELSTYLE|INDICATOR_LEVELTEXT|INDICATOR_LEVELVALUE|indicator_levelwidth|INDICATOR_LEVELWIDTH|indicator_maximum|INDICATOR_MAXIMUM|indicator_minimum|INDICATOR_MINIMUM|indicator_plots|indicator_separate_window|INDICATOR_SHORTNAME|indicator_style|indicator_type|indicator_width|INIT_AGENT_NOT_SUITABLE|INIT_FAILED|INIT_PARAMETERS_INCORRECT|INIT_SUCCEEDED|INT_MAX|INT_MIN|INT_VALUE|INVALID_HANDLE|IS_DEBUG_MODE|IS_PROFILE_MODE|KIJUNSEN_LINE|library|LICENSE_DEMO|LICENSE_FREE|LICENSE_FULL|LICENSE_TIME|link|LONG_MAX|LONG_MIN|LONG_VALUE|LOWER_BAND|LOWER_HISTOGRAM|LOWER_LINE|M_1_PI|M_2_PI|M_2_SQRTPI|M_E|M_LN10|M_LN2|M_LOG10E|M_LOG2E|M_PI|M_PI_2|M_PI_4|M_SQRT1_2|M_SQRT2|MAIN_LINE|MB_ABORTRETRYIGNORE|MB_APPLMODAL|MB_CANCELTRYCONTINUE|MB_DEFAULT_DESKTOP_ONLY|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_HELP|MB_ICONASTERISK|MB_ICONERROR|MB_ICONEXCLAMATION|MB_ICONHAND|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_ICONWARNING|MB_NOFOCUS|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_SYSTEMMODAL|MB_TASKMODAL|MB_TOPMOST|MB_USERICON|MB_YESNO|MB_YESNOCANCEL|MINUSDI_LINE|MODE_ASCEND|MODE_ASK|MODE_BASE|MODE_BID|MODE_CHIKOUSPAN|MODE_CLOSE|MODE_CLOSEBY_ALLOWED|MODE_DESCEND|MODE_DIGITS|MODE_EMA|MODE_EXPIRATION|MODE_FREEZELEVEL|MODE_GATORJAW|MODE_GATORLIPS|MODE_GATORTEETH|MODE_HIGH|MODE_HISTORY|MODE_KIJUNSEN|MODE_LOTSIZE|MODE_LOTSTEP|MODE_LOW|MODE_LOWER|MODE_LWMA|MODE_MAIN|MODE_MARGINCALCMODE|MODE_MARGINHEDGED|MODE_MARGININIT|MODE_MARGINMAINTENANCE|MODE_MARGINREQUIRED|MODE_MAXLOT|MODE_MINLOT|MODE_MINUSDI|MODE_OPEN|MODE_PLUSDI|MODE_POINT|MODE_PROFITCALCMODE|MODE_SENKOUSPANA|MODE_SENKOUSPANB|MODE_SIGNAL|MODE_SMA|MODE_SMMA|MODE_SPREAD|MODE_STARTING|MODE_STOPLEVEL|MODE_SWAPLONG|MODE_SWAPSHORT|MODE_SWAPTYPE|MODE_TENKANSEN|MODE_TICKSIZE|MODE_TICKVALUE|MODE_TIME|MODE_TRADEALLOWED|MODE_TRADES|MODE_UPPER|MODE_VOLUME|MONDAY|MQL5_DEBUG|MQL5_DEBUGGING|MQL5_DLLS_ALLOWED|MQL5_FRAME_MODE|MQL5_LICENSE_TYPE|MQL5_MEMORY_LIMIT|MQL5_MEMORY_USED|MQL5_OPTIMIZATION|MQL5_PROFILER|MQL5_PROGRAM_NAME|MQL5_PROGRAM_PATH|MQL5_PROGRAM_TYPE|MQL5_SIGNALS_ALLOWED|MQL5_TESTER|MQL5_TESTING|MQL5_TRADE_ALLOWED|MQL5_VISUAL_MODE|MQL_CODEPAGE|MQL_DEBUG|MQL_DLLS_ALLOWED|MQL_FRAME_MODE|MQL_LICENSE_TYPE|MQL_MEMORY_LIMIT|MQL_MEMORY_USED|MQL_OPTIMIZATION|MQL_PROFILER|MQL_PROGRAM_NAME|MQL_PROGRAM_PATH|MQL_PROGRAM_TYPE|MQL_SIGNALS_ALLOWED|MQL_TESTER|MQL_TRADE_ALLOWED|MQL_VISUAL_MODE|NULL|OBJ_ALL_PERIODS|OBJ_ARROW|OBJ_ARROW_BUY|OBJ_ARROW_CHECK|OBJ_ARROW_DOWN|OBJ_ARROW_LEFT_PRICE|OBJ_ARROW_RIGHT_PRICE|OBJ_ARROW_SELL|OBJ_ARROW_STOP|OBJ_ARROW_THUMB_DOWN|OBJ_ARROW_THUMB_UP|OBJ_ARROW_UP|OBJ_ARROWED_LINE|OBJ_BITMAP|OBJ_BITMAP_LABEL|OBJ_BUTTON|OBJ_CHANNEL|OBJ_CHART|OBJ_CYCLES|OBJ_EDIT|OBJ_ELLIOTWAVE3|OBJ_ELLIOTWAVE5|OBJ_ELLIPSE|OBJ_EVENT|OBJ_EXPANSION|OBJ_FIBO|OBJ_FIBOARC|OBJ_FIBOCHANNEL|OBJ_FIBOFAN|OBJ_FIBOTIMES|OBJ_GANNFAN|OBJ_GANNGRID|OBJ_GANNLINE|OBJ_HLINE|OBJ_LABEL|OBJ_NO_PERIODS|OBJ_PERIOD_D1|OBJ_PERIOD_H1|OBJ_PERIOD_H12|OBJ_PERIOD_H2|OBJ_PERIOD_H3|OBJ_PERIOD_H4|OBJ_PERIOD_H6|OBJ_PERIOD_H8|OBJ_PERIOD_M1|OBJ_PERIOD_M10|OBJ_PERIOD_M12|OBJ_PERIOD_M15|OBJ_PERIOD_M2|OBJ_PERIOD_M20|OBJ_PERIOD_M3|OBJ_PERIOD_M30|OBJ_PERIOD_M4)\\b"
121
- },
122
- {
123
- "name": "support.constant.mql5",
124
- "match": "\\b(OBJ_PERIOD_M5|OBJ_PERIOD_M6|OBJ_PERIOD_MN1|OBJ_PERIOD_W1|OBJ_PITCHFORK|OBJ_RECTANGLE|OBJ_RECTANGLE_LABEL|OBJ_REGRESSION|OBJ_STDDEVCHANNEL|OBJ_TEXT|OBJ_TREND|OBJ_TRENDBYANGLE|OBJ_TRIANGLE|OBJ_VLINE|OBJPROP_ALIGN|OBJPROP_ANCHOR|OBJPROP_ANGLE|OBJPROP_ARROWCODE|OBJPROP_BACK|OBJPROP_BGCOLOR|OBJPROP_BMPFILE|OBJPROP_BORDER_COLOR|OBJPROP_BORDER_TYPE|OBJPROP_CHART_ID|OBJPROP_CHART_SCALE|OBJPROP_COLOR|OBJPROP_CORNER|OBJPROP_CREATETIME|OBJPROP_DATE_SCALE|OBJPROP_DEGREE|OBJPROP_DEVIATION|OBJPROP_DIRECTION|OBJPROP_DRAWLINES|OBJPROP_ELLIPSE|OBJPROP_FIBOLEVELS|OBJPROP_FILL|OBJPROP_FIRSTLEVEL|OBJPROP_FONT|OBJPROP_FONTSIZE|OBJPROP_HIDDEN|OBJPROP_LEVELCOLOR|OBJPROP_LEVELS|OBJPROP_LEVELSTYLE|OBJPROP_LEVELTEXT|OBJPROP_LEVELVALUE|OBJPROP_LEVELWIDTH|OBJPROP_NAME|OBJPROP_PERIOD|OBJPROP_PRICE|OBJPROP_PRICE1|OBJPROP_PRICE2|OBJPROP_PRICE3|OBJPROP_PRICE_SCALE|OBJPROP_RAY|OBJPROP_RAY_LEFT|OBJPROP_RAY_RIGHT|OBJPROP_READONLY|OBJPROP_SCALE|OBJPROP_SELECTABLE|OBJPROP_SELECTED|OBJPROP_STATE|OBJPROP_STYLE|OBJPROP_SYMBOL|OBJPROP_TEXT|OBJPROP_TIME|OBJPROP_TIME1|OBJPROP_TIME2|OBJPROP_TIME3|OBJPROP_TIMEFRAMES|OBJPROP_TOOLTIP|OBJPROP_TYPE|OBJPROP_WIDTH|OBJPROP_XDISTANCE|OBJPROP_XOFFSET|OBJPROP_XSIZE|OBJPROP_YDISTANCE|OBJPROP_YOFFSET|OBJPROP_YSIZE|OBJPROP_ZORDER|OP_BUY|OP_BUYLIMIT|OP_BUYSTOP|OP_SELL|OP_SELLLIMIT|OP_SELLSTOP|OPENCL_BUFFER|OPENCL_CONTEXT|OPENCL_INVALID|OPENCL_KERNEL|OPENCL_PROGRAM|ORDER_COMMENT|ORDER_EXTERNAL_ID|ORDER_FILLING_FOK|ORDER_FILLING_IOC|ORDER_FILLING_RETURN|ORDER_MAGIC|ORDER_POSITION_BY_ID|ORDER_POSITION_ID|ORDER_PRICE_CURRENT|ORDER_PRICE_OPEN|ORDER_PRICE_STOPLIMIT|ORDER_SL|ORDER_STATE|ORDER_STATE_CANCELED|ORDER_STATE_EXPIRED|ORDER_STATE_FILLED|ORDER_STATE_PARTIAL|ORDER_STATE_PLACED|ORDER_STATE_REJECTED|ORDER_STATE_REQUEST_ADD|ORDER_STATE_REQUEST_CANCEL|ORDER_STATE_REQUEST_MODIFY|ORDER_STATE_STARTED|ORDER_SYMBOL|ORDER_TICKET|ORDER_TIME_DAY|ORDER_TIME_DONE|ORDER_TIME_DONE_MSC|ORDER_TIME_EXPIRATION|ORDER_TIME_GTC|ORDER_TIME_SETUP|ORDER_TIME_SETUP_MSC|ORDER_TIME_SPECIFIED|ORDER_TIME_SPECIFIED_DAY|ORDER_TP|ORDER_TYPE|ORDER_TYPE_BALANCE|ORDER_TYPE_BUY|ORDER_TYPE_BUY_LIMIT|ORDER_TYPE_BUY_STOP|ORDER_TYPE_BUY_STOP_LIMIT|ORDER_TYPE_CLOSE_BY|ORDER_TYPE_CREDIT|ORDER_TYPE_FILLING|ORDER_TYPE_SELL|ORDER_TYPE_SELL_LIMIT|ORDER_TYPE_SELL_STOP|ORDER_TYPE_SELL_STOP_LIMIT|ORDER_TYPE_TIME|ORDER_VOLUME_CURRENT|ORDER_VOLUME_INITIAL|PERIOD_CURRENT|PERIOD_D1|PERIOD_H1|PERIOD_H12|PERIOD_H2|PERIOD_H3|PERIOD_H4|PERIOD_H6|PERIOD_H8|PERIOD_M1|PERIOD_M10|PERIOD_M12|PERIOD_M15|PERIOD_M2|PERIOD_M20|PERIOD_M3|PERIOD_M30|PERIOD_M4|PERIOD_M5|PERIOD_M6|PERIOD_MN1|PERIOD_W1|PLOT_ARROW|PLOT_ARROW_SHIFT|PLOT_COLOR_INDEXES|PLOT_DRAW_BEGIN|PLOT_DRAW_TYPE|PLOT_EMPTY_VALUE|PLOT_LABEL|PLOT_LINE_COLOR|PLOT_LINE_STYLE|PLOT_LINE_WIDTH|PLOT_SHIFT|PLOT_SHOW_DATA|PLUSDI_LINE|POINTER_AUTOMATIC|POINTER_DYNAMIC|POINTER_INVALID|POSITION_COMMENT|POSITION_COMMISSION|POSITION_IDENTIFIER|POSITION_MAGIC|POSITION_PRICE_CURRENT|POSITION_PRICE_OPEN|POSITION_PROFIT|POSITION_SL|POSITION_SWAP|POSITION_SYMBOL|POSITION_TICKET|POSITION_TIME|POSITION_TIME_MSC|POSITION_TIME_UPDATE|POSITION_TIME_UPDATE_MSC|POSITION_TP|POSITION_TYPE|POSITION_TYPE_BUY|POSITION_TYPE_SELL|POSITION_VOLUME|PRICE_CLOSE|PRICE_HIGH|PRICE_LOW|PRICE_MEDIAN|PRICE_OPEN|PRICE_TYPICAL|PRICE_WEIGHTED|PROGRAM_EXPERT|PROGRAM_INDICATOR|PROGRAM_SCRIPT|REASON_ACCOUNT|REASON_CHARTCHANGE|REASON_CHARTCLOSE|REASON_CLOSE|REASON_INITFAILED|REASON_PARAMETERS|REASON_PROGRAM|REASON_RECOMPILE|REASON_REMOVE|REASON_TEMPLATE|SATURDAY|script_show_confirm|script_show_inputs|SEEK_CUR|SEEK_END|SEEK_SET|SELECT_BY_POS|SELECT_BY_TICKET|SENKOUSPANA_LINE|SENKOUSPANB_LINE|SERIES_BARS_COUNT|SERIES_FIRSTDATE|SERIES_LASTBAR_DATE|SERIES_SERVER_FIRSTDATE|SERIES_SYNCHRONIZED|SERIES_TERMINAL_FIRSTDATE|SHORT_MAX|SHORT_MIN|SHORT_VALUE|show_confirm|show_inputs|SIGNAL_BASE_AUTHOR_LOGIN|SIGNAL_BASE_BALANCE|SIGNAL_BASE_BROKER|SIGNAL_BASE_BROKER_SERVER|SIGNAL_BASE_CURRENCY|SIGNAL_BASE_DATE_PUBLISHED|SIGNAL_BASE_DATE_STARTED|SIGNAL_BASE_DATE_UPDATED|SIGNAL_BASE_EQUITY|SIGNAL_BASE_GAIN|SIGNAL_BASE_ID|SIGNAL_BASE_LEVERAGE|SIGNAL_BASE_MAX_DRAWDOWN|SIGNAL_BASE_NAME|SIGNAL_BASE_PIPS|SIGNAL_BASE_PRICE|SIGNAL_BASE_RATING|SIGNAL_BASE_ROI|SIGNAL_BASE_SUBSCRIBERS|SIGNAL_BASE_TRADE_MODE|SIGNAL_BASE_TRADES|SIGNAL_INFO_CONFIRMATIONS_DISABLED|SIGNAL_INFO_COPY_SLTP|SIGNAL_INFO_DEPOSIT_PERCENT|SIGNAL_INFO_EQUITY_LIMIT|SIGNAL_INFO_ID|SIGNAL_INFO_NAME|SIGNAL_INFO_SLIPPAGE|SIGNAL_INFO_SUBSCRIPTION_ENABLED|SIGNAL_INFO_TERMS_AGREE|SIGNAL_INFO_VOLUME_PERCENT|SIGNAL_LINE|stacksize|STAT_BALANCE_DD|STAT_BALANCE_DD_RELATIVE|STAT_BALANCE_DDREL_PERCENT|STAT_BALANCEDD_PERCENT|STAT_BALANCEMIN|STAT_CONLOSSMAX|STAT_CONLOSSMAX_TRADES|STAT_CONPROFITMAX|STAT_CONPROFITMAX_TRADES|STAT_CUSTOM_ONTESTER|STAT_DEALS|STAT_EQUITY_DD|STAT_EQUITY_DD_RELATIVE|STAT_EQUITY_DDREL_PERCENT|STAT_EQUITYDD_PERCENT|STAT_EQUITYMIN|STAT_EXPECTED_PAYOFF|STAT_GROSS_LOSS|STAT_GROSS_PROFIT|STAT_INITIAL_DEPOSIT|STAT_LONG_TRADES|STAT_LOSS_TRADES|STAT_LOSSTRADES_AVGCON|STAT_MAX_CONLOSS_TRADES|STAT_MAX_CONLOSSES|STAT_MAX_CONPROFIT_TRADES|STAT_MAX_CONWINS|STAT_MAX_LOSSTRADE|STAT_MAX_PROFITTRADE|STAT_MIN_MARGINLEVEL|STAT_PROFIT|STAT_PROFIT_FACTOR|STAT_PROFIT_LONGTRADES|STAT_PROFIT_SHORTTRADES|STAT_PROFIT_TRADES|STAT_PROFITTRADES_AVGCON|STAT_RECOVERY_FACTOR|STAT_SHARPE_RATIO|STAT_SHORT_TRADES|STAT_TRADES|STAT_WITHDRAWAL|STO_CLOSECLOSE|STO_LOWHIGH|strict|STYLE_DASH|STYLE_DASHDOT|STYLE_DASHDOTDOT|STYLE_DOT|STYLE_SOLID|SUNDAY|SYMBOL_ARROWDOWN|SYMBOL_ARROWUP|SYMBOL_ASK|SYMBOL_ASKHIGH|SYMBOL_ASKLOW|SYMBOL_BANK|SYMBOL_BASIS|SYMBOL_BID|SYMBOL_BIDHIGH|SYMBOL_BIDLOW|SYMBOL_CALC_MODE_CFD|SYMBOL_CALC_MODE_CFDINDEX|SYMBOL_CALC_MODE_CFDLEVERAGE|SYMBOL_CALC_MODE_EXCH_FUTURES|SYMBOL_CALC_MODE_EXCH_FUTURES_FORTS|SYMBOL_CALC_MODE_EXCH_OPTIONS|SYMBOL_CALC_MODE_EXCH_OPTIONS_MARGIN|SYMBOL_CALC_MODE_EXCH_STOCKS|SYMBOL_CALC_MODE_FOREX|SYMBOL_CALC_MODE_FUTURES|SYMBOL_CALC_MODE_SERV_COLLATERAL|SYMBOL_CHECKSIGN|SYMBOL_CURRENCY_BASE|SYMBOL_CURRENCY_MARGIN|SYMBOL_CURRENCY_PROFIT|SYMBOL_DESCRIPTION|SYMBOL_DIGITS|SYMBOL_EXPIRATION_DAY|SYMBOL_EXPIRATION_GTC|SYMBOL_EXPIRATION_MODE|SYMBOL_EXPIRATION_SPECIFIED|SYMBOL_EXPIRATION_SPECIFIED_DAY|SYMBOL_EXPIRATION_TIME|SYMBOL_FILLING_FOK|SYMBOL_FILLING_IOC|SYMBOL_FILLING_MODE|SYMBOL_ISIN|SYMBOL_LAST|SYMBOL_LASTHIGH|SYMBOL_LASTLOW|SYMBOL_LEFTPRICE|SYMBOL_MARGIN_HEDGED|SYMBOL_MARGIN_INITIAL|SYMBOL_MARGIN_LIMIT|SYMBOL_MARGIN_LONG|SYMBOL_MARGIN_MAINTENANCE|SYMBOL_MARGIN_SHORT|SYMBOL_MARGIN_STOP|SYMBOL_MARGIN_STOPLIMIT|SYMBOL_OPTION_MODE|SYMBOL_OPTION_MODE_AMERICAN|SYMBOL_OPTION_MODE_EUROPEAN|SYMBOL_OPTION_RIGHT|SYMBOL_OPTION_RIGHT_CALL|SYMBOL_OPTION_RIGHT_PUT|SYMBOL_OPTION_STRIKE|SYMBOL_ORDER_LIMIT|SYMBOL_ORDER_MARKET|SYMBOL_ORDER_MODE|SYMBOL_ORDER_SL|SYMBOL_ORDER_STOP|SYMBOL_ORDER_STOP_LIMIT|SYMBOL_ORDER_TP|SYMBOL_PATH|SYMBOL_POINT|SYMBOL_RIGHTPRICE|SYMBOL_SELECT|SYMBOL_SESSION_AW|SYMBOL_SESSION_BUY_ORDERS|SYMBOL_SESSION_BUY_ORDERS_VOLUME|SYMBOL_SESSION_CLOSE|SYMBOL_SESSION_DEALS|SYMBOL_SESSION_INTEREST|SYMBOL_SESSION_OPEN|SYMBOL_SESSION_PRICE_LIMIT_MAX|SYMBOL_SESSION_PRICE_LIMIT_MIN|SYMBOL_SESSION_PRICE_SETTLEMENT|SYMBOL_SESSION_SELL_ORDERS|SYMBOL_SESSION_SELL_ORDERS_VOLUME|SYMBOL_SESSION_TURNOVER|SYMBOL_SESSION_VOLUME|SYMBOL_SPREAD|SYMBOL_SPREAD_FLOAT|SYMBOL_START_TIME|SYMBOL_STOPSIGN|SYMBOL_SWAP_LONG|SYMBOL_SWAP_MODE|SYMBOL_SWAP_MODE_BY_INTEREST|SYMBOL_SWAP_MODE_BY_MARGIN_CURRENCY|SYMBOL_SWAP_MODE_BY_MONEY|SYMBOL_SWAP_MODE_BY_POINTS|SYMBOL_SWAP_MODE_CURRENCY_DEPOSIT|SYMBOL_SWAP_MODE_CURRENCY_MARGIN|SYMBOL_SWAP_MODE_CURRENCY_SYMBOL|SYMBOL_SWAP_MODE_DISABLED|SYMBOL_SWAP_MODE_INTEREST_CURRENT|SYMBOL_SWAP_MODE_INTEREST_OPEN|SYMBOL_SWAP_MODE_POINTS|SYMBOL_SWAP_MODE_REOPEN_BID|SYMBOL_SWAP_MODE_REOPEN_CURRENT|SYMBOL_SWAP_ROLLOVER3DAYS|SYMBOL_SWAP_SHORT|SYMBOL_THUMBSDOWN|SYMBOL_THUMBSUP|SYMBOL_TICKS_BOOKDEPTH|SYMBOL_TIME|SYMBOL_TRADE_CALC_MODE|SYMBOL_TRADE_CONTRACT_SIZE|SYMBOL_TRADE_EXECUTION_EXCHANGE|SYMBOL_TRADE_EXECUTION_INSTANT|SYMBOL_TRADE_EXECUTION_MARKET|SYMBOL_TRADE_EXECUTION_REQUEST|SYMBOL_TRADE_EXEMODE|SYMBOL_TRADE_FREEZE_LEVEL|SYMBOL_TRADE_MODE|SYMBOL_TRADE_MODE_CLOSEONLY|SYMBOL_TRADE_MODE_DISABLED|SYMBOL_TRADE_MODE_FULL|SYMBOL_TRADE_MODE_LONGONLY|SYMBOL_TRADE_MODE_SHORTONLY|SYMBOL_TRADE_STOPS_LEVEL|SYMBOL_TRADE_TICK_SIZE|SYMBOL_TRADE_TICK_VALUE|SYMBOL_TRADE_TICK_VALUE_LOSS|SYMBOL_TRADE_TICK_VALUE_PROFIT|SYMBOL_VISIBLE|SYMBOL_VOLUME|SYMBOL_VOLUME_LIMIT|SYMBOL_VOLUME_MAX|SYMBOL_VOLUME_MIN|SYMBOL_VOLUME_STEP|SYMBOL_VOLUMEHIGH|SYMBOL_VOLUMELOW|TA_BOTTOM|TA_CENTER|TA_LEFT|TA_RIGHT|TA_TOP|TA_VCENTER|TENKANSEN_LINE|TERMINAL_BUILD|TERMINAL_CODEPAGE|TERMINAL_COMMONDATA_PATH|TERMINAL_COMMUNITY_ACCOUNT|TERMINAL_COMMUNITY_BALANCE|TERMINAL_COMMUNITY_CONNECTION|TERMINAL_COMPANY|TERMINAL_CONNECTED|TERMINAL_CPU_CORES|TERMINAL_DATA_PATH|TERMINAL_DISK_SPACE|TERMINAL_DLLS_ALLOWED|TERMINAL_EMAIL_ENABLED|TERMINAL_FTP_ENABLED|TERMINAL_LANGUAGE|TERMINAL_MAXBARS|TERMINAL_MEMORY_AVAILABLE|TERMINAL_MEMORY_PHYSICAL|TERMINAL_MEMORY_TOTAL|TERMINAL_MEMORY_USED|TERMINAL_MQID|TERMINAL_NAME|TERMINAL_NOTIFICATIONS_ENABLED|TERMINAL_OPENCL_SUPPORT|TERMINAL_PATH|TERMINAL_PING_LAST|TERMINAL_SCREEN_DPI|TERMINAL_TRADE_ALLOWED|TERMINAL_X64|tester_file|tester_indicator|tester_library|THURSDAY|TICK_FLAG_ASK|TICK_FLAG_BID|TICK_FLAG_BUY|TICK_FLAG_LAST|TICK_FLAG_SELL|TICK_FLAG_VOLUME|TIME_DATE|TIME_MINUTES|TIME_SECONDS|TRADE_ACTION_CLOSE_BY|TRADE_ACTION_DEAL|TRADE_ACTION_MODIFY|TRADE_ACTION_PENDING|TRADE_ACTION_REMOVE|TRADE_ACTION_SLTP|TRADE_RETCODE_CANCEL|TRADE_RETCODE_CLIENT_DISABLES_AT|TRADE_RETCODE_CONNECTION|TRADE_RETCODE_DONE|TRADE_RETCODE_DONE_PARTIAL|TRADE_RETCODE_ERROR|TRADE_RETCODE_FROZEN|TRADE_RETCODE_INVALID|TRADE_RETCODE_INVALID_EXPIRATION|TRADE_RETCODE_INVALID_FILL|TRADE_RETCODE_INVALID_ORDER|TRADE_RETCODE_INVALID_PRICE|TRADE_RETCODE_INVALID_STOPS|TRADE_RETCODE_INVALID_VOLUME|TRADE_RETCODE_LIMIT_ORDERS|TRADE_RETCODE_LIMIT_VOLUME|TRADE_RETCODE_LOCKED|TRADE_RETCODE_MARKET_CLOSED|TRADE_RETCODE_NO_CHANGES|TRADE_RETCODE_NO_MONEY|TRADE_RETCODE_ONLY_REAL|TRADE_RETCODE_ORDER_CHANGED|TRADE_RETCODE_PLACED|TRADE_RETCODE_POSITION_CLOSED|TRADE_RETCODE_PRICE_CHANGED|TRADE_RETCODE_PRICE_OFF|TRADE_RETCODE_REJECT|TRADE_RETCODE_REQUOTE|TRADE_RETCODE_SERVER_DISABLES_AT|TRADE_RETCODE_TIMEOUT|TRADE_RETCODE_TOO_MANY_REQUESTS|TRADE_RETCODE_TRADE_DISABLED|TRADE_TRANSACTION_DEAL_ADD|TRADE_TRANSACTION_DEAL_DELETE|TRADE_TRANSACTION_DEAL_UPDATE|TRADE_TRANSACTION_HISTORY_ADD|TRADE_TRANSACTION_HISTORY_DELETE|TRADE_TRANSACTION_HISTORY_UPDATE|TRADE_TRANSACTION_ORDER_ADD|TRADE_TRANSACTION_ORDER_DELETE|TRADE_TRANSACTION_ORDER_UPDATE|TRADE_TRANSACTION_POSITION|TRADE_TRANSACTION_REQUEST|true|True|TRUE|TUESDAY|TYPE_BOOL|TYPE_CHAR|TYPE_COLOR|TYPE_DATETIME|TYPE_DOUBLE|TYPE_FLOAT|TYPE_INT|TYPE_LONG|TYPE_SHORT|TYPE_STRING|TYPE_UCHAR|TYPE_UINT|TYPE_ULONG|TYPE_USHORT|UCHAR_MAX|UINT_MAX|ULONG_MAX|UPPER_BAND|UPPER_HISTOGRAM|UPPER_LINE|USHORT_MAX|version|VOLUME_REAL|VOLUME_TICK|WEDNESDAY|WHOLE_ARRAY|WRONG_VALUE)\\b"
125
- },
126
- {
127
- "name": "constant.numeric.decimal.mql5",
128
- "match": "\\b([0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)\\b"
129
- },
130
- {
131
- "name": "constant.numeric.hex.mql5",
132
- "match": "\\b(0[xX][0-9a-fA-F]+)\\b"
133
- },
134
- {
135
- "name": "constant.numeric.other.mql5",
136
- "match": "([CDB]\\'[0-9a-fA-FxX\\.\\:\\,\\s]*\\')"
137
- },
138
- {
139
- "name": "variable.other.mql5",
140
- "match": "\\b([a-zA-Z_]+[a-zA-Z0-9_]*)\\b"
141
- },
142
- {
143
- "name": "meta.block.mql5",
144
- "begin": "(\\{)",
145
- "end": "(\\})",
146
- "patterns": [
147
- {
148
- "include": "$self"
149
- }
150
- ],
151
- "beginCaptures": {
152
- "0": {
153
- "name": "punctuation.definition.block.begin.mql5"
154
- }
155
- },
156
- "endCaptures": {
157
- "0": {
158
- "name": "punctuation.definition.block.end.mql5"
159
- }
160
- }
161
- }
162
- ],
163
- "repository": {
164
- "comments": {
165
- "patterns": [
166
- {
167
- "name": "comment.block.mql5",
168
- "begin": "/\\*",
169
- "end": "\\*/"
170
- },
171
- {
172
- "name": "comment.line.double-slash.mql5",
173
- "begin": "//",
174
- "end": "$\\n?"
175
- }
176
- ]
177
- },
178
- "escape_characters": {
179
- "patterns": [
180
- {
181
- "name": "constant.character.escape.mql5",
182
- "match": "\\\\."
183
- }
184
- ]
185
- }
186
- }
187
- }
1
+ {"name":"MQL5","scopeName":"source.mql5","patterns":[{"include":"#comments"},{"name":"string.quoted.double.mql5","begin":"\"","end":"\"","patterns":[{"include":"#escape_characters"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mql5"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mql5"}}},{"name":"string.quoted.single.mql5","begin":"'","end":"'","patterns":[{"include":"#escape_characters"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mql5"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mql5"}}},{"name":"string.other.mql5","begin":"(#include)(?:\\s*)(\u003c)","end":"\u003e","beginCaptures":{"1":{"name":"keyword.control.preprocessor.mql5"},"2":{"name":"punctuation.definition.string.begin.mql5"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mql5"}}},{"name":"keyword.control.preprocessor.mql5","match":"#\\b(include|package|define|undef|import|property|resource|ifdef|ifndef|else|endif)\\b"},{"name":"storage.modifier.mql5","match":"\\b(const|private|protected|public|virtual|export)\\b"},{"name":"storage.input.mql5","match":"\\b(extern|input|static|sinput)\\b"},{"name":"storage.type.mql5","match":"\\b(char|short|int|long|uchar|ushort|uint|ulong|bool|color|datetime|string|double|float|enum|struct|class|interface|void)\\b"},{"name":"keyword.control.mql5","match":"\\b(if|else|switch|case|default|break|continue|for|do|while|new|delete|return)\\b"},{"name":"keyword.other.mql5","match":"\\b(operator|sizeof|this|template|typename|typedef|trash|defined|unsigned|dynamic_cast|override|final|__DATE__|__DATETIME__|__FILE__|__FUNCSIG__|__FUNCTION__|__LINE__|__PATH__)\\b"},{"name":"punctuation.definition.operator.mql5","match":"=|\\+|\\-|\u003c|\u003e|!|\\*|/|%|\u0026|\\||~|\\^|,|:|\\?|;"},{"name":"punctuation.definition.brackets.mql5","match":"\\(|\\)|\\[|\\]"},{"name":"entity.name.function.mql5","match":"(?\u003c!\\.)\\b(AccountBalance|AccountCompany|AccountCredit|AccountCurrency|AccountEquity|AccountFreeMargin|AccountFreeMarginCheck|AccountFreeMarginMode|AccountInfoDouble|AccountInfoInteger|AccountInfoString|AccountLeverage|AccountMargin|AccountName|AccountNumber|AccountProfit|AccountServer|AccountStopoutLevel|AccountStopoutMode|acos|Alert|ArrayBsearch|ArrayCompare|ArrayCopy|ArrayCopyRates|ArrayCopySeries|ArrayDimension|ArrayFill|ArrayFree|ArrayGetAsSeries|ArrayInitialize|ArrayIsDynamic|ArrayIsSeries|ArrayMaximum|ArrayMinimum|ArrayRange|ArrayResize|ArraySetAsSeries|ArraySize|ArraySort|asin|atan|Bars|BarsCalculated|BarsPerWindow|ceil|CharArrayToString|ChartApplyTemplate|ChartClose|ChartFirst|ChartGetDouble|ChartGetInteger|ChartGetString|ChartID|ChartIndicatorAdd|ChartIndicatorDelete|ChartIndicatorGet|ChartIndicatorName|ChartIndicatorsTotal|ChartNavigate|ChartNext|ChartOpen|CharToStr|CharToString|ChartPeriod|ChartPriceOnDropped|ChartRedraw|ChartSaveTemplate|ChartScreenShot|ChartSetDouble|ChartSetInteger|ChartSetString|ChartSetSymbolPeriod|ChartSymbol|ChartTimeOnDropped|ChartTimePriceToXY|ChartWindowFind|ChartWindowOnDropped|ChartXOnDropped|ChartXYToTimePrice|ChartYOnDropped|CheckPointer|CLBufferCreate|CLBufferFree|CLBufferRead|CLBufferWrite|CLContextCreate|CLContextFree|CLExecute|CLGetDeviceInfo|CLGetInfoInteger|CLGetInfoString|CLHandleType|ClientTerminalName|CLKernelCreate|CLKernelFree|CLProgramCreate|CLProgramFree|CLSetKernelArg|CLSetKernelArgMem|ColorToARGB|ColorToString|Comment|CompanyName|CopyBuffer|CopyClose|CopyHigh|CopyLow|CopyOpen|CopyRates|CopyRealVolume|CopySpread|CopyTicks|CopyTickVolume|CopyTime|cos|CryptDecode|CryptEncode|CurTime|Day|DayOfWeek|DayOfYear|DebugBreak|Digits|DoubleToStr|DoubleToString|EnumToString|EventChartCustom|EventKillTimer|EventSetMillisecondTimer|EventSetTimer|exp|ExpertRemove|fabs|FileClose|FileCopy|FileDelete|FileFindClose|FileFindFirst|FileFindNext|FileFlush|FileGetInteger|FileIsEnding|FileIsExist|FileIsLineEnding|FileMove|FileOpen|FileOpenHistory|FileReadArray|FileReadBool|FileReadDatetime|FileReadDouble|FileReadFloat|FileReadInteger|FileReadLong|FileReadNumber|FileReadString|FileReadStruct|FileSeek|FileSize|FileTell|FileWrite|FileWriteArray|FileWriteDouble|FileWriteFloat|FileWriteInteger|FileWriteLong|FileWriteString|FileWriteStruct|FirstVisibleBar|floor|fmax|fmin|fmod|FolderClean|FolderCreate|FolderDelete|FrameAdd|FrameFilter|FrameFirst|FrameInputs|FrameNext|GetLastError|GetMicrosecondCount|GetPointer|GetTickCount|GlobalVariableCheck|GlobalVariableDel|GlobalVariableGet|GlobalVariableName|GlobalVariablesDeleteAll|GlobalVariableSet|GlobalVariableSetOnCondition|GlobalVariablesFlush|GlobalVariablesTotal|GlobalVariableTemp|GlobalVariableTime|HideTestIndicators|Highest|HistoryDealGetDouble|HistoryDealGetInteger|HistoryDealGetString|HistoryDealGetTicket|HistoryDealSelect|HistoryDealsTotal|HistoryOrderGetDouble|HistoryOrderGetInteger|HistoryOrderGetString|HistoryOrderGetTicket|HistoryOrderSelect|HistoryOrdersTotal|HistorySelect|HistorySelectByPosition|HistoryTotal|Hour|iBars|iBarShift|iClose|iHigh|iHighest|iLow|iLowest|IndicatorBuffers|IndicatorCounted|IndicatorCreate|IndicatorDigits|IndicatorParameters|IndicatorRelease|IndicatorSetDouble|IndicatorSetInteger|IndicatorSetString|IndicatorShortName|IntegerToString|iOpen|IsConnected|IsDemo|IsDllsAllowed|IsExpertEnabled|IsLibrariesAllowed|IsOptimization|IsStopped|IsTesting|IsTradeAllowed|IsTradeContextBusy|IsVisualMode|iTime|iVolume|LocalTime|log|log10|Lowest|MarketBookAdd|MarketBookGet|MarketBookRelease|MarketInfo|MathAbs|MathArccos|MathArcsin|MathArctan|MathCeil|MathCos|MathExp|MathFloor|MathIsValidNumber|MathLog|MathLog10|MathMax|MathMin|MathMod|MathPow|MathRand|MathRound|MathSin|MathSqrt|MathSrand|MathTan|MessageBox|Minute|Month|MQL5InfoInteger|MQL5InfoString|MQLInfoInteger|MQLInfoString|MQLSetInteger|NormalizeDouble|ObjectCreate|ObjectDelete|ObjectDescription|ObjectFind|ObjectGet|ObjectGetDouble|ObjectGetFiboDescription|ObjectGetInteger|ObjectGetShiftByValue|ObjectGetString|ObjectGetTimeByValue|ObjectGetValueByShift|ObjectGetValueByTime|ObjectMove|ObjectName|ObjectsDeleteAll|ObjectSet|ObjectSetDouble|ObjectSetFiboDescription|ObjectSetInteger|ObjectSetString|ObjectSetText|ObjectsRedraw|ObjectsTotal|ObjectType|OnBookEvent|OnCalculate|OnChartEvent|OnDeinit|OnInit|OnStart|OnTester|OnTesterDeinit|OnTesterInit|OnTesterPass|OnTick|OnTimer|OnTrade|OnTradeTransaction|OrderCalcMargin|OrderCalcProfit|OrderCheck|OrderClose|OrderCloseBy|OrderClosePrice|OrderCloseTime|OrderComment|OrderCommission|OrderDelete|OrderExpiration|OrderGetDouble|OrderGetInteger|OrderGetString|OrderGetTicket|OrderLots|OrderMagicNumber|OrderModify|OrderOpenPrice|OrderOpenTime|OrderPrint|OrderProfit|OrderSelect|OrderSend|OrderSendAsync|OrdersHistoryTotal|OrderStopLoss|OrdersTotal|OrderSwap|OrderSymbol|OrderTakeProfit|OrderTicket|OrderType|ParameterGetRange|ParameterSetRange|Period|PeriodSeconds|PlaySound|PlotIndexGetInteger|PlotIndexSetDouble|PlotIndexSetInteger|PlotIndexSetString|Point|PositionGetDouble|PositionGetInteger|PositionGetString|PositionGetSymbol|PositionGetTicket|PositionSelect|PositionSelectByTicket|PositionsTotal|pow|PriceOnDropped|Print|printf|PrintFormat|rand|RefreshRates|ResetLastError|ResourceCreate|ResourceFree|ResourceReadImage|ResourceSave|round|ScreenShot|Seconds|SendFTP|SendMail|SendNotification|SeriesInfoInteger|ServerAddress|SetIndexArrow|SetIndexBuffer|SetIndexDrawBegin|SetIndexEmptyValue|SetIndexLabel|SetIndexShift|SetIndexStyle|SetLevelStyle|SetLevelValue|SetUserError|ShortArrayToString|ShortToString|SignalBaseGetDouble|SignalBaseGetInteger|SignalBaseGetString|SignalBaseSelect|SignalBaseTotal|SignalInfoGetDouble|SignalInfoGetInteger|SignalInfoGetString|SignalInfoSetDouble|SignalInfoSetInteger|SignalSubscribe|SignalUnsubscribe|sin|Sleep|sqrt|srand|StringAdd|StringBufferLen|StringCompare|StringConcatenate|StringFill|StringFind|StringFormat|StringGetChar|StringGetCharacter|StringInit|StringLen|StringReplace|StringSetChar|StringSetCharacter|StringSplit|StringSubstr|StringToCharArray|StringToColor|StringToDouble|StringToInteger|StringToLower|StringToShortArray|StringToTime|StringToUpper|StringTrimLeft|StringTrimRight|StrToDouble|StrToInteger|StrToTime|StructToTime|Symbol|SymbolInfoDouble|SymbolInfoInteger|SymbolInfoMarginRate|SymbolInfoSessionQuote|SymbolInfoSessionTrade|SymbolInfoString|SymbolInfoTick|SymbolIsSynchronized|SymbolName|SymbolSelect|SymbolsTotal|tan|TerminalClose|TerminalCompany|TerminalInfoDouble|TerminalInfoInteger|TerminalInfoString|TerminalName|TerminalPath|TesterStatistics|TesterWithdrawal|TextGetSize|TextOut|TextSetFont|TimeCurrent|TimeDay|TimeDaylightSavings|TimeDayOfWeek|TimeDayOfYear|TimeGMT|TimeGMTOffset|TimeHour|TimeLocal|TimeMinute|TimeMonth|TimeOnDropped|TimeSeconds|TimeToStr|TimeToString|TimeToStruct|TimeTradeServer|TimeYear|UninitializeReason|WebRequest|WindowBarsPerChart|WindowExpertName|WindowFind|WindowFirstVisibleBar|WindowHandle|WindowIsVisible|WindowOnDropped|WindowPriceMax|WindowPriceMin|WindowPriceOnDropped|WindowRedraw|WindowScreenShot|WindowsTotal|WindowTimeOnDropped|WindowXOnDropped|WindowYOnDropped|Year|ZeroMemory)\\b"},{"name":"entity.name.function.mql5","match":"(?\u003c!\\.)\\b(init|deinit|start)\\b"},{"name":"support.function.mql5","match":"(?\u003c!\\.)\\b(iAC|iAD|iADX|iADXWilder|iAlligator|iAMA|iAO|iATR|iBands|iBandsOnArray|iBearsPower|iBullsPower|iBWMFI|iCCI|iCCIOnArray|iChaikin|iCustom|iDEMA|iDeMarker|iEnvelopes|iEnvelopesOnArray|iForce|iFractals|iFrAMA|iGator|iIchimoku|iMA|iMACD|iMAOnArray|iMFI|iMomentum|iMomentumOnArray|iOBV|iOsMA|iRSI|iRSIOnArray|iRVI|iSAR|iStdDev|iStdDevOnArray|iStochastic|iTEMA|iTriX|iVIDyA|iVolumes|iWPR)\\b"},{"name":"variable.language.predefined.mql5","match":"(?\u003c!\\.)\\b(!ZeroString|!ZeroValue|_AppliedTo|_CriticalError|_Digits|_IsX64|_LastError|_Period|_Point|_RandomSeed|_ReturnedDouble|_ReturnedFloat|_ReturnedString|_StopFlag|_Symbol|_UninitReason|Ask|Bars|Bid|Close|Digits|High|Low|MqlBookInfo|MqlDateTime|MqlParam|MqlRates|MqlTick|MqlTradeCheckResult|MqlTradeRequest|MqlTradeResult|MqlTradeTransaction|Open|Point|Time|Volume)\\b"},{"name":"support.constant.mql5","match":"\\b(__MQ5BUILD__|__MQL4__|__MQL4BUILD__|__MQL5__|__MQL5BUILD__|__MQL__|__MQLBUILD__|ACCOUNT_ASSETS|ACCOUNT_BALANCE|ACCOUNT_COMMISSION_BLOCKED|ACCOUNT_COMPANY|ACCOUNT_CREDIT|ACCOUNT_CURRENCY|ACCOUNT_EQUITY|ACCOUNT_FREEMARGIN|ACCOUNT_LEVERAGE|ACCOUNT_LIABILITIES|ACCOUNT_LIMIT_ORDERS|ACCOUNT_LOGIN|ACCOUNT_MARGIN|ACCOUNT_MARGIN_FREE|ACCOUNT_MARGIN_INITIAL|ACCOUNT_MARGIN_LEVEL|ACCOUNT_MARGIN_MAINTENANCE|ACCOUNT_MARGIN_MODE|ACCOUNT_MARGIN_MODE_EXCHANGE|ACCOUNT_MARGIN_MODE_RETAIL_HEDGING|ACCOUNT_MARGIN_MODE_RETAIL_NETTING|ACCOUNT_MARGIN_SO_CALL|ACCOUNT_MARGIN_SO_MODE|ACCOUNT_MARGIN_SO_SO|ACCOUNT_NAME|ACCOUNT_PROFIT|ACCOUNT_SERVER|ACCOUNT_STOPOUT_MODE_MONEY|ACCOUNT_STOPOUT_MODE_PERCENT|ACCOUNT_TRADE_ALLOWED|ACCOUNT_TRADE_EXPERT|ACCOUNT_TRADE_MODE|ACCOUNT_TRADE_MODE_CONTEST|ACCOUNT_TRADE_MODE_DEMO|ACCOUNT_TRADE_MODE_REAL|ALIGN_CENTER|ALIGN_LEFT|ALIGN_RIGHT|ANCHOR_BOTTOM|ANCHOR_CENTER|ANCHOR_LEFT|ANCHOR_LEFT_LOWER|ANCHOR_LEFT_UPPER|ANCHOR_LOWER|ANCHOR_RIGHT|ANCHOR_RIGHT_LOWER|ANCHOR_RIGHT_UPPER|ANCHOR_TOP|ANCHOR_UPPER|BASE_LINE|BOOK_TYPE_BUY|BOOK_TYPE_BUY_MARKET|BOOK_TYPE_SELL|BOOK_TYPE_SELL_MARKET|BORDER_FLAT|BORDER_RAISED|BORDER_SUNKEN|CHAR_MAX|CHAR_MIN|CHAR_VALUE|CHART_AUTOSCROLL|CHART_BARS|CHART_BEGIN|CHART_BRING_TO_TOP|CHART_CANDLES|CHART_COLOR_ASK|CHART_COLOR_BACKGROUND|CHART_COLOR_BID|CHART_COLOR_CANDLE_BEAR|CHART_COLOR_CANDLE_BULL|CHART_COLOR_CHART_DOWN|CHART_COLOR_CHART_LINE|CHART_COLOR_CHART_UP|CHART_COLOR_FOREGROUND|CHART_COLOR_GRID|CHART_COLOR_LAST|CHART_COLOR_STOP_LEVEL|CHART_COLOR_VOLUME|CHART_COMMENT|CHART_CURRENT_POS|CHART_DRAG_TRADE_LEVELS|CHART_END|CHART_EVENT_MOUSE_MOVE|CHART_EVENT_OBJECT_CREATE|CHART_EVENT_OBJECT_DELETE|CHART_EXPERT_NAME|CHART_FIRST_VISIBLE_BAR|CHART_FIXED_MAX|CHART_FIXED_MIN|CHART_FIXED_POSITION|CHART_FOREGROUND|CHART_HEIGHT_IN_PIXELS|CHART_IS_OBJECT|CHART_IS_OFFLINE|CHART_LINE|CHART_MODE|CHART_MOUSE_SCROLL|CHART_POINTS_PER_BAR|CHART_PRICE_MAX|CHART_PRICE_MIN|CHART_SCALE|CHART_SCALE_PT_PER_BAR|CHART_SCALEFIX|CHART_SCALEFIX_11|CHART_SCRIPT_NAME|CHART_SHIFT|CHART_SHIFT_SIZE|CHART_SHOW_ASK_LINE|CHART_SHOW_BID_LINE|CHART_SHOW_DATE_SCALE|CHART_SHOW_GRID|CHART_SHOW_LAST_LINE|CHART_SHOW_OBJECT_DESCR|CHART_SHOW_OHLC|CHART_SHOW_ONE_CLICK|CHART_SHOW_PERIOD_SEP|CHART_SHOW_PRICE_SCALE|CHART_SHOW_TRADE_LEVELS|CHART_SHOW_VOLUMES|CHART_VISIBLE_BARS|CHART_VOLUME_HIDE|CHART_VOLUME_REAL|CHART_VOLUME_TICK|CHART_WIDTH_IN_BARS|CHART_WIDTH_IN_PIXELS|CHART_WINDOW_HANDLE|CHART_WINDOW_IS_VISIBLE|CHART_WINDOW_YDISTANCE|CHART_WINDOWS_TOTAL|CHARTEVENT_CHART_CHANGE|CHARTEVENT_CLICK|CHARTEVENT_CUSTOM|CHARTEVENT_CUSTOM_LAST|CHARTEVENT_KEYDOWN|CHARTEVENT_MOUSE_MOVE|CHARTEVENT_OBJECT_CHANGE|CHARTEVENT_OBJECT_CLICK|CHARTEVENT_OBJECT_CREATE|CHARTEVENT_OBJECT_DELETE|CHARTEVENT_OBJECT_DRAG|CHARTEVENT_OBJECT_ENDEDIT|CHARTS_MAX|CHIKOUSPAN_LINE|CL_BUFFER_SIZE|CL_DEVICE_ACCELERATOR|CL_DEVICE_BUILT_IN_KERNELS|CL_DEVICE_COUNT|CL_DEVICE_CPU|CL_DEVICE_CUSTOM|CL_DEVICE_DEFAULT|CL_DEVICE_DOUBLE_FP_CONFIG|CL_DEVICE_EXTENSIONS|CL_DEVICE_GLOBAL_MEM_SIZE|CL_DEVICE_GPU|CL_DEVICE_LOCAL_MEM_SIZE|CL_DEVICE_MAX_CLOCK_FREQUENCY|CL_DEVICE_MAX_COMPUTE_UNITS|CL_DEVICE_MAX_WORK_GROUP_SIZE|CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS|CL_DEVICE_MAX_WORK_ITEM_SIZES|CL_DEVICE_NAME|CL_DEVICE_OPENCL_C_VERSION|CL_DEVICE_PROFILE|CL_DEVICE_TYPE|CL_DEVICE_VENDOR|CL_DEVICE_VENDOR_ID|CL_DEVICE_VERSION|CL_DRIVER_VERSION|CL_MEM_ALLOC_HOST_PTR|CL_MEM_COPY_HOST_PTR|CL_MEM_READ_ONLY|CL_MEM_READ_WRITE|CL_MEM_USE_HOST_PTR|CL_MEM_WRITE_ONLY|CL_PLATFORM_EXTENSIONS|CL_PLATFORM_NAME|CL_PLATFORM_PROFILE|CL_PLATFORM_VENDOR|CL_PLATFORM_VERSION|CL_USE_ANY|CL_USE_CPU_ONLY|CL_USE_GPU_ONLY|clrAliceBlue|clrAntiqueWhite|clrAqua|clrAquamarine|clrAzure|clrBeige|clrBisque|clrBlack|clrBlanchedAlmond|clrBlue|clrBlueViolet|clrBrown|clrBurlyWood|clrCadetBlue|clrChartreuse|clrChocolate|clrCoral|clrCornflowerBlue|clrCornsilk|clrCrimson|clrCyan|clrDarkBlue|clrDarkCyan|clrDarkGoldenrod|clrDarkGray|clrDarkGreen|clrDarkKhaki|clrDarkMagenta|clrDarkOliveGreen|clrDarkOrange|clrDarkOrchid|clrDarkRed|clrDarkSalmon|clrDarkSeaGreen|clrDarkSlateBlue|clrDarkSlateGray|clrDarkTurquoise|clrDarkViolet|clrDeepPink|clrDeepSkyBlue|clrDimGray|clrDodgerBlue|clrFireBrick|clrFloralWhite|clrForestGreen|clrFuchsia|clrGainsboro|clrGhostWhite|clrGold|clrGoldenrod|clrGray|clrGreen|clrGreenYellow|clrHoneydew|clrHotPink|clrIndianRed|clrIndigo|clrIvory|clrKhaki|clrLavender|clrLavenderBlush|clrLawnGreen|clrLemonChiffon|clrLightBlue|clrLightCoral|clrLightCyan|clrLightGoldenrod|clrLightGray|clrLightGreen|clrLightPink|clrLightSalmon|clrLightSeaGreen|clrLightSkyBlue|clrLightSlateGray|clrLightSteelBlue|clrLightYellow|clrLime|clrLimeGreen|clrLinen|clrMagenta|clrMaroon|clrMediumAquamarine|clrMediumBlue|clrMediumOrchid|clrMediumPurple|clrMediumSeaGreen|clrMediumSlateBlue|clrMediumSpringGreen|clrMediumTurquoise|clrMediumVioletRed|clrMidnightBlue|clrMintCream|clrMistyRose|clrMoccasin|clrNavajoWhite|clrNavy|clrNONE|clrOldLace|clrOlive|clrOliveDrab|clrOrange|clrOrangeRed|clrOrchid|clrPaleGoldenrod|clrPaleGreen|clrPaleTurquoise|clrPaleVioletRed|clrPapayaWhip|clrPeachPuff|clrPeru|clrPink|clrPlum|clrPowderBlue|clrPurple|clrRed|clrRosyBrown|clrRoyalBlue|clrSaddleBrown|clrSalmon|clrSandyBrown|clrSeaGreen|clrSeashell|clrSienna|clrSilver|clrSkyBlue|clrSlateBlue|clrSlateGray|clrSnow|clrSpringGreen|clrSteelBlue|clrTan|clrTeal|clrThistle|clrTomato|clrTurquoise|clrViolet|clrWheat|clrWhite|clrWhiteSmoke|clrYellow|clrYellowGreen|COLOR_FORMAT_ARGB_NORMALIZE|COLOR_FORMAT_ARGB_RAW|COLOR_FORMAT_XRGB_NOALPHA|COPY_TICKS_ALL|COPY_TICKS_INFO|COPY_TICKS_TRADE|copyright|CORNER_LEFT_LOWER|CORNER_LEFT_UPPER|CORNER_RIGHT_LOWER|CORNER_RIGHT_UPPER|CP_ACP|CP_MACCP|CP_OEMCP|CP_SYMBOL|CP_THREAD_ACP|CP_UTF7|CP_UTF8|CRYPT_AES128|CRYPT_AES256|CRYPT_ARCH_ZIP|CRYPT_BASE64|CRYPT_DES|CRYPT_HASH_MD5|CRYPT_HASH_SHA1|CRYPT_HASH_SHA256|DBL_DIG|DBL_EPSILON|DBL_MANT_DIG|DBL_MAX|DBL_MAX_10_EXP|DBL_MAX_EXP|DBL_MIN|DBL_MIN_10_EXP|DBL_MIN_EXP|DEAL_COMMENT|DEAL_COMMISSION|DEAL_ENTRY|DEAL_ENTRY_IN|DEAL_ENTRY_INOUT|DEAL_ENTRY_OUT|DEAL_ENTRY_OUT_BY|DEAL_ENTRY_STATE|DEAL_EXTERNAL_ID|DEAL_MAGIC|DEAL_ORDER|DEAL_POSITION_ID|DEAL_PRICE|DEAL_PROFIT|DEAL_SWAP|DEAL_SYMBOL|DEAL_TICKET|DEAL_TIME|DEAL_TIME_MSC|DEAL_TYPE|DEAL_TYPE_BALANCE|DEAL_TYPE_BONUS|DEAL_TYPE_BUY|DEAL_TYPE_BUY_CANCELED|DEAL_TYPE_CHARGE|DEAL_TYPE_COMMISSION|DEAL_TYPE_COMMISSION_AGENT_DAILY|DEAL_TYPE_COMMISSION_AGENT_MONTHLY|DEAL_TYPE_COMMISSION_DAILY|DEAL_TYPE_COMMISSION_MONTHLY|DEAL_TYPE_CORRECTION|DEAL_TYPE_CREDIT|DEAL_TYPE_INTEREST|DEAL_TYPE_SELL|DEAL_TYPE_SELL_CANCELED|DEAL_VOLUME|description|DOUBLE_VALUE|DRAW_ARROW|DRAW_BARS|DRAW_BARSCLOSE|DRAW_BARSHIGH|DRAW_BARSLOW|DRAW_BARSOPEN|DRAW_CANDLES|DRAW_COLOR_ARROW|DRAW_COLOR_BARS|DRAW_COLOR_CANDLES|DRAW_COLOR_HISTOGRAM|DRAW_COLOR_HISTOGRAM2|DRAW_COLOR_LINE|DRAW_COLOR_SECTION|DRAW_COLOR_ZIGZAG|DRAW_COLORCANDLE|DRAW_COLORLINE|DRAW_FILLING|DRAW_HISTOGRAM|DRAW_HISTOGRAM2|DRAW_LINE|DRAW_NONE|DRAW_SECTION|DRAW_ZIGZAG|ELLIOTT_CYCLE|ELLIOTT_GRAND_SUPERCYCLE|ELLIOTT_INTERMEDIATE|ELLIOTT_MINOR|ELLIOTT_MINUETTE|ELLIOTT_MINUTE|ELLIOTT_PRIMARY|ELLIOTT_SUBMINUETTE|ELLIOTT_SUPERCYCLE|EMPTY|EMPTY_VALUE|ENUM_ACCOUNT_INFO_DOUBLE|ENUM_ACCOUNT_INFO_INTEGER|ENUM_ACCOUNT_INFO_STRING|ENUM_ACCOUNT_MARGIN_MODE|ENUM_ACCOUNT_STOPOUT_MODE|ENUM_ACCOUNT_TRADE_MODE|ENUM_ALIGN_MODE|ENUM_ANCHOR_POINT|ENUM_APPLIED_PRICE|ENUM_APPLIED_VOLUME|ENUM_ARROW_ANCHOR|ENUM_BASE_CORNER|ENUM_BOOK_TYPE|ENUM_BORDER_TYPE|ENUM_CHART_EVENT|ENUM_CHART_MODE|ENUM_CHART_POSITION|ENUM_CHART_PROPERTY_DOUBLE|ENUM_CHART_PROPERTY_INTEGER|ENUM_CHART_PROPERTY_STRING|ENUM_CHART_VOLUME_MODE|ENUM_CL_DEVICE_TYPE|ENUM_COLOR_FORMAT|ENUM_CRYPT_METHOD|ENUM_CUSTOMIND_PROPERTY_DOUBLE|ENUM_CUSTOMIND_PROPERTY_INTEGER|ENUM_CUSTOMIND_PROPERTY_STRING|ENUM_DATATYPE|ENUM_DAY_OF_WEEK|ENUM_DEAL_ENTRY|ENUM_DEAL_PROPERTY_DOUBLE|ENUM_DEAL_PROPERTY_INTEGER|ENUM_DEAL_PROPERTY_STRING|ENUM_DEAL_TYPE|ENUM_DRAW_TYPE|ENUM_ELLIOT_WAVE_DEGREE|ENUM_FILE_POSITION|ENUM_FILE_PROPERTY_INTEGER|ENUM_GANN_DIRECTION|ENUM_INDEXBUFFER_TYPE|ENUM_INDICATOR|ENUM_INIT_RETCODE|ENUM_LICENSE_TYPE|ENUM_LINE_STYLE|ENUM_MA_METHOD|ENUM_MARKETINFO|ENUM_MQL5_INFO_INTEGER|ENUM_MQL5_INFO_STRING|ENUM_MQL_INFO_INTEGER|ENUM_MQL_INFO_STRING|ENUM_OBJECT|ENUM_OBJECT_PROPERTY_DOUBLE|ENUM_OBJECT_PROPERTY_INTEGER|ENUM_OBJECT_PROPERTY_STRING|ENUM_OPENCL_HANDLE_TYPE|ENUM_OPENCL_PROPERTY_INTEGER|ENUM_OPENCL_PROPERTY_STRING|ENUM_ORDER_PROPERTY_DOUBLE|ENUM_ORDER_PROPERTY_INTEGER|ENUM_ORDER_PROPERTY_STRING|ENUM_ORDER_STATE|ENUM_ORDER_TYPE|ENUM_ORDER_TYPE_FILLING|ENUM_ORDER_TYPE_TIME|ENUM_PLOT_PROPERTY_DOUBLE|ENUM_PLOT_PROPERTY_INTEGER|ENUM_PLOT_PROPERTY_STRING|ENUM_POINTER_TYPE|ENUM_POSITION_PROPERTY_DOUBLE|ENUM_POSITION_PROPERTY_INTEGER|ENUM_POSITION_PROPERTY_STRING|ENUM_POSITION_TYPE|ENUM_PROGRAM_TYPE|ENUM_SERIES_INFO_INTEGER|ENUM_SERIESMODE|ENUM_SIGNAL_BASE_DOUBLE|ENUM_SIGNAL_BASE_INTEGER|ENUM_SIGNAL_BASE_STRING|ENUM_SIGNAL_INFO_DOUBLE|ENUM_SIGNAL_INFO_INTEGER|ENUM_SIGNAL_INFO_STRING|ENUM_STATISTICS|ENUM_STO_PRICE|ENUM_SYMBOL_CALC_MODE|ENUM_SYMBOL_INFO_DOUBLE|ENUM_SYMBOL_INFO_INTEGER|ENUM_SYMBOL_INFO_STRING|ENUM_SYMBOL_OPTION_MODE|ENUM_SYMBOL_OPTION_RIGHT|ENUM_SYMBOL_SWAP_MODE|ENUM_SYMBOL_TRADE_EXECUTION|ENUM_SYMBOL_TRADE_MODE|ENUM_TERMINAL_INFO_DOUBLE|ENUM_TERMINAL_INFO_INTEGER|ENUM_TERMINAL_INFO_STRING|ENUM_TIMEFRAMES|ENUM_TRADE_REQUEST_ACTIONS|ENUM_TRADE_TRANSACTION_TYPE|ERR_ACCOUNT_DISABLED|ERR_ACCOUNT_WRONG_PROPERTY|ERR_ARRAY_AS_PARAMETER_EXPECTED|ERR_ARRAY_BAD_SIZE|ERR_ARRAY_INDEX_OUT_OF_RANGE|ERR_ARRAY_INVALID|ERR_ARRAY_RESIZE_ERROR|ERR_BOOKS_CANNOT_ADD|ERR_BOOKS_CANNOT_DELETE|ERR_BOOKS_CANNOT_GET|ERR_BOOKS_CANNOT_SUBSCRIBE|ERR_BROKER_BUSY|ERR_BUFFERS_NO_MEMORY|ERR_BUFFERS_WRONG_INDEX|ERR_CANNOT_CALL_FUNCTION|ERR_CANNOT_CLEAN_DIRECTORY|ERR_CANNOT_DELETE_DIRECTORY|ERR_CANNOT_DELETE_FILE|ERR_CANNOT_LOAD_LIBRARY|ERR_CANNOT_OPEN_FILE|ERR_CHAR_ARRAY_ONLY|ERR_CHART_CANNOT_CHANGE|ERR_CHART_CANNOT_CREATE_TIMER|ERR_CHART_CANNOT_OPEN|ERR_CHART_INDICATOR_CANNOT_ADD|ERR_CHART_INDICATOR_CANNOT_DEL|ERR_CHART_INDICATOR_NOT_FOUND|ERR_CHART_NAVIGATE_FAILED|ERR_CHART_NO_EXPERT|ERR_CHART_NO_REPLY|ERR_CHART_NOREPLY|ERR_CHART_NOT_FOUND|ERR_CHART_PROP_INVALID|ERR_CHART_SCREENSHOT_FAILED|ERR_CHART_TEMPLATE_FAILED|ERR_CHART_WINDOW_NOT_FOUND|ERR_CHART_WRONG_ID|ERR_CHART_WRONG_PARAMETER|ERR_CHART_WRONG_PROPERTY|ERR_CHARTINDICATOR_NOT_FOUND|ERR_CHARTWINDOW_NOT_FOUND|ERR_COMMON_ERROR|ERR_CUSTOM_INDICATOR_ERROR|ERR_CUSTOM_WRONG_PROPERTY|ERR_DIRECTORY_NOT_EXIST|ERR_DLL_CALLS_NOT_ALLOWED|ERR_DLLFUNC_CRITICALERROR|ERR_DOUBLE_ARRAY_ONLY|ERR_DOUBLE_PARAMETER_EXPECTED|ERR_END_OF_FILE|ERR_EXTERNAL_CALLS_NOT_ALLOWED|ERR_FILE_ARRAYRESIZE_ERROR|ERR_FILE_BIN_STRINGSIZE|ERR_FILE_BINSTRINGSIZE|ERR_FILE_BUFFER_ALLOCATION_ERROR|ERR_FILE_CACHEBUFFER_ERROR|ERR_FILE_CANNOT_CLEAN_DIRECTORY|ERR_FILE_CANNOT_DELETE|ERR_FILE_CANNOT_DELETE_DIRECTORY|ERR_FILE_CANNOT_OPEN|ERR_FILE_CANNOT_REWRITE|ERR_FILE_DIRECTORY_NOT_EXIST|ERR_FILE_ENDOFFILE|ERR_FILE_INCOMPATIBLE)\\b"},{"name":"support.constant.mql5","match":"\\b(ERR_FILE_INVALID_HANDLE|ERR_FILE_IS_DIRECTORY|ERR_FILE_ISNOT_DIRECTORY|ERR_FILE_NOT_BIN|ERR_FILE_NOT_CSV|ERR_FILE_NOT_DIRECTORY|ERR_FILE_NOT_EXIST|ERR_FILE_NOT_TOREAD|ERR_FILE_NOT_TOWRITE|ERR_FILE_NOT_TXT|ERR_FILE_NOT_TXTORCSV|ERR_FILE_NOTBIN|ERR_FILE_NOTCSV|ERR_FILE_NOTTOREAD|ERR_FILE_NOTTOWRITE|ERR_FILE_NOTTXT|ERR_FILE_NOTTXTORCSV|ERR_FILE_READ_ERROR|ERR_FILE_READERROR|ERR_FILE_STRINGRESIZE_ERROR|ERR_FILE_STRUCT_WITH_OBJECTS|ERR_FILE_TOO_LONG_FILENAME|ERR_FILE_TOO_MANY_OPENED|ERR_FILE_WRITE_ERROR|ERR_FILE_WRITEERROR|ERR_FILE_WRONG_DIRECTORYNAME|ERR_FILE_WRONG_FILENAME|ERR_FILE_WRONG_HANDLE|ERR_FLOAT_ARRAY_ONLY|ERR_FORMAT_TOO_MANY_FORMATTERS|ERR_FORMAT_TOO_MANY_PARAMETERS|ERR_FTP_CHANGEDIR|ERR_FTP_CLOSED|ERR_FTP_CONNECT_FAILED|ERR_FTP_ERROR|ERR_FTP_FILE_ERROR|ERR_FTP_NOLOGIN|ERR_FTP_NOSERVER|ERR_FTP_SEND_FAILED|ERR_FUNC_NOT_ALLOWED_IN_TESTING|ERR_FUNCTION_NOT_ALLOWED|ERR_FUNCTION_NOT_CONFIRMED|ERR_GLOBAL_VARIABLE_NOT_FOUND|ERR_GLOBAL_VARIABLES_PROCESSING|ERR_GLOBALVARIABLE_EXISTS|ERR_GLOBALVARIABLE_NOT_FOUND|ERR_HISTORY_BARS_LIMIT|ERR_HISTORY_LOAD_ERRORS|ERR_HISTORY_NOT_FOUND|ERR_HISTORY_TIMEOUT|ERR_HISTORY_WILL_UPDATED|ERR_HISTORY_WRONG_PROPERTY|ERR_INCOMPATIBLE_ARRAYS|ERR_INCOMPATIBLE_FILE|ERR_INCOMPATIBLE_FILEACCESS|ERR_INCORRECT_SERIESARRAY_USING|ERR_INDICATOR_CANNOT_ADD|ERR_INDICATOR_CANNOT_APPLY|ERR_INDICATOR_CANNOT_CREATE|ERR_INDICATOR_CANNOT_INIT|ERR_INDICATOR_CANNOT_LOAD|ERR_INDICATOR_CUSTOM_NAME|ERR_INDICATOR_DATA_NOT_FOUND|ERR_INDICATOR_NO_MEMORY|ERR_INDICATOR_PARAMETER_TYPE|ERR_INDICATOR_PARAMETERS_MISSING|ERR_INDICATOR_UNKNOWN_SYMBOL|ERR_INDICATOR_WRONG_HANDLE|ERR_INDICATOR_WRONG_INDEX|ERR_INDICATOR_WRONG_PARAMETERS|ERR_INT_ARRAY_ONLY|ERR_INTEGER_PARAMETER_EXPECTED|ERR_INTERNAL_ERROR|ERR_INVALID_ACCOUNT|ERR_INVALID_ARRAY|ERR_INVALID_DATETIME|ERR_INVALID_FILEHANDLE|ERR_INVALID_FUNCTION_PARAMSCNT|ERR_INVALID_FUNCTION_PARAMVALUE|ERR_INVALID_PARAMETER|ERR_INVALID_POINTER|ERR_INVALID_POINTER_TYPE|ERR_INVALID_PRICE|ERR_INVALID_PRICE_PARAM|ERR_INVALID_STOPS|ERR_INVALID_TICKET|ERR_INVALID_TRADE_PARAMETERS|ERR_INVALID_TRADE_VOLUME|ERR_LONG_ARRAY_ONLY|ERR_LONG_POSITIONS_ONLY_ALLOWED|ERR_LONGS_NOT_ALLOWED|ERR_MAIL_SEND_FAILED|ERR_MALFUNCTIONAL_TRADE|ERR_MARKET_CLOSED|ERR_MARKET_LASTTIME_UNKNOWN|ERR_MARKET_NOT_SELECTED|ERR_MARKET_SELECT_ERROR|ERR_MARKET_UNKNOWN_SYMBOL|ERR_MARKET_WRONG_PROPERTY|ERR_MQL5_WRONG_PROPERTY|ERR_NO_CONNECTION|ERR_NO_ERROR|ERR_NO_HISTORY_DATA|ERR_NO_MEMORY_FOR_ARRAYSTRING|ERR_NO_MEMORY_FOR_CALL_STACK|ERR_NO_MEMORY_FOR_HISTORY|ERR_NO_MEMORY_FOR_INDICATOR|ERR_NO_MEMORY_FOR_PARAM_STRING|ERR_NO_MEMORY_FOR_RETURNED_STR|ERR_NO_MEMORY_FOR_TEMP_STRING|ERR_NO_MQLERROR|ERR_NO_OBJECT_NAME|ERR_NO_ORDER_SELECTED|ERR_NO_RESULT|ERR_NO_SPECIFIED_SUBWINDOW|ERR_NO_STRING_DATE|ERR_NOT_ENOUGH_MEMORY|ERR_NOT_ENOUGH_MONEY|ERR_NOT_ENOUGH_RIGHTS|ERR_NOT_ENOUGH_STACK_FOR_PARAM|ERR_NOT_INITIALIZED_ARRAY|ERR_NOT_INITIALIZED_ARRAYSTRING|ERR_NOT_INITIALIZED_STRING|ERR_NOTIFICATION_ERROR|ERR_NOTIFICATION_PARAMETER|ERR_NOTIFICATION_SEND_FAILED|ERR_NOTIFICATION_SETTINGS|ERR_NOTIFICATION_TOO_FREQUENT|ERR_NOTIFICATION_WRONG_PARAMETER|ERR_NOTIFICATION_WRONG_SETTINGS|ERR_NOTINITIALIZED_STRING|ERR_NUMBER_ARRAYS_ONLY|ERR_OBJECT_ALREADY_EXISTS|ERR_OBJECT_COORDINATES_ERROR|ERR_OBJECT_DOES_NOT_EXIST|ERR_OBJECT_ERROR|ERR_OBJECT_GETDATE_FAILED|ERR_OBJECT_GETVALUE_FAILED|ERR_OBJECT_NOT_FOUND|ERR_OBJECT_WRONG_PROPERTY|ERR_OFF_QUOTES|ERR_OLD_VERSION|ERR_ONEDIM_ARRAYS_ONLY|ERR_OPENCL_BUFFER_CREATE|ERR_OPENCL_CONTEXT_CREATE|ERR_OPENCL_EXECUTE|ERR_OPENCL_INTERNAL|ERR_OPENCL_INVALID_HANDLE|ERR_OPENCL_KERNEL_CREATE|ERR_OPENCL_NOT_SUPPORTED|ERR_OPENCL_PROGRAM_CREATE|ERR_OPENCL_QUEUE_CREATE|ERR_OPENCL_SET_KERNEL_PARAMETER|ERR_OPENCL_TOO_LONG_KERNEL_NAME|ERR_OPENCL_WRONG_BUFFER_OFFSET|ERR_OPENCL_WRONG_BUFFER_SIZE|ERR_ORDER_LOCKED|ERR_OUT_OF_MEMORY|ERR_PLAY_SOUND_FAILED|ERR_PRICE_CHANGED|ERR_RECURSIVE_STACK_OVERFLOW|ERR_REMAINDER_FROM_ZERO_DIVIDE|ERR_REQUOTE|ERR_RESOURCE_DUPLICATED|ERR_RESOURCE_NAME_DUPLICATED|ERR_RESOURCE_NAME_IS_TOO_LONG|ERR_RESOURCE_NOT_FOUND|ERR_RESOURCE_NOT_SUPPORTED|ERR_RESOURCE_UNSUPPOTED_TYPE|ERR_SEND_MAIL_ERROR|ERR_SERIES_ARRAY|ERR_SERVER_BUSY|ERR_SHORT_ARRAY_ONLY|ERR_SHORTS_NOT_ALLOWED|ERR_SMALL_ARRAY|ERR_SMALL_ASSERIES_ARRAY|ERR_SOME_ARRAY_ERROR|ERR_SOME_FILE_ERROR|ERR_SOME_OBJECT_ERROR|ERR_STRING_ARRAY_ONLY|ERR_STRING_FUNCTION_INTERNAL|ERR_STRING_OUT_OF_MEMORY|ERR_STRING_PARAMETER_EXPECTED|ERR_STRING_RESIZE_ERROR|ERR_STRING_SMALL_LEN|ERR_STRING_TIME_ERROR|ERR_STRING_TOO_BIGNUMBER|ERR_STRING_UNKNOWNTYPE|ERR_STRING_ZEROADDED|ERR_STRINGPOS_OUTOFRANGE|ERR_STRUCT_WITHOBJECTS_ORCLASS|ERR_SUCCESS|ERR_SYMBOL_SELECT|ERR_SYSTEM_BUSY|ERR_TERMINAL_WRONG_PROPERTY|ERR_TOO_FREQUENT_REQUESTS|ERR_TOO_LONG_FILENAME|ERR_TOO_LONG_STRING|ERR_TOO_MANY_FILES|ERR_TOO_MANY_FORMATTERS|ERR_TOO_MANY_OPENED_FILES|ERR_TOO_MANY_PARAMETERS|ERR_TOO_MANY_REQUESTS|ERR_TRADE_CALC_FAILED|ERR_TRADE_CONTEXT_BUSY|ERR_TRADE_DEAL_NOT_FOUND|ERR_TRADE_DISABLED|ERR_TRADE_ERROR|ERR_TRADE_EXPERT_DISABLED_BY_SERVER|ERR_TRADE_EXPIRATION_DENIED|ERR_TRADE_HEDGE_PROHIBITED|ERR_TRADE_MODIFY_DENIED|ERR_TRADE_NOT_ALLOWED|ERR_TRADE_ORDER_NOT_FOUND|ERR_TRADE_POSITION_NOT_FOUND|ERR_TRADE_PROHIBITED_BY_FIFO|ERR_TRADE_SEND_FAILED|ERR_TRADE_TIMEOUT|ERR_TRADE_TOO_MANY_ORDERS|ERR_TRADE_WRONG_PROPERTY|ERR_UNKNOWN_COMMAND|ERR_UNKNOWN_OBJECT_PROPERTY|ERR_UNKNOWN_OBJECT_TYPE|ERR_UNKNOWN_SYMBOL|ERR_USER_ERROR_FIRST|ERR_USER_ERROR_LAST|ERR_WEBREQUEST_CONNECT_FAILED|ERR_WEBREQUEST_INVALID_ADDRESS|ERR_WEBREQUEST_REQUEST_FAILED|ERR_WEBREQUEST_TIMEOUT|ERR_WRONG_DIRECTORYNAME|ERR_WRONG_FILE_NAME|ERR_WRONG_FILEHANDLE|ERR_WRONG_FILENAME|ERR_WRONG_FORMATSTRING|ERR_WRONG_FUNCTION_POINTER|ERR_WRONG_INTERNAL_PARAMETER|ERR_WRONG_JUMP|ERR_WRONG_STRING_DATE|ERR_WRONG_STRING_OBJECT|ERR_WRONG_STRING_PARAMETER|ERR_WRONG_STRING_TIME|ERR_ZERO_DIVIDE|ERR_ZEROSIZE_ARRAY|false|False|FALSE|FILE_ACCESS_DATE|FILE_ANSI|FILE_BIN|FILE_COMMON|FILE_CREATE_DATE|FILE_CSV|FILE_END|FILE_EXISTS|FILE_IS_ANSI|FILE_IS_BINARY|FILE_IS_COMMON|FILE_IS_CSV|FILE_IS_READABLE|FILE_IS_TEXT|FILE_IS_WRITABLE|FILE_LINE_END|FILE_MODIFY_DATE|FILE_POSITION|FILE_READ|FILE_REWRITE|FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SIZE|FILE_TXT|FILE_UNICODE|FILE_WRITE|FLOAT_VALUE|FLT_DIG|FLT_EPSILON|FLT_MANT_DIG|FLT_MAX|FLT_MAX_10_EXP|FLT_MAX_EXP|FLT_MIN|FLT_MIN_10_EXP|FLT_MIN_EXP|FONT_ITALIC|FONT_STRIKEOUT|FONT_UNDERLINE|FRIDAY|FW_BLACK|FW_BOLD|FW_DEMIBOLD|FW_DONTCARE|FW_EXTRABOLD|FW_EXTRALIGHT|FW_HEAVY|FW_LIGHT|FW_MEDIUM|FW_NORMAL|FW_REGULAR|FW_SEMIBOLD|FW_THIN|FW_ULTRABOLD|FW_ULTRALIGHT|GANN_DOWN_TREND|GANN_UP_TREND|GATORJAW_LINE|GATORLIPS_LINE|GATORTEETH_LINE|icon|IDABORT|IDCANCEL|IDCLOSE|IDCONTINUE|IDHELP|IDIGNORE|IDNO|IDOK|IDRETRY|IDTRYAGAIN|IDYES|IND_AC|IND_AD|IND_ADX|IND_ADXW|IND_ALLIGATOR|IND_AMA|IND_AO|IND_ATR|IND_BANDS|IND_BEARS|IND_BULLS|IND_BWMFI|IND_CCI|IND_CHAIKIN|IND_CUSTOM|IND_DEMA|IND_DEMARKER|IND_ENVELOPES|IND_FORCE|IND_FRACTALS|IND_FRAMA|IND_GATOR|IND_ICHIMOKU|IND_MA|IND_MACD|IND_MFI|IND_MOMENTUM|IND_OBV|IND_OSMA|IND_RSI|IND_RVI|IND_SAR|IND_STDDEV|IND_STOCHASTIC|IND_TEMA|IND_TRIX|IND_VIDYA|IND_VOLUMES|IND_WPR|indicator_applied_price|indicator_buffers|INDICATOR_CALCULATIONS|indicator_chart_window|indicator_color|INDICATOR_COLOR_INDEX|INDICATOR_DATA|INDICATOR_DIGITS|indicator_height|INDICATOR_HEIGHT|indicator_label|indicator_level|indicator_levelcolor|INDICATOR_LEVELCOLOR|INDICATOR_LEVELS|indicator_levelstyle|INDICATOR_LEVELSTYLE|INDICATOR_LEVELTEXT|INDICATOR_LEVELVALUE|indicator_levelwidth|INDICATOR_LEVELWIDTH|indicator_maximum|INDICATOR_MAXIMUM|indicator_minimum|INDICATOR_MINIMUM|indicator_plots|indicator_separate_window|INDICATOR_SHORTNAME|indicator_style|indicator_type|indicator_width|INIT_AGENT_NOT_SUITABLE|INIT_FAILED|INIT_PARAMETERS_INCORRECT|INIT_SUCCEEDED|INT_MAX|INT_MIN|INT_VALUE|INVALID_HANDLE|IS_DEBUG_MODE|IS_PROFILE_MODE|KIJUNSEN_LINE|library|LICENSE_DEMO|LICENSE_FREE|LICENSE_FULL|LICENSE_TIME|link|LONG_MAX|LONG_MIN|LONG_VALUE|LOWER_BAND|LOWER_HISTOGRAM|LOWER_LINE|M_1_PI|M_2_PI|M_2_SQRTPI|M_E|M_LN10|M_LN2|M_LOG10E|M_LOG2E|M_PI|M_PI_2|M_PI_4|M_SQRT1_2|M_SQRT2|MAIN_LINE|MB_ABORTRETRYIGNORE|MB_APPLMODAL|MB_CANCELTRYCONTINUE|MB_DEFAULT_DESKTOP_ONLY|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_HELP|MB_ICONASTERISK|MB_ICONERROR|MB_ICONEXCLAMATION|MB_ICONHAND|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_ICONWARNING|MB_NOFOCUS|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_SYSTEMMODAL|MB_TASKMODAL|MB_TOPMOST|MB_USERICON|MB_YESNO|MB_YESNOCANCEL|MINUSDI_LINE|MODE_ASCEND|MODE_ASK|MODE_BASE|MODE_BID|MODE_CHIKOUSPAN|MODE_CLOSE|MODE_CLOSEBY_ALLOWED|MODE_DESCEND|MODE_DIGITS|MODE_EMA|MODE_EXPIRATION|MODE_FREEZELEVEL|MODE_GATORJAW|MODE_GATORLIPS|MODE_GATORTEETH|MODE_HIGH|MODE_HISTORY|MODE_KIJUNSEN|MODE_LOTSIZE|MODE_LOTSTEP|MODE_LOW|MODE_LOWER|MODE_LWMA|MODE_MAIN|MODE_MARGINCALCMODE|MODE_MARGINHEDGED|MODE_MARGININIT|MODE_MARGINMAINTENANCE|MODE_MARGINREQUIRED|MODE_MAXLOT|MODE_MINLOT|MODE_MINUSDI|MODE_OPEN|MODE_PLUSDI|MODE_POINT|MODE_PROFITCALCMODE|MODE_SENKOUSPANA|MODE_SENKOUSPANB|MODE_SIGNAL|MODE_SMA|MODE_SMMA|MODE_SPREAD|MODE_STARTING|MODE_STOPLEVEL|MODE_SWAPLONG|MODE_SWAPSHORT|MODE_SWAPTYPE|MODE_TENKANSEN|MODE_TICKSIZE|MODE_TICKVALUE|MODE_TIME|MODE_TRADEALLOWED|MODE_TRADES|MODE_UPPER|MODE_VOLUME|MONDAY|MQL5_DEBUG|MQL5_DEBUGGING|MQL5_DLLS_ALLOWED|MQL5_FRAME_MODE|MQL5_LICENSE_TYPE|MQL5_MEMORY_LIMIT|MQL5_MEMORY_USED|MQL5_OPTIMIZATION|MQL5_PROFILER|MQL5_PROGRAM_NAME|MQL5_PROGRAM_PATH|MQL5_PROGRAM_TYPE|MQL5_SIGNALS_ALLOWED|MQL5_TESTER|MQL5_TESTING|MQL5_TRADE_ALLOWED|MQL5_VISUAL_MODE|MQL_CODEPAGE|MQL_DEBUG|MQL_DLLS_ALLOWED|MQL_FRAME_MODE|MQL_LICENSE_TYPE|MQL_MEMORY_LIMIT|MQL_MEMORY_USED|MQL_OPTIMIZATION|MQL_PROFILER|MQL_PROGRAM_NAME|MQL_PROGRAM_PATH|MQL_PROGRAM_TYPE|MQL_SIGNALS_ALLOWED|MQL_TESTER|MQL_TRADE_ALLOWED|MQL_VISUAL_MODE|NULL|OBJ_ALL_PERIODS|OBJ_ARROW|OBJ_ARROW_BUY|OBJ_ARROW_CHECK|OBJ_ARROW_DOWN|OBJ_ARROW_LEFT_PRICE|OBJ_ARROW_RIGHT_PRICE|OBJ_ARROW_SELL|OBJ_ARROW_STOP|OBJ_ARROW_THUMB_DOWN|OBJ_ARROW_THUMB_UP|OBJ_ARROW_UP|OBJ_ARROWED_LINE|OBJ_BITMAP|OBJ_BITMAP_LABEL|OBJ_BUTTON|OBJ_CHANNEL|OBJ_CHART|OBJ_CYCLES|OBJ_EDIT|OBJ_ELLIOTWAVE3|OBJ_ELLIOTWAVE5|OBJ_ELLIPSE|OBJ_EVENT|OBJ_EXPANSION|OBJ_FIBO|OBJ_FIBOARC|OBJ_FIBOCHANNEL|OBJ_FIBOFAN|OBJ_FIBOTIMES|OBJ_GANNFAN|OBJ_GANNGRID|OBJ_GANNLINE|OBJ_HLINE|OBJ_LABEL|OBJ_NO_PERIODS|OBJ_PERIOD_D1|OBJ_PERIOD_H1|OBJ_PERIOD_H12|OBJ_PERIOD_H2|OBJ_PERIOD_H3|OBJ_PERIOD_H4|OBJ_PERIOD_H6|OBJ_PERIOD_H8|OBJ_PERIOD_M1|OBJ_PERIOD_M10|OBJ_PERIOD_M12|OBJ_PERIOD_M15|OBJ_PERIOD_M2|OBJ_PERIOD_M20|OBJ_PERIOD_M3|OBJ_PERIOD_M30|OBJ_PERIOD_M4)\\b"},{"name":"support.constant.mql5","match":"\\b(OBJ_PERIOD_M5|OBJ_PERIOD_M6|OBJ_PERIOD_MN1|OBJ_PERIOD_W1|OBJ_PITCHFORK|OBJ_RECTANGLE|OBJ_RECTANGLE_LABEL|OBJ_REGRESSION|OBJ_STDDEVCHANNEL|OBJ_TEXT|OBJ_TREND|OBJ_TRENDBYANGLE|OBJ_TRIANGLE|OBJ_VLINE|OBJPROP_ALIGN|OBJPROP_ANCHOR|OBJPROP_ANGLE|OBJPROP_ARROWCODE|OBJPROP_BACK|OBJPROP_BGCOLOR|OBJPROP_BMPFILE|OBJPROP_BORDER_COLOR|OBJPROP_BORDER_TYPE|OBJPROP_CHART_ID|OBJPROP_CHART_SCALE|OBJPROP_COLOR|OBJPROP_CORNER|OBJPROP_CREATETIME|OBJPROP_DATE_SCALE|OBJPROP_DEGREE|OBJPROP_DEVIATION|OBJPROP_DIRECTION|OBJPROP_DRAWLINES|OBJPROP_ELLIPSE|OBJPROP_FIBOLEVELS|OBJPROP_FILL|OBJPROP_FIRSTLEVEL|OBJPROP_FONT|OBJPROP_FONTSIZE|OBJPROP_HIDDEN|OBJPROP_LEVELCOLOR|OBJPROP_LEVELS|OBJPROP_LEVELSTYLE|OBJPROP_LEVELTEXT|OBJPROP_LEVELVALUE|OBJPROP_LEVELWIDTH|OBJPROP_NAME|OBJPROP_PERIOD|OBJPROP_PRICE|OBJPROP_PRICE1|OBJPROP_PRICE2|OBJPROP_PRICE3|OBJPROP_PRICE_SCALE|OBJPROP_RAY|OBJPROP_RAY_LEFT|OBJPROP_RAY_RIGHT|OBJPROP_READONLY|OBJPROP_SCALE|OBJPROP_SELECTABLE|OBJPROP_SELECTED|OBJPROP_STATE|OBJPROP_STYLE|OBJPROP_SYMBOL|OBJPROP_TEXT|OBJPROP_TIME|OBJPROP_TIME1|OBJPROP_TIME2|OBJPROP_TIME3|OBJPROP_TIMEFRAMES|OBJPROP_TOOLTIP|OBJPROP_TYPE|OBJPROP_WIDTH|OBJPROP_XDISTANCE|OBJPROP_XOFFSET|OBJPROP_XSIZE|OBJPROP_YDISTANCE|OBJPROP_YOFFSET|OBJPROP_YSIZE|OBJPROP_ZORDER|OP_BUY|OP_BUYLIMIT|OP_BUYSTOP|OP_SELL|OP_SELLLIMIT|OP_SELLSTOP|OPENCL_BUFFER|OPENCL_CONTEXT|OPENCL_INVALID|OPENCL_KERNEL|OPENCL_PROGRAM|ORDER_COMMENT|ORDER_EXTERNAL_ID|ORDER_FILLING_FOK|ORDER_FILLING_IOC|ORDER_FILLING_RETURN|ORDER_MAGIC|ORDER_POSITION_BY_ID|ORDER_POSITION_ID|ORDER_PRICE_CURRENT|ORDER_PRICE_OPEN|ORDER_PRICE_STOPLIMIT|ORDER_SL|ORDER_STATE|ORDER_STATE_CANCELED|ORDER_STATE_EXPIRED|ORDER_STATE_FILLED|ORDER_STATE_PARTIAL|ORDER_STATE_PLACED|ORDER_STATE_REJECTED|ORDER_STATE_REQUEST_ADD|ORDER_STATE_REQUEST_CANCEL|ORDER_STATE_REQUEST_MODIFY|ORDER_STATE_STARTED|ORDER_SYMBOL|ORDER_TICKET|ORDER_TIME_DAY|ORDER_TIME_DONE|ORDER_TIME_DONE_MSC|ORDER_TIME_EXPIRATION|ORDER_TIME_GTC|ORDER_TIME_SETUP|ORDER_TIME_SETUP_MSC|ORDER_TIME_SPECIFIED|ORDER_TIME_SPECIFIED_DAY|ORDER_TP|ORDER_TYPE|ORDER_TYPE_BALANCE|ORDER_TYPE_BUY|ORDER_TYPE_BUY_LIMIT|ORDER_TYPE_BUY_STOP|ORDER_TYPE_BUY_STOP_LIMIT|ORDER_TYPE_CLOSE_BY|ORDER_TYPE_CREDIT|ORDER_TYPE_FILLING|ORDER_TYPE_SELL|ORDER_TYPE_SELL_LIMIT|ORDER_TYPE_SELL_STOP|ORDER_TYPE_SELL_STOP_LIMIT|ORDER_TYPE_TIME|ORDER_VOLUME_CURRENT|ORDER_VOLUME_INITIAL|PERIOD_CURRENT|PERIOD_D1|PERIOD_H1|PERIOD_H12|PERIOD_H2|PERIOD_H3|PERIOD_H4|PERIOD_H6|PERIOD_H8|PERIOD_M1|PERIOD_M10|PERIOD_M12|PERIOD_M15|PERIOD_M2|PERIOD_M20|PERIOD_M3|PERIOD_M30|PERIOD_M4|PERIOD_M5|PERIOD_M6|PERIOD_MN1|PERIOD_W1|PLOT_ARROW|PLOT_ARROW_SHIFT|PLOT_COLOR_INDEXES|PLOT_DRAW_BEGIN|PLOT_DRAW_TYPE|PLOT_EMPTY_VALUE|PLOT_LABEL|PLOT_LINE_COLOR|PLOT_LINE_STYLE|PLOT_LINE_WIDTH|PLOT_SHIFT|PLOT_SHOW_DATA|PLUSDI_LINE|POINTER_AUTOMATIC|POINTER_DYNAMIC|POINTER_INVALID|POSITION_COMMENT|POSITION_COMMISSION|POSITION_IDENTIFIER|POSITION_MAGIC|POSITION_PRICE_CURRENT|POSITION_PRICE_OPEN|POSITION_PROFIT|POSITION_SL|POSITION_SWAP|POSITION_SYMBOL|POSITION_TICKET|POSITION_TIME|POSITION_TIME_MSC|POSITION_TIME_UPDATE|POSITION_TIME_UPDATE_MSC|POSITION_TP|POSITION_TYPE|POSITION_TYPE_BUY|POSITION_TYPE_SELL|POSITION_VOLUME|PRICE_CLOSE|PRICE_HIGH|PRICE_LOW|PRICE_MEDIAN|PRICE_OPEN|PRICE_TYPICAL|PRICE_WEIGHTED|PROGRAM_EXPERT|PROGRAM_INDICATOR|PROGRAM_SCRIPT|REASON_ACCOUNT|REASON_CHARTCHANGE|REASON_CHARTCLOSE|REASON_CLOSE|REASON_INITFAILED|REASON_PARAMETERS|REASON_PROGRAM|REASON_RECOMPILE|REASON_REMOVE|REASON_TEMPLATE|SATURDAY|script_show_confirm|script_show_inputs|SEEK_CUR|SEEK_END|SEEK_SET|SELECT_BY_POS|SELECT_BY_TICKET|SENKOUSPANA_LINE|SENKOUSPANB_LINE|SERIES_BARS_COUNT|SERIES_FIRSTDATE|SERIES_LASTBAR_DATE|SERIES_SERVER_FIRSTDATE|SERIES_SYNCHRONIZED|SERIES_TERMINAL_FIRSTDATE|SHORT_MAX|SHORT_MIN|SHORT_VALUE|show_confirm|show_inputs|SIGNAL_BASE_AUTHOR_LOGIN|SIGNAL_BASE_BALANCE|SIGNAL_BASE_BROKER|SIGNAL_BASE_BROKER_SERVER|SIGNAL_BASE_CURRENCY|SIGNAL_BASE_DATE_PUBLISHED|SIGNAL_BASE_DATE_STARTED|SIGNAL_BASE_DATE_UPDATED|SIGNAL_BASE_EQUITY|SIGNAL_BASE_GAIN|SIGNAL_BASE_ID|SIGNAL_BASE_LEVERAGE|SIGNAL_BASE_MAX_DRAWDOWN|SIGNAL_BASE_NAME|SIGNAL_BASE_PIPS|SIGNAL_BASE_PRICE|SIGNAL_BASE_RATING|SIGNAL_BASE_ROI|SIGNAL_BASE_SUBSCRIBERS|SIGNAL_BASE_TRADE_MODE|SIGNAL_BASE_TRADES|SIGNAL_INFO_CONFIRMATIONS_DISABLED|SIGNAL_INFO_COPY_SLTP|SIGNAL_INFO_DEPOSIT_PERCENT|SIGNAL_INFO_EQUITY_LIMIT|SIGNAL_INFO_ID|SIGNAL_INFO_NAME|SIGNAL_INFO_SLIPPAGE|SIGNAL_INFO_SUBSCRIPTION_ENABLED|SIGNAL_INFO_TERMS_AGREE|SIGNAL_INFO_VOLUME_PERCENT|SIGNAL_LINE|stacksize|STAT_BALANCE_DD|STAT_BALANCE_DD_RELATIVE|STAT_BALANCE_DDREL_PERCENT|STAT_BALANCEDD_PERCENT|STAT_BALANCEMIN|STAT_CONLOSSMAX|STAT_CONLOSSMAX_TRADES|STAT_CONPROFITMAX|STAT_CONPROFITMAX_TRADES|STAT_CUSTOM_ONTESTER|STAT_DEALS|STAT_EQUITY_DD|STAT_EQUITY_DD_RELATIVE|STAT_EQUITY_DDREL_PERCENT|STAT_EQUITYDD_PERCENT|STAT_EQUITYMIN|STAT_EXPECTED_PAYOFF|STAT_GROSS_LOSS|STAT_GROSS_PROFIT|STAT_INITIAL_DEPOSIT|STAT_LONG_TRADES|STAT_LOSS_TRADES|STAT_LOSSTRADES_AVGCON|STAT_MAX_CONLOSS_TRADES|STAT_MAX_CONLOSSES|STAT_MAX_CONPROFIT_TRADES|STAT_MAX_CONWINS|STAT_MAX_LOSSTRADE|STAT_MAX_PROFITTRADE|STAT_MIN_MARGINLEVEL|STAT_PROFIT|STAT_PROFIT_FACTOR|STAT_PROFIT_LONGTRADES|STAT_PROFIT_SHORTTRADES|STAT_PROFIT_TRADES|STAT_PROFITTRADES_AVGCON|STAT_RECOVERY_FACTOR|STAT_SHARPE_RATIO|STAT_SHORT_TRADES|STAT_TRADES|STAT_WITHDRAWAL|STO_CLOSECLOSE|STO_LOWHIGH|strict|STYLE_DASH|STYLE_DASHDOT|STYLE_DASHDOTDOT|STYLE_DOT|STYLE_SOLID|SUNDAY|SYMBOL_ARROWDOWN|SYMBOL_ARROWUP|SYMBOL_ASK|SYMBOL_ASKHIGH|SYMBOL_ASKLOW|SYMBOL_BANK|SYMBOL_BASIS|SYMBOL_BID|SYMBOL_BIDHIGH|SYMBOL_BIDLOW|SYMBOL_CALC_MODE_CFD|SYMBOL_CALC_MODE_CFDINDEX|SYMBOL_CALC_MODE_CFDLEVERAGE|SYMBOL_CALC_MODE_EXCH_FUTURES|SYMBOL_CALC_MODE_EXCH_FUTURES_FORTS|SYMBOL_CALC_MODE_EXCH_OPTIONS|SYMBOL_CALC_MODE_EXCH_OPTIONS_MARGIN|SYMBOL_CALC_MODE_EXCH_STOCKS|SYMBOL_CALC_MODE_FOREX|SYMBOL_CALC_MODE_FUTURES|SYMBOL_CALC_MODE_SERV_COLLATERAL|SYMBOL_CHECKSIGN|SYMBOL_CURRENCY_BASE|SYMBOL_CURRENCY_MARGIN|SYMBOL_CURRENCY_PROFIT|SYMBOL_DESCRIPTION|SYMBOL_DIGITS|SYMBOL_EXPIRATION_DAY|SYMBOL_EXPIRATION_GTC|SYMBOL_EXPIRATION_MODE|SYMBOL_EXPIRATION_SPECIFIED|SYMBOL_EXPIRATION_SPECIFIED_DAY|SYMBOL_EXPIRATION_TIME|SYMBOL_FILLING_FOK|SYMBOL_FILLING_IOC|SYMBOL_FILLING_MODE|SYMBOL_ISIN|SYMBOL_LAST|SYMBOL_LASTHIGH|SYMBOL_LASTLOW|SYMBOL_LEFTPRICE|SYMBOL_MARGIN_HEDGED|SYMBOL_MARGIN_INITIAL|SYMBOL_MARGIN_LIMIT|SYMBOL_MARGIN_LONG|SYMBOL_MARGIN_MAINTENANCE|SYMBOL_MARGIN_SHORT|SYMBOL_MARGIN_STOP|SYMBOL_MARGIN_STOPLIMIT|SYMBOL_OPTION_MODE|SYMBOL_OPTION_MODE_AMERICAN|SYMBOL_OPTION_MODE_EUROPEAN|SYMBOL_OPTION_RIGHT|SYMBOL_OPTION_RIGHT_CALL|SYMBOL_OPTION_RIGHT_PUT|SYMBOL_OPTION_STRIKE|SYMBOL_ORDER_LIMIT|SYMBOL_ORDER_MARKET|SYMBOL_ORDER_MODE|SYMBOL_ORDER_SL|SYMBOL_ORDER_STOP|SYMBOL_ORDER_STOP_LIMIT|SYMBOL_ORDER_TP|SYMBOL_PATH|SYMBOL_POINT|SYMBOL_RIGHTPRICE|SYMBOL_SELECT|SYMBOL_SESSION_AW|SYMBOL_SESSION_BUY_ORDERS|SYMBOL_SESSION_BUY_ORDERS_VOLUME|SYMBOL_SESSION_CLOSE|SYMBOL_SESSION_DEALS|SYMBOL_SESSION_INTEREST|SYMBOL_SESSION_OPEN|SYMBOL_SESSION_PRICE_LIMIT_MAX|SYMBOL_SESSION_PRICE_LIMIT_MIN|SYMBOL_SESSION_PRICE_SETTLEMENT|SYMBOL_SESSION_SELL_ORDERS|SYMBOL_SESSION_SELL_ORDERS_VOLUME|SYMBOL_SESSION_TURNOVER|SYMBOL_SESSION_VOLUME|SYMBOL_SPREAD|SYMBOL_SPREAD_FLOAT|SYMBOL_START_TIME|SYMBOL_STOPSIGN|SYMBOL_SWAP_LONG|SYMBOL_SWAP_MODE|SYMBOL_SWAP_MODE_BY_INTEREST|SYMBOL_SWAP_MODE_BY_MARGIN_CURRENCY|SYMBOL_SWAP_MODE_BY_MONEY|SYMBOL_SWAP_MODE_BY_POINTS|SYMBOL_SWAP_MODE_CURRENCY_DEPOSIT|SYMBOL_SWAP_MODE_CURRENCY_MARGIN|SYMBOL_SWAP_MODE_CURRENCY_SYMBOL|SYMBOL_SWAP_MODE_DISABLED|SYMBOL_SWAP_MODE_INTEREST_CURRENT|SYMBOL_SWAP_MODE_INTEREST_OPEN|SYMBOL_SWAP_MODE_POINTS|SYMBOL_SWAP_MODE_REOPEN_BID|SYMBOL_SWAP_MODE_REOPEN_CURRENT|SYMBOL_SWAP_ROLLOVER3DAYS|SYMBOL_SWAP_SHORT|SYMBOL_THUMBSDOWN|SYMBOL_THUMBSUP|SYMBOL_TICKS_BOOKDEPTH|SYMBOL_TIME|SYMBOL_TRADE_CALC_MODE|SYMBOL_TRADE_CONTRACT_SIZE|SYMBOL_TRADE_EXECUTION_EXCHANGE|SYMBOL_TRADE_EXECUTION_INSTANT|SYMBOL_TRADE_EXECUTION_MARKET|SYMBOL_TRADE_EXECUTION_REQUEST|SYMBOL_TRADE_EXEMODE|SYMBOL_TRADE_FREEZE_LEVEL|SYMBOL_TRADE_MODE|SYMBOL_TRADE_MODE_CLOSEONLY|SYMBOL_TRADE_MODE_DISABLED|SYMBOL_TRADE_MODE_FULL|SYMBOL_TRADE_MODE_LONGONLY|SYMBOL_TRADE_MODE_SHORTONLY|SYMBOL_TRADE_STOPS_LEVEL|SYMBOL_TRADE_TICK_SIZE|SYMBOL_TRADE_TICK_VALUE|SYMBOL_TRADE_TICK_VALUE_LOSS|SYMBOL_TRADE_TICK_VALUE_PROFIT|SYMBOL_VISIBLE|SYMBOL_VOLUME|SYMBOL_VOLUME_LIMIT|SYMBOL_VOLUME_MAX|SYMBOL_VOLUME_MIN|SYMBOL_VOLUME_STEP|SYMBOL_VOLUMEHIGH|SYMBOL_VOLUMELOW|TA_BOTTOM|TA_CENTER|TA_LEFT|TA_RIGHT|TA_TOP|TA_VCENTER|TENKANSEN_LINE|TERMINAL_BUILD|TERMINAL_CODEPAGE|TERMINAL_COMMONDATA_PATH|TERMINAL_COMMUNITY_ACCOUNT|TERMINAL_COMMUNITY_BALANCE|TERMINAL_COMMUNITY_CONNECTION|TERMINAL_COMPANY|TERMINAL_CONNECTED|TERMINAL_CPU_CORES|TERMINAL_DATA_PATH|TERMINAL_DISK_SPACE|TERMINAL_DLLS_ALLOWED|TERMINAL_EMAIL_ENABLED|TERMINAL_FTP_ENABLED|TERMINAL_LANGUAGE|TERMINAL_MAXBARS|TERMINAL_MEMORY_AVAILABLE|TERMINAL_MEMORY_PHYSICAL|TERMINAL_MEMORY_TOTAL|TERMINAL_MEMORY_USED|TERMINAL_MQID|TERMINAL_NAME|TERMINAL_NOTIFICATIONS_ENABLED|TERMINAL_OPENCL_SUPPORT|TERMINAL_PATH|TERMINAL_PING_LAST|TERMINAL_SCREEN_DPI|TERMINAL_TRADE_ALLOWED|TERMINAL_X64|tester_file|tester_indicator|tester_library|THURSDAY|TICK_FLAG_ASK|TICK_FLAG_BID|TICK_FLAG_BUY|TICK_FLAG_LAST|TICK_FLAG_SELL|TICK_FLAG_VOLUME|TIME_DATE|TIME_MINUTES|TIME_SECONDS|TRADE_ACTION_CLOSE_BY|TRADE_ACTION_DEAL|TRADE_ACTION_MODIFY|TRADE_ACTION_PENDING|TRADE_ACTION_REMOVE|TRADE_ACTION_SLTP|TRADE_RETCODE_CANCEL|TRADE_RETCODE_CLIENT_DISABLES_AT|TRADE_RETCODE_CONNECTION|TRADE_RETCODE_DONE|TRADE_RETCODE_DONE_PARTIAL|TRADE_RETCODE_ERROR|TRADE_RETCODE_FROZEN|TRADE_RETCODE_INVALID|TRADE_RETCODE_INVALID_EXPIRATION|TRADE_RETCODE_INVALID_FILL|TRADE_RETCODE_INVALID_ORDER|TRADE_RETCODE_INVALID_PRICE|TRADE_RETCODE_INVALID_STOPS|TRADE_RETCODE_INVALID_VOLUME|TRADE_RETCODE_LIMIT_ORDERS|TRADE_RETCODE_LIMIT_VOLUME|TRADE_RETCODE_LOCKED|TRADE_RETCODE_MARKET_CLOSED|TRADE_RETCODE_NO_CHANGES|TRADE_RETCODE_NO_MONEY|TRADE_RETCODE_ONLY_REAL|TRADE_RETCODE_ORDER_CHANGED|TRADE_RETCODE_PLACED|TRADE_RETCODE_POSITION_CLOSED|TRADE_RETCODE_PRICE_CHANGED|TRADE_RETCODE_PRICE_OFF|TRADE_RETCODE_REJECT|TRADE_RETCODE_REQUOTE|TRADE_RETCODE_SERVER_DISABLES_AT|TRADE_RETCODE_TIMEOUT|TRADE_RETCODE_TOO_MANY_REQUESTS|TRADE_RETCODE_TRADE_DISABLED|TRADE_TRANSACTION_DEAL_ADD|TRADE_TRANSACTION_DEAL_DELETE|TRADE_TRANSACTION_DEAL_UPDATE|TRADE_TRANSACTION_HISTORY_ADD|TRADE_TRANSACTION_HISTORY_DELETE|TRADE_TRANSACTION_HISTORY_UPDATE|TRADE_TRANSACTION_ORDER_ADD|TRADE_TRANSACTION_ORDER_DELETE|TRADE_TRANSACTION_ORDER_UPDATE|TRADE_TRANSACTION_POSITION|TRADE_TRANSACTION_REQUEST|true|True|TRUE|TUESDAY|TYPE_BOOL|TYPE_CHAR|TYPE_COLOR|TYPE_DATETIME|TYPE_DOUBLE|TYPE_FLOAT|TYPE_INT|TYPE_LONG|TYPE_SHORT|TYPE_STRING|TYPE_UCHAR|TYPE_UINT|TYPE_ULONG|TYPE_USHORT|UCHAR_MAX|UINT_MAX|ULONG_MAX|UPPER_BAND|UPPER_HISTOGRAM|UPPER_LINE|USHORT_MAX|version|VOLUME_REAL|VOLUME_TICK|WEDNESDAY|WHOLE_ARRAY|WRONG_VALUE)\\b"},{"name":"constant.numeric.decimal.mql5","match":"\\b([0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)\\b"},{"name":"constant.numeric.hex.mql5","match":"\\b(0[xX][0-9a-fA-F]+)\\b"},{"name":"constant.numeric.other.mql5","match":"([CDB]\\'[0-9a-fA-FxX\\.\\:\\,\\s]*\\')"},{"name":"variable.other.mql5","match":"\\b([a-zA-Z_]+[a-zA-Z0-9_]*)\\b"},{"name":"meta.block.mql5","begin":"(\\{)","end":"(\\})","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.begin.mql5"}},"endCaptures":{"0":{"name":"punctuation.definition.block.end.mql5"}}}],"repository":{"comments":{"patterns":[{"name":"comment.block.mql5","begin":"/\\*","end":"\\*/"},{"name":"comment.line.double-slash.mql5","begin":"//","end":"$\\n?"}]},"escape_characters":{"patterns":[{"name":"constant.character.escape.mql5","match":"\\\\."}]}}}
@@ -1,755 +1 @@
1
- {
2
- "scopeName": "source.msl",
3
- "patterns": [
4
- {
5
- "include": "#comments"
6
- },
7
- {
8
- "include": "#group"
9
- },
10
- {
11
- "include": "#alias"
12
- },
13
- {
14
- "include": "#menu"
15
- },
16
- {
17
- "include": "#events"
18
- },
19
- {
20
- "include": "#dialog"
21
- }
22
- ],
23
- "repository": {
24
- "alias": {
25
- "patterns": [
26
- {
27
- "name": "meta.alias.code.msl",
28
- "begin": "(?i)^(alias)\\x20+(?:(-l)\\x20+)?(?!-l)([^\\s]+)\\s*",
29
- "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
30
- "patterns": [
31
- {
32
- "include": "#code_content"
33
- }
34
- ],
35
- "beginCaptures": {
36
- "1": {
37
- "name": "storage.type.alias.msl"
38
- },
39
- "2": {
40
- "name": "storage.modifier.alias.msl"
41
- },
42
- "3": {
43
- "name": "entity.name.function.msl"
44
- }
45
- }
46
- }
47
- ]
48
- },
49
- "calc_content": {
50
- "patterns": [
51
- {
52
- "name": "keyword.operator.arithmetic.msl",
53
- "match": "[+\\-*/%^]"
54
- },
55
- {
56
- "name": "meta.arithmetic.msl",
57
- "begin": "\\(",
58
- "end": "\\)",
59
- "patterns": [
60
- {
61
- "include": "#parameters"
62
- },
63
- {
64
- "include": "#calc_content"
65
- }
66
- ]
67
- }
68
- ]
69
- },
70
- "code_block": {
71
- "patterns": [
72
- {
73
- "name": "meta.code.block.msl",
74
- "begin": "{",
75
- "end": "}",
76
- "patterns": [
77
- {
78
- "include": "#code_content"
79
- }
80
- ]
81
- }
82
- ]
83
- },
84
- "code_content": {
85
- "patterns": [
86
- {
87
- "include": "#comments"
88
- },
89
- {
90
- "include": "#variables"
91
- },
92
- {
93
- "include": "#identifiers"
94
- },
95
- {
96
- "include": "#conditionals"
97
- },
98
- {
99
- "include": "#commands"
100
- },
101
- {
102
- "include": "#code_block"
103
- }
104
- ]
105
- },
106
- "commands": {
107
- "patterns": [
108
- {
109
- "begin": "(?i)(?:\\x20+\\|\\x20+|(?\u003c=else\\x20)|^\\x20*|\\)|\\G)\\x20*(\\/+)?([!|.]{1,2})?((?:win)?help|server|disconnect|join|hop|part|part(?:all)?|quit|list|links|quote|raw|(?:a|q)?me|(?:a|q|o|v|priv)?msg|action|(?:o|v)?notice|describe|query|sound|ctcp|dcc|wall(?:chops|voices)|uwho|sock(?:accept|close|list|listen|mark|open|pause|read|rename|udp|write)|b(?:read|replace|copy|set|trunc|unset|write)|com(?:close|list|open|reg)|dialog|did(?:tok)?|draw(?:copy|dot|fill|line|pic|rect|replace|rot|save|scroll|size|text)|f(?:open|list|seek|write|close)|(?:a|c|d|i|r|s)line|clear(?:all|ial)?|window|g(?:hide|(?:un)?load|move|opts|play|point|qreq|show|size|stop|talk)|h(?:add|dec|del|free|inc|load|make|save)|break|continue|goto|halt(?:def)?|return(?:ex)?|dec|inc|set|var|unset(?:all)|dec|inc|set|var|unset(?:all)?|(?:a|g|i|r)user|(?:d|r)level|ulist|flush|ial(?:clear|mark|fill)?|copy|flushini|(?:mk|rm)dir|rem(?:ini|ove)|rename|write(?:ini)?|aop|avoice|ban|channel|ignore|leave|mode|parseline|pop|protect|pvoice|say|updatenl|abook|ajinvite|alias|(?:a|c|m|t)nick|auto(?:join)?|background|beep|bindip|clipboard|colou?r|creq|ctcp(?:reply|s)|dccserver|dde(?:server)?|debug|disable|dll|dns|dqwindow|ebeeps|exit|echo|editbox|emailaddr|enable|events|filter|findtext|finger|firewall|flash|flood|fnord|font|fsend|fserve|fullname|fupdate|groups|hotlink|identd|linesep|load(?:buf)?|localinfo|log(?:view)?|mdi|menubar|noop|notify|pdcc|perform|play(?:ctrl)?|proxy|queryrn|registration|reload|remote|renwin|reset(?:error|idle)|run|save(?:buf|ini)?|scid|scon|setlayer|showmirc|signal|speak|splay|sreq|strip|switchbar|time(?:stamp|rs|r([^\\s]+)?)|tips?|titlebar|tokenize|toolbar|tray|treebar|unload|url|vc(?:add|md|rem)|vol|xyzzy|away|close(?:msg)?|username|aclear|advertise|allnick|autoconnect|aquit|back|banlist|betaup|bin2txt|bw|channels|charset|config|cycleall|de(?:halfop|s?op|voice)|dock(?:panels)?|download|echo(?:monitor|x)|edit|encoding|fakeraw|fget|fullscreen|gcmem|globalkeys|p?google|halfop|highlight|icon|inick|inlineimage|kblayout|lag|linemarker|lock|logs|msgbox|mute|nextunread|nick(?:column|list)|nmsg|np|oline|options|paths|pause|plugins|priv|quick(?:connect|save)|raw(?:log|x)|re(?:alname|connect|freshsong|join|solve|start)|scripts|scrolltext|search|sendkeys|serverlist|set(?:config|option)|show(?:adiirc|menu)|slap|sleep|sop|statusbar|tab|themes|topicbox|usernick|txt2bin|un(?:ban|ignore|notify)|update|vars|viewlog|voice|w(?:down|jump|next|pause|play))(?=\\b)",
110
- "end": "(?=\\z|\\x20+\\|\\x20+[^\\x20]|\\x20}|$)",
111
- "patterns": [
112
- {
113
- "include": "#switches"
114
- },
115
- {
116
- "include": "#parameters"
117
- }
118
- ],
119
- "beginCaptures": {
120
- "1": {
121
- "name": "keyword.other.command.symbol.msl"
122
- },
123
- "2": {
124
- "name": "keyword.other.command.symbol.msl"
125
- },
126
- "3": {
127
- "name": "keyword.control.command.msl"
128
- },
129
- "4": {
130
- "name": "support.variable.name.msl"
131
- }
132
- }
133
- },
134
- {
135
- "name": "meta.cmd.msl",
136
- "begin": "(?i)(?:\\x20+\\|\\x20+|(?\u003c=else\\x20)|^\\x20*|\\)|\\G)\\x20*(?!\\|\\|\\x20)(\\/+)?([!|.]{1,2})?(?:(?![{};%\u0026$:]|if|else(?:if)?|while)([^\\s]+))",
137
- "end": "(?=\\z|\\x20\\|\\x20[^\\x20]|\\x20}|$)",
138
- "patterns": [
139
- {
140
- "include": "#switches"
141
- },
142
- {
143
- "include": "#parameters"
144
- }
145
- ],
146
- "beginCaptures": {
147
- "1": {
148
- "name": "keyword.other.command.symbol.msl"
149
- },
150
- "2": {
151
- "name": "keyword.other.command.symbol.msl"
152
- },
153
- "3": {
154
- "name": "support.function.name.msl"
155
- }
156
- }
157
- }
158
- ]
159
- },
160
- "comment_block": {
161
- "patterns": [
162
- {
163
- "name": "comment.block.msl",
164
- "begin": "^(?:\\x20*)\\/\\*",
165
- "end": "^(?:\\x20*)\\*\\/$"
166
- }
167
- ]
168
- },
169
- "comment_documentation": {
170
- "patterns": [
171
- {
172
- "name": "comment.block.documentation.msl",
173
- "begin": "^(?:\\x20*)(\\/\\*\\*)$",
174
- "end": "^(?:\\x20*)\\*\\/$",
175
- "patterns": [
176
- {
177
- "include": "#documentation_block"
178
- }
179
- ]
180
- }
181
- ]
182
- },
183
- "comment_line": {
184
- "patterns": [
185
- {
186
- "name": "comment.line.semicolon.msl",
187
- "begin": "(?\u003c=^|\\x20\\|\\x20|\\G)(?:\\x20*);",
188
- "end": "(?=\\z|\\x20+\\|\\x20+[^\\s]|\\x20}|$)"
189
- }
190
- ]
191
- },
192
- "comments": {
193
- "patterns": [
194
- {
195
- "include": "#comment_documentation"
196
- },
197
- {
198
- "include": "#comment_block"
199
- },
200
- {
201
- "include": "#comment_line"
202
- }
203
- ]
204
- },
205
- "conditionals": {
206
- "patterns": [
207
- {
208
- "name": "meta.conditional.msl",
209
- "begin": "(?i)(?:(?\u003c=\\x20\\|\\x20|^|\\G)\\x20*(if|elseif|while)|(?:(?\u003c=\\))\\x20+(\u0026\u0026|\\|\\|)))\\x20+(?=\\()",
210
- "end": "(?=\\)(?:\\x20|$))",
211
- "patterns": [
212
- {
213
- "include": "#conditionals_content"
214
- },
215
- {
216
- "include": "#parameters"
217
- }
218
- ],
219
- "beginCaptures": {
220
- "1": {
221
- "name": "keyword.control.conditional.msl"
222
- },
223
- "2": {
224
- "name": "keyword.control.conditional.msl"
225
- }
226
- }
227
- },
228
- {
229
- "name": "keyword.control.conditional.msl",
230
- "match": "(?i)(?\u003c=\\x20\\|\\x20|^)\\x20*(else)\\b"
231
- }
232
- ]
233
- },
234
- "conditionals_content": {
235
- "patterns": [
236
- {
237
- "name": "keyword.operator.msl",
238
- "match": "(?i)((?\u003c=\\x20)!?(?:==?=?|(?:\u003c|\u003e)=?|\\/\\/|\\\\|\u0026|is(?:in(?:cs)?|wm(?:cs)?|(?:al)?num|letter|alpha|(?:low|upp)er|on|(?:a|h)?op|a?voice|reg|chan|ban|quiet|ignore|protected|notify|admin|owner|quiet|url))(?=\\x20|\\))|(?\u003c=\\()!(?=\\$|%|\u0026))"
239
- },
240
- {
241
- "include": "#constants"
242
- }
243
- ]
244
- },
245
- "constants": {
246
- "patterns": [
247
- {
248
- "name": "constant.numeric.msl",
249
- "match": "(?\u003c=\\x20|^|\\(|,)-?\\d+(\\.\\d+)?(?=\\x20|$|\\)|,)"
250
- }
251
- ]
252
- },
253
- "dialog": {
254
- "patterns": [
255
- {
256
- "name": "meta.dialog.code.msl",
257
- "begin": "(?i)^(dialog)\\x20+(?:(-l)\\x20+)?(?!-l)([^\\s]+)\\s*(?={)",
258
- "end": "(?\u003c=}$)",
259
- "patterns": [
260
- {
261
- "include": "#dialog_content"
262
- }
263
- ],
264
- "beginCaptures": {
265
- "1": {
266
- "name": "storage.type.dialog.msl"
267
- },
268
- "2": {
269
- "name": "storage.modifier.dialog.msl"
270
- },
271
- "3": {
272
- "name": "entity.name.section.msl"
273
- }
274
- }
275
- }
276
- ]
277
- },
278
- "dialog_content": {
279
- "patterns": [
280
- {
281
- "include": "#comments"
282
- },
283
- {
284
- "contentName": "string.quoted.double.control.msl",
285
- "begin": "(?i)^\\x20*(title|icon|size|option|text|edit|button|check|radio|box|scroll|list|combo|icon|link|tab|menu|item)\\x20+",
286
- "end": "(?\u003c=$)",
287
- "patterns": [
288
- {
289
- "include": "#parameters"
290
- }
291
- ],
292
- "beginCaptures": {
293
- "1": {
294
- "name": "keyword.control.dialog.control.msl"
295
- }
296
- }
297
- }
298
- ]
299
- },
300
- "documentation_block": {
301
- "patterns": [
302
- {
303
- "match": "(?i)\\x20*\\*\\x20+(@(?:author|command|const(?:ant)?|copyright|deprecated|event|example|experimental|global|identifier|ignore|license|nobadges|param(?:eter)?|arg(?:ument)?|prop|returns?|see|switch|todo|version))\\b",
304
- "captures": {
305
- "1": {
306
- "name": "storage.type.class.msl"
307
- }
308
- }
309
- }
310
- ]
311
- },
312
- "events": {
313
- "patterns": [
314
- {
315
- "name": "meta.event.code.msl",
316
- "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:action|notice|(?:client)?text):[^:]+:[^:]+:)\\s*",
317
- "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
318
- "patterns": [
319
- {
320
- "include": "#code_content"
321
- }
322
- ],
323
- "beginCaptures": {
324
- "1": {
325
- "name": "entity.name.type.event.msl"
326
- }
327
- }
328
- },
329
- {
330
- "name": "meta.event.code.msl",
331
- "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:active|input|tabcomp|mscroll):(?:\\*|#[^:]*|\\?|=|!|@[^:]*):)\\s*",
332
- "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
333
- "patterns": [
334
- {
335
- "include": "#code_content"
336
- }
337
- ],
338
- "beginCaptures": {
339
- "1": {
340
- "name": "entity.name.type.event.msl"
341
- }
342
- }
343
- },
344
- {
345
- "name": "meta.event.code.msl",
346
- "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:agent|appactive|connect(?:fail)?|disconnect|dns|exit|(?:un)?load|(?:midi|mp3|play|song|wave)end|nick|nosound|u?notify|ping|pong|quit|start|usermode|options|resume|song|suspend):)\\s*",
347
- "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
348
- "patterns": [
349
- {
350
- "include": "#code_content"
351
- }
352
- ],
353
- "beginCaptures": {
354
- "1": {
355
- "name": "entity.name.type.event.msl"
356
- }
357
- }
358
- },
359
- {
360
- "name": "meta.event.code.msl",
361
- "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:(?:un)?ban|(?:de)?help|(?:de|server)?op|(?:de)?owner|(?:de)?voice|invite|join|kick|(?:server|raw)?mode|part|topic|(?:de)?admin):(?:\\*|#[^:]*):)\\s*",
362
- "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
363
- "patterns": [
364
- {
365
- "include": "#code_content"
366
- }
367
- ],
368
- "beginCaptures": {
369
- "1": {
370
- "name": "entity.name.type.event.msl"
371
- }
372
- }
373
- },
374
- {
375
- "name": "meta.event.code.msl",
376
- "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:chat|ctcpreply|error|file(?:rcvd|sent)|(?:get|send)fail|logon|serv|signal|snotice|sock(?:close|listen|open|read|write)|udp(?:read|write)|vcmd|wallops|download|(?:un)?zip):[^:]+:)\\s*",
377
- "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
378
- "patterns": [
379
- {
380
- "include": "#code_content"
381
- }
382
- ],
383
- "beginCaptures": {
384
- "1": {
385
- "name": "entity.name.type.event.msl"
386
- }
387
- }
388
- },
389
- {
390
- "name": "meta.event.code.msl",
391
- "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:close|open):(?:\\*|\\?|=|!|@[^:]*):)\\s*",
392
- "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
393
- "patterns": [
394
- {
395
- "include": "#code_content"
396
- }
397
- ],
398
- "beginCaptures": {
399
- "1": {
400
- "name": "entity.name.type.event.msl"
401
- }
402
- }
403
- },
404
- {
405
- "name": "meta.event.code.msl",
406
- "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:dccserver:(?:chat|send|fserve):)\\s*",
407
- "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
408
- "patterns": [
409
- {
410
- "include": "#code_content"
411
- }
412
- ],
413
- "beginCaptures": {
414
- "1": {
415
- "name": "entity.name.type.event.msl"
416
- }
417
- }
418
- },
419
- {
420
- "name": "meta.event.code.msl",
421
- "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:dialog:[^:]+:(?:init|close|edit|sclick|dclick|menu|scroll|mouse|rclick|drop|\\*):[\\d\\-,\\*]+:)\\s*",
422
- "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
423
- "patterns": [
424
- {
425
- "include": "#code_content"
426
- }
427
- ],
428
- "beginCaptures": {
429
- "1": {
430
- "name": "entity.name.type.event.msl"
431
- }
432
- }
433
- },
434
- {
435
- "name": "meta.event.code.msl",
436
- "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:hotlink:[^:]+:(?:\\*|#[^:]*|\\?|=|!|@[^:]*):)\\s*",
437
- "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
438
- "patterns": [
439
- {
440
- "include": "#code_content"
441
- }
442
- ],
443
- "beginCaptures": {
444
- "1": {
445
- "name": "entity.name.type.event.msl"
446
- }
447
- }
448
- },
449
- {
450
- "name": "meta.event.code.msl",
451
- "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:key(?:down|up)|char):(?:\\*|@[^:]*):(?:\\*|\\d+(?:,\\d+)*):)\\s*",
452
- "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
453
- "patterns": [
454
- {
455
- "include": "#code_content"
456
- }
457
- ],
458
- "beginCaptures": {
459
- "1": {
460
- "name": "entity.name.type.event.msl"
461
- }
462
- }
463
- },
464
- {
465
- "name": "meta.event.code.msl",
466
- "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:parseline:(?:\\*|in|out):[^:]+:)\\s*",
467
- "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
468
- "patterns": [
469
- {
470
- "include": "#code_content"
471
- }
472
- ],
473
- "beginCaptures": {
474
- "1": {
475
- "name": "entity.name.type.event.msl"
476
- }
477
- }
478
- },
479
- {
480
- "name": "meta.event.code.msl",
481
- "begin": "^(?i)(raw\\x20+[^:\\s]+:[^:]+:)\\s*",
482
- "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
483
- "patterns": [
484
- {
485
- "include": "#code_content"
486
- }
487
- ],
488
- "beginCaptures": {
489
- "1": {
490
- "name": "entity.name.type.event.msl"
491
- }
492
- }
493
- },
494
- {
495
- "name": "meta.event.code.msl",
496
- "begin": "^(?i)(ctcp\\x20+[^:\\s]+:[^:]+:(?:\\*|#.*|\\?):)\\s*",
497
- "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
498
- "patterns": [
499
- {
500
- "include": "#code_content"
501
- }
502
- ],
503
- "beginCaptures": {
504
- "1": {
505
- "name": "entity.name.type.event.msl"
506
- }
507
- }
508
- }
509
- ]
510
- },
511
- "group": {
512
- "patterns": [
513
- {
514
- "name": "keyword.other.groupname.msl",
515
- "match": "(?i)^#[^\\s]+ (on|off|end)(?:\\b)"
516
- }
517
- ]
518
- },
519
- "identifiers": {
520
- "patterns": [
521
- {
522
- "include": "#identifiers_params"
523
- },
524
- {
525
- "include": "#identifiers_no_params"
526
- }
527
- ]
528
- },
529
- "identifiers_no_params": {
530
- "patterns": [
531
- {
532
- "name": "keyword.other.identifier.msl",
533
- "match": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)\\$\\$?~?(0|\\!|\u0026(?=$)|\\*|\\+\\+?|[1-9]+(-?([0-9]+)|[^\\s|\\)|,]+)?|active((c|w)id)?|a?date|adiirc(dir([^\\s,)]+)?|exe|ini)|address|admnick|agent(name|stat|ver)|album|anick|aop|app(active|bits|state)|artist|asctime|audio|auto|avoice|away(msg|time)?|banmask|batteryp?|beta|bit(rate|s)|bname|bnick|boldify|builddate|bw(downb?|name|recb?|sentb?|speed|upb?)|cal(ias|ler)|cancel|cb|cd|chan(modes|types)?|cid|clevel|cmd(box|line)|com(char|err|ment|pact)|cpu(cache|count|ident|load|mhz|name|vendor)|cr(eq|lf)?|ctimer?|ctrlenter|day(light)?|dbu(h|w)|dccignore|dccport|ddename|debug|devent|did|disk(free|total)|dlevel|dname|dock(panels)?|dotnet|download(err)?|dqwindow|ebeeps|email(addr)?|error|event(id|parms)?|exiting|false|fe(of|rr)|filename|filtered|find(dirn|filen)|flinen|frequency|fromeditbox|full(address|date|name|screen|title)|genre|getdir|gfx(ram)?|globalidle|gmt|halted|highlight|hnick|host|hotline(pos)?|ia(ddress|l)|ident|idle|ifmatch2?|ignore|in(midi(.(pos|length|fname|pause))?|mode|mp3|paste|song(.(pos|length|fname|pause))?|wave(.(pos|length|fname|pause))?|who)|ip|is(admin|id|wine)|kblayout|key(char|rpt|val)|knick|lactive(cid|wid)?|lag|layer|leftwin(cid|wid)?|length|lf|locked|log(dir|stamp(fmt)?)|lquitmsg|ltimer|maddress|matchkey|max(lenl|lenm|lens)|me|mem(freep?|total)|menu(bar|context|type)?|mididir|mircdir([^\\s,)]+)?|mircexe|mircini|mnick|modefirst|modelast|modespl|motherboard|mouse(.(x|y||mx|my|dx|dy|cx|cy|win|lb|key))?|mp3dir|msg(stamp|tags|x)|muted|mversion|naddress|nick(column|mode)?|network|newnick|no(tify)?|null|numeric|ok|online(server|total)?|op?nick|os(bits|build|edition|idle|installdate|major|minor|name|servicepack|version)?|parms|parse(line|type|utf)|passivedcc|pcre|percent(l|p)|pi|play(count|er(handle)?)|pnick|port(able)?|position|prefix(ctcp|emote|sys|user)?|progress|prop|protect|quickconnect|quitmessage|raddress|randomcolors|rating|raw(bytes|msgx?)|readn|realname|regerrstr|remote|result|screen(b|hz?|w)?|script(dir([^\\s,)]+)?|line|s)?|server(ip|target)?|sfstate|show|signal|site|size|snicks|snotify|sock(err|br|name)|song(path)?|sreq|ssl(cert((remote)?sha(1|256)|valid)|(lib)?dll|ready|version)?|starting|status(bar)?|stripped|switchbar|target|tempfn|ticks|time(out|stamp(fmt)?|zone)|tips|title(bar)?|toolbar|topic|totaltracks|track|treebar|true|ulevel|up(days|dating|hours|mins)|url|user(mode|name)|v1|v2|vcmd(stat|ver)|version|volume(b|p)?|vnick|wavedir|wid|wildsite|window|year|yes|ziperr)(?=\\s|\\)|,)"
534
- },
535
- {
536
- "match": "(?\u003c=\\s|\\(|\\,|\\.|^)(\\$\\$?~?(?:\\?(?:[^\\s=]+)?|s?dir|hfile))(?:(=)(\"(?:[^\"])*\"))?(?=\\s|\\)|,)",
537
- "captures": {
538
- "1": {
539
- "name": "keyword.other.identifier.msl"
540
- },
541
- "2": {
542
- "name": "keyword.operator.msl"
543
- },
544
- "3": {
545
- "name": "string.quoted.double.msl"
546
- }
547
- }
548
- },
549
- {
550
- "name": "keyword.other.identifier.msl",
551
- "match": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\=\\$\\$?~?nick)(?=\\b)"
552
- },
553
- {
554
- "name": "support.function.name.msl",
555
- "match": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?(?!\\x21)[^\\s(),]+)(?=\\b)"
556
- }
557
- ]
558
- },
559
- "identifiers_params": {
560
- "patterns": [
561
- {
562
- "begin": "(?i)(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?(\\+|abook|a?cos|abs|date|add(ress|tok(cs)?)|adilang|admnick|agent|alias|and|ansi2mirc|aop|asc(time)?|a?sin|a?tan|avoice|banlist|base|bfind|bindip|bit(off|on)|boldify|bvar|bytes|calias|cb|ceil|chan(nel)?|chat|chr|click|cnick|colou?r|com(call|chan|press|val)?|cosh?|count(cs)?|cpuload|crc|ctime|date|dccignore|dde|decode|decompress|decrypt|deltok|dialog|did(reg|tok|wm)?|disk(menu)?|dll(call)?|dns|dockpanels|download|duration|editbox(history)?|emoticons|encode|encodingmenu|encrypt|envvar|eval(next)?|eventtarget|exec|exists|fgetc|file|find(dir|file|tok(cs)?)|fline|floor|font|fopen|fread|fserve?|get(dir|dot|tok)?|gfx(ram)?|gmt|group|hash|height|hexcolor|hfind|hget|highlight|hmac|hmatch|hnick|hotlink|hotp|hregex|hypot|ial(chan)?|ibl|iel|ignore|iil|inellipse|ini(ck|topic)?|inpoly|input|in(round)?rect|insert|instok|int(ersect)?|invitemenu|iptype|iql|ircv3caps|is(alias|bit|dde|dir|file|lower|tok(cs)?|upper|utf)|keylocked|left|len|level|line(height|s)?|link|lock|lo(f|g(10)?)|long(fn|ip)|loop|lower|maddress|mask|matchtok(cs)?|md5|menuicon|mid|mk(log|nick)?fn|mode|mp3|msfile|msgtags|nadmnick|(nh)?nick|no(file|p?nick|t(ags|ify)?|path|qt)?|numtok|nvnick|ocolor|onpoly|op?nick|ord?|pic|play|plugins|portfree|pos(cs)?|powmod|prefix(emote|user)|puttok|qt|query|r(ands?|ead(ini)?|egml(ex)?|em(ove(cs)?|tok(cs)?)|eplace(cs|x(cs)?)?|eptok(cs)?|gb|ight|ound|nick)?|samepath|scid|scon|screen(b|hz?|shot|w)?|script|sdir|send|server(vars)?|sfile|sha(1|2|256|384|512)|shortfn|sinh|slapsmenu|sline|snick|sock|sorttok(cs)?|sound|speak|spellcheck|sqrt|statusbar|str(ip)?|style|submenu|sysdir|tanh|timer|tip|token|toolbar|topicbox|totp|trust|ulist|unsafe|upper|uptime|url(get)?|utf(de|en)code|var|vc(md)?|vol|width|wildtok(cs)?|window|wmiquery|wrap|xor|zip))\\(",
563
- "end": "(?i)\\)(?:\\.([^\\s|\\)|,]+))?",
564
- "patterns": [
565
- {
566
- "include": "#parameters"
567
- }
568
- ],
569
- "beginCaptures": {
570
- "1": {
571
- "name": "keyword.other.identifier.msl"
572
- }
573
- },
574
- "endCaptures": {
575
- "1": {
576
- "name": "keyword.other.identifier.property.msl"
577
- }
578
- }
579
- },
580
- {
581
- "begin": "(?i)(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?calc)\\(",
582
- "end": "\\)",
583
- "patterns": [
584
- {
585
- "include": "#parameters"
586
- },
587
- {
588
- "include": "#calc_content"
589
- }
590
- ],
591
- "beginCaptures": {
592
- "1": {
593
- "name": "keyword.other.identifier.msl"
594
- }
595
- }
596
- },
597
- {
598
- "begin": "(?i)(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?iif)\\(",
599
- "end": "\\)",
600
- "patterns": [
601
- {
602
- "include": "#conditionals_content"
603
- },
604
- {
605
- "include": "#parameters"
606
- }
607
- ],
608
- "beginCaptures": {
609
- "1": {
610
- "name": "keyword.other.identifier.msl"
611
- }
612
- }
613
- },
614
- {
615
- "begin": "(?i)(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?reg(?:ex|sub(?:ex)?))\\(",
616
- "end": "\\)",
617
- "patterns": [
618
- {
619
- "match": "(\\/(?:(?!\\/[gimsxAEDUuXSF]+?\\)).)*\\/([gimsxAEDUuXSF]+)?)",
620
- "captures": {
621
- "1": {
622
- "name": "string.regexp.msl"
623
- }
624
- }
625
- },
626
- {
627
- "include": "#parameters"
628
- }
629
- ],
630
- "beginCaptures": {
631
- "1": {
632
- "name": "keyword.other.identifier.msl"
633
- }
634
- }
635
- },
636
- {
637
- "begin": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?[^\\s(),]+)\\(",
638
- "end": "(?i)\\)(?:\\.([^\\s|\\)|,]+))?",
639
- "patterns": [
640
- {
641
- "include": "#parameters"
642
- }
643
- ],
644
- "beginCaptures": {
645
- "1": {
646
- "name": "support.function.name.msl"
647
- }
648
- },
649
- "endCaptures": {
650
- "1": {
651
- "name": "keyword.other.identifier.property.msl"
652
- }
653
- }
654
- }
655
- ]
656
- },
657
- "menu": {
658
- "patterns": [
659
- {
660
- "name": "meta.menu.code.msl",
661
- "begin": "(?i)^(menu)\\x20+((?:status|channel|query|nicklist|menubar|(?:channel)?link|@[^\\x20,]+|\\*)(?:,(?:status|channel|query|nicklist|menubar|(?:channel)?link|@[^\\x20,]+))*|\\*)\\x20+{",
662
- "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|}$",
663
- "patterns": [
664
- {
665
- "include": "#menu_content"
666
- }
667
- ],
668
- "beginCaptures": {
669
- "1": {
670
- "name": "storage.type.menu.msl"
671
- },
672
- "2": {
673
- "name": "storage.modifier.function.msl"
674
- }
675
- }
676
- }
677
- ]
678
- },
679
- "menu_content": {
680
- "patterns": [
681
- {
682
- "include": "#comments"
683
- },
684
- {
685
- "include": "#parameters"
686
- },
687
- {
688
- "begin": "(?:^\\s*|\\G)\\x20*((?:mouse|(?:s|d(?:r|m)?|u|r|lb|m)click)|leave|drop)(?:\\x20*:\\x20*)?",
689
- "end": "(?=\\z|\\x20}|$)",
690
- "patterns": [
691
- {
692
- "include": "#code_content"
693
- }
694
- ],
695
- "beginCaptures": {
696
- "1": {
697
- "name": "keyword.other.menu.item.msl"
698
- }
699
- }
700
- },
701
- {
702
- "begin": "^\\x20*(?!$)",
703
- "end": "(?=\\z|\\x20}|$)",
704
- "patterns": [
705
- {
706
- "include": "#parameters"
707
- },
708
- {
709
- "begin": "(?\u003c=:|{)",
710
- "end": "(?=\\z|\\x20}|$)",
711
- "patterns": [
712
- {
713
- "include": "#code_content"
714
- }
715
- ]
716
- }
717
- ]
718
- }
719
- ]
720
- },
721
- "parameters": {
722
- "patterns": [
723
- {
724
- "include": "#variables"
725
- },
726
- {
727
- "include": "#identifiers"
728
- },
729
- {
730
- "include": "#constants"
731
- }
732
- ]
733
- },
734
- "switches": {
735
- "patterns": [
736
- {
737
- "name": "keyword.other.switch.msl",
738
- "match": "(?\u003c=\\x20)[-+][[:alnum:]]+(?=\\s)"
739
- }
740
- ]
741
- },
742
- "variables": {
743
- "patterns": [
744
- {
745
- "name": "variable.other.normal.msl",
746
- "match": "(?\u003c![^(,\\x20!])(%)[^\\x20),]+"
747
- },
748
- {
749
- "name": "variable.other.binary.msl",
750
- "match": "(?\u003c![^(,\\x20!])(\u0026)[^\\x20),]+"
751
- }
752
- ]
753
- }
754
- }
755
- }
1
+ {"scopeName":"source.msl","patterns":[{"include":"#comments"},{"include":"#group"},{"include":"#alias"},{"include":"#menu"},{"include":"#events"},{"include":"#dialog"}],"repository":{"alias":{"patterns":[{"name":"meta.alias.code.msl","begin":"(?i)^(alias)\\x20+(?:(-l)\\x20+)?(?!-l)([^\\s]+)\\s*","end":"(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)","patterns":[{"include":"#code_content"}],"beginCaptures":{"1":{"name":"storage.type.alias.msl"},"2":{"name":"storage.modifier.alias.msl"},"3":{"name":"entity.name.function.msl"}}}]},"calc_content":{"patterns":[{"name":"keyword.operator.arithmetic.msl","match":"[+\\-*/%^]"},{"name":"meta.arithmetic.msl","begin":"\\(","end":"\\)","patterns":[{"include":"#parameters"},{"include":"#calc_content"}]}]},"code_block":{"patterns":[{"name":"meta.code.block.msl","begin":"{","end":"}","patterns":[{"include":"#code_content"}]}]},"code_content":{"patterns":[{"include":"#comments"},{"include":"#variables"},{"include":"#identifiers"},{"include":"#conditionals"},{"include":"#commands"},{"include":"#code_block"}]},"commands":{"patterns":[{"begin":"(?i)(?:\\x20+\\|\\x20+|(?\u003c=else\\x20)|^\\x20*|\\)|\\G)\\x20*(\\/+)?([!|.]{1,2})?((?:win)?help|server|disconnect|/donotdisturb|join|hop|part|part(?:all)?|quit|list|links|quote|raw|(?:a|q)?me|(?:a|q|o|v|priv)?msg|action|(?:o|v)?notice|describe|query|sound|ctcp|dcc|wall(?:chops|voices)|uwho|sock(?:accept|close|list|listen|mark|open|pause|read|rename|udp|write)|b(?:read|replace|copy|set|trunc|unset|write)|com(?:close|list|open|reg)|dialog|did(?:tok)?|draw(?:copy|dot|fill|line|pic|rect|replace|rot|save|scroll|size|text)|f(?:open|list|seek|write|close)|(?:a|c|d|i|r|s)line|clear(?:all|ial)?|window|g(?:hide|(?:un)?load|move|opts|play|point|qreq|show|size|stop|talk)|h(?:add|dec|del|free|inc|load|make|save)|break|continue|goto|halt(?:def)?|return(?:ex)?|dec|inc|set|var|unset(?:all)|dec|inc|set|var|unset(?:all)?|(?:a|g|i|r)user|(?:d|r)level|ulist|flush|ial(?:clear|mark|fill)?|copy|flushini|(?:mk|rm)dir|rem(?:ini|ove)|rename|write(?:ini)?|aop|avoice|ban|channel|ignore|leave|mode|parseline|pop|protect|pvoice|say|updatenl|abook|ajinvite|alias|(?:a|c|m|t)nick|auto(?:join)?|background|beep|bindip|clipboard|colou?r|creq|ctcp(?:reply|s)|dccserver|dde(?:server)?|debug|disable|dll|dns|dqwindow|ebeeps|exit|echo|editbox|emailaddr|enable|events|filter|findtext|finger|firewall|flash|flood|fnord|font|fsend|fserve|fullname|fupdate|groups|hotlink|identd|linesep|load(?:buf)?|localinfo|log(?:view)?|mdi|menubar|noop|notify|pdcc|perform|play(?:ctrl)?|proxy|queryrn|registration|reload|remote|renwin|reset(?:error|idle)|run|save(?:buf|ini)?|scid|scon|setlayer|showmirc|signal|speak|splay|sreq|strip|switchbar|time(?:stamp|rs|r([^\\s]+)?)|tips?|titlebar|tokenize|toolbar|tray|treebar|unload|url|vc(?:add|md|rem)|vol|xyzzy|away|close(?:msg)?|username|aclear|advertise|allnick|autoconnect|aquit|back|banlist|betaup|bin2txt|bw|channels|charset|config|cycleall|de(?:halfop|s?op|voice)|dock(?:panels)?|download|echo(?:monitor|x)|edit|encoding|fakeraw|fget|fullscreen|gcmem|globalkeys|p?google|halfop|highlight|icon|inick|inlineimage|kblayout|lag|linemarker|lock|logs|msgbox|mute|nextunread|nick(?:column|list)|nmsg|np|oline|options|paths|pause|plugins|priv|quick(?:connect|save)|raw(?:log|x)|re(?:alname|connect|freshsong|join|solve|start)|scripts|scrolltext|search|sendkeys|serverlist|set(?:config|option)|show(?:adiirc|menu)|slap|sleep|sop|statusbar|tab|themes|topicbox|usernick|txt2bin|un(?:ban|ignore|notify)|update|vars|viewlog|voice|w(?:down|jump|next|pause|play))(?=\\b)","end":"(?=\\z|\\x20+\\|\\x20+[^\\x20]|\\x20}|$)","patterns":[{"include":"#switches"},{"include":"#parameters"}],"beginCaptures":{"1":{"name":"keyword.other.command.symbol.msl"},"2":{"name":"keyword.other.command.symbol.msl"},"3":{"name":"keyword.control.command.msl"},"4":{"name":"support.variable.name.msl"}}},{"name":"meta.cmd.msl","begin":"(?i)(?:\\x20+\\|\\x20+|(?\u003c=else\\x20)|^\\x20*|\\)|\\G)\\x20*(?!\\|\\|\\x20)(\\/+)?([!|.]{1,2})?(?:(?![{};%\u0026$:]|if|else(?:if)?|while)([^\\s]+))","end":"(?=\\z|\\x20\\|\\x20[^\\x20]|\\x20}|$)","patterns":[{"include":"#switches"},{"include":"#parameters"}],"beginCaptures":{"1":{"name":"keyword.other.command.symbol.msl"},"2":{"name":"keyword.other.command.symbol.msl"},"3":{"name":"support.function.name.msl"}}}]},"comment_block":{"patterns":[{"name":"comment.block.msl","begin":"^(?:\\x20*)\\/\\*","end":"^(?:\\x20*)\\*\\/$"}]},"comment_documentation":{"patterns":[{"name":"comment.block.documentation.msl","begin":"^(?:\\x20*)(\\/\\*\\*)$","end":"^(?:\\x20*)\\*\\/$","patterns":[{"include":"#documentation_block"}]}]},"comment_line":{"patterns":[{"name":"comment.line.semicolon.msl","match":"^(?:\\x20*);.*$"},{"name":"comment.line.semicolon.msl","begin":"(?\u003c=^|\\x20\\|\\x20|\\G)(?:\\x20*);","end":"(?=\\z|\\x20+\\|\\x20+[^\\s]|\\x20}|$)"}]},"comments":{"patterns":[{"include":"#comment_documentation"},{"include":"#comment_block"},{"include":"#comment_line"}]},"conditionals":{"patterns":[{"name":"meta.conditional.msl","begin":"(?i)(?:(?\u003c=\\x20\\|\\x20|^|\\G)\\x20*(if|elseif|while)|(?:(?\u003c=\\))\\x20+(\u0026\u0026|\\|\\|)))\\x20+(?=\\()","end":"(?=\\)(?:\\x20|$))","patterns":[{"include":"#conditionals_content"},{"include":"#parameters"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.msl"},"2":{"name":"keyword.control.conditional.msl"}}},{"name":"keyword.control.conditional.msl","match":"(?i)(?\u003c=\\x20\\|\\x20|^)\\x20*(else)\\b"}]},"conditionals_content":{"patterns":[{"name":"keyword.operator.msl","match":"(?i)((?\u003c=\\x20)!?(?:==?=?|(?:\u003c|\u003e)=?|\\/\\/|\\\\|\u0026|is(?:in(?:cs)?|wm(?:cs)?|(?:al)?num|letter|alpha|(?:low|upp)er|on|(?:a|h)?op|a?voice|reg|chan|ban|quiet|ignore|protected|notify|admin|owner|quiet|url))(?=\\x20|\\))|(?\u003c=\\()!(?=\\$|%|\u0026))"},{"include":"#constants"}]},"constants":{"patterns":[{"name":"constant.numeric.msl","match":"(?\u003c=\\x20|^|\\(|,)-?\\d+(\\.\\d+)?(?=\\x20|$|\\)|,)"}]},"dialog":{"patterns":[{"name":"meta.dialog.code.msl","begin":"(?i)^(dialog)\\x20+(?:(-l)\\x20+)?(?!-l)([^\\s]+)\\s*(?={)","end":"(?\u003c=}$)","patterns":[{"include":"#dialog_content"}],"beginCaptures":{"1":{"name":"storage.type.dialog.msl"},"2":{"name":"storage.modifier.dialog.msl"},"3":{"name":"entity.name.section.msl"}}}]},"dialog_content":{"patterns":[{"include":"#comments"},{"contentName":"string.quoted.double.control.msl","begin":"(?i)^\\x20*(title|icon|size|option|text|edit|button|check|radio|box|scroll|list|combo|icon|link|tab|menu|item)\\x20+","end":"(?\u003c=$)","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"name":"keyword.control.dialog.control.msl"}}}]},"documentation_block":{"patterns":[{"match":"(?i)\\x20*\\*\\x20+(@(?:author|command|const(?:ant)?|copyright|deprecated|event|example|experimental|global|identifier|ignore|license|nobadges|param(?:eter)?|arg(?:ument)?|prop|returns?|see|switch|todo|version))\\b","captures":{"1":{"name":"storage.type.class.msl"}}}]},"events":{"patterns":[{"name":"meta.event.code.msl","begin":"^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:action|notice|(?:client)?text):(?:(%[^:]+)|[^:]+):(?:(%[^:]+)|[^:]+):)\\s*","end":"(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)","patterns":[{"include":"#code_content"}],"beginCaptures":{"1":{"name":"entity.name.type.event.msl"},"2":{"name":"variable.other.normal.msl"},"3":{"name":"variable.other.normal.msl"}}},{"name":"meta.event.code.msl","begin":"^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:active|input|tabcomp|mscroll):(?:\\*|#[^:]*|\\?|=|!|@[^:]*|(%[^:]+)):)\\s*","end":"(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)","patterns":[{"include":"#code_content"}],"beginCaptures":{"1":{"name":"entity.name.type.event.msl"},"2":{"name":"variable.other.normal.msl"}}},{"name":"meta.event.code.msl","begin":"^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:agent|appactive|connect(?:fail)?|disconnect|dns|exit|(?:un)?load|(?:midi|mp3|play|song|wave)end|nick|nosound|u?notify|ping|pong|quit|start|usermode|options|resume|song|suspend):)\\s*","end":"(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)","patterns":[{"include":"#code_content"}],"beginCaptures":{"1":{"name":"entity.name.type.event.msl"}}},{"name":"meta.event.code.msl","begin":"^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:(?:un)?ban|(?:de)?help|(?:de|server)?op|(?:de)?owner|(?:de)?voice|invite|join|kick|(?:server|raw)?mode|part|topic|(?:de)?admin):(?:\\*|#[^:]*|(%[^:]+)):)\\s*","end":"(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)","patterns":[{"include":"#code_content"}],"beginCaptures":{"1":{"name":"entity.name.type.event.msl"},"2":{"name":"variable.other.normal.msl"}}},{"name":"meta.event.code.msl","begin":"^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:chat|ctcpreply|error|file(?:rcvd|sent)|(?:get|send)fail|logon|serv|signal|snotice|sock(?:close|listen|open|read|write)|udp(?:read|write)|vcmd|wallops|download|(?:un)?zip):(?:(%[^:]+)|[^:]+):)\\s*","end":"(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)","patterns":[{"include":"#code_content"}],"beginCaptures":{"1":{"name":"entity.name.type.event.msl"},"2":{"name":"variable.other.normal.msl"}}},{"name":"meta.event.code.msl","begin":"^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:close|open):(?:\\*|\\?|=|!|@[^:]*|(%[^:]+)):)\\s*","end":"(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)","patterns":[{"include":"#code_content"}],"beginCaptures":{"1":{"name":"entity.name.type.event.msl"},"2":{"name":"variable.other.normal.msl"}}},{"name":"meta.event.code.msl","begin":"^(?i)(on\\x20+(?:me:)?[^:\\s]+:dccserver:(?:chat|send|fserve):)\\s*","end":"(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)","patterns":[{"include":"#code_content"}],"beginCaptures":{"1":{"name":"entity.name.type.event.msl"}}},{"name":"meta.event.code.msl","begin":"^(?i)(on\\x20+(?:me:)?[^:\\s]+:dialog:[^:]+:(?:init|close|edit|sclick|dclick|menu|scroll|mouse|rclick|drop|\\*|(%[^:]+)):(?:(%[^:]+)|[\\d\\-,\\*]+):)\\s*","end":"(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)","patterns":[{"include":"#code_content"}],"beginCaptures":{"1":{"name":"entity.name.type.event.msl"},"2":{"name":"variable.other.normal.msl"},"3":{"name":"variable.other.normal.msl"}}},{"name":"meta.event.code.msl","begin":"^(?i)(on\\x20+(?:me:)?[^:\\s]+:hotlink:[^:]+:(?:\\*|#[^:]*|\\?|=|!|@[^:]*|(%[^:]+)):)\\s*","end":"(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)","patterns":[{"include":"#code_content"}],"beginCaptures":{"1":{"name":"entity.name.type.event.msl"},"2":{"name":"variable.other.normal.msl"}}},{"name":"meta.event.code.msl","begin":"^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:key(?:down|up)|char):(?:\\*|@[^:]*|(%[^:]+)):(?:\\*|\\d+(?:,\\d+)*|(%[^:]+)):)\\s*","end":"(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)","patterns":[{"include":"#code_content"}],"beginCaptures":{"1":{"name":"entity.name.type.event.msl"},"2":{"name":"variable.other.normal.msl"},"3":{"name":"variable.other.normal.msl"}}},{"name":"meta.event.code.msl","begin":"^(?i)(on\\x20+(?:me:)?[^:\\s]+:parseline:(?:\\*|in|out|(%[^:]+)):(?:(%[^:]+)|[^:]+):)\\s*","end":"(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)","patterns":[{"include":"#code_content"}],"beginCaptures":{"1":{"name":"entity.name.type.event.msl"},"2":{"name":"variable.other.normal.msl"},"3":{"name":"variable.other.normal.msl"}}},{"name":"meta.event.code.msl","begin":"^(?i)(raw\\x20+[^:\\s]+:(?:(%[^:]+)|[^:]+):)\\s*","end":"(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)","patterns":[{"include":"#code_content"}],"beginCaptures":{"1":{"name":"entity.name.type.event.msl"},"2":{"name":"variable.other.normal.msl"}}},{"name":"meta.event.code.msl","begin":"^(?i)(ctcp\\x20+[^:\\s]+:(?:(%[^:]+)|[^:]+):(?:\\*|#.*|\\?|(%[^:]+)):)\\s*","end":"(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)","patterns":[{"include":"#code_content"}],"beginCaptures":{"1":{"name":"entity.name.type.event.msl"},"2":{"name":"variable.other.normal.msl"},"3":{"name":"variable.other.normal.msl"}}}]},"group":{"patterns":[{"name":"keyword.other.groupname.msl","match":"(?i)^#[^\\s]+ (on|off|end)(?:\\b)"}]},"identifiers":{"patterns":[{"include":"#identifiers_params"},{"include":"#identifiers_no_params"}]},"identifiers_no_params":{"patterns":[{"name":"keyword.other.identifier.msl","begin":"(?:\\x20*)\\$\u0026(?:\\s+)","end":"(?=\\S)"},{"name":"keyword.other.identifier.msl","match":"(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)\\$\\$?~?(0|\\!|\\*|\\+\\+?|[1-9]+(-?([0-9]+)|[^\\s|\\)|,]+)?|active((c|w)id)?|a?date|adiirc(dir([^\\s,)]+)?|exe|ini)|address|admnick|agent(name|stat|ver)|album|anick|aop|app(active|bits|state)|artist|asctime|audio|auto|avoice|away(msg|time)?|banmask|batteryp?|beta|bit(rate|s)|bname|bnick|boldify|builddate|bw(downb?|name|recb?|sentb?|speed|upb?)|cal(ias|ler)|cancel|cb|cd|chan(modes|types)?|cid|clevel|cmd(box|line)|com(char|err|ment|pact)|cpu(cache|count|ident|load|mhz|name|vendor)|cr(eq|lf)?|ctimer?|ctrlenter|day(light)?|dbu(h|w)|dccignore|dccport|ddename|debug|devent|did|disk(free|total)|dlevel|dname|dock(panels)?|donotdisturb|dotnet|download(err)?|dqwindow|ebeeps|email(addr)?|error|event(id|parms)?|exiting|false|fe(of|rr)|filename|filtered|find(dirn|filen)|flinen|frequency|fromeditbox|full(address|date|name|screen|title)|genre|getdir|gfx(ram)?|globalidle|gmt|halted|highlight|hnick|host|hotline(pos)?|ia(ddress|l)|ident|idle|ifmatch2?|ignore|in(midi(.(pos|length|fname|pause))?|mode|mp3|paste|song(.(pos|length|fname|pause))?|wave(.(pos|length|fname|pause))?|who)|ip|is(admin|id|wine)|kblayout|key(char|rpt|val)|knick|lactive(cid|wid)?|lag|layer|leftwin(cid|wid)?|length|lf|locked|log(dir|stamp(fmt)?)|lquitmsg|ltimer|maddress|matchkey|max(lenl|lenm|lens)|me|mem(freep?|total)|menu(bar|context|type)?|mididir|mircdir([^\\s,)]+)?|mircexe|mircini|mnick|modefirst|modelast|modespl|motherboard|mouse(.(x|y||mx|my|dx|dy|cx|cy|win|lb|key))?|mp3dir|msg(stamp|tags|x)|muted|mversion|naddress|nick(column|mode)?|network|newnick|no(tify)?|null|numeric|ok|online(server|total)?|op?nick|os(bits|build|edition|idle|installdate|major|minor|name|servicepack|version)?|parms|parse(line|type|utf)|passivedcc|pcre|percent(l|p)|pi|play(count|er(handle)?)|pnick|port(able)?|position|prefix(ctcp|emote|sys|user)?|progress|prop|protect|quickconnect|quitmessage|raddress|randomcolors|rating|raw(bytes|msgx?)|readn|realname|regerrstr|remote|result|screen(b|hz?|w)?|script(dir([^\\s,)]+)?|line|s)?|server(ip|target)?|sfstate|show|signal|site|size|snicks|snotify|sock(err|br|name)|song(path)?|sreq|ssl(cert((remote)?sha(1|256)|valid)|(lib)?dll|ready|version)?|starting|status(bar)?|stripped|switchbar|target|tempfn|ticks(qpc)?|time(out|stamp(fmt)?|zone)|tips|title(bar)?|toolbar|topic|totaltracks|track|treebar|true|ulevel|up(days|dating|hours|mins)|url|user(mode|name)|v1|v2|vcmd(stat|ver)|version|volume(b|p)?|vnick|wavedir|wid|wildsite|window|year|yes|ziperr)(?=\\s|\\)|,)"},{"match":"(?\u003c=\\s|\\(|\\,|\\.|^)(\\$\\$?~?(?:\\?(?:[^\\s=]+)?|s?dir|hfile))(?:(=)(\"(?:[^\"])*\"))?(?=\\s|\\)|,)","captures":{"1":{"name":"keyword.other.identifier.msl"},"2":{"name":"keyword.operator.msl"},"3":{"name":"string.quoted.double.msl"}}},{"name":"keyword.other.identifier.msl","match":"(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\=\\$\\$?~?nick)(?=\\b)"},{"name":"support.function.name.msl","match":"(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?(?!\\x21)[^\\s(),]+)(?=\\b)"}]},"identifiers_params":{"patterns":[{"begin":"(?i)(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?(\\+|abook|a?cos|abs|date|add(ress|tok(cs)?)|adilang|admnick|agent|alias|and|ansi2mirc|aop|asc(time)?|a?sin|a?tan|avoice|banlist|base|bfind|bindip|bit(off|on)|boldify|bvar|bytes|calias|cb|ceil|chan(nel)?|chat|chr|click|cnick|colou?r|com(call|chan|press|val)?|cosh?|count(cs)?|cpuload|crc|ctime|date|dccignore|dde|decode|decompress|decrypt|deltok|dialog|did(reg|tok|wm)?|disk(menu)?|dll(call)?|dns|dockpanels|download|duration|editbox(history)?|emoticons|encode|encodingmenu|encrypt|envvar|eval(next)?|eventtarget|exec|exists|fgetc|file|find(dir|file|tok(cs)?)|fline|floor|font|fopen|fread|fserve?|get(dir|dot|tok)?|gfx(ram)?|gmt|group|hash|height|hexcolor|hfind|hget|highlight|hmac|hmatch|hnick|hotlink|hotp|hregex|hypot|ial(chan)?|ibl|iel|ignore|iil|inellipse|ini(ck|topic)?|inpoly|input|in(round)?rect|insert|instok|int(ersect)?|invitemenu|iptype|iql|ircv3caps|is(alias|bit|dde|dir|file|lower|tok(cs)?|upper|utf)|keylocked|left|len|level|line(height|s)?|link|lock|lo(f|g(10)?)|long(fn|ip)|loop|lower|maddress|mask|matchtok(cs)?|max|md5|menuicon|mid|min|mk(log|nick)?fn|mode|mp3|msfile|msgtags|nadmnick|(nh)?nick|no(file|p?nick|t(ags|ify)?|path|qt)?|numtok|nvnick|ocolor|onpoly|op?nick|ord?|pic|play|plugins|portfree|pos(cs)?|powmod|prefix(emote|user)|puttok|qt|query|r(ands?|ead(ini)?|egml(ex)?|em(ove(cs)?|tok(cs)?)|eplace(cs|x(cs)?)?|eptok(cs)?|gb|ight|ound|nick)?|samepath|scid|scon|screen(b|hz?|shot|w)?|script|sdir|send|server(vars)?|sfile|sha(1|2|256|384|512)|shortfn|sinh|slapsmenu|sline|snick|sock|sorttok(cs)?|sound|speak|spellcheck|sqrt|statusbar|str(ip)?|style|submenu|sysdir|tanh|timer|tip|token|toolbar|topicbox|totp|trust|ulist|unsafe|upper|uptime|url(get)?|utf(de|en)code|var|vc(md)?|vol|width|wildtok(cs)?|window|wmiquery|wrap|xor|zip))\\(","end":"(?i)\\)(?:\\.([^\\s|\\)|,]+))?","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"name":"keyword.other.identifier.msl"}},"endCaptures":{"1":{"name":"keyword.other.identifier.property.msl"}}},{"begin":"(?i)(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?calc)\\(","end":"\\)","patterns":[{"include":"#parameters"},{"include":"#calc_content"}],"beginCaptures":{"1":{"name":"keyword.other.identifier.msl"}}},{"begin":"(?i)(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?iif)\\(","end":"\\)","patterns":[{"include":"#conditionals_content"},{"include":"#parameters"}],"beginCaptures":{"1":{"name":"keyword.other.identifier.msl"}}},{"begin":"(?i)(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?reg(?:ex|sub(?:ex)?))\\(","end":"\\)","patterns":[{"match":"(\\/(?:(?!\\/[gimsxAEDUuXSF]+?\\)).)*\\/([gimsxAEDUuXSF]+)?)","captures":{"1":{"name":"string.regexp.msl"}}},{"include":"#parameters"}],"beginCaptures":{"1":{"name":"keyword.other.identifier.msl"}}},{"begin":"(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?[^\\s(),]+)\\(","end":"(?i)\\)(?:\\.([^\\s|\\)|,]+))?","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"name":"support.function.name.msl"}},"endCaptures":{"1":{"name":"keyword.other.identifier.property.msl"}}}]},"menu":{"patterns":[{"name":"meta.menu.code.msl","begin":"(?i)^(menu)\\x20+((?:status|channel|query|nicklist|menubar|(?:channel)?link|@[^\\x20,]+|\\*)(?:,(?:status|channel|query|nicklist|menubar|(?:channel)?link|@[^\\x20,]+))*|\\*)\\x20+{","end":"(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|}$","patterns":[{"include":"#menu_content"}],"beginCaptures":{"1":{"name":"storage.type.menu.msl"},"2":{"name":"storage.modifier.function.msl"}}}]},"menu_content":{"patterns":[{"include":"#comments"},{"include":"#parameters"},{"begin":"(?:^\\s*|\\G)\\x20*((?:mouse|(?:s|d(?:r|m)?|u|r|lb|m)click)|leave|drop)(?:\\x20*:\\x20*)?","end":"(?=\\z|\\x20}|$)","patterns":[{"include":"#code_content"}],"beginCaptures":{"1":{"name":"keyword.other.menu.item.msl"}}},{"begin":"^\\x20*(?!$)","end":"(?=\\z|\\x20}|$)","patterns":[{"include":"#parameters"},{"begin":"(?\u003c=:|{)","end":"(?=\\z|\\x20}|$)","patterns":[{"include":"#code_content"}]}]}]},"parameters":{"patterns":[{"include":"#variables"},{"include":"#identifiers"},{"include":"#constants"}]},"switches":{"patterns":[{"name":"keyword.other.switch.msl","match":"(?\u003c=\\x20)[-+][[:alnum:]]+(?=\\s)"}]},"variables":{"patterns":[{"name":"variable.other.normal.msl","match":"(?\u003c![^(,\\x20!])(%)[^\\x20),]+"},{"name":"variable.other.binary.msl","match":"(?\u003c![^(,\\x20!])(\u0026)[^\\x20),]+"}]}}}