github-linguist 5.3.3 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (460) hide show
  1. checksums.yaml +4 -4
  2. data/bin/git-linguist +5 -2
  3. data/ext/linguist/linguist.c +18 -7
  4. data/grammars/annotation.liquidhaskell.haskell.json +969 -862
  5. data/grammars/config.xcompose.json +22 -25
  6. data/grammars/file.lasso.json +296 -309
  7. data/grammars/hint.haskell.json +867 -766
  8. data/grammars/hint.message.haskell.json +867 -766
  9. data/grammars/hint.type.haskell.json +867 -766
  10. data/grammars/objdump.x86asm.json +20 -24
  11. data/grammars/source.Kotlin.json +220 -225
  12. data/grammars/source.LS.json +36 -55
  13. data/grammars/source.MCPOST.json +24 -38
  14. data/grammars/source.MOD.json +26 -41
  15. data/grammars/source.SASLog.json +9 -16
  16. data/grammars/source.abap.json +48 -56
  17. data/grammars/source.abl.json +8 -14
  18. data/grammars/source.abnf.json +88 -98
  19. data/grammars/source.actionscript.3.json +398 -429
  20. data/grammars/source.acucobol.json +5 -8
  21. data/grammars/source.ada.json +46 -53
  22. data/grammars/source.afm.json +548 -554
  23. data/grammars/source.agc.json +34 -37
  24. data/grammars/source.agda.json +79 -91
  25. data/grammars/source.ahk.json +62 -66
  26. data/grammars/source.alloy.json +16 -20
  27. data/grammars/source.ampl.json +41 -47
  28. data/grammars/source.angelscript.json +71 -80
  29. data/grammars/source.antlr.json +131 -136
  30. data/grammars/source.apache-config.json +93 -99
  31. data/grammars/source.apache-config.mod_perl.json +19 -24
  32. data/grammars/source.apl.json +1038 -1029
  33. data/grammars/source.applescript.json +501 -523
  34. data/grammars/source.apt.json +9 -16
  35. data/grammars/source.asn.json +27 -31
  36. data/grammars/source.asp.json +61 -67
  37. data/grammars/source.aspectj.json +385 -391
  38. data/grammars/source.assembly.json +49 -55
  39. data/grammars/source.ats.json +45 -121
  40. data/grammars/source.autoit.json +64 -69
  41. data/grammars/source.awk.json +172 -176
  42. data/grammars/source.ballerina.json +48 -395
  43. data/grammars/source.batchfile.json +269 -269
  44. data/grammars/source.befunge.json +17 -21
  45. data/grammars/source.bf.json +5 -11
  46. data/grammars/source.bison.json +10 -14
  47. data/grammars/source.blitzmax.json +300 -305
  48. data/grammars/source.boo.json +189 -193
  49. data/grammars/source.brightauthorproject.json +8 -13
  50. data/grammars/source.brightscript.json +37 -47
  51. data/grammars/source.bro.json +134 -140
  52. data/grammars/source.bsl.json +152 -193
  53. data/grammars/source.bsv.json +96 -102
  54. data/grammars/source.c++.json +176 -193
  55. data/grammars/source.c++.qt.json +13 -21
  56. data/grammars/source.c.ec.json +15 -21
  57. data/grammars/source.c.json +237 -251
  58. data/grammars/source.c.platform.json +153 -159
  59. data/grammars/source.c2hs.json +3 -6
  60. data/grammars/source.cabal.json +17 -20
  61. data/grammars/source.cache.cmake.json +18 -23
  62. data/grammars/source.cake.json +4 -7
  63. data/grammars/source.camlp4.ocaml.json +24 -27
  64. data/grammars/source.capnp.json +33 -38
  65. data/grammars/source.ceylon.json +44 -50
  66. data/grammars/source.cfscript.cfc.json +78 -86
  67. data/grammars/source.cfscript.json +513 -520
  68. data/grammars/source.changelogs.rpm-spec.json +8 -16
  69. data/grammars/source.chapel.json +109 -87
  70. data/grammars/source.cirru.json +25 -30
  71. data/grammars/source.clarion.json +41 -54
  72. data/grammars/source.clean.json +90 -95
  73. data/grammars/source.click.json +25 -28
  74. data/grammars/source.clips.json +10 -23
  75. data/grammars/source.clojure.json +151 -168
  76. data/grammars/source.cm.json +14 -19
  77. data/grammars/source.cmake.json +53 -61
  78. data/grammars/source.cobol.json +165 -180
  79. data/grammars/source.coffee.json +454 -462
  80. data/grammars/source.cool.json +36 -43
  81. data/grammars/source.coq.json +17 -21
  82. data/grammars/source.crystal.json +889 -983
  83. data/grammars/source.cs.json +739 -740
  84. data/grammars/source.csound-document.json +69 -73
  85. data/grammars/source.csound-score.json +52 -55
  86. data/grammars/source.csound.json +167 -171
  87. data/grammars/source.css.json +683 -688
  88. data/grammars/source.css.less.json +211 -511
  89. data/grammars/source.css.mss.json +94 -101
  90. data/grammars/source.css.postcss.sugarss.json +260 -0
  91. data/grammars/source.csx.json +4 -7
  92. data/grammars/source.cuda-c++.json +47 -81
  93. data/grammars/source.cwl.json +103 -0
  94. data/grammars/source.cython.json +536 -582
  95. data/grammars/source.d.json +243 -252
  96. data/grammars/source.dart.json +161 -166
  97. data/grammars/source.data-weave.json +901 -905
  98. data/grammars/source.desktop.json +29 -33
  99. data/grammars/source.diff.json +43 -52
  100. data/grammars/source.disasm.json +15 -16
  101. data/grammars/source.ditroff.desc.json +73 -84
  102. data/grammars/source.ditroff.json +60 -61
  103. data/grammars/source.dm.json +202 -213
  104. data/grammars/source.dmf.json +44 -47
  105. data/grammars/source.dockerfile.json +29 -34
  106. data/grammars/source.dot.json +46 -55
  107. data/grammars/source.dylan.json +63 -68
  108. data/grammars/source.ebnf.json +55 -62
  109. data/grammars/source.eiffel.json +57 -62
  110. data/grammars/source.elixir.json +321 -366
  111. data/grammars/source.emacs.lisp.json +458 -249
  112. data/grammars/source.erazor.json +49 -57
  113. data/grammars/source.erlang.json +508 -515
  114. data/grammars/source.essl.json +17 -30
  115. data/grammars/source.factor.json +85 -91
  116. data/grammars/source.fan.json +92 -96
  117. data/grammars/source.fancy.json +93 -118
  118. data/grammars/source.fish.json +74 -98
  119. data/grammars/source.fontforge.json +142 -146
  120. data/grammars/source.forth.json +42 -57
  121. data/grammars/source.fortran.json +193 -231
  122. data/grammars/source.fortran.modern.json +77 -103
  123. data/grammars/source.fsharp.fsi.json +1 -6
  124. data/grammars/source.fsharp.fsl.json +1 -6
  125. data/grammars/source.fsharp.fsx.json +1 -6
  126. data/grammars/source.fsharp.json +148 -153
  127. data/grammars/source.gap.json +60 -70
  128. data/grammars/source.gcode.json +9 -16
  129. data/grammars/source.gdb.json +63 -79
  130. data/grammars/source.gdb.session.json +27 -28
  131. data/grammars/source.gdbregs.json +7 -8
  132. data/grammars/source.gdscript.json +92 -96
  133. data/grammars/source.gerber.json +38 -56
  134. data/grammars/source.gfm.json +447 -462
  135. data/grammars/source.glsl.json +58 -83
  136. data/grammars/source.gn.json +188 -193
  137. data/grammars/source.gnuplot.json +104 -120
  138. data/grammars/source.go.json +169 -181
  139. data/grammars/source.golo.json +82 -87
  140. data/grammars/source.gosu.2.json +58 -68
  141. data/grammars/source.grace.json +266 -270
  142. data/grammars/source.graphql.json +586 -596
  143. data/grammars/source.groovy.gradle.json +18 -22
  144. data/grammars/source.groovy.json +422 -433
  145. data/grammars/source.harbour.json +129 -173
  146. data/grammars/source.haskell.json +871 -772
  147. data/grammars/source.haxe.2.json +402 -413
  148. data/grammars/source.hlsl.json +6 -16
  149. data/grammars/source.hsc2hs.json +1 -4
  150. data/grammars/source.hsig.json +871 -770
  151. data/grammars/source.hss.1.json +122 -144
  152. data/grammars/source.httpspec.json +119 -123
  153. data/grammars/source.hxml.json +8 -15
  154. data/grammars/source.ideal.json +125 -125
  155. data/grammars/source.idl-dlm.json +25 -32
  156. data/grammars/source.idl.json +59 -80
  157. data/grammars/source.idris.json +171 -185
  158. data/grammars/source.inform7.json +117 -121
  159. data/grammars/source.ini.json +37 -43
  160. data/grammars/source.io.json +65 -73
  161. data/grammars/source.ioke.json +72 -78
  162. data/grammars/source.isabelle.root.json +26 -30
  163. data/grammars/source.isabelle.theory.json +46 -50
  164. data/grammars/source.j.json +18 -21
  165. data/grammars/source.jasmin.json +45 -50
  166. data/grammars/source.java-properties.json +31 -41
  167. data/grammars/source.java.json +333 -342
  168. data/grammars/source.jcl.json +15 -18
  169. data/grammars/source.jflex.json +166 -172
  170. data/grammars/source.jison.json +331 -334
  171. data/grammars/source.jisonlex-injection.json +1 -2
  172. data/grammars/source.jisonlex.json +148 -151
  173. data/grammars/source.jolie.json +37 -43
  174. data/grammars/source.jq.json +80 -87
  175. data/grammars/source.js.json +798 -818
  176. data/grammars/source.js.jsx.json +2115 -2225
  177. data/grammars/source.js.objj.json +167 -172
  178. data/grammars/source.js.regexp.json +50 -50
  179. data/grammars/source.js.regexp.replacement.json +7 -7
  180. data/grammars/source.jsdoc.json +94 -94
  181. data/grammars/source.json.json +61 -71
  182. data/grammars/source.julia.console.json +5 -6
  183. data/grammars/source.julia.json +237 -234
  184. data/grammars/source.lean.json +55 -67
  185. data/grammars/source.lid.json +6 -10
  186. data/grammars/source.lilypond.json +181 -195
  187. data/grammars/source.lisp.json +40 -50
  188. data/grammars/source.litcoffee.json +169 -183
  189. data/grammars/source.livescript.json +207 -220
  190. data/grammars/source.llvm.json +28 -38
  191. data/grammars/source.logos.json +7 -14
  192. data/grammars/source.logtalk.json +136 -141
  193. data/grammars/source.loomscript.json +77 -83
  194. data/grammars/source.lsl.json +90 -106
  195. data/grammars/source.lua.json +100 -109
  196. data/grammars/source.makefile.json +181 -188
  197. data/grammars/source.makegen.json +3 -7
  198. data/grammars/source.mask.json +260 -265
  199. data/grammars/source.mata.json +38 -46
  200. data/grammars/source.mathematica.json +155 -167
  201. data/grammars/source.matlab.json +407 -684
  202. data/grammars/source.maxscript.json +293 -281
  203. data/grammars/source.mercury.json +179 -184
  204. data/grammars/source.meson.json +52 -58
  205. data/grammars/source.meta-info.json +64 -74
  206. data/grammars/source.ml.json +107 -113
  207. data/grammars/source.modelica.json +51 -59
  208. data/grammars/source.modula2.json +33 -42
  209. data/grammars/source.monkey.json +234 -241
  210. data/grammars/source.moonscript.json +51 -56
  211. data/grammars/source.mql5.json +74 -101
  212. data/grammars/source.mupad.json +30 -72
  213. data/grammars/source.ncl.json +1 -14
  214. data/grammars/source.ne.json +39 -42
  215. data/grammars/source.nemerle.json +58 -63
  216. data/grammars/source.nesc.json +9 -15
  217. data/grammars/source.netlinx.erb.json +13 -25
  218. data/grammars/source.netlinx.json +231 -292
  219. data/grammars/source.nextflow-groovy.json +1360 -0
  220. data/grammars/source.nextflow.json +74 -0
  221. data/grammars/source.nginx.json +274 -287
  222. data/grammars/source.nim.json +442 -483
  223. data/grammars/source.nim_filter.json +6 -26
  224. data/grammars/source.nimcfg.json +38 -51
  225. data/grammars/source.ninja.json +64 -70
  226. data/grammars/source.nit.json +60 -64
  227. data/grammars/source.nix.json +269 -273
  228. data/grammars/source.nmml.json +31 -37
  229. data/grammars/source.nsis.json +66 -72
  230. data/grammars/source.nu.json +129 -139
  231. data/grammars/source.nut.json +129 -133
  232. data/grammars/source.objc++.json +3 -10
  233. data/grammars/source.objc.json +303 -314
  234. data/grammars/source.objc.platform.json +145 -151
  235. data/grammars/source.ocaml.json +506 -514
  236. data/grammars/source.ocamllex.json +108 -115
  237. data/grammars/source.ocamlyacc.json +116 -123
  238. data/grammars/source.ooc.json +148 -155
  239. data/grammars/source.opa.json +39 -49
  240. data/grammars/source.opal.json +84 -89
  241. data/grammars/source.opalsysdefs.json +9 -13
  242. data/grammars/source.opencobol.json +22 -25
  243. data/grammars/source.opentype.json +148 -152
  244. data/grammars/source.ox.json +36 -44
  245. data/grammars/source.oz.json +31 -38
  246. data/grammars/source.p4.json +49 -59
  247. data/grammars/source.pan.json +273 -278
  248. data/grammars/source.papyrus.skyrim.json +705 -781
  249. data/grammars/source.parrot.pir.json +59 -65
  250. data/grammars/source.pascal.json +54 -61
  251. data/grammars/source.pawn.json +835 -849
  252. data/grammars/source.pcb.board.json +153 -158
  253. data/grammars/source.pcb.schematic.json +134 -138
  254. data/grammars/source.pcb.sexp.json +64 -74
  255. data/grammars/source.pep8.json +28 -32
  256. data/grammars/source.perl.6.json +83 -92
  257. data/grammars/source.perl.json +711 -737
  258. data/grammars/source.perl6fe.json +1204 -1218
  259. data/grammars/source.php.zephir.json +80 -89
  260. data/grammars/source.pic.json +137 -142
  261. data/grammars/source.pig_latin.json +76 -80
  262. data/grammars/source.pike.json +23 -36
  263. data/grammars/source.po.json +74 -84
  264. data/grammars/source.pogoscript.json +23 -29
  265. data/grammars/source.pony.json +98 -108
  266. data/grammars/source.postcss.json +370 -0
  267. data/grammars/source.postscript.json +88 -97
  268. data/grammars/source.pov-ray sdl.json +36 -42
  269. data/grammars/source.powershell.json +175 -197
  270. data/grammars/source.processing.json +236 -249
  271. data/grammars/source.prolog.eclipse.json +33 -38
  272. data/grammars/source.prolog.json +66 -72
  273. data/grammars/source.protobuf.json +88 -94
  274. data/grammars/source.puppet.json +144 -151
  275. data/grammars/source.purescript.json +268 -289
  276. data/grammars/source.pyjade.json +256 -281
  277. data/grammars/source.python.django.json +13 -18
  278. data/grammars/source.python.json +3319 -3367
  279. data/grammars/source.python.salt.json +3 -7
  280. data/grammars/source.qmake.json +83 -90
  281. data/grammars/source.qml.json +57 -78
  282. data/grammars/source.quoting.perl6fe.json +666 -669
  283. data/grammars/source.r.json +75 -84
  284. data/grammars/source.racket.json +17 -38
  285. data/grammars/source.rascal.json +77 -80
  286. data/grammars/source.reason.hover.type.json +1 -1
  287. data/grammars/source.reason.json +1025 -1080
  288. data/grammars/source.rebol.json +167 -177
  289. data/grammars/source.red.json +169 -177
  290. data/grammars/source.regexp.babel.json +74 -77
  291. data/grammars/source.regexp.extended.json +4 -5
  292. data/grammars/source.regexp.json +260 -264
  293. data/grammars/source.regexp.perl6fe.json +108 -111
  294. data/grammars/source.regexp.python.json +210 -215
  295. data/grammars/source.regexp.spin.json +63 -72
  296. data/grammars/source.renpy.json +617 -687
  297. data/grammars/source.rexx.json +25 -32
  298. data/grammars/source.ring.json +84 -114
  299. data/grammars/source.rpm-spec.json +392 -401
  300. data/grammars/source.ruby.gemfile.json +9 -12
  301. data/grammars/source.ruby.json +862 -952
  302. data/grammars/source.ruby.rspec.cucumber.steps.json +90 -103
  303. data/grammars/source.rust.json +223 -281
  304. data/grammars/source.sas.json +88 -105
  305. data/grammars/source.sass.json +100 -108
  306. data/grammars/source.sbt.json +16 -23
  307. data/grammars/source.scad.json +60 -67
  308. data/grammars/source.scala.json +215 -228
  309. data/grammars/source.scaml.json +120 -135
  310. data/grammars/source.scheme.json +119 -136
  311. data/grammars/source.scilab.json +40 -47
  312. data/grammars/source.scss.json +369 -403
  313. data/grammars/source.sdbl.json +14 -25
  314. data/grammars/source.shaderlab.json +24 -27
  315. data/grammars/source.shell.json +409 -440
  316. data/grammars/source.shen.json +75 -94
  317. data/grammars/source.smali.json +232 -293
  318. data/grammars/source.smalltalk.json +60 -75
  319. data/grammars/source.smt.json +67 -82
  320. data/grammars/source.solidity.json +35 -54
  321. data/grammars/source.sp.json +40 -45
  322. data/grammars/source.sparql.json +3 -8
  323. data/grammars/source.spin.json +277 -297
  324. data/grammars/source.sqf.json +34 -44
  325. data/grammars/source.sql.json +142 -156
  326. data/grammars/source.stan.json +201 -160
  327. data/grammars/source.stata.json +57 -68
  328. data/grammars/source.strings.json +26 -30
  329. data/grammars/source.stylus.json +558 -565
  330. data/grammars/source.supercollider.json +33 -40
  331. data/grammars/source.swift.json +999 -1077
  332. data/grammars/source.systemverilog.json +351 -365
  333. data/grammars/source.tcl.json +77 -94
  334. data/grammars/source.tea.json +61 -67
  335. data/grammars/source.terra.json +25 -32
  336. data/grammars/source.terraform.json +68 -88
  337. data/grammars/source.thrift.json +300 -306
  338. data/grammars/source.tl.json +112 -117
  339. data/grammars/source.tla.json +65 -69
  340. data/grammars/source.toc.json +21 -25
  341. data/grammars/source.toml.json +117 -122
  342. data/grammars/source.ts.json +2838 -2774
  343. data/grammars/source.tsx.json +180 -184
  344. data/grammars/source.turing.json +970 -974
  345. data/grammars/source.turtle.json +124 -140
  346. data/grammars/source.txl.json +23 -37
  347. data/grammars/source.ucfconstraints.json +16 -21
  348. data/grammars/source.ur.json +15 -27
  349. data/grammars/source.vala.json +221 -235
  350. data/grammars/source.varnish.vcl.json +117 -129
  351. data/grammars/source.vbnet.json +69 -106
  352. data/grammars/source.verilog.json +101 -107
  353. data/grammars/source.vhdl.json +437 -445
  354. data/grammars/source.viml.json +540 -550
  355. data/grammars/source.wavefront.mtl.json +274 -277
  356. data/grammars/source.wavefront.obj.json +781 -784
  357. data/grammars/source.wdl.json +66 -46
  358. data/grammars/source.webassembly.json +97 -102
  359. data/grammars/source.webidl.json +311 -326
  360. data/grammars/source.x10.json +28 -32
  361. data/grammars/source.x86asm.json +21 -26
  362. data/grammars/source.xc.json +164 -172
  363. data/grammars/source.xq.json +81 -92
  364. data/grammars/source.xtend.json +199 -208
  365. data/grammars/source.yaml-ext.json +118 -124
  366. data/grammars/source.yaml.json +155 -174
  367. data/grammars/source.yaml.salt.json +113 -116
  368. data/grammars/source.yang.json +10 -13
  369. data/grammars/source.yara.json +98 -0
  370. data/grammars/text.bibtex.json +95 -100
  371. data/grammars/text.cfml.basic.json +403 -404
  372. data/grammars/text.elixir.json +18 -23
  373. data/grammars/text.error-list.json +15 -16
  374. data/grammars/text.find-refs.json +487 -488
  375. data/grammars/text.gherkin.feature.json +45 -53
  376. data/grammars/text.haml.json +176 -189
  377. data/grammars/text.hamlc.json +82 -88
  378. data/grammars/text.html.abl.json +16 -21
  379. data/grammars/text.html.asciidoc.json +139 -153
  380. data/grammars/text.html.asdoc.json +145 -155
  381. data/grammars/text.html.asp.json +23 -28
  382. data/grammars/text.html.basic.json +323 -338
  383. data/grammars/text.html.cfm.json +316 -325
  384. data/grammars/text.html.creole.json +177 -189
  385. data/grammars/text.html.django.json +27 -33
  386. data/grammars/text.html.ecr.json +21 -25
  387. data/grammars/text.html.elixir.json +3 -9
  388. data/grammars/text.html.erb.json +81 -85
  389. data/grammars/text.html.erlang.yaws.json +24 -29
  390. data/grammars/text.html.factor.json +5 -11
  391. data/grammars/text.html.ftl.json +16 -25
  392. data/grammars/text.html.handlebars.json +579 -598
  393. data/grammars/text.html.javadoc.json +426 -0
  394. data/grammars/text.html.js.json +11 -17
  395. data/grammars/text.html.jsp.json +377 -384
  396. data/grammars/text.html.liquid.json +8 -18
  397. data/grammars/text.html.mako.json +257 -275
  398. data/grammars/text.html.markdown.source.gfm.apib.json +419 -427
  399. data/grammars/text.html.markdown.source.gfm.mson.json +405 -414
  400. data/grammars/text.html.mediawiki.json +318 -344
  401. data/grammars/text.html.php.blade.json +2134 -2140
  402. data/grammars/text.html.php.json +980 -1013
  403. data/grammars/text.html.slash.json +101 -107
  404. data/grammars/text.html.smarty.json +75 -83
  405. data/grammars/text.html.soy.json +250 -253
  406. data/grammars/text.html.ssp.json +18 -24
  407. data/grammars/text.html.tcl.json +17 -24
  408. data/grammars/text.html.twig.json +712 -718
  409. data/grammars/text.idl-idldoc.json +5 -9
  410. data/grammars/text.jade.json +213 -235
  411. data/grammars/text.junit-test-report.json +25 -28
  412. data/grammars/text.log.latex.json +44 -46
  413. data/grammars/text.marko.json +370 -401
  414. data/grammars/text.python.console.json +3 -7
  415. data/grammars/text.python.traceback.json +2 -5
  416. data/grammars/text.rdoc.json +15 -19
  417. data/grammars/text.restructuredtext.clean.json +8 -11
  418. data/grammars/text.restructuredtext.json +886 -873
  419. data/grammars/text.robot.json +26 -36
  420. data/grammars/text.roff.json +2852 -2915
  421. data/grammars/text.runoff.json +56 -69
  422. data/grammars/text.sfd.json +151 -155
  423. data/grammars/text.shell-session.json +5 -8
  424. data/grammars/text.slim.json +184 -210
  425. data/grammars/text.srt.json +54 -57
  426. data/grammars/text.tex.json +98 -105
  427. data/grammars/text.tex.latex.beamer.json +14 -20
  428. data/grammars/text.tex.latex.haskell.json +883 -782
  429. data/grammars/text.tex.latex.json +281 -291
  430. data/grammars/text.tex.latex.memoir.json +39 -46
  431. data/grammars/text.tex.latex.rd.json +32 -38
  432. data/grammars/text.xml.ant.json +62 -69
  433. data/grammars/text.xml.flex-config.json +1009 -1013
  434. data/grammars/text.xml.genshi.json +10 -16
  435. data/grammars/text.xml.json +117 -130
  436. data/grammars/text.xml.pom.json +235 -240
  437. data/grammars/text.xml.xsl.json +31 -37
  438. data/grammars/text.zone_file.json +24 -29
  439. data/lib/linguist/blob.rb +10 -1
  440. data/lib/linguist/blob_helper.rb +4 -1
  441. data/lib/linguist/file_blob.rb +5 -0
  442. data/lib/linguist/generated.rb +16 -0
  443. data/lib/linguist/heuristics.rb +23 -11
  444. data/lib/linguist/language.rb +3 -6
  445. data/lib/linguist/languages.json +1 -1
  446. data/lib/linguist/languages.yml +74 -12
  447. data/lib/linguist/lazy_blob.rb +15 -1
  448. data/lib/linguist/linguist.bundle +0 -0
  449. data/lib/linguist/samples.json +1666 -3381
  450. data/lib/linguist/shebang.rb +2 -0
  451. data/lib/linguist/strategy/modeline.rb +2 -0
  452. data/lib/linguist/vendor.yml +5 -6
  453. data/lib/linguist/version.rb +1 -1
  454. metadata +12 -11
  455. data/grammars/source.elm.json +0 -381
  456. data/grammars/source.nant-build.json +0 -86
  457. data/grammars/source.octave.json +0 -451
  458. data/grammars/text.html.mediawiki.elm-build-output.json +0 -111
  459. data/grammars/text.html.mediawiki.elm-documentation.json +0 -22
  460. data/grammars/text.html.vue.json +0 -936
@@ -1,9 +1,6 @@
1
1
  {
2
- "fileTypes": [
3
- "m"
4
- ],
5
- "keyEquivalent": "^~M",
6
2
  "name": "MATLAB",
3
+ "scopeName": "source.matlab",
7
4
  "patterns": [
8
5
  {
9
6
  "include": "#classdef"
@@ -15,76 +12,54 @@
15
12
  "include": "#blocks"
16
13
  },
17
14
  {
18
- "include": "#constants_override"
15
+ "include": "#control_statements"
19
16
  },
20
17
  {
21
- "include": "#brackets"
18
+ "include": "#global_persistent"
22
19
  },
23
20
  {
24
- "include": "#curlybrackets"
25
- },
26
- {
27
- "include": "#parens"
21
+ "include": "#command_dual"
28
22
  },
29
23
  {
30
24
  "include": "#string"
31
25
  },
32
26
  {
33
- "include": "#transpose"
34
- },
35
- {
36
- "include": "#double_quote"
37
- },
38
- {
39
- "include": "#operators"
27
+ "include": "#line_continuation"
40
28
  },
41
29
  {
42
- "include": "#builtin_keywords"
30
+ "include": "#comments"
43
31
  },
44
32
  {
45
- "include": "#comments"
33
+ "include": "#transpose"
46
34
  },
47
35
  {
48
- "include": "#number"
36
+ "include": "#constants"
49
37
  },
50
38
  {
51
- "include": "#variable"
39
+ "include": "#variables"
52
40
  },
53
41
  {
54
- "include": "#variable_invalid"
42
+ "include": "#end_in_parens"
55
43
  },
56
44
  {
57
- "include": "#not_equal_invalid"
45
+ "include": "#numbers"
58
46
  },
59
47
  {
60
- "include": "#variable_assignment"
48
+ "include": "#operators"
61
49
  }
62
50
  ],
63
51
  "repository": {
64
52
  "blocks": {
65
53
  "patterns": [
66
54
  {
67
- "begin": "(^\\s*)(for)\\s+",
68
- "beginCaptures": {
69
- "0": {
70
- "name": "meta.for-quantity.matlab"
71
- },
72
- "2": {
73
- "name": "keyword.control.for.matlab"
74
- }
75
- },
76
- "end": "^\\s*(end)\\b",
77
- "endCaptures": {
78
- "1": {
79
- "name": "keyword.control.end.for.matlab"
80
- }
81
- },
82
55
  "name": "meta.for.matlab",
56
+ "begin": "(^\\s*)(for)\\b",
57
+ "end": "^\\s*(end)\\b",
83
58
  "patterns": [
84
59
  {
60
+ "name": "meta.for-quantity.matlab",
85
61
  "begin": "\\G(?!$)",
86
62
  "end": "$\\n?",
87
- "name": "meta.for-quantity.matlab",
88
63
  "patterns": [
89
64
  {
90
65
  "include": "$self"
@@ -94,63 +69,30 @@
94
69
  {
95
70
  "include": "$self"
96
71
  }
97
- ]
98
- },
99
- {
100
- "begin": "(^\\s*)(parfor)\\s+",
72
+ ],
101
73
  "beginCaptures": {
102
74
  "0": {
103
- "name": "meta.parfor-quantity.matlab"
75
+ "name": "meta.for-quantity.matlab"
104
76
  },
105
77
  "2": {
106
78
  "name": "keyword.control.for.matlab"
107
79
  }
108
80
  },
109
- "end": "^\\s*(end)\\b",
110
81
  "endCaptures": {
111
82
  "1": {
112
83
  "name": "keyword.control.end.for.matlab"
113
84
  }
114
- },
115
- "name": "meta.parfor.matlab",
116
- "patterns": [
117
- {
118
- "begin": "\\G(?!$)",
119
- "end": "$\\n?",
120
- "name": "meta.parfor-quantity.matlab",
121
- "patterns": [
122
- {
123
- "include": "$self"
124
- }
125
- ]
126
- },
127
- {
128
- "include": "$self"
129
- }
130
- ]
85
+ }
131
86
  },
132
87
  {
133
- "begin": "(^\\s*)(if)\\s+",
134
- "beginCaptures": {
135
- "0": {
136
- "name": "meta.if-condition.matlab"
137
- },
138
- "2": {
139
- "name": "keyword.control.if.matlab"
140
- }
141
- },
142
- "end": "^\\s*(end)\\b",
143
- "endCaptures": {
144
- "1": {
145
- "name": "keyword.control.end.if.matlab"
146
- }
147
- },
148
88
  "name": "meta.if.matlab",
89
+ "begin": "(^\\s*)(if)\\b",
90
+ "end": "^\\s*(end)\\b",
149
91
  "patterns": [
150
92
  {
93
+ "name": "meta.if-condition.matlab",
151
94
  "begin": "\\G(?!$)",
152
95
  "end": "$\\n?",
153
- "name": "meta.if-condition.matlab",
154
96
  "patterns": [
155
97
  {
156
98
  "include": "$self"
@@ -158,6 +100,9 @@
158
100
  ]
159
101
  },
160
102
  {
103
+ "name": "meta.elseif.matlab",
104
+ "match": "(^\\s*)(elseif)\\b(.*)$\\n?",
105
+ "end": "^",
161
106
  "beginCaptures": {
162
107
  "0": {
163
108
  "name": "meta.elseif-condition.matlab"
@@ -172,51 +117,55 @@
172
117
  }
173
118
  ]
174
119
  }
175
- },
176
- "end": "^",
177
- "match": "(^\\s*)(elseif)\\s+(.*)$\\n?",
178
- "name": "meta.elseif.matlab"
120
+ }
179
121
  },
180
122
  {
123
+ "name": "meta.else.matlab",
124
+ "match": "(^\\s*)(else)\\b(.*)?$\\n?",
125
+ "end": "^",
181
126
  "beginCaptures": {
182
127
  "0": {
183
128
  "name": "meta.else-condition.matlab"
184
129
  },
185
130
  "2": {
186
131
  "name": "keyword.control.else.matlab"
132
+ },
133
+ "3": {
134
+ "patterns": [
135
+ {
136
+ "include": "$self"
137
+ }
138
+ ]
187
139
  }
188
- },
189
- "end": "^",
190
- "match": "(^\\s*)(else)\\s+$\\n?",
191
- "name": "meta.else.matlab"
140
+ }
192
141
  },
193
142
  {
194
143
  "include": "$self"
195
144
  }
196
- ]
197
- },
198
- {
199
- "begin": "(^\\s*)(while)\\s+",
145
+ ],
200
146
  "beginCaptures": {
201
147
  "0": {
202
- "name": "meta.while-condition.matlab"
148
+ "name": "meta.if-condition.matlab"
203
149
  },
204
150
  "2": {
205
- "name": "keyword.control.while.matlab"
151
+ "name": "keyword.control.if.matlab"
206
152
  }
207
153
  },
208
- "end": "^\\s*(end)\\b",
209
154
  "endCaptures": {
210
155
  "1": {
211
- "name": "keyword.control.end.while.matlab"
156
+ "name": "keyword.control.end.if.matlab"
212
157
  }
213
- },
214
- "name": "meta.while.matlab",
158
+ }
159
+ },
160
+ {
161
+ "name": "meta.parfor.matlab",
162
+ "begin": "(^\\s*)(parfor)\\b",
163
+ "end": "^\\s*(end)\\b",
215
164
  "patterns": [
216
165
  {
166
+ "name": "meta.parfor-quantity.matlab",
217
167
  "begin": "\\G(?!$)",
218
168
  "end": "$\\n?",
219
- "name": "meta.while-condition.matlab",
220
169
  "patterns": [
221
170
  {
222
171
  "include": "$self"
@@ -226,30 +175,63 @@
226
175
  {
227
176
  "include": "$self"
228
177
  }
229
- ]
178
+ ],
179
+ "beginCaptures": {
180
+ "0": {
181
+ "name": "meta.parfor-quantity.matlab"
182
+ },
183
+ "2": {
184
+ "name": "keyword.control.for.matlab"
185
+ }
186
+ },
187
+ "endCaptures": {
188
+ "1": {
189
+ "name": "keyword.control.end.for.matlab"
190
+ }
191
+ }
230
192
  },
231
193
  {
232
- "begin": "(^\\s*)(switch)\\s+",
194
+ "name": "meta.spmd.matlab",
195
+ "begin": "(^\\s*)(spmd)\\b",
196
+ "end": "^\\s*(end)\\b",
197
+ "patterns": [
198
+ {
199
+ "name": "meta.spmd-statement.matlab",
200
+ "begin": "\\G(?!$)",
201
+ "end": "$\\n?",
202
+ "patterns": [
203
+ {
204
+ "include": "$self"
205
+ }
206
+ ]
207
+ },
208
+ {
209
+ "include": "$self"
210
+ }
211
+ ],
233
212
  "beginCaptures": {
234
213
  "0": {
235
- "name": "meta.switch-expression.matlab"
214
+ "name": "meta.spmd-statement.matlab"
236
215
  },
237
216
  "2": {
238
- "name": "keyword.control.switch.matlab"
217
+ "name": "keyword.control.spmd.matlab"
239
218
  }
240
219
  },
241
- "end": "^\\s*(end)\\b",
242
220
  "endCaptures": {
243
221
  "1": {
244
- "name": "keyword.control.end.switch.matlab"
222
+ "name": "keyword.control.end.spmd.matlab"
245
223
  }
246
- },
224
+ }
225
+ },
226
+ {
247
227
  "name": "meta.switch.matlab",
228
+ "begin": "(^\\s*)(switch)\\b",
229
+ "end": "^\\s*(end)\\b",
248
230
  "patterns": [
249
231
  {
232
+ "name": "meta.switch-expression.matlab",
250
233
  "begin": "\\G(?!$)",
251
234
  "end": "$\\n?",
252
- "name": "meta.switch-expression.matlab",
253
235
  "patterns": [
254
236
  {
255
237
  "include": "$self"
@@ -257,6 +239,9 @@
257
239
  ]
258
240
  },
259
241
  {
242
+ "name": "meta.case.matlab",
243
+ "match": "(^\\s*)(case)\\b(.*)$\\n?",
244
+ "end": "^",
260
245
  "beginCaptures": {
261
246
  "0": {
262
247
  "name": "meta.case-expression.matlab"
@@ -271,45 +256,55 @@
271
256
  }
272
257
  ]
273
258
  }
274
- },
275
- "end": "^",
276
- "match": "(^\\s*)(case)\\s+(.*)$\\n?",
277
- "name": "meta.case.matlab"
259
+ }
278
260
  },
279
261
  {
262
+ "name": "meta.otherwise.matlab",
263
+ "match": "(^\\s*)(otherwise)\\b(.*)?$\\n?",
264
+ "end": "^",
280
265
  "beginCaptures": {
281
266
  "0": {
282
267
  "name": "meta.otherwise-expression.matlab"
283
268
  },
284
269
  "2": {
285
270
  "name": "keyword.control.otherwise.matlab"
271
+ },
272
+ "3": {
273
+ "patterns": [
274
+ {
275
+ "include": "$self"
276
+ }
277
+ ]
286
278
  }
287
- },
288
- "end": "^",
289
- "match": "(^\\s*)(otherwise)\\s+$\\n?",
290
- "name": "meta.otherwise.matlab"
279
+ }
291
280
  },
292
281
  {
293
282
  "include": "$self"
294
283
  }
295
- ]
296
- },
297
- {
298
- "begin": "(^\\s*)(try)\\s*($\\n?|%)",
284
+ ],
299
285
  "beginCaptures": {
286
+ "0": {
287
+ "name": "meta.switch-expression.matlab"
288
+ },
300
289
  "2": {
301
- "name": "keyword.control.try.matlab"
290
+ "name": "keyword.control.switch.matlab"
302
291
  }
303
292
  },
304
- "end": "^\\s*(end)\\b",
305
293
  "endCaptures": {
306
294
  "1": {
307
- "name": "keyword.control.end.try.matlab"
295
+ "name": "keyword.control.end.switch.matlab"
308
296
  }
309
- },
297
+ }
298
+ },
299
+ {
310
300
  "name": "meta.try.matlab",
301
+ "begin": "(^\\s*)(try)\\b",
302
+ "end": "^\\s*(end)\\b",
311
303
  "patterns": [
312
304
  {
305
+ "name": "meta.catch.matlab",
306
+ "match": "(^\\s*)(catch)\\b(.*)?$\\n?",
307
+ "end": "^",
313
308
  "beginCaptures": {
314
309
  "0": {
315
310
  "name": "meta.catch-exception.matlab"
@@ -320,386 +315,78 @@
320
315
  "3": {
321
316
  "patterns": [
322
317
  {
323
- "include": "$self"
324
- }
325
- ]
326
- }
327
- },
328
- "end": "^",
329
- "match": "(^\\s*)(catch)(\\s+.*)$\\n?",
330
- "name": "meta.catch.matlab"
331
- },
332
- {
333
- "include": "$self"
334
- }
335
- ]
336
- }
337
- ]
338
- },
339
- "brackets": {
340
- "begin": "\\[",
341
- "beginCaptures": {
342
- "0": {
343
- "name": "meta.brackets.matlab"
344
- }
345
- },
346
- "contentName": "meta.brackets.matlab",
347
- "end": "\\]",
348
- "endCaptures": {
349
- "0": {
350
- "name": "meta.brackets.matlab"
351
- }
352
- },
353
- "patterns": [
354
- {
355
- "include": "$self"
356
- }
357
- ]
358
- },
359
- "builtin_keywords": {
360
- "patterns": [
361
- {
362
- "include": "#keywords"
363
- },
364
- {
365
- "include": "#storage"
366
- },
367
- {
368
- "include": "#contants"
369
- },
370
- {
371
- "include": "#variables"
372
- },
373
- {
374
- "include": "#support_library"
375
- }
376
- ],
377
- "repository": {
378
- "contants": {
379
- "comment": "MATLAB constants",
380
- "match": "(?<!\\.)\\b(eps|false|Inf|inf|intmax|intmin|namelengthmax|NaN|nan|on|off|realmax|realmin|true)\\b",
381
- "name": "constant.language.matlab"
382
- },
383
- "keywords": {
384
- "patterns": [
385
- {
386
- "comment": "Data Analysis",
387
- "match": "(?<!\\.)\\b(abs|addevent|addsample|addsampletocollection|addts|angle|conv|conv2|convn|corrcoef|cov|cplxpair|ctranspose|cumtrapz|deconv|del2|delevent|delsample|delsamplefromcollection|detrend|diff|fft|fft2|fftn|fftshift|fftw|filter|filter2|getabstime|getdatasamplesize|getinterpmethod|getqualitydesc|getsampleusingtime|gettimeseriesnames|gettsafteratevent|gettsafterevent|gettsatevent|gettsbeforeatevent|gettsbeforeevent|gettsbetweenevents|gradient|idealfilter|ifft|ifft2|ifftn|ifftshift|iqr|max|mean|median|min|mldivide|mode|mrdivide|removets|resample|setabstime|setinterpmethod|settimeseriesnames|std|synchronize|timeseries|trapz|tscollection|tsdata.event|tsprops|tstool|var)\\b",
388
- "name": "keyword.other.analysis.matlab"
389
- },
390
- {
391
- "comment": "Control keywords",
392
- "match": "(?<!\\.)\\b(break|case|catch|continue|else|elseif|end|for|parfor|if|otherwise|pause|rethrow|return|start|startat|stop|switch|try|wait|while)\\b",
393
- "name": "keyword.control.matlab"
394
- },
395
- {
396
- "comment": "Desktop Tools and Development",
397
- "match": "(?<!\\.)\\b(addpath|assignin|builddocsearchdb|cd|checkin|checkout|clc|clear|clipboard|cmopts|commandhistory|commandwindow|computer|copyfile|customverctrl|dbclear|dbcont|dbdown|dbquit|dbstack|dbstatus|dbstep|dbstop|dbtype|dbup|debug|demo|diary|dir|doc|docopt|docsearch|dos|echodemo|edit|exit|fileattrib|filebrowser|finish|format|genpath|getenv|grabcode|help|helpbrowser|helpwin|home|hostid|info|keyboard|license|lookfor|ls|matlab|matlabrc|matlabroot|memory|mkdir|mlint|mlintrpt|more|movefile|notebook|openvar|pack|partialpath|path|path2rc|pathdef|pathsep|pathtool|perl|playshow|prefdir|preferences|profile|profsave|publish|pwd|quit|recycle|rehash|restoredefaultpath|rmdir|rmpath|savepath|setenv|startup|support|system|toolboxdir|type|undocheckout|unix|ver|verctrl|verLessThan|version|web|what|whatsnew|which|winqueryreg|workspace)\\b",
398
- "name": "keyword.other.desktop.matlab"
399
- },
400
- {
401
- "comment": "Mathematics",
402
- "match": "(?<!\\.)\\b(accumarray|acos|acosd|acosh|acot|acotd|acoth|acsc|acscd|acsch|airy|amd|asec|asecd|asech|asin|asind|asinh|atan|atan2|atand|atanh|balance|besselh|besseli|besselj|besselk|bessely|beta|betainc|betaln|bicg|bicgstab|blkdiag|bsxfun|bvp4c|bvpget|bvpinit|bvpset|bvpxtend|cart2pol|cart2sph|cat|cdf2rdf|ceil|cgs|chol|cholinc|cholupdate|circshift|colamd|colperm|compan|complex|cond|condeig|condest|conj|convhull|convhulln|cos|cosd|cosh|cot|cotd|coth|cross|csc|cscd|csch|cumprod|cumsum|dblquad|dde23|ddeget|ddesd|ddeset|decic|det|deval|diag|disp|display|dmperm|dot|eig|eigs|ellipj|ellipke|erf|erfc|erfcinv|erfcx|erfinv|etree|etreeplot|exp|expint|expm|expm1|eye|factor|factorial|find|fix|flipdim|fliplr|flipud|floor|fminbnd|fminsearch|freqspace|full|funm|fzero|gallery|gamma|gammainc|gammaln|gcd|gmres|gplot|griddata|griddata3|griddatan|gsvd|hadamard|hankel|hess|hilb|horzcat|hypot|i|idivide|ilu|imag|ind2sub|Inf|inline|interp1|interp1q|interp2|interp3|interpft|interpn|inv|invhilb|ipermute|j|kron|lcm|ldl|legendre|length|linsolve|linspace|log|log10|log1p|log2|logm|logspace|lscov|lsqnonneg|lsqr|lu|luinc|magic|meshgrid|minres|mkpp|mod|NaN|nchoosek|ndgrid|ndims|nextpow2|nnz|nonzeros|norm|normest|nthroot|null|numel|nzmax|ode113|ode15i|ode15s|ode23|ode23s|ode23t|ode23tb|ode45|odefile|odeget|odeset|odextend|ones|optimget|optimset|ordeig|ordqz|ordschur|orth|pascal|pcg|pchip|pdepe|pdeval|perms|permute|pi|pinv|planerot|pol2cart|poly|polyder|polyeig|polyfit|polyint|polyval|polyvalm|pow2|ppval|primes|prod|psi|qmr|qr|qrdelete|qrinsert|qrupdate|quad|quadl|quadv|qz|rand|randn|randperm|rank|rat|rats|rcond|real|reallog|realpow|realsqrt|rem|repmat|reshape|residue|roots|rosser|rot90|round|rref|rsf2csf|schur|sec|secd|sech|shiftdim|sign|sin|sind|sinh|size|sort|sortrows|spalloc|sparse|spaugment|spconvert|spdiags|speye|spfun|sph2cart|spline|spones|spparms|sprand|sprandn|sprandsym|sprank|spy|sqrt|sqrtm|squeeze|ss2tf|sub2ind|subspace|sum|svd|svds|symamd|symbfact|symmlq|symrcm|tan|tand|tanh|toeplitz|trace|treelayout|treeplot|tril|triplequad|triu|unmkpp|unwrap|vander|vectorize|vertcat|wilkinson|zeros)\\b",
403
- "name": "keyword.other.mathematics.matlab"
404
- },
405
- {
406
- "comment": "Operator keywords",
407
- "match": "(?<!\\.)\\b(all|and|any|bitand|bitcmp|bitget|bitmax|bitor|bitset|bitshift|bitxor|eq|ge|gt|isa|isappdata|iscell|iscellstr|ischar|iscom|isdir|isempty|isequal|isequalwithequalnans|isevent|isfield|isfinite|isfloat|isglobal|ishandle|ishold|isinf|isinteger|isinterface|isjava|iskeyword|isletter|islogical|ismac|ismember|ismethod|isnan|isnumeric|isobject|ispc|ispref|isprime|isprop|isreal|isscalar|issorted|isspace|issparse|isstrprop|isstruct|isstudent|isunix|isvarname|isvector|le|lt|mislocked|or|ne|not|setxor|union|unique|xor)\\b",
408
- "name": "keyword.operator.matlab"
409
- },
410
- {
411
- "comment": "Other keywords",
412
- "match": "(?<!\\.)\\b(addOptional|addParamValue|addRequired|addtodate|ans|arrayfun|assert|blanks|builtin|calendar|cell|celldisp|cellfun|cellplot|clock|cputime|createCopy|datatipinfo|date|datenum|datestr|datevec|dbmex|deal|deblank|depdir|depfun|echo|eomday|error|etime|eval|evalc|evalin|exist|feval|fieldnames|findstr|func2str|genvarname|getfield|global|inferiorto|inmem|intersect|intwarning|lasterr|lasterror|lastwarn|loadobj|lower|methods|methodsview|mex|mexext|mfilename|mlock|munlock|nargchk|nargoutchk|now|orderfields|parse|pcode|regexp|regexpi|regexprep|regexptranslate|rmfield|run|saveobj|setdiff|setfield|sprintf|sscanf|strcat|strcmp|strcmpi|strfind|strings|strjust|strmatch|strncmp|strncmpi|strread|strrep|strtok|strtrim|structfun|strvcat|subsasgn|subsindex|subsref|substruct|superiorto|swapbytes|symvar|tic|timer|timerfind|timerfindall|toc|typecast|upper|warning|weekday|who|whos)\\b",
413
- "name": "keyword.other.matlab"
414
- }
415
- ]
416
- },
417
- "storage": {
418
- "patterns": [
419
- {
420
- "comment": "File I/O",
421
- "match": "(?<!\\.)\\b(addframe|ascii|audioplayer|audiorecorder|aufinfo|auread|auwrite|avifile|aviinfo|aviread|beep|binary|cdfepoch|cdfinfo|cdfread|cdfwrite|csvread|csvwrite|daqread|dlmread|dlmwrite|exifread|fclose|feof|ferror|fgetl|fgets|filehandle|filemarker|fileparts|filesep|fitsinfo|fitsread|fopen|fprintf|fread|frewind|fscanf|fseek|ftell|ftp|fullfile|fwrite|gunzip|gzip|hdf|hdf5|hdf5info|hdf5read|hdf5write|hdfinfo|hdfread|hdftool|imfinfo|importdata|imread|imwrite|lin2mu|load|memmapfile|mget|mmfileinfo|movie2avi|mput|mu2lin|multibandread|multibandwrite|open|rename|save|sendmail|sound|soundsc|tar|tempdir|tempname|textread|textscan|todatenum|uiimport|untar|unzip|urlread|urlwrite|wavfinfo|wavplay|wavread|wavrecord|wavwrite|winopen|wk1finfo|wk1read|wk1write|xlsfinfo|xlsread|xlswrite|xmlread|xmlwrite|xslt|zip)\\b",
422
- "name": "storage.type.control.matlab"
423
- },
424
- {
425
- "comment": "Storage modifiers",
426
- "match": "(?<!\\.)\\b(base2dec|bin2dec|cast|cell2mat|cell2struct|cellstr|char|dec2base|dec2bin|dec2hex|hex2dec|hex2num|int2str|mat2cell|mat2str|num2cell|native2unicode|num2hex|num2str|persistent|str2double|str2func|str2mat|str2num|struct2cell|unicode2native)\\b",
427
- "name": "storage.modifier.matlab"
428
- },
429
- {
430
- "comment": "Storage types",
431
- "match": "(?<!\\.)\\b(class|double|function|functions|input|inputname|inputParser|int16|int32|int64|int8|logical|single|struct|uint16|uint32|uint64|uint8)\\b",
432
- "name": "storage.type.matlab"
433
- }
434
- ]
435
- },
436
- "support_library": {
437
- "patterns": [
438
- {
439
- "comment": "External Interfaces",
440
- "match": "(?<!\\.)\\b(actxcontrol|actxcontrollist|actxcontrolselect|actxGetRunningServer|actxserver|addproperty|calllib|callSoapService|createClassFromWsdl|createSoapMessage|ddeadv|ddeexec|ddeinit|ddepoke|ddereq|ddeterm|ddeunadv|deleteproperty|enableservice|eventlisteners|events|Execute|GetCharArray|GetFullMatrix|GetVariable|GetWorkspaceData|import|instrcallback|instrfind|instrfindall|interfaces|invoke|javaaddpath|javaArray|javachk|javaclasspath|javaMethod|javaObject|javarmpath|libfunctions|libfunctionsview|libisloaded|libpointer|libstruct|loadlibrary|MaximizeCommandWindow|MinimizeCommandWindow|move|parseSoapResponse|PutCharArray|PutFullMatrix|PutWorkspaceData|readasync|record|registerevent|release|send|serial|serialbreak|stopasync|unloadlibrary|unregisterallevents|unregisterevent|usejava)\\b",
441
- "name": "support.function.external.matlab"
442
- },
443
- {
444
- "comment": "Creating Graphical User Interfaces",
445
- "match": "(?<!\\.)\\b(addpref|align|dialog|errordlg|export2wsdlg|getappdata|getpixelposition|getpref|ginput|guidata|guide|guihandles|helpdlg|inputdlg|inspect|listdlg|listfonts|menu|movegui|msgbox|openfig|printdlg|printpreview|questdlg|rmappdata|rmpref|selectmoveresize|setappdata|setpixelposition|setpref|textwrap|uibuttongroup|uicontextmenu|uicontrol|uigetdir|uigetfile|uigetpref|uimenu|uiopen|uipanel|uipushtool|uiputfile|uiresume|uisave|uisetcolor|uisetfont|uisetpref|uistack|uitoggletool|uitoolbar|uiwait|waitbar|waitfor|waitforbuttonpress|warndlg)\\b",
446
- "name": "support.function.matlab"
447
- },
448
- {
449
- "comment": "Graphics",
450
- "match": "(?<!\\.)\\b(alim|allchild|alpha|alphamap|ancestor|annotation|area|axes|axis|bar|bar3|bar3h|barh|box|brighten|camdolly|cameratoolbar|camlight|camlookat|camorbit|campan|campos|camproj|camroll|camtarget|camup|camva|camzoom|caxis|cla|clabel|clf|close|closereq|colorbar|colordef|colormap|colormapeditor|ColorSpec|comet|comet3|compass|coneplot|contour|contour3|contourc|contourf|contourslice|contrast|copyobj|curl|cylinder|daspect|datacursormode|datetick|delaunay|delaunay3|delaunayn|delete|diffuse|divergence|dragrect|drawnow|dsearch|dsearchn|ellipsoid|errorbar|ezcontour|ezcontourf|ezmesh|ezmeshc|ezplot|ezplot3|ezpolar|ezsurf|ezsurfc|feather|figure|figurepalette|fill|fill3|findall|findfigs|findobj|flow|fplot|frame2im|frameedit|gca|gcbf|gcbo|gcf|gco|get|getframe|graymon|grid|gtext|hgexport|hggroup|hgload|hgsave|hgtransform|hidden|hist|histc|hold|hsv2rgb|im2frame|im2java|image|imagesc|imformats|ind2rgb|inpolygon|interpstreamspeed|isocaps|isocolors|isonormals|isosurface|legend|light|lightangle|lighting|line|LineSpec|linkaxes|linkprop|loglog|makehgtform|material|mesh|meshc|meshz|movie|newplot|noanimate|opengl|orient|pan|pareto|patch|pbaspect|pcolor|peaks|pie|pie3|plot|plot3|plotbrowser|plotedit|plotmatrix|plottools|plotyy|polar|polyarea|print|printopt|propedit|propertyeditor|quiver|quiver3|rbbox|rectangle|rectint|reducepatch|reducevolume|refresh|refreshdata|reset|rgb2hsv|rgbplot|ribbon|rose|rotate|rotate3d|saveas|scatter|scatter3|semilogx|semilogy|set|shading|showplottool|shrinkfaces|slice|smooth3|specular|sphere|spinmap|stairs|stem|stem3|stream2|stream3|streamline|streamparticles|streamribbon|streamslice|streamtube|subplot|subvolume|surf|surf2patch|surface|surfc|surfl|surfnorm|tetramesh|texlabel|text|title|trimesh|triplot|trisurf|tsearch|tsearchn|view|viewmtx|volumebounds|voronoi|voronoin|waterfall|whitebg|xlabel|xlim|ylabel|ylim|zlabel|zlim|zoom)\\b",
451
- "name": "support.function.graphics.matlab"
452
- },
453
- {
454
- "comment": "Matlab aerospace toolbox",
455
- "match": "(?<!\\.)\\b(wrldmagm|updateNodes|updateCamera|updateBodies|update|show|saveas|rrtheta|rrsigma|rrdelta|removeViewpoint|removeNode|removeBody|read|quatrotate|quatnormalize|quatnorm|quatmultiply|quatmod|quatinv|quatdivide|quatconj|quat2dcm|quat2angle|play|nodeInfo|moveBody|move|mjuliandate|machnumber|load|lla2ecef|leapyear|juliandate|initialize|initIfNeeded|hide|gravitywgs84|geoidegm96|geod2geoc|geocradius|geoc2geod|generatePatches|findstartstoptimes|fganimation|ecef2lla|dpressure|delete|decyear|dcmecef2ned|dcmbody2wind|dcm2quat|dcm2latlon|dcm2angle|dcm2alphabeta|datcomimport|createBody|correctairspeed|convvel|convtemp|convpres|convmass|convlength|convforce|convdensity|convangvel|convangacc|convang|convacc|atmospalt|atmosnrlmsise00|atmosnonstd|atmoslapse|atmosisa|atmoscoesa|atmoscira|angle2quat|angle2dcm|alphabeta|airspeed|addViewpoint|addRoute|addNode|addBody|VirtualRealityAnimation|Viewpoint|Node|Geometry|GenerateRunScript|Camera|Body|Animation)\\b",
456
- "name": "support.function.toolbox.aerospace.matlab"
457
- },
458
- {
459
- "comment": "Matlab bioinformatics toolbox",
460
- "match": "(?<!\\.)\\b(zonebackadj|weights|view|traverse|traceplot|topoorder|swalign|svmtrain|svmsmoset|svmclassify|subtree|sptread|showhmmprof|showalignment|shortestpath|seqwordcount|seqtool|seqshowwords|seqshoworfs|seqreverse|seqrcomplement|seqprofile|seqpdist|seqneighjoin|seqmatch|seqlogo|seqlinkage|seqinsertgaps|seqdotplot|seqdisp|seqconsensus|seqcomplement|seq2regexp|select|scfread|samplealign|rnaplot|rnafold|rnaconvert|rna2dna|rmasummary|rmabackadj|revgeneticcode|restrict|reroot|reorder|redgreencmap|rebasecuts|rankfeatures|randseq|randfeatures|ramachandran|quantilenorm|prune|proteinpropplot|proteinplot|profalign|probesetvalues|probesetplot|probesetlookup|probesetlink|probelibraryinfo|plot|phytreewrite|phytreetool|phytreeread|phytree|pfamhmmread|pdist|pdbwrite|pdbread|pdbdistplot|pam|palindromes|optimalleaforder|oligoprop|nwalign|num2goid|nuc44|ntdensity|nt2int|nt2aa|nmercount|mzxmlread|mzxml2peaks|multialignviewer|multialignread|multialign|msviewer|mssgolay|msresample|msppresample|mspeaks|mspalign|msnorm|mslowess|msheatmap|msdotplot|msbackadj|msalign|molweight|molviewer|minspantree|maxflow|mavolcanoplot|mattest|mapcaplot|manorm|malowess|maloglog|mairplot|mainvarsetnorm|maimage|magetfield|mafdr|maboxplot|knnimpute|knnclassify|joinseq|jcampread|isspantree|isomorphism|isoelectric|isdag|int2nt|int2aa|imageneread|hmmprofstruct|hmmprofmerge|hmmprofgenerate|hmmprofestimate|hmmprofalign|graphtraverse|graphtopoorder|graphshortestpath|graphpred2path|graphminspantree|graphmaxflow|graphisspantree|graphisomorphism|graphisdag|graphconncomp|graphcluster|graphallshortestpaths|gprread|gonnet|goannotread|getrelatives|getpdb|getnodesbyid|getnewickstr|getmatrix|gethmmtree|gethmmprof|gethmmalignment|getgeodata|getgenpept|getgenbank|getembl|getedgesbynodeid|getdescendants|getcanonical|getbyname|getblast|getancestors|get|geosoftread|genpeptread|genevarfilter|geneticcode|generangefilter|geneont|genelowvalfilter|geneentropyfilter|genbankread|gcrmabackadj|gcrma|galread|featuresparse|featuresmap|fastawrite|fastaread|exprprofvar|exprprofrange|evalrasmolscript|emblread|dolayout|dndsml|dnds|dna2rna|dimercount|dayhoff|cytobandread|crossvalind|cpgisland|conncomp|codoncount|codonbias|clustergram|cleave|classperf|chromosomeplot|cghcbs|celintensityread|blosum|blastreadlocal|blastread|blastncbi|blastlocal|blastformat|biograph|baselookup|basecount|atomiccomp|aminolookup|allshortestpaths|agferead|affyread|affyprobeseqread|affyprobeaffinities|affyinvarsetnorm|aacount|aa2nt|aa2int)\\b",
461
- "name": "support.function.toolbox.bioinformatics.matlab"
462
- },
463
- {
464
- "comment": "Matlab communications toolbox",
465
- "match": "(?<!\\.)\\b(wgn|vitdec|vec2mat|varlms|syndtable|symerr|stdchan|ssbmod|ssbdemod|signlms|shift2mask|seqgen\\.pn|seqgen|semianalytic|scatterplot|rsgenpoly|rsencof|rsenc|rsdecof|rsdec|rls|ricianchan|reset|rectpulse|rcosine|rcosiir|rcosflt|rcosfir|rayleighchan|randsrc|randintrlv|randint|randerr|randdeintrlv|quantiz|qfuncinv|qfunc|qammod|qamdemod|pskmod|pskdemod|primpoly|poly2trellis|pmmod|pmdemod|plot|pammod|pamdemod|oqpskmod|oqpskdemod|oct2dec|normlms|noisebw|muxintrlv|muxdeintrlv|mskmod|mskdemod|modnorm|modem\\.qammod|modem\\.qamdemod|modem\\.pskmod|modem\\.pskdemod|modem\\.pammod|modem\\.pamdemod|modem\\.oqpskmod|modem\\.oqpskdemod|modem\\.mskmod|modem\\.mskdemod|modem\\.genqammod|modem\\.genqamdemod|modem\\.dpskmod|modem\\.dpskdemod|modem|mlseeq|mldivide|minpol|matintrlv|matdeintrlv|mask2shift|marcumq|log|lms|lloyds|lineareq|istrellis|isprimitive|iscatastrophic|intrlv|intdump|ifft|huffmanenco|huffmandict|huffmandeco|hilbiir|helscanintrlv|helscandeintrlv|helintrlv|heldeintrlv|hank2sys|hammgen|gray2bin|gfweight|gftuple|gftrunc|gftable|gfsub|gfroots|gfrepcov|gfrank|gfprimfd|gfprimdf|gfprimck|gfpretty|gfmul|gfminpol|gflineq|gffilter|gfdiv|gfdeconv|gfcosets|gfconv|gfadd|gf|genqammod|genqamdemod|gen2par|fskmod|fskdemod|fmmod|fmdemod|finddelay|filter|fft|fec\\.ldpcenc|fec\\.ldpcdec|eyediagram|equalize|encode|dvbs2ldpc|dpskmod|dpskdemod|dpcmopt|dpcmenco|dpcmdeco|doppler\\.rounded|doppler\\.rjakes|doppler\\.jakes|doppler\\.gaussian|doppler\\.flat|doppler\\.bigaussian|doppler\\.ajakes|doppler|distspec|dftmtx|dfe|deintrlv|decode|de2bi|cyclpoly|cyclgen|cosets|convmtx|convintrlv|convenc|convdeintrlv|compand|commscope\\.eyediagram|commscope|cma|bsc|biterr|bin2gray|bi2de|bertool|bersync|berfit|berfading|berconfint|bercoding|berawgn|bchnumerr|bchgenpoly|bchenc|bchdec|awgn|arithenco|arithdeco|ammod|amdemod|alignsignals|algintrlv|algdeintrlv)\\b",
466
- "name": "support.function.toolbox.communications.matlab"
467
- },
468
- {
469
- "comment": "Matlab control systems toolbox",
470
- "match": "(?<!\\.)\\b(zpkdata|zpk|zgrid|zero|totaldelay|tfdata|tf|stepplot|stepinfo|step|stack|stabsep|ssdata|ssbal|ss2ss|ss|sminreal|size|sisotool|sisoinit|sigmaplot|sigma|sgrid|setoptions|setdelaymodel|set|series|rss|rlocusplot|rlocus|reshape|reg|real|pzplot|pzmap|pole|place|parallel|pade|ord2|obsvf|obsv|nyquistplot|nyquist|norm|nicholsplot|nichols|ngrid|ndims|modsep|modred|minreal|margin|lyapchol|lyap|ltiview|ltiprops|ltimodels|lsimplot|lsiminfo|lsim|lqry|lqrd|lqr|lqgreg|lqg|lft|kalmd|kalman|issiso|isproper|isempty|isdt|isct|iopzplot|iopzmap|inv|interp|initialplot|initial|impulseplot|impulse|imag|hsvplot|hsvd|hasdelay|gram|getoptions|getdelaymodel|get|gensig|gdare|gcare|fselect|freqresp|frdata|frd|fnorm|filt|feedback|fcat|evalfr|estim|esort|dssdata|dss|dsort|drss|dlyapchol|dlyap|dlqr|delayss|delay2z|dcgain|dare|damp|d2d|d2c|ctrlpref|ctrbf|ctrb|covar|connect|conj|chgunits|care|canon|c2d|bodeplot|bodemag|bode|bandwidth|balred|balreal|augstate|append|allmargin|acker|abs)\\b",
471
- "name": "support.function.toolbox.control-systems.matlab"
472
- },
473
- {
474
- "comment": "Matlab curve fitting toolbox",
475
- "match": "(?<!\\.)\\b(type|smooth|set|probvalues|probnames|predint|plot|numcoeffs|numargs|islinear|integrate|indepnames|get|formula|fittype|fitoptions|fit|feval|excludedata|differentiate|dependnames|datastats|confint|coeffvalues|coeffnames|cftool|cflibhelp|cfit|category|argnames)\\b",
476
- "name": "support.function.toolbox.curve-fitting.matlab"
477
- },
478
- {
479
- "comment": "Matlab data acquisition toolbox",
480
- "match": "(?<!\\.)\\b(wait|trigger|stop|start|softscope|size|showdaqevents|setverify|set|save|putvalue|putsample|putdata|propinfo|peekdata|obj2mfile|muxchanidx|makenames|load|length|isvalid|issending|isrunning|islogging|isdioline|ischannel|inspect|getvalue|getsample|getdata|get|flushdata|disp|digitalio|delete|dec2binvec|daqreset|daqregister|daqread|daqmem|daqhwinfo|daqhelp|daqfind|daqcallback|clear|binvec2dec|analogoutput|analoginput|addmuxchannel|addline|addchannel)\\b",
481
- "name": "support.function.toolbox.data-acquisition.matlab"
482
- },
483
- {
484
- "comment": "Matlab database toolbox",
485
- "match": "(?<!\\.)\\b(width|versioncolumns|update|unregister|tables|tableprivileges|supports|sql2native|setdbprefs|set|runstoredprocedure|rsmd|rows|rollback|resultset|register|querytimeout|querybuilder|procedures|procedurecolumns|primarykeys|ping|namecolumn|logintimeout|isurl|isreadonly|isnullcolumn|isjdbc|isdriver|isconnection|insert|indexinfo|importedkeys|getdatasources|get|fetchmulti|fetch|fastinsert|exportedkeys|exec|drivermanager|driver|dmd|database\\.fetch|database|cursor\\.fetch|crossreference|confds|commit|columns|columnprivileges|columnnames|cols|close|clearwarnings|bestrowid|attr)\\b",
486
- "name": "support.function.toolbox.database.matlab"
487
- },
488
- {
489
- "comment": "Matlab datafeed toolbox",
490
- "match": "(?<!\\.)\\b(yahoo|tables|stop|stockticker|showtrades|reuters|pricevol|nextinfo|kx|isconnection|insert|info|idc|hyperfeed|havertool|haver|get|fred|fetch|factset|exec|datastream|close|bloomberg)\\b",
491
- "name": "support.function.toolbox.datafeed.matlab"
492
- },
493
- {
494
- "comment": "Matlab design toolbox",
495
- "match": "(?<!\\.)\\b(zplane|zpkshiftc|zpkshift|zpkrateup|zpklp2xn|zpklp2xc|zpklp2mbc|zpklp2mb|zpklp2lp|zpklp2hp|zpklp2bsc|zpklp2bs|zpklp2bpc|zpklp2bp|zpkftransf|zpkbpc2bpc|zerophase|window|validstructures|tf2cl|tf2ca|stepz|specifyall|sos|setspecs|set2int|scaleopts|scalecheck|scale|reset|reorder|reffilter|realizemdl|qreport|polyphase|phasez|phasedelay|parallel|order|nstates|normalizefreq|normalize|norm|noisepsdopts|noisepsd|multistage|msesim|msepred|mfilt\\.linearinterp|mfilt\\.iirwdfinterp|mfilt\\.iirwdfdecim|mfilt\\.iirinterp|mfilt\\.iirdecim|mfilt\\.holdinterp|mfilt\\.firtdecim|mfilt\\.firsrc|mfilt\\.firinterp|mfilt\\.firfracinterp|mfilt\\.firfracdecim|mfilt\\.firdecim|mfilt\\.fftfirinterp|mfilt\\.farrowsrc|mfilt\\.cicinterp|mfilt\\.cicdecim|mfilt\\.cascade|mfilt|measure|maxstep|limitcycle|lagrange|kaiserwin|isstable|issos|isreal|isminphase|ismaxphase|islinphase|isfir|isallpass|int|info|impz|iirshiftc|iirshift|iirrateup|iirpowcomp|iirpeak|iirnotch|iirls|iirlpnormc|iirlpnorm|iirlp2xn|iirlp2xc|iirlp2mbc|iirlp2mb|iirlp2lp|iirlp2hp|iirlp2bsc|iirlp2bs|iirlp2bpc|iirlp2bp|iirlinphase|iirgrpdelay|iirftransf|iircomb|iirbpc2bpc|ifir|help|grpdelay|gain|freqz|freqsamp|freqrespopts|freqrespest|firtype|firpr2chfb|firnyquist|firminphase|firls|firlpnorm|firlp2lp|firlp2hp|firhalfband|firgr|fireqint|firceqrip|fircband|filtstates\\.cic|filterbuilder|filter|fftcoeffs|fdesign\\.rsrc|fdesign\\.peak|fdesign\\.parameq|fdesign\\.octave|fdesign\\.nyquist|fdesign\\.notch|fdesign\\.lowpass|fdesign\\.isinclp|fdesign\\.interpolator|fdesign\\.hilbert|fdesign\\.highpass|fdesign\\.halfband|fdesign\\.fracdelay|fdesign\\.differentiator|fdesign\\.decimator|fdesign\\.ciccomp|fdesign\\.bandstop|fdesign\\.bandpass|fdesign\\.arbmagnphase|fdesign\\.arbmag|fdesign|fdatool|fcfwrite|farrow|euclidfactors|equiripple|ellip|double|disp|dfilt\\.wdfallpass|dfilt\\.scalar|dfilt\\.parallel|dfilt\\.latticemamin|dfilt\\.latticemamax|dfilt\\.latticearma|dfilt\\.latticear|dfilt\\.latticeallpass|dfilt\\.dfsymfir|dfilt\\.dffirt|dfilt\\.dffir|dfilt\\.dfasymfir|dfilt\\.df2tsos|dfilt\\.df2t|dfilt\\.df2sos|dfilt\\.df2|dfilt\\.df1tsos|dfilt\\.df1t|dfilt\\.df1sos|dfilt\\.df1|dfilt\\.cascadewdfallpass|dfilt\\.cascadeallpass|dfilt\\.cascade|dfilt\\.calatticepc|dfilt\\.calattice|dfilt\\.allpass|dfilt|designopts|designmethods|design|denormalize|cumsec|cost|convert|coewrite|coeread|coeffs|cl2tf|cheby2|cheby1|ca2tf|butter|block|autoscale|allpassshiftc|allpassshift|allpassrateup|allpasslp2xn|allpasslp2xc|allpasslp2mbc|allpasslp2mb|allpasslp2lp|allpasslp2hp|allpasslp2bsc|allpasslp2bs|allpasslp2bpc|allpasslp2bp|allpassbpc2bpc|adaptfilt\\.ufdaf|adaptfilt\\.tdafdft|adaptfilt\\.tdafdct|adaptfilt\\.swrls|adaptfilt\\.swftf|adaptfilt\\.ss|adaptfilt\\.se|adaptfilt\\.sd|adaptfilt\\.rls|adaptfilt\\.qrdrls|adaptfilt\\.qrdlsl|adaptfilt\\.pbufdaf|adaptfilt\\.pbfdaf|adaptfilt\\.nlms|adaptfilt\\.lsl|adaptfilt\\.lms|adaptfilt\\.hswrls|adaptfilt\\.hrls|adaptfilt\\.gal|adaptfilt\\.ftf|adaptfilt\\.filtxlms|adaptfilt\\.fdaf|adaptfilt\\.dlms|adaptfilt\\.blmsfft|adaptfilt\\.blms|adaptfilt\\.bap|adaptfilt\\.apru|adaptfilt\\.ap|adaptfilt\\.adjlms|adaptfilt)\\b",
496
- "name": "support.function.toolbox.design.matlab"
497
- },
498
- {
499
- "comment": "Matlab excel link toolbox",
500
- "match": "(?<!\\.)\\b(matlabsub|matlabinit|matlabfcn|MLUseFullDesktop|MLUseCellArray|MLStartDir|MLShowMatlabErrors|MLPutVar|MLPutMatrix|MLOpen|MLMissingDataAsNaN|MLGetVar|MLGetMatrix|MLGetFigure|MLEvalString|MLDeleteMatrix|MLClose|MLAutoStart|MLAppendMatrix)\\b",
501
- "name": "support.function.toolbox.excel-link.matlab"
502
- },
503
- {
504
- "comment": "Matlab filder design hdl coder toolbox",
505
- "match": "(?<!\\.)\\b(generatetbstimulus|generatetb|generatehdl|fdhdltool)\\b",
506
- "name": "support.function.toolbox.filder-design-hdl-coder.matlab"
507
- },
508
- {
509
- "comment": "Matlab financial toolbox",
510
- "match": "(?<!\\.)\\b(zero2pyld|zero2fwd|zero2disc|zbtyield|zbtprice|yldtbill|yldmat|ylddisc|yearfrac|yeardays|year|xirr|x2mdate|wrkdydif|willpctr|willad|weights2holdings|weekday|wclose|volroc|vertcat|uplus|uminus|uicalendar|ugarchsim|ugarchpred|ugarchllf|ugarch|typprice|tsmovavg|tsmom|tsaccel|tr2bonds|toweekly|totalreturnprice|tosemi|toquoted|toquarterly|tomonthly|todecimal|today|todaily|toannual|times|time2date|tick2ret|thirtytwo2dec|thirdwednesday|tbl2bond|taxedrr|targetreturn|subsref|subsasgn|stochosc|std|spctkd|sortfts|smoothts|size|sharpe|setfield|selectreturn|second|rsindex|rmfield|ret2tick|resamplets|rdivide|pyld2zero|pvvar|pvtrend|pvfix|prtbill|prmat|prdisc|prcroc|prbyzero|power|posvolidx|portvrisk|portstats|portsim|portrand|portopt|portcons|portalpha|portalloc|pointfig|plus|plot|periodicreturns|peravg|pcpval|pcglims|pcgcomp|pcalims|payuni|payper|payodd|payadv|opprofit|onbalvol|nweekdate|now|nomrr|negvolidx|mvnrstd|mvnrobj|mvnrmle|mvnrfish|mtimes|mrdivide|movavg|months|month|mirr|minute|minus|min|merge|medprice|mean|maxdrawdown|max|macd|m2xdate|lweekdate|lpm|log2|log10|log|llow|length|leadts|lbusdate|lagts|issorted|isfield|isequal|iscompatible|isbusday|irr|inforatio|hour|horzcat|holidays|holdings2weights|hist|highlow|hhigh|getnameidx|getfield|geom2arith|fwd2zero|fvvar|fvfix|fvdisc|ftsuniq|ftstool|ftsinfo|ftsgui|ftsbound|fts2mat|fts2ascii|frontier|frontcon|freqstr|freqnum|frac2cur|fpctkd|fints|filter|fillts|fieldnames|fetch|fbusdate|extfield|exp|ewstats|eomday|eomdate|end|emaxdrawdown|elpm|effrr|ecmnstd|ecmnobj|ecmnmle|ecmninit|ecmnhess|ecmnfish|ecmmvnrstd|ecmmvnrobj|ecmmvnrmle|ecmmvnrfish|ecmlsrobj|ecmlsrmle|discrate|disc2zero|diff|depstln|depsoyd|deprdv|depgendb|depfixdb|dec2thirtytwo|daysdif|daysadd|daysact|days365|days360psa|days360isda|days360e|days360|day|datewrkdy|datevec|datestr|datenum|datemnth|datefind|datedisp|dateaxis|date2time|cur2str|cur2frac|cumsum|createholidays|cpnpersz|cpndaysp|cpndaysn|cpndatepq|cpndatep|cpndatenq|cpndaten|cpncount|cov2corr|corr2cov|convertto|convert2sur|chfield|chartfts|chaikvolat|chaikosc|cftimes|cfport|cfdur|cfdates|cfconv|cfamounts|candle|busdays|busdate|boxcox|bollinger|bolling|bndyield|bndspread|bndprice|bnddury|bnddurp|bndconvy|bndconvp|blsvega|blstheta|blsrho|blsprice|blslambda|blsimpv|blsgamma|blsdelta|blkprice|blkimpv|binprice|beytbill|barh|bar3h|bar3|bar|ascii2fts|arith2geom|annuterm|annurate|amortize|adosc|adline|active2abs|acrudisc|acrubond|accrfrac|abs2active)\\b",
511
- "name": "support.function.toolbox.financial.matlab"
512
- },
513
- {
514
- "comment": "Matlab financial derivatives toolbox",
515
- "match": "(?<!\\.)\\b(trintreeshape|trintreepath|treeviewer|treeshape|treepath|time2date|swaptionbyhw|swaptionbyhjm|swaptionbybk|swaptionbybdt|swapbyzero|swapbyhw|swapbyhjm|swapbybk|swapbybdt|stockspec|stockoptspec|ratetimes|rate2disc|optstockbyitt|optstockbyeqp|optstockbycrr|optbndbyhw|optbndbyhjm|optbndbybk|optbndbybdt|mmktbyhjm|mmktbybdt|mktrintree|mktree|mkbush|lookbackbyitt|lookbackbyeqp|lookbackbycrr|itttree|itttimespec|ittsens|ittprice|isafin|intenvset|intenvsens|intenvprice|intenvget|insttypes|instswaption|instswap|instsetfield|instselect|instoptstock|instoptbnd|instlookback|instlength|instgetcell|instget|instfloor|instfloat|instfixed|instfind|instfields|instdisp|instdelete|instcompound|instcf|instcap|instbond|instbarrier|instasian|instaddfield|instadd|hwvolspec|hwtree|hwtimespec|hwsens|hwprice|hjmvolspec|hjmtree|hjmtimespec|hjmsens|hjmprice|hedgeslf|hedgeopt|floorbyhw|floorbyhjm|floorbybk|floorbybdt|floatbyzero|floatbyhw|floatbyhjm|floatbybk|floatbybdt|fixedbyzero|fixedbyhw|fixedbyhjm|fixedbybk|fixedbybdt|eqptree|eqptimespec|eqpsens|eqpprice|disc2rate|derivset|derivget|datedisp|date2time|cvtree|crrtree|crrtimespec|crrsens|crrprice|compoundbyitt|compoundbyeqp|compoundbycrr|classfin|cfbyzero|cfbyhw|cfbyhjm|cfbybk|cfbybdt|capbyhw|capbyhjm|capbybk|capbybdt|bushshape|bushpath|bondbyzero|bondbyhw|bondbyhjm|bondbybk|bondbybdt|bkvolspec|bktree|bktimespec|bksens|bkprice|bdtvolspec|bdttree|bdttimespec|bdtsens|bdtprice|barrierbyitt|barrierbyeqp|barrierbycrr|asianbyitt|asianbyeqp|asianbycrr)\\b",
516
- "name": "support.function.toolbox.financial-derivatives.matlab"
517
- },
518
- {
519
- "comment": "Matlab fixed income toolbox",
520
- "match": "(?<!\\.)\\b(zeroyield|zeroprice|tfutyieldbyrepo|tfutpricebyrepo|tfutimprepo|tfutbyyield|tfutbyprice|tbillyield2disc|tbillyield|tbillval01|tbillrepo|tbillprice|tbilldisc2yield|stepcpnyield|stepcpnprice|stepcpncfamounts|psaspeed2rate|psaspeed2default|mbsyield2speed|mbsyield2oas|mbsyield|mbswal|mbsprice2speed|mbsprice2oas|mbsprice|mbspassthrough|mbsoas2yield|mbsoas2price|mbsnoprepay|mbsdury|mbsdurp|mbsconvy|mbsconvp|mbscfamounts|liborprice|liborfloat2fixed|liborduration|convfactor|cfamounts|cdyield|cdprice|cdai|cbprice|bkput|bkfloorlet|bkcaplet|bkcall)\\b",
521
- "name": "support.function.toolbox.fixed-income.matlab"
522
- },
523
- {
524
- "comment": "Matlab fixed-point toolbox",
525
- "match": "(?<!\\.)\\b(zlim|ylim|xlim|wordlength|waterfall|voronoin|voronoi|vertcat|upperbound|uplus|uminus|uint8|uint32|uint16|triu|trisurf|triplot|trimesh|tril|treeplot|transpose|tostring|toeplitz|times|text|surfnorm|surfl|surfc|surf|sum|subsref|subsasgn|sub|stripscaling|streamtube|streamslice|streamribbon|stem3|stem|stairs|squeeze|sqrt|spy|slice|size|single|sign|shiftdim|set|semilogy|semilogx|sdec|scatter3|scatter|savefipref|round|rose|ribbon|rgbplot|reshape|resetlog|reset|rescale|repmat|realmin|realmax|real|range|randquant|quiver3|quiver|quantizer|quantize|pow2|polar|plus|plotyy|plotmatrix|plot3|plot|permute|pcolor|patch|or|oct|nunderflows|numerictype|numberofelements|num2int|num2hex|num2bin|noverflows|not|noperations|ne|ndims|mtimes|mpy|minus|minlog|min|meshz|meshc|mesh|maxlog|max|lt|lsb|lowerbound|loglog|logical|line|length|le|isvector|issigned|isscalar|isrow|isreal|ispropequal|isobject|isnumerictype|isnumeric|isnan|isinf|isfinite|isfimath|isfi|isequal|isempty|iscolumn|ipermute|intmin|intmax|int8|int32|int16|int|innerprodintbits|imag|horzcat|histc|hist|hex2num|hex|hankel|gt|gplot|getmsb|getlsb|get|ge|fractionlength|fplot|flipud|fliplr|flipdim|fipref|fimath|fi|feather|ezsurfc|ezsurf|ezpolar|ezplot3|ezplot|ezmesh|ezcontourf|ezcontour|exponentmin|exponentmax|exponentlength|exponentbias|etreeplot|errorbar|eq|eps|end|double|divide|disp|diag|denormalmin|denormalmax|dec|ctranspose|copyobj|convergent|contourf|contourc|contour3|contour|conj|coneplot|complex|compass|comet3|comet|clabel|buffer|bitxorreduce|bitxor|bitsrl|bitsra|bitsll|bitsliceget|bitshift|bitset|bitror|bitrol|bitorreduce|bitor|bitget|bitconcat|bitcmp|bitandreduce|bitand|bin2num|bin|barh|bar|area|any|and|all|add|abs)\\b",
526
- "name": "support.function.toolbox.fixed-point.matlab"
527
- },
528
- {
529
- "comment": "Matlab fuzzy logic toolbox",
530
- "match": "(?<!\\.)\\b(zmf|writefis|trimf|trapmf|surfview|subclust|smf|sigmf|showrule|showfis|sffis|setfis|ruleview|ruleedit|rmvar|rmmf|readfis|psigmf|probor|plotmf|plotfis|pimf|parsrule|newfis|mfedit|mf2mf|mam2sug|getfis|gensurf|genfis3|genfis2|genfis1|gbellmf|gaussmf|gauss2mf|fuzzy|fuzblock|fuzarith|findcluster|fcm|evalmf|evalfis|dsigmf|defuzz|convertfis|anfisedit|anfis|addvar|addrule|addmf)\\b",
531
- "name": "support.function.toolbox.fuzzy-logic.matlab"
532
- },
533
- {
534
- "comment": "Matlab GARCH toolbox",
535
- "match": "(?<!\\.)\\b(ret2price|price2ret|ppTSTest|ppARTest|ppARDTest|parcorr|lratiotest|lbqtest|lagmatrix|hpfilter|garchsim|garchset|garchpred|garchplot|garchma|garchinfer|garchget|garchfit|garchdisp|garchcount|garchar|dfTSTest|dfARTest|dfARDTest|crosscorr|autocorr|archtest|aicbic)\\b",
536
- "name": "support.function.toolbox.garch.matlab"
537
- },
538
- {
539
- "comment": "Matlab genetic algorithms toolbox",
540
- "match": "(?<!\\.)\\b(threshacceptbnd|simulannealbnd|saoptimset|saoptimget|psoptimset|psoptimget|psearchtool|patternsearch|gatool|gaoptimset|gaoptimget|gamultiobj|ga)\\b",
541
- "name": "support.function.toolbox.genetic-algorithms.matlab"
542
- },
543
- {
544
- "comment": "Matlab image acquisition toolbox",
545
- "match": "(?<!\\.)\\b(wait|videoinput|triggerinfo|triggerconfig|trigger|stoppreview|stop|start|set|save|propinfo|preview|peekdata|obj2mfile|load|isvalid|isrunning|islogging|imaqtool|imaqreset|imaqmontage|imaqmem|imaqhwinfo|imaqhelp|imaqfind|getsnapshot|getselectedsource|getdata|get|flushdata|disp|delete|closepreview|clear)\\b",
546
- "name": "support.function.toolbox.image-acquisition.matlab"
547
- },
548
- {
549
- "comment": "Matlab image processing toolbox",
550
- "match": "(?<!\\.)\\b(zoom|ycbcr2rgb|xyz2uint16|xyz2double|wiener2|whitepoint|watershed|warp|uintlut|uint8|uint16|truesize|translate|tonemap|tforminv|tformfwd|tformarray|subimage|stretchlim|strel|stdfilt|std2|roipoly|roifilt2|roifill|roicolor|rgbplot|rgb2ycbcr|rgb2ntsc|rgb2ind|rgb2hsv|rgb2gray|regionprops|reflect|rangefilt|radon|qtsetblk|qtgetblk|qtdecomp|psf2otf|poly2mask|pixval|phantom|para2fan|padarray|otf2psf|ordfilt2|ntsc2rgb|normxcorr2|nlfilter|nitfread|nitfinfo|montage|medfilt2|mean2|mat2gray|maketform|makeresampler|makelut|makecform|makeConstrainToRectFcn|label2rgb|lab2uint8|lab2uint16|lab2double|isrgb|isnitf|isind|isicc|isgray|isflat|isbw|iradon|iptwindowalign|iptsetpref|iptremovecallback|iptnum2ordinal|ipticondir|iptgetpref|iptgetapi|iptdemos|iptcheckstrs|iptchecknargin|iptcheckmap|iptcheckinput|iptcheckhandle|iptcheckconn|iptaddcallback|iptSetPointerBehavior|iptPointerManager|iptGetPointerBehavior|ippl|intlut|interfileread|interfileinfo|ind2rgb|ind2gray|imwrite|imview|imtransform|imtophat|imtool|imsubtract|imshow|imscrollpanel|imsave|imrotate|imresize|imregionalmin|imregionalmax|imrect|imreconstruct|imread|impyramid|imputfile|improfile|impositionrect|impoly|impoint|implay|impixelregionpanel|impixelregion|impixelinfoval|impixelinfo|impixel|imoverviewpanel|imoverview|imopen|imnoise|immultiply|immovie|immagbox|imline|imlincomb|imimposemin|imhmin|imhmax|imhist|imhandles|imgetfile|imgcf|imgca|imfreehand|imfinfo|imfilter|imfill|imextendedmin|imextendedmax|imerode|imellipse|imdivide|imdistline|imdisplayrange|imdilate|imcrop|imcontrast|imcontour|imcomplement|imclose|imclearborder|imbothat|imattributes|imapprox|imagemodel|imageinfo|imadjust|imadd|imabsdiff|im2uint8|im2uint16|im2single|im2java2d|im2java|im2int16|im2double|im2col|im2bw|ifftn|ifft2|ifanbeam|idct2|iccwrite|iccroot|iccread|iccfind|hsv2rgb|houghpeaks|houghlines|hough|histeq|hdrread|graythresh|grayslice|graycoprops|graycomatrix|gray2ind|getsequence|getrect|getrangefromclass|getpts|getnhood|getneighbors|getline|getimagemodel|getimage|getheight|fwind2|fwind1|ftrans2|fspecial|fsamp2|freqz2|freqspace|fliptform|findbounds|filter2|fftshift|fftn|fft2|fanbeam|fan2para|entropyfilt|entropy|edgetaper|edge|double|dither|dicomwrite|dicomuid|dicomread|dicomlookup|dicominfo|dicomdict|dicomanon|demosaic|decorrstretch|deconvwnr|deconvreg|deconvlucy|deconvblind|dctmtx|dct2|cpstruct2pairs|cpselect|cpcorr|cp2tform|corr2|convn|convmtx2|conv2|conndef|colorbar|colfilt|col2im|cmunique|cmpermute|checkerboard|bwunpack|bwulterode|bwtraceboundary|bwselect|bwperim|bwpack|bwmorph|bwlabeln|bwlabel|bwhitmiss|bweuler|bwdist|bwboundaries|bwareaopen|bwarea|brighten|blkproc|bestblk|axes2pix|applylut|applycform|analyze75read|analyze75info|adapthisteq)\\b",
551
- "name": "support.function.toolbox.image-processing.matlab"
552
- },
553
- {
554
- "comment": "Matlab instrument control toolbox",
555
- "match": "(?<!\\.)\\b(visa|update|udp|trigger|tmtool|tcpip|stopasync|spoll|size|set|serialbreak|serial|selftest|scanstr|save|resolvehost|remove|record|readasync|query|propinfo|obj2mfile|midtest|midedit|methods|memwrite|memunmap|memread|mempoke|mempeek|memmap|makemid|load|length|iviconfigurationstore|isvalid|invoke|instrreset|instrnotify|instrid|instrhwinfo|instrhelp|instrfindall|instrfind|instrcallback|inspect|icdevice|gpib|geterror|get|fwrite|fscanf|fread|fprintf|fopen|flushoutput|flushinput|fgets|fgetl|fclose|echoudp|echotcpip|disp|disconnect|devicereset|delete|connect|commit|clrdevice|clear|binblockwrite|binblockread|add)\\b",
556
- "name": "support.function.toolbox.instrument-control.matlab"
557
- },
558
- {
559
- "comment": "Matlab mapping toolbox",
560
- "match": "(?<!\\.)\\b(zerom|zero22pi|zdatam-ui|zdatam|wrapToPi|wrapTo360|wrapTo2Pi|wrapTo180|worldmap|worldfilewrite|worldfileread|westof|vmap0ui|vmap0rhead|vmap0read|vmap0data|vinvtran|viewshed|vfwdtran|vec2mtx|utmzoneui|utmzone|utmgeoid|usgsdems|usgsdem|usgs24kdem|usamap|updategeostruct|unwrapMultipart|unitstr|unitsratio|undotrim|undoclip|uimaptbx|trimdata|trimcart|trackui|trackg|track2|track1|track|toRadians|toDegrees|tissot|timezone|timedim|time2str|tightmap|tigerp|tigermif|tgrline|textm|tbase|tagm-ui|tagm|symbolm|surfm|surflsrm|surflm|surfdist|surfacem|str2angle|stem3m|stdm|stdist|spzerom|spcread|smoothlong|sm2rad|sm2nm|sm2km|sm2deg|sizem|showm-ui|showm|showaxes|shapewrite|shaperead|shapeinfo|shaderel|setpostn|setm|setltln|seedm|sectorg|sec2hr|sec2hms|sec2hm|sdtsinfo|sdtsdemread|scxsc|scirclui|scircleg|scircle2|scircle1|scatterm|scaleruler|satbath|rsphere|roundn|rotatetext|rotatem|rootlayr|rhxrh|restack|resizem|removeExtraNanSeparators|refvec2mat|refmat2vec|reducem|reckon|readmtx|readfk5|readfields|rcurve|rad2sm|rad2nm|rad2km|rad2dms|rad2dm|rad2deg|quiverm|quiver3m|qrydata|putpole|projlist|projinv|projfwd|project|previewmap|polyxpoly|polysplit|polymerge|polyjoin|polycut|polybool|poly2fv|poly2cw|poly2ccw|polcmap|plotm|plot3m|plabel|pixcenters|pix2map|pix2latlon|pcolorm|patchm|patchesm|parallelui|paperscale|panzoom|originui|org2pol|onem|npi2pi|northarrow|nm2sm|nm2rad|nm2km|nm2deg|newpole|neworig|navfix|nanm|nanclip|namem|n2ecc|mobjects|mlayers|mlabelzero22pi|mlabel|minvtran|minaxis|mfwdtran|meshm|meshlsrm|meshgrat|meridianfwd|meridianarc|meanm|mdistort|mat2hms|mat2dms|mapview|maptrims|maptrimp|maptriml|maptrim|maptool|mapshow|maps|mapprofile|mapoutline|maplist|mapbbox|map2pix|makesymbolspec|makerefmat|makemapped|makedbfspec|makeattribspec|majaxis|lv2ecef|ltln2val|los2|linem|linecirc|limitm|lightmui|lightm|legs|lcolorbar|latlon2pix|kmlwrite|km2sm|km2rad|km2nm|km2deg|ispolycw|ismapped|ismap|isShapeMultipart|intrplon|intrplat|interpm|inputm|ind2rgb8|imbedm|hr2sec|hr2hms|hr2hm|hms2sec|hms2mat|hms2hr|hms2hm|histr|hista|hidem-ui|hidem|handlem-ui|handlem|gtopo30s|gtopo30|gtextm|gshhs|grn2eqa|gridm|grid2image|grepfields|gradientm|globedems|globedem|getworldfilename|getseeds|getm|geotiffread|geotiffinfo|geotiff2mstruct|geoshow|geoloc2grid|geodetic2geocentricLat|geodetic2ecef|geocentric2geodeticLat|gcxsc|gcxgc|gcwaypts|gcpmap|gcm|gc2sc|fromRadians|fromDegrees|framem|flatearthpoly|flat2ecc|fipsname|findm|filterm|fillm|fill3m|extractm|extractfield|etopo5|etopo|eqa2grn|epsm|encodem|ellipse1|elevation|egm96geoid|ecef2lv|ecef2geodetic|ecc2n|ecc2flat|eastof|dteds|dted|driftvel|driftcorr|dreckon|dms2rad|dms2mat|dms2dm|dms2degrees|dms2deg|dm2degrees|distortcalc|distdim|distance|dist2str|displaym|departure|demdataui|demcmap|degrees2dms|degrees2dm|deg2sm|deg2rad|deg2nm|deg2km|deg2dms|deg2dm|defaultm|dcwrhead|dcwread|dcwgaz|dcwdata|daspectm|crossfix|convertlat|contourm|contourfm|contourcmap|contour3m|cometm|comet3m|combntns|colorui|colorm|cmapui|clrmenu|closePolygonParts|clmo-ui|clmo|clma|clipdata|clegendm|clabelm|circcirc|changem|cart2grn|camupm|camtargm|camposm|bufferm|azimuth|axesscale|axesmui|axesm|axes2ecc|avhrrlambert|avhrrgoode|areaquad|areamat|areaint|arcgridread|antipode|angledim|angl2str|almanac)\\b",
561
- "name": "support.function.toolbox.mapping.matlab"
562
- },
563
- {
564
- "comment": "Matlab model-based calibration toolbox",
565
- "match": "(?<!\\.)\\b(modelinput|getAlternativeTypes|getAlternativeNames|YData|XDataNames|XData|Widths|Values|Value|UserVariables|UpdateResponseFeatures|UpdateResponse|Units|Type|TestPlans|TestFilters|SummaryStatisticsForTest|SummaryStatistics|StepwiseStatus|StepwiseSelection|StepwiseRegression|Status|StatisticsDialog|SizeOfParameterSet|SingleVIF|SignalUnits|SignalNames|SetupDialog|SetTermStatus|SaveAs|Save|RollbackEdit|RestoreDataForTest|RestoreData|Responses|ResponseSignalName|Response|RemoveVariable|RemoveTestFilter|RemoveOutliersForTest|RemoveOutliers|RemoveFilter|RemoveData|Remove|RecordsPerTest|Properties|PredictedValueForTest|PredictedValue|PartialVIF|Parameters|ParameterStatistics|PEVForTest|PEV|Owner|OutputData|OutlierIndicesForTest|OutlierIndices|NumberOfTests|NumberOfRecords|NumberOfParameters|NumberOfInputs|New|Names|Name|MultipleVIF|ModifyVariable|ModifyTestFilter|ModifyFilter|Modified|ModelSetup|ModelForTest|Model|MakeHierarchicalResponse|LocalResponses|LoadProject|Load|Levels|Level|Jacobian|IsEditable|IsBeingEdited|IsAlternative|InputsPerLevel|Inputs|InputSignalNames|InputSetupDialog|InputData|ImportFromMBCDataStructure|ImportFromFile|GetTermStatus|GetTermLabel|GetIncludedTerms|GetDesignMatrix|GetAllTerms|FitAlgorithm|Fit|Filters|Filename|ExportToMBCDataStructure|Export|Evaluate|DoubleResponseData|DoubleInputData|DiagnosticStatistics|DetachData|DefineTestGroups|DefineNumberOfRecordsPerTest|DefaultModels|DataFileTypes|Data|CreateTestplan|CreateResponseFeature|CreateResponse|CreateProject|CreateModel|CreateData|CreateAlternativeModels|CreateAlgorithm|Covariance|Correlation|CopyData|CommitEdit|ChooseAsBest|Centers|BoxCoxSSE|BeginEdit|AttachData|Append|AlternativeResponses|AlternativeModelStatistics|AliasMatrix|AddVariable|AddTestFilter|AddFilter)\\b",
566
- "name": "support.function.toolbox.model-based-calibration.matlab"
567
- },
568
- {
569
- "comment": "Matlab model predictive control toolbox",
570
- "match": "(?<!\\.)\\b(zpk|trim|tf|ss|size|sim|setoutdist|setname|setmpcsignals|setmpcdata|setindist|setestim|set|qpdantz|plot|pack|mpcverbosity|mpcstate|mpcsimopt|mpcprops|mpcmove|mpchelp|mpc|getoutdist|getname|getmpcdata|getindist|getestim|get|d2d|compare|cloffset)\\b",
571
- "name": "support.function.toolbox.model-predictive-control.matlab"
572
- },
573
- {
574
- "comment": "Matlab neural network toolbox",
575
- "match": "(?<!\\.)\\b(vec2ind|tribas|trainscg|trains|trainrp|trainr|trainoss|trainlm|traingdx|traingdm|traingda|traingd|traincgp|traincgf|traincgb|trainc|trainbr|trainbfgc|trainbfg|trainb|train|tansig|sse|srchhyb|srchgol|srchcha|srchbre|srchbac|sp2narx|softmax|sim|setx|seq2con|scalprod|satlins|satlin|revert|removerows|removeconstantrows|randtop|rands|randnr|randnc|radbas|quant|purelin|processpca|postreg|poslin|pnormc|plotvec|plotv|plotsom|plotpv|plotperf|plotpc|plotes|plotep|plotbr|normr|normprod|normc|nntool|nnt2som|nnt2rb|nnt2p|nnt2lvq|nnt2lin|nnt2hop|nnt2ff|nnt2elm|nnt2c|nftool|newsom|newrbe|newrb|newpnn|newp|newnarxsp|newnarx|newlvq|newlrn|newlind|newlin|newhop|newgrnn|newfftd|newff|newelm|newdtdnn|newcf|newc|network|netsum|netprod|netinv|negdist|mseregec|msereg|mse|minmax|midpoint|maxlinlr|mapstd|mapminmax|mandist|mae|logsig|linkdist|learnwh|learnsom|learnpn|learnp|learnos|learnlv2|learnlv1|learnk|learnis|learnhd|learnh|learngdm|learngd|learncon|initzero|initwb|initnw|initlay|initcon|init|ind2vec|hintonwb|hintonw|hextop|hardlims|hardlim|gridtop|getx|gensim|fixunknowns|errsurf|dotprod|dividerand|divideint|divideind|divideblock|dist|display|disp|convwf|concur|con2seq|compet|combvec|calcperf|calcpd|calcjx|calcjejj|calcgx|boxdist|adapt)\\b",
576
- "name": "support.function.toolbox.neural-network.matlab"
577
- },
578
- {
579
- "comment": "Matlab OPC toolbox",
580
- "match": "(?<!\\.)\\b(writeasync|write|wait|trend|stop|start|showopcevents|set|serveritems|serveritemprops|save|removepublicgroup|refresh|readasync|read|propinfo|peekdata|openosf|opctool|opcsupport|opcstruct2timeseries|opcstruct2array|opcserverinfo|opcreset|opcregister|opcread|opcqstr|opcqparts|opcqid|opchelp|opcfind|opcda|opccallback|obj2mfile|makepublic|load|isvalid|getnamespace|getdata|get|genslwrite|genslread|flushdata|flatnamespace|disp|disconnect|delete|copyobj|connect|clonegroup|cleareventlog|cancelasync|additem|addgroup)\\b",
581
- "name": "support.function.toolbox.opc.matlab"
582
- },
583
- {
584
- "comment": "Matlab optimization toolbox",
585
- "match": "(?<!\\.)\\b(quadprog|optimtool|optimset|optimget|lsqnonneg|lsqnonlin|lsqlin|lsqcurvefit|linprog|gangstr|fzmult|fzero|fsolve|fseminf|fminunc|fminsearch|fminimax|fmincon|fminbnd|fgoalattain|color|bintprog)\\b",
586
- "name": "support.function.toolbox.optimization.matlab"
587
- },
588
- {
589
- "comment": "Matlab RF toolbox",
590
- "match": "(?<!\\.)\\b(writeva|write|timeresp|smith|setop|semilogy|semilogx|rfmodel\\.rational|rfdata\\.power|rfdata\\.noise|rfdata\\.nf|rfdata\\.network|rfdata\\.mixerspur|rfdata\\.ip3|rfdata\\.data|rfckt\\.txline|rfckt\\.twowire|rfckt\\.shuntrlc|rfckt\\.seriesrlc|rfckt\\.series|rfckt\\.rlcgline|rfckt\\.passive|rfckt\\.parallelplate|rfckt\\.parallel|rfckt\\.mixer|rfckt\\.microstrip|rfckt\\.lclowpasstee|rfckt\\.lclowpasspi|rfckt\\.lchighpasstee|rfckt\\.lchighpasspi|rfckt\\.lcbandstoptee|rfckt\\.lcbandstoppi|rfckt\\.lcbandpasstee|rfckt\\.lcbandpasspi|rfckt\\.hybridg|rfckt\\.hybrid|rfckt\\.delay|rfckt\\.datafile|rfckt\\.cpw|rfckt\\.coaxial|rfckt\\.cascade|rfckt\\.amplifier|restore|read|polar|plotyy|plot|loglog|listparam|listformat|impulse|getz0|getop|freqresp|extract|circle|calculate|analyze)\\b",
591
- "name": "support.function.toolbox.rf.matlab"
592
- },
593
- {
594
- "comment": "Matlab robust control toolbox",
595
- "match": "(?<!\\.)\\b(wcsens|wcnorm|wcmargin|wcgopt|wcgain|usubs|uss|usimsamp|usiminfo|usimfill|usample|ureal|uplot|umat|ultidyn|ufrd|udyn|ucomplexm|ucomplex|sysic|symdec|stack|stabproj|squeeze|slowfast|skewdec|simplify|showlmi|setmvar|setlmis|sectf|sdlsim|sdhinfsyn|sdhinfnorm|schurmr|robuststab|robustperf|robopt|repmat|reduce|randuss|randumat|randatom|quadstab|quadperf|pvinfo|pvec|psys|psinfo|popov|polydec|pdsimul|pdlstab|normalized2actual|newlmi|ncfsyn|ncfmr|ncfmargin|mussvextract|mussv|msfsyn|modreal|mktito|mkfilter|mixsyn|mincx|matnbr|mat2dec|ltrsyn|ltiarray2uss|loopsyn|loopsens|loopmargin|lmivar|lmiterm|lmireg|lminbr|lmiinfo|lmiedit|lftdata|isuncertain|ispsys|imp2ss|imp2exp|icsignal|iconnect|icomplexify|hinfsyn|hinfgs|hankelsv|hankelmr|h2syn|h2hinfsyn|gridureal|gevp|getlmis|genphase|gapmetric|fitmagfrd|fitfrd|feasp|evallmi|drawmag|dmplot|dksyn|dkitopt|diag|delmvar|dellmi|defcx|decnbr|decinfo|decay|dec2mat|dcgainmr|cpmargin|complexify|cmsclsyn|bstmr|bilin|balancmr|augw|aff2pol|actual2normalized)\\b",
596
- "name": "support.function.toolbox.robust-control.matlab"
597
- },
598
- {
599
- "comment": "Matlab signal processing toolbox",
600
- "match": "(?<!\\.)\\b(zplane|zp2tf|zp2ss|zp2sos|zerophase|yulewalk|xcov|xcorr2|xcorr|wvtool|wintool|window|vco|upsample|upfirdn|unwrap|uencode|udecode|tukeywin|tripuls|triang|tfestimate|tf2zpk|tf2zp|tf2ss|tf2sos|tf2latc|taylorwin|strips|stmcb|stepz|ss2zp|ss2tf|ss2sos|square|sptool|spectrum\\.yulear|spectrum\\.welch|spectrum\\.periodogram|spectrum\\.music|spectrum\\.mtm|spectrum\\.mcov|spectrum\\.eigenvector|spectrum\\.cov|spectrum\\.burg|spectrum|spectrogram|sosfilt|sos2zp|sos2tf|sos2ss|sos2cell|sinc|sigwin|sgolayfilt|sgolay|seqperiod|schurrc|sawtooth|rootmusic|rooteig|rlevinson|residuez|resample|rectwin|rectpuls|rceps|rc2poly|rc2lar|rc2is|rc2ac|pyulear|pwelch|pulstran|prony|pow2db|polystab|polyscale|poly2rc|poly2lsf|poly2ac|pmusic|pmtm|pmcov|phasez|phasedelay|periodogram|peig|pcov|pburg|parzenwin|nuttallwin|mscohere|modulate|medfilt1|maxflat|lsf2poly|lpc|lp2lp|lp2hp|lp2bs|lp2bp|levinson|latcfilt|latc2tf|lar2rc|kaiserord|kaiser|is2rc|invfreqz|invfreqs|intfilt|interp|impz|impinvar|ifft2|ifft|idct|icceps|hilbert|hann|hamming|grpdelay|goertzel|gmonopuls|gausswin|gaussfir|gauspuls|fvtool|freqz|freqspace|freqs|flattopwin|firrcos|firpmord|firpm|firls|fircls1|fircls|fir2|fir1|findpeaks|filtstates\\.dfiir|filtstates|filtic|filtfilt|filternorm|filter2|filter|fftshift|fftfilt|fft2|fft|fdatool|eqtflength|ellipord|ellipap|ellip|dspfwiz|dspdata\\.pseudospectrum|dspdata\\.psd|dspdata\\.msspectrum|dspdata|dpsssave|dpssload|dpssdir|dpssclear|dpss|downsample|diric|digitrevorder|dftmtx|dfilt\\.statespace|dfilt\\.scalar|dfilt\\.parallel|dfilt\\.latticemamin|dfilt\\.latticemamax|dfilt\\.latticearma|dfilt\\.latticear|dfilt\\.latticeallpass|dfilt\\.fftfir|dfilt\\.dfsymfir|dfilt\\.dffirt|dfilt\\.dffir|dfilt\\.dfasymfir|dfilt\\.df2tsos|dfilt\\.df2t|dfilt\\.df2sos|dfilt\\.df2|dfilt\\.df1tsos|dfilt\\.df1t|dfilt\\.df1sos|dfilt\\.df1|dfilt\\.delay|dfilt\\.cascade|dfilt|demod|deconv|decimate|dct|db2pow|czt|cpsd|cplxpair|cov|corrmtx|corrcoef|convmtx|conv2|conv|chirp|cheby2|cheby1|chebwin|cheb2ord|cheb2ap|cheb1ord|cheb1ap|cfirpm|cell2sos|cconv|cceps|buttord|butter|buttap|buffer|bohmanwin|blackmanharris|blackman|bitrevorder|bilinear|besself|besselap|bartlett|barthannwin|aryule|armcov|arcov|arburg|angle|ac2rc|ac2poly|abs)\\b",
601
- "name": "support.function.toolbox.signal-processing.matlab"
602
- },
603
- {
604
- "comment": "Matlab spline toolbox",
605
- "match": "(?<!\\.)\\b(tpaps|titanium|subplus|stmak|stcol|spterms|sprpp|spmak|splpp|splinetool|spcrv|spcol|spaps|spapi|spap2|sorted|slvblk|rsmak|rscvn|rpmak|ppmak|optknt|newknt|knt2mlt|knt2brk|getcurve|franke|fnzeros|fnxtr|fnval|fntlr|fnrfn|fnplt|fnmin|fnjmp|fnint|fndir|fnder|fncmb|fnchg|fnbrk|fn2fm|cscvn|csaps|csapi|csape|chbpnt|bspline|bspligui|brk2knt|bkbrk|aveknt|augknt|aptknt)\\b",
606
- "name": "support.function.toolbox.spline.matlab"
607
- },
608
- {
609
- "comment": "Matlab statistics toolbox",
610
- "match": "(?<!\\.)\\b(ztest|zscore|x2fx|wishrnd|wblstat|wblrnd|wblplot|wblpdf|wbllike|wblinv|wblfit|wblcdf|view|vartestn|vartest2|vartest|var|upperparams|unifstat|unifrnd|unifpdf|unifit|unifinv|unifcdf|unidstat|unidrnd|unidpdf|unidinv|unidcdf|type|ttest2|ttest|tstat|trnd|trimmean|treeval|treetest|treeprune|treefit|treedisp|tpdf|tinv|tiedrank|test|tdfread|tcdf|tblwrite|tblread|tabulate|surfht|summary|stepwisefit|stepwise|std|statset|statget|squareform|sortrows|sort|slicesample|skewness|silhouette|signtest|signrank|setlabels|set|segment|scatterhist|sampsizepwr|runstest|rstool|rsmdemo|rowexch|rotatefactors|robustfit|robustdemo|risk|ridge|replacedata|reorderlevels|regstats|regress|refline|refcurve|rcoplot|raylstat|raylrnd|raylpdf|raylinv|raylfit|raylcdf|ranksum|range|randtool|randsample|random|randg|quantile|qqplot|prune|procrustes|probplot|princomp|prctile|posterior|polyval|polytool|polyfit|polyconf|poisstat|poissrnd|poisspdf|poissinv|poissfit|poisscdf|perms|pearsrnd|pdist|pdf|pcares|pcacov|partialcorr|paretotails|pareto|parent|parallelcoords|ordinal|numnodes|nsegments|normstat|normspec|normrnd|normplot|normpdf|normlike|norminv|normfit|normcdf|nominal|nodesize|nodeprob|nodeerr|nlpredci|nlparci|nlintool|nlinfit|ncx2stat|ncx2rnd|ncx2pdf|ncx2inv|ncx2cdf|nctstat|nctrnd|nctpdf|nctinv|nctcdf|ncfstat|ncfrnd|ncfpdf|ncfinv|ncfcdf|nbinstat|nbinrnd|nbinpdf|nbininv|nbinfit|nbincdf|nanvar|nansum|nanstd|nanmin|nanmedian|nanmean|nanmax|nancov|mvtrnd|mvtpdf|mvtcdf|mvregresslike|mvregress|mvnrnd|mvnpdf|mvncdf|multivarichart|multcompare|moment|mode|mnrval|mnrnd|mnrfit|mnpdf|mlecov|mle|mhsample|mergelevels|median|mean|mdscale|manovacluster|manova1|maineffectsplot|mahal|mad|lsqnonneg|lsline|lscov|lowerparams|lognstat|lognrnd|lognpdf|lognlike|logninv|lognfit|logncdf|linkage|linhyptest|lillietest|lhsnorm|lhsdesign|leverage|levelcounts|kurtosis|kstest2|kstest|ksdensity|kruskalwallis|kmeans|join|johnsrnd|jbtest|jackknife|iwishrnd|isundefined|ismember|islevel|isbranch|iqr|invpred|interactionplot|inconsistent|icdf|hygestat|hygernd|hygepdf|hygeinv|hygecdf|hougen|hmmviterbi|hmmtrain|hmmgenerate|hmmestimate|hmmdecode|histfit|hist3|hist|harmmean|hadamard|gscatter|grpstats|grp2idx|gpstat|gprnd|gppdf|gplotmatrix|gplike|gpinv|gpfit|gpcdf|gname|gmdistribution|glyphplot|glmval|glmfit|gline|gevstat|gevrnd|gevpdf|gevlike|gevinv|gevfit|gevcdf|getlabels|get|geostat|geornd|geopdf|geomean|geoinv|geocdf|gamstat|gamrnd|gampdf|gamlike|gaminv|gamfit|gamcdf|gagerr|fullfact|fsurfht|fstat|frnd|friedman|fracfactgen|fracfact|fpdf|fit|finv|ff2n|fcdf|factoran|expstat|exprnd|exppdf|explike|expinv|expfit|expcdf|evstat|evrnd|evpdf|evlike|evinv|evfit|evcdf|eval|errorbar|ecdfhist|ecdf|dwtest|dummyvar|droplevels|disttool|dfittool|dendrogram|dcovary|daugment|datasetfun|dataset|cutvar|cuttype|cutpoint|cutcategories|crosstab|coxphfit|cov|corrcov|corrcoef|corr|cordexch|copulastat|copularnd|copulapdf|copulaparam|copulafit|copulacdf|cophenet|controlrules|controlchart|combnk|cmdscale|clusterdata|cluster|classregtree|classprob|classify|classcount|cholcov|children|chi2stat|chi2rnd|chi2pdf|chi2inv|chi2gof|chi2cdf|cdfplot|cdf|ccdesign|casewrite|caseread|capaplot|capability|canoncorr|candgen|candexch|boxplot|boundary|bootstrp|bootci|biplot|binostat|binornd|binopdf|binoinv|binofit|binocdf|betastat|betarnd|betapdf|betalike|betainv|betafit|betacdf|bbdesign|barttest|aoctool|ansaribradley|anovan|anova2|anova1|andrewsplot|addlevels|addedvarplot)\\b",
611
- "name": "support.function.toolbox.statistics.matlab"
612
- },
613
- {
614
- "comment": "Matlab symbolic math toolbox",
615
- "match": "(?<!\\.)\\b(ztrans|zeta|vpa|uint8|uint64|uint32|uint16|triu|tril|taylortool|taylor|symsum|syms|sym2poly|sym|svd|subs|subexpr|sort|solve|size|sinint|single|simplify|simple|rsums|rref|round|real|rank|quorem|procread|pretty|poly2sym|poly|numden|null|mod|mhelp|mfunlist|mfun|mapleinit|maple|log2|log10|limit|latex|laplace|lambertw|jordan|jacobian|iztrans|inv|int8|int64|int32|int16|int|imag|ilaplace|ifourier|hypergeom|horner|heaviside|funtool|frac|fourier|fortran|floor|fix|finverse|findsym|factor|ezsurfc|ezsurf|ezpolar|ezplot3|ezplot|ezmeshc|ezmesh|ezcontourf|ezcontour|expm|expand|eq|eig|dsolve|double|dirac|digits|diff|diag|det|cosint|conj|compose|colspace|collect|coeffs|ceil|ccode)\\b",
616
- "name": "support.function.toolbox.symbolic-math.matlab"
617
- },
618
- {
619
- "comment": "Matlab system identification toolbox",
620
- "match": "(?<!\\.)\\b(zpkdata|zpk|wavenet|view|unitgain|treepartition|timestamp|tfdata|tf|struc|step|ssdata|ss|spafdr|spa|size|simsd|sim|sigmoidnet|setstruc|setpname|setpar|setinit|set|selstruc|segment|saturation|rplr|rpem|roe|resid|resample|realdata|rbj|rarx|rarmax|pzmap|pwlinear|present|predict|polyreg|polydata|poly1d|plot|pexcit|pem|pe|oe|nyquist|nuderst|noisecnv|nlhw|nlarx|nkshift|neuralnet|n4sid|misdata|midprefs|merge|lintan|linear|linapp|ivx|ivstruc|ivar|iv4|isreal|init|impulse|ifft|idss|idresamp|idproc|idpoly|idnlmodel|idnlhw|idnlgrey|idnlarx|idmodel|idmdlsim|idinput|idgrey|idfrd|idfilt|ident|iddata|idarx|getreg|getpar|getinit|getexp|get|fselect|freqresp|frd|fpe|fft|ffplot|feedback|fcat|evaluate|etfe|diff|detrend|delayest|deadzone|d2c|customreg|customnet|cra|covf|compare|c2d|bode|bj|balred|arxstruc|arxdata|arx|armax|ar|aic|advice|addreg|EstimationInfo)\\b",
621
- "name": "support.function.toolbox.system-identification.matlab"
622
- },
623
- {
624
- "comment": "Matlab virtual reality toolbox",
625
- "match": "(?<!\\.)\\b(vrworld|vrwhos|vrwho|vrview|vrspacemouse|vrsetpref|vrrotvec2mat|vrrotvec|vrrotmat2vec|vrplay|vrori2dir|vrnode|vrlib|vrjoystick|vrinstall|vrgetpref|vrfigure|vrdrawnow|vrdir2ori|vrclose|vrclear)\\b",
626
- "name": "support.function.toolbox.virtual-reality.matlab"
627
- },
628
- {
629
- "comment": "Matlab wavelet toolbox",
630
- "match": "(?<!\\.)\\b(wvarchg|wtreemgr|wthrmngr|wthresh|wthcoef2|wthcoef|wtbxmngr|wtbo|wscalogram|write|wrev|wrcoef2|wrcoef|wpviewcf|wptree|wpthcoef|wpsplt|wprec2|wprec|wprcoef|wpjoin|wpfun|wpdencmp|wpdec2|wpdec|wpcutree|wpcoef|wpbmpen|wp2wtree|wnoisest|wnoise|wmulden|wmspca|wmaxlev|wkeep|wfusmat|wfusimg|wfilters|wfbmesti|wfbm|wextend|wentropy|wenergy2|wenergy|wdencmp|wden|wdcenergy|wdcbm2|wdcbm|wcodemat|wbmpen|waverec2|waverec|wavenames|wavemngr|wavemenu|waveinfo|wavefun2|wavefun|wavedemo|wavedec2|wavedec|wave2lp|upwlev2|upwlev|upcoef2|upcoef|treeord|treedpth|tnodes|thselect|symwavf|symaux|swt2|swt|shanwavf|set|scal2frq|readtree|read|rbiowavf|qmf|plot|pat2cwav|orthfilt|ntree|ntnode|noleaves|nodesplt|nodepar|nodejoin|nodedesc|nodeasc|mswthresh|mswden|mswcmptp|mswcmpscr|mswcmp|morlet|meyeraux|meyer|mexihat|mdwtrec|mdwtdec|mdwtcluster|lwtcoef2|lwtcoef|lwt2|lwt|lsinfo|ls2filt|liftwave|liftfilt|leaves|laurpoly|laurmat|iswt2|iswt|istnode|isnode|intwave|ind2depo|ilwt2|ilwt|idwt2|idwt|get|gauswavf|filt2ls|fbspwavf|entrupd|dyadup|dyaddown|dwtmode|dwt2|dwt|dtree|drawtree|displs|disp|detcoef2|detcoef|depo2ind|ddencmp|dbwavf|dbaux|cwt|coifwavf|cmorwavf|chgwdeccfs|cgauwavf|cfs2wpt|centfrq|bswfun|biorwavf|biorfilt|besttree|bestlevt|appcoef2|appcoef|allnodes|addlift)\\b",
631
- "name": "support.function.toolbox.wavelet.matlab"
632
- }
633
- ]
634
- },
635
- "variables": {
636
- "comment": "MATLAB variables",
637
- "match": "(?<!\\.)\\b(nargin|nargout|varargin|varargout)\\b",
638
- "name": "variable.other.function.matlab"
639
- }
640
- }
641
- },
642
- "classdef": {
643
- "patterns": [
644
- {
645
- "begin": "(?x)\n\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t(classdef)\n\t\t\t\t\t\t\\s+\n\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t)?\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t([a-zA-Z_]\\w*)\t\t\t\t\t# Class name\n\t\t\t\t\t\t\t(?:\t\t\t\t\t\t\t\t# Optional inheritance\n\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t(<)\n\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t([^%]*)\n\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t",
646
- "beginCaptures": {
647
- "2": {
648
- "name": "storage.type.function.matlab"
649
- },
650
- "3": {
651
- "patterns": [
652
- {
653
- "match": "[a-zA-Z_]\\w*",
654
- "name": "variable.parameter.class.matlab"
655
- },
656
- {
657
- "begin": "=\\s*",
658
- "end": ",|(?=\\))",
659
- "patterns": [
660
- {
661
- "match": "true|false",
662
- "name": "constant.language.boolean.matlab"
663
- },
664
- {
665
- "include": "#string"
318
+ "include": "$self"
666
319
  }
667
320
  ]
668
321
  }
669
- ]
670
- },
671
- "4": {
672
- "name": "meta.class-declaration.matlab"
673
- },
674
- "5": {
675
- "name": "entity.name.section.class.matlab"
322
+ }
676
323
  },
677
- "6": {
678
- "name": "keyword.operator.other.matlab"
679
- },
680
- "7": {
324
+ {
325
+ "include": "$self"
326
+ }
327
+ ],
328
+ "beginCaptures": {
329
+ "2": {
330
+ "name": "keyword.control.try.matlab"
331
+ }
332
+ },
333
+ "endCaptures": {
334
+ "1": {
335
+ "name": "keyword.control.end.try.matlab"
336
+ }
337
+ }
338
+ },
339
+ {
340
+ "name": "meta.while.matlab",
341
+ "begin": "(^\\s*)(while)\\b",
342
+ "end": "^\\s*(end)\\b",
343
+ "patterns": [
344
+ {
345
+ "name": "meta.while-condition.matlab",
346
+ "begin": "\\G(?!$)",
347
+ "end": "$\\n?",
681
348
  "patterns": [
682
349
  {
683
- "match": "[a-zA-Z_]\\w*(\\.[a-zA-Z_]\\w*)?",
684
- "name": "entity.other.inherited-class.matlab"
685
- },
686
- {
687
- "match": "&",
688
- "name": "keyword.operator.other.matlab"
350
+ "include": "$self"
689
351
  }
690
352
  ]
353
+ },
354
+ {
355
+ "include": "$self"
356
+ }
357
+ ],
358
+ "beginCaptures": {
359
+ "0": {
360
+ "name": "meta.while-condition.matlab"
361
+ },
362
+ "2": {
363
+ "name": "keyword.control.while.matlab"
691
364
  }
692
365
  },
693
- "end": "^\\s*(end)\\b",
694
366
  "endCaptures": {
695
367
  "1": {
696
- "name": "keyword.control.end.class.matlab"
368
+ "name": "keyword.control.end.while.matlab"
697
369
  }
698
- },
370
+ }
371
+ }
372
+ ]
373
+ },
374
+ "classdef": {
375
+ "patterns": [
376
+ {
699
377
  "name": "meta.class.matlab",
378
+ "begin": "(?x)\n\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t(classdef)\n\t\t\t\t\t\t\t\\b\\s*\n\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\t\t\t# Class name\n\t\t\t\t\t\t\t\t(?:\t\t\t\t\t\t\t\t# Optional inheritance\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\u003c)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t([^%]*)\n\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t",
379
+ "end": "^\\s*(end)\\b",
700
380
  "patterns": [
701
381
  {
702
- "begin": "(?x)\n\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t(properties)\n\t\t\t\t\t\t\t\t\\s+\n\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t",
382
+ "name": "meta.properties.matlab",
383
+ "begin": "(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(properties)\\b(.*)$\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t\t",
384
+ "end": "^\\s*(end)\\b",
385
+ "patterns": [
386
+ {
387
+ "include": "$self"
388
+ }
389
+ ],
703
390
  "beginCaptures": {
704
391
  "2": {
705
392
  "name": "keyword.control.properties.matlab"
@@ -707,41 +394,41 @@
707
394
  "3": {
708
395
  "patterns": [
709
396
  {
710
- "match": "[a-zA-Z_]\\w*",
711
- "name": "variable.parameter.properties.matlab"
397
+ "name": "variable.parameter.properties.matlab",
398
+ "match": "[a-zA-Z][a-zA-Z0-9_]*"
712
399
  },
713
400
  {
714
401
  "begin": "=\\s*",
715
402
  "end": ",|(?=\\))",
716
403
  "patterns": [
717
404
  {
718
- "match": "true|false",
719
- "name": "constant.language.boolean.matlab"
405
+ "name": "constant.language.boolean.matlab",
406
+ "match": "true|false"
720
407
  },
721
408
  {
722
- "match": "public|protected|private",
723
- "name": "constant.language.access.matlab"
409
+ "name": "constant.language.access.matlab",
410
+ "match": "public|protected|private"
724
411
  }
725
412
  ]
726
413
  }
727
414
  ]
728
415
  }
729
416
  },
730
- "end": "^\\s*(end)\\b",
731
417
  "endCaptures": {
732
418
  "1": {
733
419
  "name": "keyword.control.end.properties.matlab"
734
420
  }
735
- },
736
- "name": "meta.properties.matlab",
421
+ }
422
+ },
423
+ {
424
+ "name": "meta.methods.matlab",
425
+ "begin": "(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(methods)\\b(.*)$\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t\t",
426
+ "end": "^\\s*(end)\\b",
737
427
  "patterns": [
738
428
  {
739
429
  "include": "$self"
740
430
  }
741
- ]
742
- },
743
- {
744
- "begin": "(?x)\n\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t(methods)\n\t\t\t\t\t\t\t\t\\s+\n\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t",
431
+ ],
745
432
  "beginCaptures": {
746
433
  "2": {
747
434
  "name": "keyword.control.methods.matlab"
@@ -749,41 +436,36 @@
749
436
  "3": {
750
437
  "patterns": [
751
438
  {
752
- "match": "[a-zA-Z_]\\w*",
753
- "name": "variable.parameter.methods.matlab"
439
+ "name": "variable.parameter.methods.matlab",
440
+ "match": "[a-zA-Z][a-zA-Z0-9_]*"
754
441
  },
755
442
  {
756
443
  "begin": "=\\s*",
757
444
  "end": ",|(?=\\))",
758
445
  "patterns": [
759
446
  {
760
- "match": "true|false",
761
- "name": "constant.language.boolean.matlab"
447
+ "name": "constant.language.boolean.matlab",
448
+ "match": "true|false"
762
449
  },
763
450
  {
764
- "match": "public|protected|private",
765
- "name": "constant.language.access.matlab"
451
+ "name": "constant.language.access.matlab",
452
+ "match": "public|protected|private"
766
453
  }
767
454
  ]
768
455
  }
769
456
  ]
770
457
  }
771
458
  },
772
- "end": "^\\s*(end)\\b",
773
459
  "endCaptures": {
774
460
  "1": {
775
461
  "name": "keyword.control.end.methods.matlab"
776
462
  }
777
- },
778
- "name": "meta.methods.matlab",
779
- "patterns": [
780
- {
781
- "include": "$self"
782
- }
783
- ]
463
+ }
784
464
  },
785
465
  {
786
- "begin": "(?x)\n\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t(events)\n\t\t\t\t\t\t\t\t\\s+\n\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t",
466
+ "name": "meta.events.matlab",
467
+ "begin": "(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(events)\\b(.*)$\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t\t",
468
+ "end": "^\\s*(end)\\b",
787
469
  "beginCaptures": {
788
470
  "2": {
789
471
  "name": "keyword.control.events.matlab"
@@ -791,164 +473,222 @@
791
473
  "3": {
792
474
  "patterns": [
793
475
  {
794
- "match": "[a-zA-Z_]\\w*",
795
- "name": "variable.parameter.events.matlab"
476
+ "name": "variable.parameter.events.matlab",
477
+ "match": "[a-zA-Z][a-zA-Z0-9_]*"
796
478
  },
797
479
  {
798
480
  "begin": "=\\s*",
799
481
  "end": ",|(?=\\))",
800
482
  "patterns": [
801
483
  {
802
- "match": "true|false",
803
- "name": "constant.language.boolean.matlab"
484
+ "name": "constant.language.boolean.matlab",
485
+ "match": "true|false"
804
486
  },
805
487
  {
806
- "match": "public|protected|private",
807
- "name": "constant.language.access.matlab"
488
+ "name": "constant.language.access.matlab",
489
+ "match": "public|protected|private"
808
490
  }
809
491
  ]
810
492
  }
811
493
  ]
812
494
  }
813
495
  },
814
- "end": "^\\s*(end)\\b",
815
496
  "endCaptures": {
816
497
  "1": {
817
498
  "name": "keyword.control.end.events.matlab"
818
499
  }
819
- },
820
- "name": "meta.events.matlab"
500
+ }
821
501
  },
822
502
  {
823
- "begin": "(?x)\n\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t(enumeration)\n\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t",
503
+ "name": "meta.enumeration.matlab",
504
+ "begin": "(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(enumeration)\\b(.*)$\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t\t",
505
+ "end": "^\\s*(end)\\b",
824
506
  "beginCaptures": {
825
507
  "2": {
826
508
  "name": "keyword.control.enumeration.matlab"
827
509
  }
828
510
  },
829
- "end": "^\\s*(end)\\b",
830
511
  "endCaptures": {
831
512
  "1": {
832
513
  "name": "keyword.control.end.enumeration.matlab"
833
514
  }
834
- },
835
- "name": "meta.enumeration.matlab"
515
+ }
836
516
  },
837
517
  {
838
518
  "include": "$self"
839
519
  }
840
- ]
520
+ ],
521
+ "beginCaptures": {
522
+ "2": {
523
+ "name": "storage.type.class.matlab"
524
+ },
525
+ "3": {
526
+ "patterns": [
527
+ {
528
+ "name": "variable.parameter.class.matlab",
529
+ "match": "[a-zA-Z][a-zA-Z0-9_]*"
530
+ },
531
+ {
532
+ "begin": "=\\s*",
533
+ "end": ",|(?=\\))",
534
+ "patterns": [
535
+ {
536
+ "name": "constant.language.boolean.matlab",
537
+ "match": "true|false"
538
+ },
539
+ {
540
+ "include": "#string"
541
+ }
542
+ ]
543
+ }
544
+ ]
545
+ },
546
+ "4": {
547
+ "name": "meta.class-declaration.matlab"
548
+ },
549
+ "5": {
550
+ "name": "entity.name.section.class.matlab"
551
+ },
552
+ "6": {
553
+ "name": "keyword.operator.other.matlab"
554
+ },
555
+ "7": {
556
+ "patterns": [
557
+ {
558
+ "name": "entity.other.inherited-class.matlab",
559
+ "match": "[a-zA-Z][a-zA-Z0-9_]*(\\.[a-zA-Z][a-zA-Z0-9_]*)*"
560
+ },
561
+ {
562
+ "name": "keyword.operator.other.matlab",
563
+ "match": "\u0026"
564
+ }
565
+ ]
566
+ }
567
+ },
568
+ "endCaptures": {
569
+ "1": {
570
+ "name": "keyword.control.end.class.matlab"
571
+ }
572
+ }
841
573
  }
842
574
  ]
843
575
  },
576
+ "command_dual": {
577
+ "match": "^\\s*((?# A\u003e )([b-df-hk-moq-zA-HJ-MO-Z]\\w*|a|an|a([A-Za-mo-z0-9_]\\w*|n[A-Za-rt-z0-9_]\\w*|ns\\w+)|e|ep|e([A-Za-oq-z0-9_]\\w*|p[A-Za-rt-z0-9_]\\w*|ps\\w+)|in|i([A-Za-mo-z0-9_]\\w*|n[A-Za-eg-z0-9_]\\w*|nf\\w+)|I|In|I([A-Za-mo-z0-9_]\\w*|n[A-Za-eg-z0-9_]\\w*|nf\\w+)|j\\w+|N|Na|N([A-Zb-z0-9_]\\w*|a[A-MO-Za-z0-9_]\\w*|aN\\w+)|n|na|nar|narg|nargi|nargo|nargou|n([A-Zb-z0-9_]\\w*|a([A-Za-mo-qs-z0-9_]\\w*|n\\w+|r([A-Za-fh-z0-9_]\\w*|g([A-Za-hj-nq-z0-9_]\\w*|i([A-Za-mo-z0-9_]\\w*|n\\w+)|o([A-Za-tv-z0-9_]\\w*|u([A-Za-su-z]\\w*|t\\w+))))))|p|p[A-Za-hj-z0-9_]\\w*|pi\\w+)(?# \u003cA )\\s+(((?# B\u003e )([^\\s;,%()=.{\u0026|~\u003c\u003e:+\\-*/\\\\@^'\"]|(?=')|(?=\"))(?# \u003cB )|(?# C\u003e )(\\.\\^|\\.\\*|\\./|\\.\\\\|\\.'|\\.\\(|\u0026\u0026|==|\\|\\||\u0026(?=[^\u0026])|\\|(?=[^\\|])|~=|\u003c=|\u003e=|~(?!=)|\u003c(?!=)|\u003e(?!=)|:|\\+|-|\\*|/|\\\\|@|\\^)(?# \u003cC )(?# D\u003e )([^\\s]|\\s*(?=%)|\\s+$|\\s+(,|;|\\)|}|\\]|\u0026|\\||\u003c|\u003e|=|:|\\*|/|\\\\|\\^|@|(\\.[^\\d.]|\\.\\.[^.])))(?# \u003cD )|(?# E\u003e )(\\.[^^*/\\\\'(\\sA-Za-z])(?# \u003cE ))(?# F\u003e )([^%]|'[^']*'|\"[^\"]*\")*(?# \u003cF )|(?# X\u003e )(\\.(?=\\s)|\\.[A-Za-z]|(?={))(?# \u003cX )(?# Y\u003e )([^(=\\'\"%]|==|'[^']*'|\"[^\"]*\"|\\(|\\([^)%]*\\)|\\[|\\[[^\\]%]*\\]|{|{[^}%]*})*(\\.\\.\\.[^%]*)?((?=%)|$)(?# \u003cY )))(%.*)?$",
578
+ "captures": {
579
+ "1": {
580
+ "name": "string.interpolated.matlab"
581
+ },
582
+ "2": {
583
+ "name": "variable.other.command.matlab"
584
+ },
585
+ "28": {
586
+ "name": "comment.line.percentage.matlab"
587
+ }
588
+ }
589
+ },
844
590
  "comments": {
845
591
  "patterns": [
846
592
  {
847
593
  "begin": "(^[ \\t]+)?(?=%%)",
848
- "beginCaptures": {
849
- "1": {
850
- "name": "punctuation.whitespace.comment.leading.matlab"
851
- }
852
- },
853
594
  "end": "(?!\\G)",
854
595
  "patterns": [
855
596
  {
597
+ "name": "comment.line.double-percentage.matlab",
856
598
  "begin": "%%",
857
- "beginCaptures": {
858
- "0": {
859
- "name": "punctuation.definition.comment.matlab"
860
- }
861
- },
862
599
  "end": "\\n",
863
- "name": "comment.line.double-percentage.matlab",
864
600
  "patterns": [
865
601
  {
866
- "begin": "\\G\\s*(?![\\n\\s])",
867
602
  "contentName": "meta.cell.matlab",
603
+ "begin": "\\G\\s*(?![\\n\\s])",
868
604
  "end": "(?=\\n)"
869
605
  }
870
- ]
606
+ ],
607
+ "beginCaptures": {
608
+ "0": {
609
+ "name": "punctuation.definition.comment.matlab"
610
+ }
611
+ }
612
+ }
613
+ ],
614
+ "beginCaptures": {
615
+ "1": {
616
+ "name": "punctuation.whitespace.comment.leading.matlab"
871
617
  }
872
- ]
618
+ }
873
619
  },
874
620
  {
875
- "begin": "%\\{",
621
+ "name": "comment.block.percentage.matlab",
622
+ "begin": "^\\s*%\\{\\s*$",
623
+ "end": "^\\s*%\\}\\s*$",
876
624
  "captures": {
877
625
  "1": {
878
626
  "name": "punctuation.definition.comment.matlab"
879
627
  }
880
- },
881
- "end": "%\\}\\s*\\n",
882
- "name": "comment.block.percentage.matlab"
628
+ }
883
629
  },
884
630
  {
885
631
  "begin": "(^[ \\t]+)?(?=%)",
886
- "beginCaptures": {
887
- "1": {
888
- "name": "punctuation.whitespace.comment.leading.matlab"
889
- }
890
- },
891
632
  "end": "(?!\\G)",
892
633
  "patterns": [
893
634
  {
635
+ "name": "comment.line.percentage.matlab",
894
636
  "begin": "%",
637
+ "end": "\\n",
895
638
  "beginCaptures": {
896
639
  "0": {
897
640
  "name": "punctuation.definition.comment.matlab"
898
641
  }
899
- },
900
- "end": "\\n",
901
- "name": "comment.line.percentage.matlab"
642
+ }
643
+ }
644
+ ],
645
+ "beginCaptures": {
646
+ "1": {
647
+ "name": "punctuation.whitespace.comment.leading.matlab"
902
648
  }
903
- ]
649
+ }
904
650
  }
905
651
  ]
906
652
  },
907
- "constants_override": {
908
- "comment": "The user is trying to override MATLAB constants and functions.",
909
- "match": "(^|\\;)\\s*(i|j|inf|Inf|nan|NaN|eps|end)\\s*=[^=]",
910
- "name": "meta.inappropriate.matlab"
911
- },
912
- "curlybrackets": {
913
- "begin": "\\{",
914
- "beginCaptures": {
915
- "0": {
916
- "name": "meta.brackets.curly.matlab"
917
- }
918
- },
919
- "contentName": "meta.brackets.curly.matlab",
920
- "end": "\\}",
921
- "endCaptures": {
922
- "0": {
923
- "name": "meta.brackets.curly.matlab"
924
- }
925
- },
926
- "patterns": [
927
- {
928
- "include": "#end_in_parens"
929
- },
930
- {
931
- "include": "$self"
932
- }
933
- ]
653
+ "constants": {
654
+ "name": "constant.language.matlab",
655
+ "match": "(?\u003c!\\.)\\b(eps|false|Inf|inf|intmax|intmin|namelengthmax|NaN|nan|on|off|realmax|realmin|true|pi)\\b"
934
656
  },
935
- "double_quote": {
936
- "patterns": [
937
- {
938
- "match": "\"",
939
- "name": "invalid.illegal.invalid-quote.matlab"
657
+ "control_statements": {
658
+ "name": "meta.control.matlab",
659
+ "match": "^\\s*(break|continue|return)\\b",
660
+ "captures": {
661
+ "1": {
662
+ "name": "keyword.control.matlab"
940
663
  }
941
- ]
664
+ }
942
665
  },
943
666
  "end_in_parens": {
944
- "comment": "end as operator symbol",
945
- "match": "\\bend\\b",
946
- "name": "keyword.operator.symbols.matlab"
667
+ "name": "keyword.operator.symbols.matlab",
668
+ "match": "\\bend\\b"
947
669
  },
948
670
  "function": {
949
671
  "patterns": [
950
672
  {
951
- "begin": "(?x)\n\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t(function)\n\t\t\t\t\t\t\\s+\n\t\t\t\t\t\t(?:\t\t\t\t\t\t\t\t\t# Optional\n\t\t\t\t\t\t\t(?:\n\t\t\t\t\t\t\t\t(\\[) ([^\\]]*) (\\])\n\t\t\t\t\t\t\t | ([a-zA-Z_]\\w*)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\\s* = \\s*\n\t\t\t\t\t\t)?\n\t\t\t\t\t\t([a-zA-Z_]\\w*)\t\t\t\t\t\t# Function name\n\t\t\t\t\t\t\\s*\t\t\t\t\t\t\t\t\t# Trailing space\n\t\t\t\t\t",
673
+ "name": "meta.function.matlab",
674
+ "begin": "(?x)\n\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t(function)\n\t\t\t\t\t\t\t\\s+\n\t\t\t\t\t\t\t(?:\t\t\t\t\t\t\t\t\t\t\t\t\t# Optional\n\t\t\t\t\t\t\t\t(?:\n\t\t\t\t\t\t\t\t\t(\\[) ([^\\]]*) (\\])\n\t\t\t\t\t\t\t\t | ([a-zA-Z][a-zA-Z0-9_]*)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\\s* = \\s*\n\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*(\\.[a-zA-Z][a-zA-Z0-9_]*)*)\t# Function name\n\t\t\t\t\t\t\t\\s*\t\t\t\t\t\t\t\t\t\t\t\t\t# Trailing space\n\t\t\t\t\t\t",
675
+ "end": "^\\s*(end)\\b(\\s*\\n)?",
676
+ "patterns": [
677
+ {
678
+ "name": "meta.arguments.function.matlab",
679
+ "begin": "\\G\\(",
680
+ "end": "\\)",
681
+ "patterns": [
682
+ {
683
+ "name": "variable.parameter.input.matlab",
684
+ "match": "\\w+"
685
+ }
686
+ ]
687
+ },
688
+ {
689
+ "include": "$self"
690
+ }
691
+ ],
952
692
  "beginCaptures": {
953
693
  "2": {
954
694
  "name": "storage.type.function.matlab"
@@ -959,8 +699,8 @@
959
699
  "4": {
960
700
  "patterns": [
961
701
  {
962
- "match": "\\w+",
963
- "name": "variable.parameter.output.matlab"
702
+ "name": "variable.parameter.output.matlab",
703
+ "match": "\\w+"
964
704
  }
965
705
  ]
966
706
  },
@@ -974,73 +714,47 @@
974
714
  "name": "entity.name.function.matlab"
975
715
  }
976
716
  },
977
- "end": "^\\s*(end)\\b(\\s*\\n)?",
978
717
  "endCaptures": {
979
718
  "1": {
980
719
  "name": "keyword.control.end.function.matlab"
981
720
  }
982
- },
983
- "name": "meta.function.matlab",
984
- "patterns": [
985
- {
986
- "begin": "\\G\\(",
987
- "end": "\\)",
988
- "name": "meta.arguments.function.matlab",
989
- "patterns": [
990
- {
991
- "match": "\\w+",
992
- "name": "variable.parameter.input.matlab"
993
- }
994
- ]
995
- },
996
- {
997
- "include": "$self"
998
- }
999
- ]
721
+ }
1000
722
  }
1001
723
  ]
1002
724
  },
1003
- "not_equal_invalid": {
1004
- "comment": "Not equal is written ~= not !=.",
1005
- "match": "\\s*!=\\s*",
1006
- "name": "invalid.illegal.invalid-inequality.matlab"
1007
- },
1008
- "number": {
1009
- "comment": "Valid numbers: 1, .1, 1.1, .1e1, 1.1e1, 1e1, 1i, 1j, 1e2j",
1010
- "match": "(?<=[\\s\\-\\+\\*\\/\\\\=:\\[\\(\\{,]|^)\\d*\\.?\\d+([eE][+-]?\\d)?([0-9&&[^\\.]])*(i|j)?\\b",
1011
- "name": "constant.numeric.matlab"
1012
- },
1013
- "operators": {
1014
- "comment": "Operator symbols",
1015
- "match": "(?<=\\s)(==|~=|>|>=|<|<=|&|&&|:|\\||\\|\\||\\+|-|\\*|\\.\\*|/|\\./|\\\\|\\.\\\\|\\^|\\.\\^)(?=\\s)",
1016
- "name": "keyword.operator.symbols.matlab"
1017
- },
1018
- "parens": {
1019
- "begin": "\\(",
1020
- "beginCaptures": {
1021
- "0": {
1022
- "name": "meta.parens.matlab"
725
+ "global_persistent": {
726
+ "name": "meta.globalpersistent.matlab",
727
+ "match": "^\\s*(global|persistent)\\b",
728
+ "captures": {
729
+ "1": {
730
+ "name": "keyword.control.globalpersistent.matlab"
1023
731
  }
1024
- },
1025
- "contentName": "meta.parens.matlab",
1026
- "end": "\\)",
1027
- "endCaptures": {
1028
- "0": {
1029
- "name": "meta.parens.matlab"
1030
- }
1031
- },
1032
- "patterns": [
1033
- {
1034
- "include": "#end_in_parens"
732
+ }
733
+ },
734
+ "line_continuation": {
735
+ "name": "meta.linecontinuation.matlab",
736
+ "match": "(\\.\\.\\.)(.*)$",
737
+ "captures": {
738
+ "1": {
739
+ "name": "keyword.operator.symbols.matlab"
1035
740
  },
1036
- {
1037
- "include": "$self"
741
+ "2": {
742
+ "name": "comment.line.continuation.matlab"
1038
743
  }
1039
- ]
744
+ }
745
+ },
746
+ "numbers": {
747
+ "name": "constant.numeric.matlab",
748
+ "match": "(?\u003c=[\\s\\-\\+\\*\\/\\\\=:\\[\\(\\{,]|^)\\d*\\.?\\d+([eE][+-]?\\d)?([0-9\u0026\u0026[^\\.]])*(i|j)?\\b"
749
+ },
750
+ "operators": {
751
+ "name": "keyword.operator.symbols.matlab",
752
+ "match": "(?\u003c=\\s)(==|~=|\u003e|\u003e=|\u003c|\u003c=|\u0026|\u0026\u0026|:|\\||\\|\\||\\+|-|\\*|\\.\\*|/|\\./|\\\\|\\.\\\\|\\^|\\.\\^)(?=\\s)"
1040
753
  },
1041
754
  "string": {
1042
755
  "patterns": [
1043
756
  {
757
+ "match": "^\\s*((!).*$\\n?)",
1044
758
  "captures": {
1045
759
  "1": {
1046
760
  "name": "string.interpolated.matlab"
@@ -1048,62 +762,71 @@
1048
762
  "2": {
1049
763
  "name": "punctuation.definition.string.begin.matlab"
1050
764
  }
1051
- },
1052
- "comment": "Shell command",
1053
- "match": "^\\s*((!).*$\\n?)"
765
+ }
1054
766
  },
1055
767
  {
1056
- "begin": "((?<=(\\[|\\(|\\{|=|\\s|;|:|,))|^)'",
768
+ "name": "string.quoted.single.matlab",
769
+ "begin": "((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^))|^)'",
770
+ "end": "'(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^|\\s|;|:|,))",
771
+ "patterns": [
772
+ {
773
+ "name": "constant.character.escape.matlab",
774
+ "match": "''"
775
+ },
776
+ {
777
+ "name": "invalid.illegal.unescaped-quote.matlab",
778
+ "match": "'(?=.)"
779
+ },
780
+ {
781
+ "name": "constant.character.escape.matlab",
782
+ "match": "((\\%([\\+\\-0]?\\d{0,3}(\\.\\d{1,3})?)(c|d|e|E|f|g|G|s|((b|t)?(o|u|x|X))))|\\%\\%|\\\\(b|f|n|r|t|\\\\))"
783
+ }
784
+ ],
1057
785
  "beginCaptures": {
1058
786
  "0": {
1059
787
  "name": "punctuation.definition.string.begin.matlab"
1060
788
  }
1061
789
  },
1062
- "end": "'(?=(\\]|\\)|\\}|=|~|<|>|&|\\||-|\\+|\\*|\\.|\\^|\\||\\s|;|:|,))",
1063
790
  "endCaptures": {
1064
791
  "0": {
1065
792
  "name": "punctuation.definition.string.end.matlab"
1066
793
  }
1067
- },
1068
- "name": "string.quoted.single.matlab",
794
+ }
795
+ },
796
+ {
797
+ "name": "string.quoted.double.matlab",
798
+ "begin": "((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^))|^)\"",
799
+ "end": "\"(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^|\\||\\s|;|:|,))",
1069
800
  "patterns": [
1070
801
  {
1071
- "match": "''",
1072
- "name": "constant.character.escape.matlab"
1073
- },
1074
- {
1075
- "match": "'(?=.)",
1076
- "name": "invalid.illegal.unescaped-quote.matlab"
802
+ "name": "constant.character.escape.matlab",
803
+ "match": "\"\""
1077
804
  },
1078
805
  {
1079
- "comment": "Operator symbols",
1080
- "match": "((\\%([\\+\\-0]?\\d{0,3}(\\.\\d{1,3})?)(c|d|e|E|f|g|G|s|((b|t)?(o|u|x|X))))|\\%\\%|\\\\(b|f|n|r|t|\\\\))",
1081
- "name": "constant.character.escape.matlab"
806
+ "name": "invalid.illegal.unescaped-quote.matlab",
807
+ "match": "\"(?=.)"
808
+ }
809
+ ],
810
+ "beginCaptures": {
811
+ "0": {
812
+ "name": "punctuation.definition.string.begin.matlab"
1082
813
  }
1083
- ]
814
+ },
815
+ "endCaptures": {
816
+ "0": {
817
+ "name": "punctuation.definition.string.end.matlab"
818
+ }
819
+ }
1084
820
  }
1085
821
  ]
1086
822
  },
1087
823
  "transpose": {
1088
- "match": "((\\w+)|(?<=\\])|(?<=\\)))\\.?'",
1089
- "name": "keyword.operator.transpose.matlab"
1090
- },
1091
- "variable": {
1092
- "comment": "Valid variable. Added meta to disable hilightinh",
1093
- "match": "\\b[a-zA-Z]\\w*\\b",
1094
- "name": "meta.variable.other.valid.matlab"
824
+ "name": "keyword.operator.transpose.matlab",
825
+ "match": "((\\w+)|(?\u003c=\\])|(?\u003c=\\)))\\.?'"
1095
826
  },
1096
- "variable_assignment": {
1097
- "comment": "Incomplete variable assignment.",
1098
- "match": "=\\s*\\.{0,2}\\s*;?\\s*$\\n?",
1099
- "name": "invalid.illegal.incomplete-variable-assignment.matlab"
1100
- },
1101
- "variable_invalid": {
1102
- "comment": "No variables or function names can start with a number or an underscore.",
1103
- "match": "\\b(_\\w|\\d+[_a-df-zA-DF-Z])\\w*\\b",
1104
- "name": "invalid.illegal.invalid-variable-name.matlab"
827
+ "variables": {
828
+ "name": "variable.other.function.matlab",
829
+ "match": "(?\u003c!\\.)\\b(nargin|nargout|varargin|varargout)\\b"
1105
830
  }
1106
- },
1107
- "scopeName": "source.matlab",
1108
- "uuid": "48F8858B-72FF-11D9-BFEE-000D93589AF6"
1109
- }
831
+ }
832
+ }