github-linguist-grammars 4.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (335) hide show
  1. checksums.yaml +7 -0
  2. data/grammars/file.lasso.json +713 -0
  3. data/grammars/module.ceylon.json +54 -0
  4. data/grammars/objdump.x86asm.json +73 -0
  5. data/grammars/source.Inform7.json +45 -0
  6. data/grammars/source.Kotlin.json +774 -0
  7. data/grammars/source.LS.json +104 -0
  8. data/grammars/source.MCPOST.json +68 -0
  9. data/grammars/source.MOD.json +70 -0
  10. data/grammars/source.abap.json +176 -0
  11. data/grammars/source.abl.json +138 -0
  12. data/grammars/source.actionscript.3.json +1571 -0
  13. data/grammars/source.acucobol.json +16 -0
  14. data/grammars/source.ada.json +140 -0
  15. data/grammars/source.agda.json +254 -0
  16. data/grammars/source.ahk.json +171 -0
  17. data/grammars/source.alloy.json +44 -0
  18. data/grammars/source.ampl.json +157 -0
  19. data/grammars/source.antlr.json +300 -0
  20. data/grammars/source.apache-config.json +352 -0
  21. data/grammars/source.apache-config.mod_perl.json +70 -0
  22. data/grammars/source.apl.json +442 -0
  23. data/grammars/source.applescript.json +1385 -0
  24. data/grammars/source.apt.json +25 -0
  25. data/grammars/source.asm.x86.json +182 -0
  26. data/grammars/source.asp.json +157 -0
  27. data/grammars/source.aspectj.json +963 -0
  28. data/grammars/source.ats.json +170 -0
  29. data/grammars/source.autoit.3.json +132 -0
  30. data/grammars/source.awk.json +388 -0
  31. data/grammars/source.befunge.json +38 -0
  32. data/grammars/source.bf.json +36 -0
  33. data/grammars/source.bison.json +59 -0
  34. data/grammars/source.blitzmax.json +912 -0
  35. data/grammars/source.boo.json +452 -0
  36. data/grammars/source.brightauthorproject.json +29 -0
  37. data/grammars/source.brightscript.json +158 -0
  38. data/grammars/source.bro.json +409 -0
  39. data/grammars/source.bsv.json +283 -0
  40. data/grammars/source.c++.json +364 -0
  41. data/grammars/source.c++.qt.json +37 -0
  42. data/grammars/source.c.ec.json +39 -0
  43. data/grammars/source.c.json +727 -0
  44. data/grammars/source.c.platform.json +154 -0
  45. data/grammars/source.cache.cmake.json +75 -0
  46. data/grammars/source.cake.json +16 -0
  47. data/grammars/source.camlp4.ocaml.json +63 -0
  48. data/grammars/source.capnp.json +93 -0
  49. data/grammars/source.ceylon.json +77 -0
  50. data/grammars/source.cfscript.cfc.json +170 -0
  51. data/grammars/source.cfscript.json +744 -0
  52. data/grammars/source.chapel.json +240 -0
  53. data/grammars/source.cirru.json +66 -0
  54. data/grammars/source.clarion.json +159 -0
  55. data/grammars/source.clips.json +80 -0
  56. data/grammars/source.clojure.json +397 -0
  57. data/grammars/source.cm.json +54 -0
  58. data/grammars/source.cmake.json +181 -0
  59. data/grammars/source.cobol.json +528 -0
  60. data/grammars/source.coffee.json +678 -0
  61. data/grammars/source.compiled-papyrus.json +11 -0
  62. data/grammars/source.cool.json +103 -0
  63. data/grammars/source.coq.json +62 -0
  64. data/grammars/source.crystal.json +2760 -0
  65. data/grammars/source.cs.json +556 -0
  66. data/grammars/source.css.json +630 -0
  67. data/grammars/source.css.less.json +276 -0
  68. data/grammars/source.css.mss.json +256 -0
  69. data/grammars/source.csx.json +16 -0
  70. data/grammars/source.cuda-c++.json +137 -0
  71. data/grammars/source.cython.json +2108 -0
  72. data/grammars/source.d.json +722 -0
  73. data/grammars/source.dart.json +763 -0
  74. data/grammars/source.desktop.json +90 -0
  75. data/grammars/source.diff.json +162 -0
  76. data/grammars/source.dockerfile.json +89 -0
  77. data/grammars/source.dosbatch.json +70 -0
  78. data/grammars/source.dot.json +126 -0
  79. data/grammars/source.dylan.json +217 -0
  80. data/grammars/source.eiffel.json +138 -0
  81. data/grammars/source.elixir.json +737 -0
  82. data/grammars/source.elm.json +355 -0
  83. data/grammars/source.erazor.json +126 -0
  84. data/grammars/source.erlang.json +1674 -0
  85. data/grammars/source.essl.json +50 -0
  86. data/grammars/source.factor.json +260 -0
  87. data/grammars/source.fan.json +188 -0
  88. data/grammars/source.fancy.json +270 -0
  89. data/grammars/source.fish.json +214 -0
  90. data/grammars/source.forth.json +101 -0
  91. data/grammars/source.fortran.json +499 -0
  92. data/grammars/source.fortran.modern.json +226 -0
  93. data/grammars/source.fsharp.json +403 -0
  94. data/grammars/source.gap.json +167 -0
  95. data/grammars/source.gcode.json +25 -0
  96. data/grammars/source.gdscript.json +154 -0
  97. data/grammars/source.gfm.json +1270 -0
  98. data/grammars/source.glsl.json +71 -0
  99. data/grammars/source.gnuplot.json +276 -0
  100. data/grammars/source.go.json +552 -0
  101. data/grammars/source.golo.json +182 -0
  102. data/grammars/source.gosu.2.json +163 -0
  103. data/grammars/source.grace.json +679 -0
  104. data/grammars/source.groovy.gradle.json +73 -0
  105. data/grammars/source.groovy.json +1385 -0
  106. data/grammars/source.harbour.json +450 -0
  107. data/grammars/source.haskell.json +449 -0
  108. data/grammars/source.haxe.2.json +1243 -0
  109. data/grammars/source.hss.1.json +464 -0
  110. data/grammars/source.httpspec.json +287 -0
  111. data/grammars/source.hxml.json +26 -0
  112. data/grammars/source.hy.json +270 -0
  113. data/grammars/source.idl-dlm.json +112 -0
  114. data/grammars/source.idl.json +267 -0
  115. data/grammars/source.idris.json +537 -0
  116. data/grammars/source.ini.json +113 -0
  117. data/grammars/source.inno.json +65 -0
  118. data/grammars/source.io.json +164 -0
  119. data/grammars/source.ioke.json +272 -0
  120. data/grammars/source.isabelle.root.json +68 -0
  121. data/grammars/source.isabelle.theory.json +106 -0
  122. data/grammars/source.j.json +49 -0
  123. data/grammars/source.jade.json +1009 -0
  124. data/grammars/source.jasmin.json +299 -0
  125. data/grammars/source.java-properties.json +97 -0
  126. data/grammars/source.java.json +1026 -0
  127. data/grammars/source.jcl.json +49 -0
  128. data/grammars/source.jflex.json +490 -0
  129. data/grammars/source.jq.json +218 -0
  130. data/grammars/source.js.json +948 -0
  131. data/grammars/source.js.jsx.json +2937 -0
  132. data/grammars/source.js.objj.json +424 -0
  133. data/grammars/source.js.regexp.json +150 -0
  134. data/grammars/source.js.regexp.replacement.json +30 -0
  135. data/grammars/source.json.json +149 -0
  136. data/grammars/source.julia.json +407 -0
  137. data/grammars/source.lean.json +145 -0
  138. data/grammars/source.lid.json +23 -0
  139. data/grammars/source.lilypond.json +623 -0
  140. data/grammars/source.lisp.json +111 -0
  141. data/grammars/source.litcoffee.json +669 -0
  142. data/grammars/source.livescript.json +616 -0
  143. data/grammars/source.llvm.json +71 -0
  144. data/grammars/source.logos.json +31 -0
  145. data/grammars/source.logtalk.json +315 -0
  146. data/grammars/source.loomscript.json +214 -0
  147. data/grammars/source.lsl.json +216 -0
  148. data/grammars/source.lua.json +191 -0
  149. data/grammars/source.makefile.json +474 -0
  150. data/grammars/source.makegen.json +13 -0
  151. data/grammars/source.man.json +53 -0
  152. data/grammars/source.mask.json +701 -0
  153. data/grammars/source.mata.json +133 -0
  154. data/grammars/source.mathematica.json +429 -0
  155. data/grammars/source.matlab.json +776 -0
  156. data/grammars/source.mercury.json +251 -0
  157. data/grammars/source.ml.json +291 -0
  158. data/grammars/source.modelica.json +142 -0
  159. data/grammars/source.modula2.json +103 -0
  160. data/grammars/source.monkey.json +701 -0
  161. data/grammars/source.moonscript.json +149 -0
  162. data/grammars/source.mupad.json +149 -0
  163. data/grammars/source.nant-build.json +86 -0
  164. data/grammars/source.ncl.json +66 -0
  165. data/grammars/source.nemerle.json +137 -0
  166. data/grammars/source.nesc.json +27 -0
  167. data/grammars/source.netlinx.erb.json +47 -0
  168. data/grammars/source.netlinx.json +768 -0
  169. data/grammars/source.nginx.json +797 -0
  170. data/grammars/source.nim.json +1150 -0
  171. data/grammars/source.nim_filter.json +133 -0
  172. data/grammars/source.nimcfg.json +116 -0
  173. data/grammars/source.ninja.json +66 -0
  174. data/grammars/source.nit.json +238 -0
  175. data/grammars/source.nix.json +1200 -0
  176. data/grammars/source.nmml.json +87 -0
  177. data/grammars/source.nsis.json +150 -0
  178. data/grammars/source.objc++.json +19 -0
  179. data/grammars/source.objc.json +918 -0
  180. data/grammars/source.objc.platform.json +277 -0
  181. data/grammars/source.ocaml.json +1426 -0
  182. data/grammars/source.ocamllex.json +305 -0
  183. data/grammars/source.ocamlyacc.json +346 -0
  184. data/grammars/source.octave.json +451 -0
  185. data/grammars/source.ooc.json +692 -0
  186. data/grammars/source.opa.json +206 -0
  187. data/grammars/source.opal.json +415 -0
  188. data/grammars/source.opalsysdefs.json +70 -0
  189. data/grammars/source.opencobol.json +65 -0
  190. data/grammars/source.ox.json +97 -0
  191. data/grammars/source.oz.json +84 -0
  192. data/grammars/source.papyrus-assembly.json +266 -0
  193. data/grammars/source.papyrus.json +231 -0
  194. data/grammars/source.parrot.pir.json +117 -0
  195. data/grammars/source.pascal.json +150 -0
  196. data/grammars/source.perl.6.json +310 -0
  197. data/grammars/source.perl.json +2413 -0
  198. data/grammars/source.php.zephir.json +362 -0
  199. data/grammars/source.pig_latin.json +172 -0
  200. data/grammars/source.pike.json +62 -0
  201. data/grammars/source.plsql.oracle.json +642 -0
  202. data/grammars/source.po.json +232 -0
  203. data/grammars/source.pogoscript.json +85 -0
  204. data/grammars/source.postscript.json +231 -0
  205. data/grammars/source.powershell.json +755 -0
  206. data/grammars/source.processing.json +885 -0
  207. data/grammars/source.prolog.eclipse.json +206 -0
  208. data/grammars/source.prolog.json +292 -0
  209. data/grammars/source.protobuf.json +395 -0
  210. data/grammars/source.pubspec.json +13 -0
  211. data/grammars/source.puppet.json +494 -0
  212. data/grammars/source.purescript.json +818 -0
  213. data/grammars/source.pyjade.json +1010 -0
  214. data/grammars/source.python.django.json +34 -0
  215. data/grammars/source.python.json +1960 -0
  216. data/grammars/source.python.salt.json +13 -0
  217. data/grammars/source.qmake.json +217 -0
  218. data/grammars/source.qml.json +195 -0
  219. data/grammars/source.r.json +203 -0
  220. data/grammars/source.racket.json +119 -0
  221. data/grammars/source.rebol.json +647 -0
  222. data/grammars/source.red.json +652 -0
  223. data/grammars/source.regexp.babel.json +190 -0
  224. data/grammars/source.regexp.python.json +187 -0
  225. data/grammars/source.regexp.spin.json +188 -0
  226. data/grammars/source.ruby.json +1956 -0
  227. data/grammars/source.ruby.rspec.cucumber.steps.json +274 -0
  228. data/grammars/source.rust.json +269 -0
  229. data/grammars/source.sas.json +322 -0
  230. data/grammars/source.sas_log.json +26 -0
  231. data/grammars/source.sass.json +248 -0
  232. data/grammars/source.sbt.json +36 -0
  233. data/grammars/source.scad.json +152 -0
  234. data/grammars/source.scala.json +739 -0
  235. data/grammars/source.scaml.json +466 -0
  236. data/grammars/source.scheme.json +370 -0
  237. data/grammars/source.scilab.json +103 -0
  238. data/grammars/source.scss.json +1321 -0
  239. data/grammars/source.shell.json +1212 -0
  240. data/grammars/source.smali.json +1668 -0
  241. data/grammars/source.smalltalk.json +135 -0
  242. data/grammars/source.smt.json +173 -0
  243. data/grammars/source.sp.json +118 -0
  244. data/grammars/source.sparql.json +23 -0
  245. data/grammars/source.spin.json +936 -0
  246. data/grammars/source.sqf.json +112 -0
  247. data/grammars/source.sql.json +473 -0
  248. data/grammars/source.stata.json +208 -0
  249. data/grammars/source.strings.json +53 -0
  250. data/grammars/source.stylus.json +1021 -0
  251. data/grammars/source.swift.json +965 -0
  252. data/grammars/source.systemverilog.json +1050 -0
  253. data/grammars/source.tcl.json +277 -0
  254. data/grammars/source.tea.json +180 -0
  255. data/grammars/source.thrift.json +704 -0
  256. data/grammars/source.toml.json +327 -0
  257. data/grammars/source.ts.json +1094 -0
  258. data/grammars/source.tsx.json +1324 -0
  259. data/grammars/source.turtle.json +505 -0
  260. data/grammars/source.txl.json +62 -0
  261. data/grammars/source.ucfconstraints.json +72 -0
  262. data/grammars/source.vala.json +814 -0
  263. data/grammars/source.varnish.vcl.json +343 -0
  264. data/grammars/source.vbnet.json +338 -0
  265. data/grammars/source.verilog.json +302 -0
  266. data/grammars/source.vhdl.json +1349 -0
  267. data/grammars/source.viml.json +224 -0
  268. data/grammars/source.webidl.json +814 -0
  269. data/grammars/source.x10.json +68 -0
  270. data/grammars/source.x86asm.json +47 -0
  271. data/grammars/source.xc.json +379 -0
  272. data/grammars/source.xq.json +241 -0
  273. data/grammars/source.xquery.json +193 -0
  274. data/grammars/source.xtend.json +733 -0
  275. data/grammars/source.yaml.json +334 -0
  276. data/grammars/source.yaml.salt.json +348 -0
  277. data/grammars/text.bibtex.json +251 -0
  278. data/grammars/text.cfml.basic.json +736 -0
  279. data/grammars/text.dart-analysis-output.json +162 -0
  280. data/grammars/text.dart-doccomments.json +19 -0
  281. data/grammars/text.elixir.json +45 -0
  282. data/grammars/text.gherkin.feature.json +135 -0
  283. data/grammars/text.groff.json +113 -0
  284. data/grammars/text.haml.json +299 -0
  285. data/grammars/text.html.abl.json +24 -0
  286. data/grammars/text.html.asciidoc.json +492 -0
  287. data/grammars/text.html.asdoc.json +541 -0
  288. data/grammars/text.html.asp.json +58 -0
  289. data/grammars/text.html.basic.json +552 -0
  290. data/grammars/text.html.cfm.json +811 -0
  291. data/grammars/text.html.creole.json +329 -0
  292. data/grammars/text.html.django.json +69 -0
  293. data/grammars/text.html.elixir.json +18 -0
  294. data/grammars/text.html.erb.json +157 -0
  295. data/grammars/text.html.erlang.yaws.json +72 -0
  296. data/grammars/text.html.factor.json +27 -0
  297. data/grammars/text.html.handlebars.json +783 -0
  298. data/grammars/text.html.jsp.json +1203 -0
  299. data/grammars/text.html.liquid.json +35 -0
  300. data/grammars/text.html.mako.json +729 -0
  301. data/grammars/text.html.markdown.source.gfm.apib.json +1297 -0
  302. data/grammars/text.html.markdown.source.gfm.mson.json +1165 -0
  303. data/grammars/text.html.mediawiki.json +972 -0
  304. data/grammars/text.html.php.json +2607 -0
  305. data/grammars/text.html.slash.json +313 -0
  306. data/grammars/text.html.smarty.json +216 -0
  307. data/grammars/text.html.ssp.json +49 -0
  308. data/grammars/text.html.tcl.json +44 -0
  309. data/grammars/text.html.twig.json +1353 -0
  310. data/grammars/text.html.vue.json +642 -0
  311. data/grammars/text.idl-idldoc.json +14 -0
  312. data/grammars/text.junit-test-report.json +92 -0
  313. data/grammars/text.log.latex.json +86 -0
  314. data/grammars/text.python.console.json +25 -0
  315. data/grammars/text.python.traceback.json +46 -0
  316. data/grammars/text.rdoc.json +48 -0
  317. data/grammars/text.restructuredtext.json +561 -0
  318. data/grammars/text.robot.json +73 -0
  319. data/grammars/text.shell-session.json +48 -0
  320. data/grammars/text.slim.json +527 -0
  321. data/grammars/text.tex.json +271 -0
  322. data/grammars/text.tex.latex.beamer.json +63 -0
  323. data/grammars/text.tex.latex.haskell.json +56 -0
  324. data/grammars/text.tex.latex.json +1013 -0
  325. data/grammars/text.tex.latex.memoir.json +99 -0
  326. data/grammars/text.tex.latex.rd.json +117 -0
  327. data/grammars/text.xml.ant.json +202 -0
  328. data/grammars/text.xml.flex-config.json +2634 -0
  329. data/grammars/text.xml.genshi.json +34 -0
  330. data/grammars/text.xml.json +364 -0
  331. data/grammars/text.xml.pom.json +774 -0
  332. data/grammars/text.xml.xsl.json +94 -0
  333. data/grammars/text.zone_file.json +72 -0
  334. data/lib/linguist/grammars.rb +13 -0
  335. metadata +389 -0
@@ -0,0 +1,119 @@
1
+ {
2
+ "fileTypes": [
3
+ "rkt"
4
+ ],
5
+ "name": "Racket (soegaard)",
6
+ "patterns": [
7
+ {
8
+ "include": "#multilinecomment"
9
+ },
10
+ {
11
+ "begin": "(\\#px|\\#rx)?(\\#)?\\\"",
12
+ "comment": "strings, byte strings, regular expressions",
13
+ "end": "\\\"",
14
+ "name": "constant",
15
+ "patterns": [
16
+ {
17
+ "match": "([^\"\\\\]|\\\\.|\\\\\\\\)*",
18
+ "name": "constant"
19
+ }
20
+ ]
21
+ },
22
+ {
23
+ "comment": "booleans",
24
+ "match": "((\\#[tT])|(\\#[fF])|(\\#true)|(\\#false))(?=[()\\[\\]{}\",'`;\\ \\s])",
25
+ "name": "constant"
26
+ },
27
+ {
28
+ "comment": "character datum",
29
+ "match": "((((?i)((\\#\\\\null)|(\\#\\\\nul)|(\\#\\\\backspace)|(\\#\\\\tab)|(\\#\\\\newline)|(\\#\\\\linefeed)|(\\#\\\\vtab)|(\\#\\\\page)|(\\#\\\\return)|(\\#\\\\space)|(\\#\\\\rubout))(?-i)))|(\\#\\\\(([0-7]){1,3}))|(\\#\\\\u(([0-9abcdefABCDEF]){1,4}))|(\\#\\\\U(([0-9abcdefABCDEF]){1,8}))|(\\#\\\\.(?=[^[:alpha:]])))",
30
+ "name": "constant"
31
+ },
32
+ {
33
+ "comment": "general binary number",
34
+ "match": "((\\#[bBeEiI])*(\\#[ei])?(((((((\\+)|(\\-)))?((([0-1])+)|(([0-1])+\\/([0-1])+)))|(((((\\+)|(\\-)))?((([0-1])+)|(([0-1])+\\/([0-1])+)))?((\\+)|(\\-))(((([0-1])+)|(([0-1])+\\/([0-1])+)))?i)))|((((((((\\+)|(\\-)))?((([0-1])+(\\#)*(\\.)?(\\#)*)|((([0-1])+)?\\.([0-1])+(\\#)*)|(([0-1])+(\\#)*\\/([0-1])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-1])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))|(((((((((\\+)|(\\-)))?((([0-1])+(\\#)*(\\.)?(\\#)*)|((([0-1])+)?\\.([0-1])+(\\#)*)|(([0-1])+(\\#)*\\/([0-1])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-1])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))?((\\+)|(\\-))(((((([0-1])+(\\#)*(\\.)?(\\#)*)|((([0-1])+)?\\.([0-1])+(\\#)*)|(([0-1])+(\\#)*\\/([0-1])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-1])+))?)|((((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))?i)|((((((\\+)|(\\-)))?((([0-1])+(\\#)*(\\.)?(\\#)*)|((([0-1])+)?\\.([0-1])+(\\#)*)|(([0-1])+(\\#)*\\/([0-1])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-1])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f)))))@(((((\\+)|(\\-)))?((([0-1])+(\\#)*(\\.)?(\\#)*)|((([0-1])+)?\\.([0-1])+(\\#)*)|(([0-1])+(\\#)*\\/([0-1])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-1])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))))))))(?=[()\\[\\]{}\",'`;\\ \\s])",
35
+ "name": "constant"
36
+ },
37
+ {
38
+ "comment": "general octal number",
39
+ "match": "((\\#[oOeEiI])*(\\#[ei])?(((((((\\+)|(\\-)))?((([0-7])+)|(([0-7])+\\/([0-7])+)))|(((((\\+)|(\\-)))?((([0-7])+)|(([0-7])+\\/([0-7])+)))?((\\+)|(\\-))(((([0-7])+)|(([0-7])+\\/([0-7])+)))?i)))|((((((((\\+)|(\\-)))?((([0-7])+(\\#)*(\\.)?(\\#)*)|((([0-7])+)?\\.([0-7])+(\\#)*)|(([0-7])+(\\#)*\\/([0-7])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-7])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))|(((((((((\\+)|(\\-)))?((([0-7])+(\\#)*(\\.)?(\\#)*)|((([0-7])+)?\\.([0-7])+(\\#)*)|(([0-7])+(\\#)*\\/([0-7])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-7])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))?((\\+)|(\\-))(((((([0-7])+(\\#)*(\\.)?(\\#)*)|((([0-7])+)?\\.([0-7])+(\\#)*)|(([0-7])+(\\#)*\\/([0-7])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-7])+))?)|((((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))?i)|((((((\\+)|(\\-)))?((([0-7])+(\\#)*(\\.)?(\\#)*)|((([0-7])+)?\\.([0-7])+(\\#)*)|(([0-7])+(\\#)*\\/([0-7])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-7])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f)))))@(((((\\+)|(\\-)))?((([0-7])+(\\#)*(\\.)?(\\#)*)|((([0-7])+)?\\.([0-7])+(\\#)*)|(([0-7])+(\\#)*\\/([0-7])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-7])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))))))))(?=[()\\[\\]{}\",'`;\\ \\s])",
40
+ "name": "constant"
41
+ },
42
+ {
43
+ "comment": "general decimal number",
44
+ "match": "((\\#[dDeEiI])*(\\#[ei])?(((((((\\+)|(\\-)))?((([0-9])+)|(([0-9])+\\/([0-9])+)))|(((((\\+)|(\\-)))?((([0-9])+)|(([0-9])+\\/([0-9])+)))?((\\+)|(\\-))(((([0-9])+)|(([0-9])+\\/([0-9])+)))?i)))|((((((((\\+)|(\\-)))?((([0-9])+(\\#)*(\\.)?(\\#)*)|((([0-9])+)?\\.([0-9])+(\\#)*)|(([0-9])+(\\#)*\\/([0-9])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-9])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))|(((((((((\\+)|(\\-)))?((([0-9])+(\\#)*(\\.)?(\\#)*)|((([0-9])+)?\\.([0-9])+(\\#)*)|(([0-9])+(\\#)*\\/([0-9])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-9])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))?((\\+)|(\\-))(((((([0-9])+(\\#)*(\\.)?(\\#)*)|((([0-9])+)?\\.([0-9])+(\\#)*)|(([0-9])+(\\#)*\\/([0-9])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-9])+))?)|((((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))?i)|((((((\\+)|(\\-)))?((([0-9])+(\\#)*(\\.)?(\\#)*)|((([0-9])+)?\\.([0-9])+(\\#)*)|(([0-9])+(\\#)*\\/([0-9])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-9])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f)))))@(((((\\+)|(\\-)))?((([0-9])+(\\#)*(\\.)?(\\#)*)|((([0-9])+)?\\.([0-9])+(\\#)*)|(([0-9])+(\\#)*\\/([0-9])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-9])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))))))))(?=[()\\[\\]{}\",'`;\\ \\s])",
45
+ "name": "constant"
46
+ },
47
+ {
48
+ "comment": "general hexadecimal number",
49
+ "match": "(\\#([xXeEiI])*(\\#[ei])?(((((((\\+)|(\\-)))?((([0-9abcdefABCDEF])+)|(([0-9abcdefABCDEF])+\\/([0-9abcdefABCDEF])+)))|(((((\\+)|(\\-)))?((([0-9abcdefABCDEF])+)|(([0-9abcdefABCDEF])+\\/([0-9abcdefABCDEF])+)))?((\\+)|(\\-))(((([0-9abcdefABCDEF])+)|(([0-9abcdefABCDEF])+\\/([0-9abcdefABCDEF])+)))?i)))|((((((((\\+)|(\\-)))?((([0-9abcdefABCDEF])+(\\#)*(\\.)?(\\#)*)|((([0-9abcdefABCDEF])+)?\\.([0-9abcdefABCDEF])+(\\#)*)|(([0-9abcdefABCDEF])+(\\#)*\\/([0-9abcdefABCDEF])+(\\#)*))(([sl](((\\+)|(\\-)))?([0-9abcdefABCDEF])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT]))))|(((((((((\\+)|(\\-)))?((([0-9abcdefABCDEF])+(\\#)*(\\.)?(\\#)*)|((([0-9abcdefABCDEF])+)?\\.([0-9abcdefABCDEF])+(\\#)*)|(([0-9abcdefABCDEF])+(\\#)*\\/([0-9abcdefABCDEF])+(\\#)*))(([sl](((\\+)|(\\-)))?([0-9abcdefABCDEF])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT]))))?((\\+)|(\\-))(((((([0-9abcdefABCDEF])+(\\#)*(\\.)?(\\#)*)|((([0-9abcdefABCDEF])+)?\\.([0-9abcdefABCDEF])+(\\#)*)|(([0-9abcdefABCDEF])+(\\#)*\\/([0-9abcdefABCDEF])+(\\#)*))(([sl](((\\+)|(\\-)))?([0-9abcdefABCDEF])+))?)|((((inf\\.)|(nan\\.))[0ftT]))))?i)|((((((\\+)|(\\-)))?((([0-9abcdefABCDEF])+(\\#)*(\\.)?(\\#)*)|((([0-9abcdefABCDEF])+)?\\.([0-9abcdefABCDEF])+(\\#)*)|(([0-9abcdefABCDEF])+(\\#)*\\/([0-9abcdefABCDEF])+(\\#)*))(([sl](((\\+)|(\\-)))?([0-9abcdefABCDEF])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT])))@(((((\\+)|(\\-)))?((([0-9abcdefABCDEF])+(\\#)*(\\.)?(\\#)*)|((([0-9abcdefABCDEF])+)?\\.([0-9abcdefABCDEF])+(\\#)*)|(([0-9abcdefABCDEF])+(\\#)*\\/([0-9abcdefABCDEF])+(\\#)*))(([sl](((\\+)|(\\-)))?([0-9abcdefABCDEF])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT]))))))))))(?=[()\\[\\]{}\",'`;\\ \\s])",
50
+ "name": "constant"
51
+ },
52
+ {
53
+ "comment": "extflonum",
54
+ "match": "(((\\#[bB](((((\\+)|(\\-)))?((([0-1])+(\\#)*(\\.)?(\\#)*)|((([0-1])+)?\\.([0-1])+(\\#)*)|(([0-1])+(\\#)*\\/([0-1])+(\\#)*))(([tT](((\\+)|(\\-)))?([0-1])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT]))))|(\\#[oO](((((\\+)|(\\-)))?((([0-7])+(\\#)*(\\.)?(\\#)*)|((([0-7])+)?\\.([0-7])+(\\#)*)|(([0-7])+(\\#)*\\/([0-7])+(\\#)*))(([tT](((\\+)|(\\-)))?([0-7])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT]))))|(\\#[xX](((((\\+)|(\\-)))?((([0-9abcdefABCDEF])+(\\#)*(\\.)?(\\#)*)|((([0-9abcdefABCDEF])+)?\\.([0-9abcdefABCDEF])+(\\#)*)|(([0-9abcdefABCDEF])+(\\#)*\\/([0-9abcdefABCDEF])+(\\#)*))(([tT](((\\+)|(\\-)))?([0-9abcdefABCDEF])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT]))))|((\\#[bB])?(((((\\+)|(\\-)))?((([0-9])+(\\#)*(\\.)?(\\#)*)|((([0-9])+)?\\.([0-9])+(\\#)*)|(([0-9])+(\\#)*\\/([0-9])+(\\#)*))(([tT](((\\+)|(\\-)))?([0-9])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT]))))))(?=[()\\[\\]{}\",'`;\\ \\s])",
55
+ "name": "constant"
56
+ },
57
+ {
58
+ "comment": "void",
59
+ "match": "\\#void(?=[()\\[\\]{}\",'`;\\ \\s])",
60
+ "name": "constant"
61
+ },
62
+ {
63
+ "comment": "symbol",
64
+ "match": "\\'([^#()\\[\\]{}\",'`; \\s]([^()\\[\\]{}\",'`;\\ \\s])*)",
65
+ "name": "constant"
66
+ },
67
+ {
68
+ "comment": "quoted empty list",
69
+ "match": "\\'\\(\\)",
70
+ "name": "constant"
71
+ },
72
+ {
73
+ "comment": "keyword",
74
+ "match": "\\#\\:([^#()\\[\\]{}\",'`; \\s]([^()\\[\\]{}\",'`;\\ \\s])*)",
75
+ "name": "constant"
76
+ },
77
+ {
78
+ "comment": "syntax-quoted identifiers",
79
+ "match": "\\#\\'([^#()\\[\\]{}\",'`; \\s]([^()\\[\\]{}\",'`;\\ \\s])*)",
80
+ "name": "constant"
81
+ },
82
+ {
83
+ "comment": "syntax in the racket language",
84
+ "match": "(\\#\\%app|\\#\\%datum|\\#\\%declare|\\#\\%expression|\\#\\%module\\-begin|\\#\\%plain\\-app|\\#\\%plain\\-lambda|\\#\\%plain\\-module\\-begin|\\#\\%printing\\-module\\-begin|\\#\\%provide|\\#\\%require|\\#\\%stratified\\-body|\\#\\%top|\\#\\%top\\-interaction|\\#\\%variable\\-reference|\\->|\\->\\*|\\->\\*m|\\->d|\\->dm|\\->i|\\->m|\\.\\.\\.|\\:do\\-in|==|=>|_|absent|abstract|all\\-defined\\-out|all\\-from\\-out|and|any|augment|augment\\*|augment\\-final|augment\\-final\\*|augride|augride\\*|begin|begin\\-for\\-syntax|begin0|case|case\\->|case\\->m|case\\-lambda|class|class\\*|class\\-field\\-accessor|class\\-field\\-mutator|class/c|class/derived|combine\\-in|combine\\-out|command\\-line|compound\\-unit|compound\\-unit/infer|cond|contract|contract\\-out|contract\\-struct|contracted|define|define\\-compound\\-unit|define\\-compound\\-unit/infer|define\\-contract\\-struct|define\\-custom\\-hash\\-types|define\\-custom\\-set\\-types|define\\-for\\-syntax|define\\-local\\-member\\-name|define\\-logger|define\\-match\\-expander|define\\-member\\-name|define\\-module\\-boundary\\-contract|define\\-namespace\\-anchor|define\\-opt/c|define\\-sequence\\-syntax|define\\-serializable\\-class|define\\-serializable\\-class\\*|define\\-signature|define\\-signature\\-form|define\\-struct|define\\-struct/contract|define\\-struct/derived|define\\-syntax|define\\-syntax\\-rule|define\\-syntaxes|define\\-unit|define\\-unit\\-binding|define\\-unit\\-from\\-context|define\\-unit/contract|define\\-unit/new\\-import\\-export|define\\-unit/s|define\\-values|define\\-values\\-for\\-export|define\\-values\\-for\\-syntax|define\\-values/invoke\\-unit|define\\-values/invoke\\-unit/infer|define/augment|define/augment\\-final|define/augride|define/contract|define/final\\-prop|define/match|define/overment|define/override|define/override\\-final|define/private|define/public|define/public\\-final|define/pubment|define/subexpression\\-pos\\-prop|delay|delay/idle|delay/name|delay/strict|delay/sync|delay/thread|do|else|except|except\\-in|except\\-out|export|extends|failure\\-cont|false|false/c|field|field\\-bound\\?|file|flat\\-murec\\-contract|flat\\-rec\\-contract|for|for\\*|for\\*/and|for\\*/first|for\\*/fold|for\\*/fold/derived|for\\*/hash|for\\*/hasheq|for\\*/hasheqv|for\\*/last|for\\*/list|for\\*/lists|for\\*/mutable\\-set|for\\*/mutable\\-seteq|for\\*/mutable\\-seteqv|for\\*/or|for\\*/product|for\\*/set|for\\*/seteq|for\\*/seteqv|for\\*/sum|for\\*/vector|for\\*/weak\\-set|for\\*/weak\\-seteq|for\\*/weak\\-seteqv|for\\-label|for\\-meta|for\\-syntax|for\\-template|for/and|for/first|for/fold|for/fold/derived|for/hash|for/hasheq|for/hasheqv|for/last|for/list|for/lists|for/mutable\\-set|for/mutable\\-seteq|for/mutable\\-seteqv|for/or|for/product|for/set|for/seteq|for/seteqv|for/sum|for/vector|for/weak\\-set|for/weak\\-seteq|for/weak\\-seteqv|gen\\:custom\\-write|gen\\:dict|gen\\:equal\\+hash|gen\\:set|gen\\:stream|generic|get\\-field|if|implies|import|include|include\\-at/relative\\-to|include\\-at/relative\\-to/reader|include/reader|inherit|inherit\\-field|inherit/inner|inherit/super|init|init\\-depend|init\\-field|init\\-rest|inner|inspect|instantiate|interface|interface\\*|invariant\\-assertion|invoke\\-unit|invoke\\-unit/infer|lambda|lazy|let|let\\*|let\\*\\-values|let\\-syntax|let\\-syntaxes|let\\-values|let/cc|let/ec|letrec|letrec\\-syntax|letrec\\-syntaxes|letrec\\-syntaxes\\+values|letrec\\-values|lib|link|local|local\\-require|log\\-debug|log\\-error|log\\-fatal|log\\-info|log\\-warning|match|match\\*|match\\*/derived|match\\-define|match\\-define\\-values|match\\-lambda|match\\-lambda\\*|match\\-lambda\\*\\*|match\\-let|match\\-let\\*|match\\-let\\*\\-values|match\\-let\\-values|match\\-letrec|match/derived|match/values|member\\-name\\-key|method\\-contract\\?|mixin|module|module\\*|module\\+|nand|new|nor|object\\-contract|object/c|only|only\\-in|only\\-meta\\-in|open|opt/c|or|overment|overment\\*|override|override\\*|override\\-final|override\\-final\\*|parameterize|parameterize\\*|parameterize\\-break|parametric\\->/c|place|place\\*|planet|prefix|prefix\\-in|prefix\\-out|private|private\\*|prompt\\-tag/c|protect\\-out|provide|provide\\-signature\\-elements|provide/contract|public|public\\*|public\\-final|public\\-final\\*|pubment|pubment\\*|quasiquote|quasisyntax|quasisyntax/loc|quote|quote\\-syntax|quote\\-syntax/prune|recontract\\-out|recursive\\-contract|relative\\-in|rename|rename\\-in|rename\\-inner|rename\\-out|rename\\-super|require|send|send\\*|send\\+|send\\-generic|send/apply|send/keyword\\-apply|set!|set!\\-values|set\\-field!|shared|stream|stream\\-cons|struct|struct\\*|struct\\-copy|struct\\-field\\-index|struct\\-out|struct/c|struct/ctc|struct/dc|submod|super|super\\-instantiate|super\\-make\\-object|super\\-new|syntax|syntax\\-case|syntax\\-case\\*|syntax\\-id\\-rules|syntax\\-rules|syntax/loc|tag|this|this\\%|thunk|thunk\\*|time|unconstrained\\-domain\\->|unit|unit\\-from\\-context|unit/c|unit/new\\-import\\-export|unit/s|unless|unquote|unquote\\-splicing|unsyntax|unsyntax\\-splicing|values/drop|when|with\\-continuation\\-mark|with\\-contract|with\\-handlers|with\\-handlers\\*|with\\-method|with\\-syntax|λ)(?=[()\\[\\]{}\",'`;\\ \\s])",
85
+ "name": "entity.name"
86
+ },
87
+ {
88
+ "comment": "identifiers",
89
+ "match": "([^#()\\[\\]{}\",'`; \\s]([^()\\[\\]{}\",'`;\\ \\s])*)",
90
+ "name": "none"
91
+ },
92
+ {
93
+ "comment": "; comments begins with ; and extends to the end of the line",
94
+ "match": ";.*$",
95
+ "name": "comment"
96
+ },
97
+ {
98
+ "comment": false,
99
+ "match": "\\#;",
100
+ "name": "comment"
101
+ }
102
+ ],
103
+ "repository": {
104
+ "multilinecomment": {
105
+ "begin": "\\#\\|",
106
+ "contentName": "comment",
107
+ "end": "\\|\\#",
108
+ "name": "comment",
109
+ "patterns": [
110
+ {
111
+ "include": "#multilinecomment",
112
+ "name": "comment"
113
+ }
114
+ ]
115
+ }
116
+ },
117
+ "scopeName": "source.racket",
118
+ "uuid": "c5160d97-e918-473b-a594-3d22afffc0a7"
119
+ }
@@ -0,0 +1,647 @@
1
+ {
2
+ "fileTypes": [
3
+ "reb",
4
+ "r",
5
+ "r2",
6
+ "r3"
7
+ ],
8
+ "firstLineMatch": "^\\s*(?i)(REBOL)\\s\\[",
9
+ "foldingStartMarker": "^([^;]*[\\[\\{\\(])+\\s*(\\;.*)?$",
10
+ "foldingStopMarker": "^\\s*[\\]\\}\\)].*$",
11
+ "name": "REBOL",
12
+ "patterns": [
13
+ {
14
+ "include": "#comments"
15
+ },
16
+ {
17
+ "include": "#type-literal"
18
+ },
19
+ {
20
+ "include": "#strings"
21
+ },
22
+ {
23
+ "include": "#values"
24
+ },
25
+ {
26
+ "include": "#words"
27
+ }
28
+ ],
29
+ "repository": {
30
+ "binary-base-sixteen": {
31
+ "begin": "(16)?#\\{",
32
+ "beginCaptures": {
33
+ "0": {
34
+ "name": "string.binary.prefix"
35
+ }
36
+ },
37
+ "end": "\\}",
38
+ "endCaptures": {
39
+ "0": {
40
+ "name": "string.binary.prefix"
41
+ }
42
+ },
43
+ "name": "binary.base16.rebol",
44
+ "patterns": [
45
+ {
46
+ "match": "[0-9a-fA-F]{2,2}",
47
+ "name": "string.binary.base16.rebol"
48
+ },
49
+ {
50
+ "match": ".",
51
+ "name": "invalid.illegal.rebol"
52
+ }
53
+ ]
54
+ },
55
+ "binary-base-sixtyfour": {
56
+ "begin": "64#\\{",
57
+ "beginCaptures": {
58
+ "0": {
59
+ "name": "string.binary.prefix"
60
+ }
61
+ },
62
+ "end": "\\}",
63
+ "endCaptures": {
64
+ "0": {
65
+ "name": "string.binary.prefix"
66
+ }
67
+ },
68
+ "name": "binary.base64.rebol",
69
+ "patterns": [
70
+ {
71
+ "match": "[0-9a-zA-Z+/=\\s]*",
72
+ "name": "string.binary.base64.rebol"
73
+ },
74
+ {
75
+ "match": ".",
76
+ "name": "invalid.illegal.rebol"
77
+ }
78
+ ]
79
+ },
80
+ "binary-base-two": {
81
+ "begin": "2#\\{",
82
+ "beginCaptures": {
83
+ "0": {
84
+ "name": "string.binary.prefix"
85
+ }
86
+ },
87
+ "end": "\\}",
88
+ "endCaptures": {
89
+ "0": {
90
+ "name": "string.binary.prefix"
91
+ }
92
+ },
93
+ "name": "binary.base2.rebol",
94
+ "patterns": [
95
+ {
96
+ "match": "([01]\\s*){8}",
97
+ "name": "string.binary.base2.rebol"
98
+ },
99
+ {
100
+ "match": ".",
101
+ "name": "invalid.illegal.rebol"
102
+ }
103
+ ]
104
+ },
105
+ "character": {
106
+ "match": "#\"(\\^(\\(([0-9a-fA-F]+|del)\\)|.)|[^\\^\\\"])\"",
107
+ "name": "string.character.rebol"
108
+ },
109
+ "character-html": {
110
+ "captures": {
111
+ "0": {
112
+ "name": "punctuation.definition.entity.html"
113
+ },
114
+ "2": {
115
+ "name": "punctuation.definition.entity.html"
116
+ }
117
+ },
118
+ "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)",
119
+ "name": "constant.character.entity.html"
120
+ },
121
+ "character-inline": {
122
+ "match": "\\^(\\(([0-9a-fA-F]+|del)\\)|.)",
123
+ "name": "string.escaped.rebol"
124
+ },
125
+ "comment-docline": {
126
+ "match": ";-.*?(?=\\%>|$)",
127
+ "name": "comment.docline.rebol"
128
+ },
129
+ "comment-line": {
130
+ "match": ";.*?(?=\\%>|$)",
131
+ "name": "comment.line.rebol"
132
+ },
133
+ "comment-multiline-block": {
134
+ "begin": "comment\\s*\\[",
135
+ "end": "\\]",
136
+ "name": "comment.multiline.rebol",
137
+ "patterns": [
138
+ {
139
+ "include": "#comment-multiline-block-string"
140
+ },
141
+ {
142
+ "include": "#comment-multiline-string-nested"
143
+ },
144
+ {
145
+ "include": "#comment-multiline-block-nested"
146
+ }
147
+ ]
148
+ },
149
+ "comment-multiline-block-nested": {
150
+ "begin": "\\[",
151
+ "end": "\\]",
152
+ "name": "comment.multiline.rebol",
153
+ "patterns": [
154
+ {
155
+ "include": "#comment-multiline-block-string"
156
+ },
157
+ {
158
+ "include": "#comment-multiline-string-nested"
159
+ },
160
+ {
161
+ "include": "#comment-multiline-block-nested"
162
+ }
163
+ ]
164
+ },
165
+ "comment-multiline-block-string": {
166
+ "begin": "\"",
167
+ "end": "\"",
168
+ "name": "comment.multiline.rebol",
169
+ "patterns": [
170
+ {
171
+ "match": "\\^."
172
+ }
173
+ ]
174
+ },
175
+ "comment-multiline-string": {
176
+ "begin": "comment\\s*\\{",
177
+ "end": "\\}",
178
+ "name": "comment.multiline.rebol",
179
+ "patterns": [
180
+ {
181
+ "match": "\\^."
182
+ },
183
+ {
184
+ "include": "#comment-multiline-string-nested"
185
+ }
186
+ ]
187
+ },
188
+ "comment-multiline-string-nested": {
189
+ "begin": "\\{",
190
+ "end": "\\}",
191
+ "name": "comment.multiline.rebol",
192
+ "patterns": [
193
+ {
194
+ "match": "\\^."
195
+ },
196
+ {
197
+ "include": "#comment-multiline-string-nested"
198
+ }
199
+ ]
200
+ },
201
+ "comment-todo": {
202
+ "match": ";@@.*?(?=\\%>|$)",
203
+ "name": "comment.todo.rebol"
204
+ },
205
+ "comments": {
206
+ "patterns": [
207
+ {
208
+ "include": "#comment-docline"
209
+ },
210
+ {
211
+ "include": "#comment-todo"
212
+ },
213
+ {
214
+ "include": "#comment-line"
215
+ },
216
+ {
217
+ "include": "#comment-multiline-string"
218
+ },
219
+ {
220
+ "include": "#comment-multiline-block"
221
+ }
222
+ ]
223
+ },
224
+ "doublequotedString": {
225
+ "begin": "\"",
226
+ "end": "\"",
227
+ "name": "string.quoted.double.xml"
228
+ },
229
+ "function-definition": {
230
+ "begin": "([A-Za-z=\\!\\?\\*_\\+][A-Za-z0-9=_\\-\\!\\?\\*\\+\\.]*):\\s+(?i)(function|func|funct|routine|has)\\s*(\\[)",
231
+ "beginCaptures": {
232
+ "1": {
233
+ "name": "support.variable.function.rebol"
234
+ },
235
+ "2": {
236
+ "name": "keyword.function"
237
+ },
238
+ "3": {
239
+ "name": "support.strong"
240
+ }
241
+ },
242
+ "end": "]",
243
+ "endCaptures": {
244
+ "0": {
245
+ "name": "support.strong"
246
+ }
247
+ },
248
+ "name": "function.definition",
249
+ "patterns": [
250
+ {
251
+ "include": "#function-definition-block"
252
+ },
253
+ {
254
+ "include": "#comments"
255
+ },
256
+ {
257
+ "include": "#strings"
258
+ },
259
+ {
260
+ "include": "#word-setword"
261
+ },
262
+ {
263
+ "include": "#word-datatype"
264
+ },
265
+ {
266
+ "include": "#word-refinement"
267
+ }
268
+ ]
269
+ },
270
+ "function-definition-block": {
271
+ "begin": "\\[",
272
+ "end": "]",
273
+ "name": "function.definition.block",
274
+ "patterns": [
275
+ {
276
+ "include": "#comments"
277
+ },
278
+ {
279
+ "include": "#word-datatype"
280
+ }
281
+ ]
282
+ },
283
+ "function-definition-does": {
284
+ "captures": {
285
+ "1": {
286
+ "name": "support.variable.function.rebol"
287
+ },
288
+ "2": {
289
+ "name": "keyword.function"
290
+ }
291
+ },
292
+ "match": "([A-Za-z=\\!\\?\\*_\\+][A-Za-z0-9=_\\-\\!\\?\\*\\+\\.]*):\\s+(?i)(does|context)(?=\\s*|\\[)",
293
+ "name": "function.definition.does"
294
+ },
295
+ "parens": {
296
+ "match": "(\\[|\\]|\\(|\\))",
297
+ "name": "keyword.operator.comparison"
298
+ },
299
+ "rsp-tag": {
300
+ "begin": "<%=",
301
+ "end": "%>",
302
+ "name": "source.rebol",
303
+ "patterns": [
304
+ {
305
+ "include": "source.rebol"
306
+ }
307
+ ]
308
+ },
309
+ "singlequotedString": {
310
+ "begin": "'",
311
+ "end": "'",
312
+ "name": "string.quoted.single.xml"
313
+ },
314
+ "string-email": {
315
+ "match": "[^\\s\\n:/\\[\\]\\(\\)]+@[^\\s\\n:/\\[\\]\\(\\)]+",
316
+ "name": "string.email.rebol"
317
+ },
318
+ "string-file": {
319
+ "match": "%[^\\s\\n\\[\\]\\(\\)]+",
320
+ "name": "string.file.rebol"
321
+ },
322
+ "string-file-quoted": {
323
+ "begin": "%\"",
324
+ "beginCaptures": {
325
+ "0": {
326
+ "name": "string.file.quoted.rebol"
327
+ }
328
+ },
329
+ "end": "\"",
330
+ "endCaptures": {
331
+ "0": {
332
+ "name": "string.file.quoted.rebol"
333
+ }
334
+ },
335
+ "name": "string.file.quoted.rebol",
336
+ "patterns": [
337
+ {
338
+ "match": "%[A-Fa-f0-9]{2}",
339
+ "name": "string.escape.ssraw"
340
+ }
341
+ ]
342
+ },
343
+ "string-issue": {
344
+ "match": "#[^\\s\\n\\[\\]\\(\\)\\/]*",
345
+ "name": "string.issue.rebol"
346
+ },
347
+ "string-multiline": {
348
+ "begin": "\\{",
349
+ "end": "\\}",
350
+ "name": "string.multiline.rebol",
351
+ "patterns": [
352
+ {
353
+ "include": "#rsp-tag"
354
+ },
355
+ {
356
+ "include": "#character-inline"
357
+ },
358
+ {
359
+ "include": "#character-html"
360
+ },
361
+ {
362
+ "include": "#string-nested-multiline"
363
+ }
364
+ ]
365
+ },
366
+ "string-nested-multiline": {
367
+ "begin": "\\{",
368
+ "end": "\\}",
369
+ "name": "string.multiline.rebol",
370
+ "patterns": [
371
+ {
372
+ "include": "#string-nested-multiline"
373
+ }
374
+ ]
375
+ },
376
+ "string-quoted": {
377
+ "begin": "\"",
378
+ "end": "\"",
379
+ "name": "string.rebol",
380
+ "patterns": [
381
+ {
382
+ "include": "#rsp-tag"
383
+ },
384
+ {
385
+ "include": "#character-inline"
386
+ },
387
+ {
388
+ "include": "#character-html"
389
+ }
390
+ ]
391
+ },
392
+ "string-tag": {
393
+ "begin": "<(?:\\/|%\\=?\\ )?(?:([-_a-zA-Z0-9]+):)?([-_a-zA-Z0-9:]+)",
394
+ "beginCaptures": {
395
+ "0": {
396
+ "name": "entity.other.namespace.xml"
397
+ },
398
+ "1": {
399
+ "name": "entity.name.tag.xml"
400
+ }
401
+ },
402
+ "end": "(?:\\s/|\\ %)?>",
403
+ "name": "entity.tag.rebol",
404
+ "patterns": [
405
+ {
406
+ "captures": {
407
+ "0": {
408
+ "name": "entity.other.namespace.xml"
409
+ },
410
+ "1": {
411
+ "name": "entity.other.attribute-name.xml"
412
+ }
413
+ },
414
+ "match": " (?:([-_a-zA-Z0-9]+):)?([_a-zA-Z-]+)"
415
+ },
416
+ {
417
+ "include": "#singlequotedString"
418
+ },
419
+ {
420
+ "include": "#doublequotedString"
421
+ }
422
+ ]
423
+ },
424
+ "string-url": {
425
+ "match": "[A-Za-z][\\w]{1,9}:(/{0,3}[^\\s\\n\\[\\]\\(\\)]+|//)",
426
+ "name": "string.url.rebol"
427
+ },
428
+ "strings": {
429
+ "patterns": [
430
+ {
431
+ "include": "#character"
432
+ },
433
+ {
434
+ "include": "#string-quoted"
435
+ },
436
+ {
437
+ "include": "#string-multiline"
438
+ },
439
+ {
440
+ "include": "#string-tag"
441
+ },
442
+ {
443
+ "include": "#string-file-quoted"
444
+ },
445
+ {
446
+ "include": "#string-file"
447
+ },
448
+ {
449
+ "include": "#string-url"
450
+ },
451
+ {
452
+ "include": "#string-email"
453
+ },
454
+ {
455
+ "include": "#binary-base-two"
456
+ },
457
+ {
458
+ "include": "#binary-base-sixtyfour"
459
+ },
460
+ {
461
+ "include": "#binary-base-sixteen"
462
+ },
463
+ {
464
+ "include": "#string-issue"
465
+ }
466
+ ]
467
+ },
468
+ "type-literal": {
469
+ "begin": "#\\[(?:(\\w+!)|(true|false|none))",
470
+ "beginCaptures": {
471
+ "0": {
472
+ "name": "native.datatype.rebol"
473
+ },
474
+ "1": {
475
+ "name": "logic.rebol"
476
+ }
477
+ },
478
+ "end": "]",
479
+ "name": "series.literal.rebol",
480
+ "patterns": [
481
+ {
482
+ "include": "$self"
483
+ }
484
+ ]
485
+ },
486
+ "value-date": {
487
+ "captures": {
488
+ "1": {
489
+ "name": "time.rebol"
490
+ }
491
+ },
492
+ "match": "\\d{1,2}\\-([A-Za-z]{3}|January|Febuary|March|April|May|June|July|August|September|October|November|December)\\-\\d{4}(/\\d{1,2}[:]\\d{1,2}([:]\\d{1,2}(\\.\\d{1,5})?)?([+-]\\d{1,2}[:]\\d{1,2})?)?",
493
+ "name": "date.rebol"
494
+ },
495
+ "value-money": {
496
+ "match": "(?<!\\w)-?[a-zA-Z]*\\$\\d+(\\.\\d*)?",
497
+ "name": "number.money.rebol"
498
+ },
499
+ "value-number": {
500
+ "match": "(?<!\\w|\\.)([-+]?((\\d+\\.?\\d*)|(\\.\\d+))((e|E)(\\+|-)?\\d+)?)(?=\\W)",
501
+ "name": "constant.numeric.rebol"
502
+ },
503
+ "value-number-hex": {
504
+ "captures": {
505
+ "1": {
506
+ "name": "constant.numeric.rebol"
507
+ }
508
+ },
509
+ "match": "(?<=^|\\s|\\[|\\]|\\)|\\()([0-9A-F]+)h(?=\\s|\\)|\\]|/|;|\\\"|{\\[|\\()",
510
+ "name": "number.rebol"
511
+ },
512
+ "value-pair": {
513
+ "match": "(?<!\\w)[-+]?[[:digit:]]+[x][[:digit:]]+",
514
+ "name": "constant.pair.rebol"
515
+ },
516
+ "value-time": {
517
+ "match": "([-+]?[:]\\d{1,2}([aApP][mM])?)|([-+]?[:]\\d{1,2}[.]\\d{0,9})|([-+]?\\d{1,2}[:]\\d{1,2}([aApP][mM])?)|([-+]?\\d{1,2}[:]\\d{1,2}[.]\\d{0,9})|([-+]?\\d{1,2}[:]\\d{1,2}[:]\\d{1,2}([.]\\d{0,9})?([aApP][mM])?)(?!\\w)",
518
+ "name": "time.rebol"
519
+ },
520
+ "value-tuple": {
521
+ "match": "([[:digit:]]{0,3}[.][[:digit:]]{0,3}[.][[:digit:]]{0,3}([.][[:digit:]]{0,3}){0,7})",
522
+ "name": "tuple.rebol"
523
+ },
524
+ "values": {
525
+ "patterns": [
526
+ {
527
+ "include": "#value-tuple"
528
+ },
529
+ {
530
+ "include": "#value-number"
531
+ },
532
+ {
533
+ "include": "#value-pair"
534
+ },
535
+ {
536
+ "include": "#value-money"
537
+ },
538
+ {
539
+ "include": "#value-number-hex"
540
+ },
541
+ {
542
+ "include": "#value-date"
543
+ },
544
+ {
545
+ "include": "#value-time"
546
+ }
547
+ ]
548
+ },
549
+ "word": {
550
+ "match": "(?<=^|\\s|\\[|\\]|\\)|\\()[A-Za-z_\\*\\?=_-]+[A-Za-z_0-9=_\\-\\!\\?\\*\\+\\.~:']*(?=\\s|\\)|\\]|/|;|\\\"|{)",
551
+ "name": "word.rebol"
552
+ },
553
+ "word-datatype": {
554
+ "match": "(?<=^|\\s|\\[|\\]|\\)|\\()([A-Za-z_0-9=_\\-\\?\\*\\+\\.~:']+\\!|as|to)(?=\\s|\\)|\\])",
555
+ "name": "support.type.rebol"
556
+ },
557
+ "word-getword": {
558
+ "match": "(?<=^|\\s|\\[|\\]|\\)|\\():[A-Za-z_0-9=_\\-\\!\\?\\*\\+\\.~:']+(?=\\s|\\)|\\])",
559
+ "name": "support.variable.getword.rebol"
560
+ },
561
+ "word-group1": {
562
+ "match": "(?<=^|\\s|\\[|\\]|\\)|\\()(?i)(native|alias|all|any|as-string|as-binary|bind|bound\\?|case|catch|checksum|comment|debase|dehex|exclude|difference|disarm|enbase|form|free|get|get-env|in|intersect|minimum-of|maximum-of|mold|new-line|new-line\\?|not|now|prin|print|reduce|compose|construct|reverse|save|script\\?|set|shift|throw|to-hex|trace|try|type\\?|union|charset|unique|unprotect|unset|use|value\\?|compress|decompress|secure|open|close|read|read-io|write-io|write|update|query|wait|input\\?|exp|log-10|log-2|log-e|square-root|cosine|sine|tangent|arccosine|arcsine|arctangent|protect|lowercase|uppercase|entab|detab|connected\\?|browse|launch|stats|get-modes|set-modes|to-local-file|to-rebol-file|encloak|decloak|create-link|do-browser|bind\\?|hide|draw|show|size-text|textinfo|offset-to-caret|caret-to-offset|local-request-file|rgb-to-hsv|hsv-to-rgb|crypt-strength\\?|dh-make-key|dh-generate-key|dh-compute-key|dsa-make-key|dsa-generate-key|dsa-make-signature|dsa-verify-signature|rsa-make-key|rsa-generate-key|rsa-encrypt)(?=\\s|\\(|\\[|/|;|\\\"|{)",
563
+ "name": "support.function.rebol"
564
+ },
565
+ "word-group2": {
566
+ "match": "(?<=^|\\s|\\[|\\]|\\)|\\()(?i)(if|either|unless|else|for|foreach|forall|remove-each|until|while|case|loop|repeat|switch)(?=\\s|\\(|\\[|/|;|\\\"|{)",
567
+ "name": "support.function.group2.rebol"
568
+ },
569
+ "word-group3": {
570
+ "match": "(?<=^|\\s|\\[|\\]|\\)|\\()(?i)(at|insert|append|tail|head|back|repend|next)(?=\\s|\\(|\\[|\\)|\\]|/|;|\\\"|{)",
571
+ "name": "keyword.series.rebol"
572
+ },
573
+ "word-group4": {
574
+ "match": "(?<=^|\\s|\\[|\\]|\\)|\\()(?i)(off|false|none|on|true|yes|no|null)(?=\\s|\\(|\\[|\\)|\\]|;|\\\"|{)",
575
+ "name": "logic.rebol"
576
+ },
577
+ "word-group5": {
578
+ "match": "(?<=^|\\s|\\[|\\]|\\)|\\()(?i)(halt|quit|exit|return|break|quit)(?=\\s|\\(|\\[|/|;|\\\"|{)",
579
+ "name": "keyword.breaks.rebol"
580
+ },
581
+ "word-litword": {
582
+ "match": "(?<=^|\\s|\\[|\\]|\\)|\\()'[A-Za-z_0-9=_\\-\\!\\?\\*\\+\\.~:']+(?=\\s|\\)|\\])",
583
+ "name": "keyword.litword.rebol"
584
+ },
585
+ "word-operator": {
586
+ "match": "(==|!=|<=|>=|<>|<|>|>>|>>>|<<|\\+|-|=|\\*|%|/|\\b(and|or|xor))(?=\\s|\\(|\\[|\\)|\\]|/|;|\\\"|{)",
587
+ "name": "keyword.operator.comparison"
588
+ },
589
+ "word-refinement": {
590
+ "match": "/[^\\s\\n\\[\\]\\(\\)]*",
591
+ "name": "keyword.refinement.rebol"
592
+ },
593
+ "word-setword": {
594
+ "match": "[^:\\s\\n\\[\\]\\(\\)]*:",
595
+ "name": "support.variable.setword.rebol"
596
+ },
597
+ "words": {
598
+ "name": "word.rebol",
599
+ "patterns": [
600
+ {
601
+ "include": "#function-definition"
602
+ },
603
+ {
604
+ "include": "#function-definition-does"
605
+ },
606
+ {
607
+ "include": "#word-refinement"
608
+ },
609
+ {
610
+ "include": "#word-operator"
611
+ },
612
+ {
613
+ "include": "#word-getword"
614
+ },
615
+ {
616
+ "include": "#word-setword"
617
+ },
618
+ {
619
+ "include": "#word-refinement"
620
+ },
621
+ {
622
+ "include": "#word-datatype"
623
+ },
624
+ {
625
+ "include": "#word-group4"
626
+ },
627
+ {
628
+ "include": "#word-group1"
629
+ },
630
+ {
631
+ "include": "#word-group2"
632
+ },
633
+ {
634
+ "include": "#word-group3"
635
+ },
636
+ {
637
+ "include": "#word-group5"
638
+ },
639
+ {
640
+ "include": "#word"
641
+ }
642
+ ]
643
+ }
644
+ },
645
+ "scopeName": "source.rebol",
646
+ "uuid": "39c6f621-44b8-40fe-95d4-ed7dca2b39ac"
647
+ }