repl-sdk 0.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/dist/apl-fqmucPXA.js +141 -0
  2. package/dist/apl-fqmucPXA.js.map +1 -0
  3. package/dist/asciiarmor-DucZyvP0.js +57 -0
  4. package/dist/asciiarmor-DucZyvP0.js.map +1 -0
  5. package/dist/asn1-BnOEsgAm.js +145 -0
  6. package/dist/asn1-BnOEsgAm.js.map +1 -0
  7. package/dist/assets/tar-worker-CxTcoQcr.js +593 -0
  8. package/dist/assets/tar-worker-CxTcoQcr.js.map +1 -0
  9. package/dist/asterisk-QAlztEwS.js +346 -0
  10. package/dist/asterisk-QAlztEwS.js.map +1 -0
  11. package/dist/brainfuck-DZVCuF_t.js +54 -0
  12. package/dist/brainfuck-DZVCuF_t.js.map +1 -0
  13. package/dist/clike-CTYGlS6x.js +800 -0
  14. package/dist/clike-CTYGlS6x.js.map +1 -0
  15. package/dist/clojure-BhXMqnxz.js +850 -0
  16. package/dist/clojure-BhXMqnxz.js.map +1 -0
  17. package/dist/cmake-BGaNd9E7.js +72 -0
  18. package/dist/cmake-BGaNd9E7.js.map +1 -0
  19. package/dist/cobol-4yqQntpt.js +121 -0
  20. package/dist/cobol-4yqQntpt.js.map +1 -0
  21. package/dist/codemirror-De3S70Np.js +2912 -0
  22. package/dist/codemirror-De3S70Np.js.map +1 -0
  23. package/dist/coffeescript-D2dXvhEc.js +309 -0
  24. package/dist/coffeescript-D2dXvhEc.js.map +1 -0
  25. package/dist/commonlisp-CF_VNHQR.js +131 -0
  26. package/dist/commonlisp-CF_VNHQR.js.map +1 -0
  27. package/dist/crystal-DyuLTqLs.js +399 -0
  28. package/dist/crystal-DyuLTqLs.js.map +1 -0
  29. package/dist/css-DkSyTW67.js +1773 -0
  30. package/dist/css-DkSyTW67.js.map +1 -0
  31. package/dist/cypher-Dlu_3r4V.js +122 -0
  32. package/dist/cypher-Dlu_3r4V.js.map +1 -0
  33. package/dist/d-UURgV0Ux.js +180 -0
  34. package/dist/d-UURgV0Ux.js.map +1 -0
  35. package/dist/diff-B_Bi2Crb.js +26 -0
  36. package/dist/diff-B_Bi2Crb.js.map +1 -0
  37. package/dist/dockerfile-Bvk733Ga.js +202 -0
  38. package/dist/dockerfile-Bvk733Ga.js.map +1 -0
  39. package/dist/dtd-Dy74G54E.js +115 -0
  40. package/dist/dtd-Dy74G54E.js.map +1 -0
  41. package/dist/dylan-TSb-Nfix.js +315 -0
  42. package/dist/dylan-TSb-Nfix.js.map +1 -0
  43. package/dist/ebnf-4fKAGW3a.js +141 -0
  44. package/dist/ebnf-4fKAGW3a.js.map +1 -0
  45. package/dist/ecl-B59qGGVg.js +179 -0
  46. package/dist/ecl-B59qGGVg.js.map +1 -0
  47. package/dist/eiffel-Dze7nlu3.js +135 -0
  48. package/dist/eiffel-Dze7nlu3.js.map +1 -0
  49. package/dist/elm-DG7jkhNZ.js +177 -0
  50. package/dist/elm-DG7jkhNZ.js.map +1 -0
  51. package/dist/erlang-BO6gOnGA.js +675 -0
  52. package/dist/erlang-BO6gOnGA.js.map +1 -0
  53. package/dist/factor-CMxFHDqz.js +66 -0
  54. package/dist/factor-CMxFHDqz.js.map +1 -0
  55. package/dist/fcl-CDDUNjTj.js +142 -0
  56. package/dist/fcl-CDDUNjTj.js.map +1 -0
  57. package/dist/forth-B9D2JCeE.js +117 -0
  58. package/dist/forth-B9D2JCeE.js.map +1 -0
  59. package/dist/fortran-CAG2BFbe.js +468 -0
  60. package/dist/fortran-CAG2BFbe.js.map +1 -0
  61. package/dist/gas-0Aw8zDr5.js +294 -0
  62. package/dist/gas-0Aw8zDr5.js.map +1 -0
  63. package/dist/gherkin-DhZlEZiy.js +116 -0
  64. package/dist/gherkin-DhZlEZiy.js.map +1 -0
  65. package/dist/gjs-DfguZDLq.js +173 -0
  66. package/dist/gjs-DfguZDLq.js.map +1 -0
  67. package/dist/gmd-Yas-Oo8k.js +163 -0
  68. package/dist/gmd-Yas-Oo8k.js.map +1 -0
  69. package/dist/groovy-CpwJiBl7.js +224 -0
  70. package/dist/groovy-CpwJiBl7.js.map +1 -0
  71. package/dist/haskell-ySd-OUo8.js +460 -0
  72. package/dist/haskell-ySd-OUo8.js.map +1 -0
  73. package/dist/haxe-7MlzfeYV.js +515 -0
  74. package/dist/haxe-7MlzfeYV.js.map +1 -0
  75. package/dist/hbs-CxcmWxSJ.js +62 -0
  76. package/dist/hbs-CxcmWxSJ.js.map +1 -0
  77. package/dist/http-BqypyemW.js +80 -0
  78. package/dist/http-BqypyemW.js.map +1 -0
  79. package/dist/idl-4HIGJlDI.js +986 -0
  80. package/dist/idl-4HIGJlDI.js.map +1 -0
  81. package/dist/index-B3Meoznj.js +118 -0
  82. package/dist/index-B3Meoznj.js.map +1 -0
  83. package/dist/index-BQyfDUUx.js +692 -0
  84. package/dist/index-BQyfDUUx.js.map +1 -0
  85. package/dist/index-BRDroAD8.js +305 -0
  86. package/dist/index-BRDroAD8.js.map +1 -0
  87. package/dist/index-BRMAzRyM.js +179 -0
  88. package/dist/index-BRMAzRyM.js.map +1 -0
  89. package/dist/index-Bb8uYQgv.js +927 -0
  90. package/dist/index-Bb8uYQgv.js.map +1 -0
  91. package/dist/index-BlOjO66K.js +17618 -0
  92. package/dist/index-BlOjO66K.js.map +1 -0
  93. package/dist/index-BoGWnSNL.js +706 -0
  94. package/dist/index-BoGWnSNL.js.map +1 -0
  95. package/dist/index-BsRrEiOu.js +98 -0
  96. package/dist/index-BsRrEiOu.js.map +1 -0
  97. package/dist/index-C2sFZMth.js +391 -0
  98. package/dist/index-C2sFZMth.js.map +1 -0
  99. package/dist/index-C7xwOjmS.js +291 -0
  100. package/dist/index-C7xwOjmS.js.map +1 -0
  101. package/dist/index-CA3lFUx6.js +315 -0
  102. package/dist/index-CA3lFUx6.js.map +1 -0
  103. package/dist/index-CB-pPTIf.js +98 -0
  104. package/dist/index-CB-pPTIf.js.map +1 -0
  105. package/dist/index-CCa6x1FE.js +386 -0
  106. package/dist/index-CCa6x1FE.js.map +1 -0
  107. package/dist/index-CD4DINI1.js +158 -0
  108. package/dist/index-CD4DINI1.js.map +1 -0
  109. package/dist/index-CE0B_fcG.js +328 -0
  110. package/dist/index-CE0B_fcG.js.map +1 -0
  111. package/dist/index-CVGAEPMV.js +2139 -0
  112. package/dist/index-CVGAEPMV.js.map +1 -0
  113. package/dist/index-CmaT2afn.js +332 -0
  114. package/dist/index-CmaT2afn.js.map +1 -0
  115. package/dist/index-D8sUxXp5.js +83 -0
  116. package/dist/index-D8sUxXp5.js.map +1 -0
  117. package/dist/index-DIz8Vpn-.js +737 -0
  118. package/dist/index-DIz8Vpn-.js.map +1 -0
  119. package/dist/index-DNP1xT-S.js +408 -0
  120. package/dist/index-DNP1xT-S.js.map +1 -0
  121. package/dist/index-DOAqdvnQ.js +862 -0
  122. package/dist/index-DOAqdvnQ.js.map +1 -0
  123. package/dist/index-DVUMFbgi.js +152 -0
  124. package/dist/index-DVUMFbgi.js.map +1 -0
  125. package/dist/index-VeTBKRVd.js +83 -0
  126. package/dist/index-VeTBKRVd.js.map +1 -0
  127. package/dist/index-dXZeR7Bx.js +1767 -0
  128. package/dist/index-dXZeR7Bx.js.map +1 -0
  129. package/dist/index-gtqbIb6T.js +62 -0
  130. package/dist/index-gtqbIb6T.js.map +1 -0
  131. package/dist/index-pN_pUAQ7.js +2426 -0
  132. package/dist/index-pN_pUAQ7.js.map +1 -0
  133. package/dist/index-wasu5VX0.js +1150 -0
  134. package/dist/index-wasu5VX0.js.map +1 -0
  135. package/dist/javascript-Bt8B7yTi.js +993 -0
  136. package/dist/javascript-Bt8B7yTi.js.map +1 -0
  137. package/dist/julia-Bs6JJhYG.js +408 -0
  138. package/dist/julia-Bs6JJhYG.js.map +1 -0
  139. package/dist/livescript-DmzgM3Yt.js +297 -0
  140. package/dist/livescript-DmzgM3Yt.js.map +1 -0
  141. package/dist/lua-8cJgIlqe.js +257 -0
  142. package/dist/lua-8cJgIlqe.js.map +1 -0
  143. package/dist/mathematica-DNLOL9PQ.js +111 -0
  144. package/dist/mathematica-DNLOL9PQ.js.map +1 -0
  145. package/dist/mbox-Ga7d4MMN.js +118 -0
  146. package/dist/mbox-Ga7d4MMN.js.map +1 -0
  147. package/dist/mirc-Dma3B8rS.js +108 -0
  148. package/dist/mirc-Dma3B8rS.js.map +1 -0
  149. package/dist/mllike-DHn7xckP.js +335 -0
  150. package/dist/mllike-DHn7xckP.js.map +1 -0
  151. package/dist/modelica-0d55jYY0.js +148 -0
  152. package/dist/modelica-0d55jYY0.js.map +1 -0
  153. package/dist/mscgen-DdqZYINH.js +136 -0
  154. package/dist/mscgen-DdqZYINH.js.map +1 -0
  155. package/dist/mumps-Btr8VblO.js +94 -0
  156. package/dist/mumps-Btr8VblO.js.map +1 -0
  157. package/dist/nginx-DTDtBDVN.js +142 -0
  158. package/dist/nginx-DTDtBDVN.js.map +1 -0
  159. package/dist/nsis-3zG7tgur.js +63 -0
  160. package/dist/nsis-3zG7tgur.js.map +1 -0
  161. package/dist/ntriples-CvgOYMpL.js +154 -0
  162. package/dist/ntriples-CvgOYMpL.js.map +1 -0
  163. package/dist/octave-DYBj3-tl.js +201 -0
  164. package/dist/octave-DYBj3-tl.js.map +1 -0
  165. package/dist/oz-R_e8WMIi.js +232 -0
  166. package/dist/oz-R_e8WMIi.js.map +1 -0
  167. package/dist/parse-CAqQaKsh.js +21685 -0
  168. package/dist/parse-CAqQaKsh.js.map +1 -0
  169. package/dist/pascal-GD8iposT.js +106 -0
  170. package/dist/pascal-GD8iposT.js.map +1 -0
  171. package/dist/perl-DL9mHpoi.js +1106 -0
  172. package/dist/perl-DL9mHpoi.js.map +1 -0
  173. package/dist/pig-C_4T4YIV.js +102 -0
  174. package/dist/pig-C_4T4YIV.js.map +1 -0
  175. package/dist/powershell-B0suO7Vd.js +329 -0
  176. package/dist/powershell-B0suO7Vd.js.map +1 -0
  177. package/dist/properties-BR-vP1aU.js +59 -0
  178. package/dist/properties-BR-vP1aU.js.map +1 -0
  179. package/dist/protobuf-BxgpyhoW.js +78 -0
  180. package/dist/protobuf-BxgpyhoW.js.map +1 -0
  181. package/dist/pug-vHnWR0UE.js +406 -0
  182. package/dist/pug-vHnWR0UE.js.map +1 -0
  183. package/dist/puppet-Bdao66PW.js +138 -0
  184. package/dist/puppet-Bdao66PW.js.map +1 -0
  185. package/dist/python-BFGRmuZ9.js +427 -0
  186. package/dist/python-BFGRmuZ9.js.map +1 -0
  187. package/dist/q-CrbCVq4a.js +132 -0
  188. package/dist/q-CrbCVq4a.js.map +1 -0
  189. package/dist/r-V7nswm59.js +171 -0
  190. package/dist/r-V7nswm59.js.map +1 -0
  191. package/dist/render-app-island-B-i8rvGi.js +61 -0
  192. package/dist/render-app-island-B-i8rvGi.js.map +1 -0
  193. package/dist/repl-sdk.js +7 -0
  194. package/dist/repl-sdk.js.map +1 -0
  195. package/dist/rpm-C-DLY-If.js +110 -0
  196. package/dist/rpm-C-DLY-If.js.map +1 -0
  197. package/dist/ruby-JDKLJNK0.js +331 -0
  198. package/dist/ruby-JDKLJNK0.js.map +1 -0
  199. package/dist/sas-D2UG-yhZ.js +208 -0
  200. package/dist/sas-D2UG-yhZ.js.map +1 -0
  201. package/dist/scheme-BKzrkGJD.js +223 -0
  202. package/dist/scheme-BKzrkGJD.js.map +1 -0
  203. package/dist/shell-BlsXDxCn.js +223 -0
  204. package/dist/shell-BlsXDxCn.js.map +1 -0
  205. package/dist/sieve-CjwBwOY5.js +136 -0
  206. package/dist/sieve-CjwBwOY5.js.map +1 -0
  207. package/dist/simple-mode-DMneyfDu.js +131 -0
  208. package/dist/simple-mode-DMneyfDu.js.map +1 -0
  209. package/dist/smalltalk-BOIGQuhN.js +122 -0
  210. package/dist/smalltalk-BOIGQuhN.js.map +1 -0
  211. package/dist/solr-CwD7U71z.js +70 -0
  212. package/dist/solr-CwD7U71z.js.map +1 -0
  213. package/dist/sparql-DYskk2vE.js +250 -0
  214. package/dist/sparql-DYskk2vE.js.map +1 -0
  215. package/dist/spreadsheet-Bgtt3oLP.js +88 -0
  216. package/dist/spreadsheet-Bgtt3oLP.js.map +1 -0
  217. package/dist/sql-Cei9CMfk.js +343 -0
  218. package/dist/sql-Cei9CMfk.js.map +1 -0
  219. package/dist/stex-C1nZSzAw.js +231 -0
  220. package/dist/stex-C1nZSzAw.js.map +1 -0
  221. package/dist/stylus-BkS-boTH.js +566 -0
  222. package/dist/stylus-BkS-boTH.js.map +1 -0
  223. package/dist/swift-FRZi1uvB.js +292 -0
  224. package/dist/swift-FRZi1uvB.js.map +1 -0
  225. package/dist/tcl-CUcaCdmq.js +115 -0
  226. package/dist/tcl-CUcaCdmq.js.map +1 -0
  227. package/dist/textile-BnFpjsrl.js +415 -0
  228. package/dist/textile-BnFpjsrl.js.map +1 -0
  229. package/dist/tiddlywiki-CjprD-Qp.js +219 -0
  230. package/dist/tiddlywiki-CjprD-Qp.js.map +1 -0
  231. package/dist/tiki-DK9DOeWn.js +269 -0
  232. package/dist/tiki-DK9DOeWn.js.map +1 -0
  233. package/dist/toml-BOuWGMcf.js +77 -0
  234. package/dist/toml-BOuWGMcf.js.map +1 -0
  235. package/dist/troff-E1bJ0PPL.js +62 -0
  236. package/dist/troff-E1bJ0PPL.js.map +1 -0
  237. package/dist/ttcn-cfg-Dc39-fIP.js +134 -0
  238. package/dist/ttcn-cfg-Dc39-fIP.js.map +1 -0
  239. package/dist/ttcn-tKd4HLu4.js +193 -0
  240. package/dist/ttcn-tKd4HLu4.js.map +1 -0
  241. package/dist/turtle-Dq7-1WAf.js +125 -0
  242. package/dist/turtle-Dq7-1WAf.js.map +1 -0
  243. package/dist/vb-Dp90gtsv.js +197 -0
  244. package/dist/vb-Dp90gtsv.js.map +1 -0
  245. package/dist/vbscript-Bfn8O8I7.js +479 -0
  246. package/dist/vbscript-Bfn8O8I7.js.map +1 -0
  247. package/dist/velocity-BwIZK1TH.js +150 -0
  248. package/dist/velocity-BwIZK1TH.js.map +1 -0
  249. package/dist/verilog-CnT9bMk0.js +430 -0
  250. package/dist/verilog-CnT9bMk0.js.map +1 -0
  251. package/dist/vhdl-DCkMIyT9.js +159 -0
  252. package/dist/vhdl-DCkMIyT9.js.map +1 -0
  253. package/dist/webidl-BTLTThCm.js +205 -0
  254. package/dist/webidl-BTLTThCm.js.map +1 -0
  255. package/dist/xquery-BrBUuxMR.js +526 -0
  256. package/dist/xquery-BrBUuxMR.js.map +1 -0
  257. package/dist/yacas-b5lAVEIl.js +131 -0
  258. package/dist/yacas-b5lAVEIl.js.map +1 -0
  259. package/dist/z80-ClgwfNdB.js +93 -0
  260. package/dist/z80-ClgwfNdB.js.map +1 -0
  261. package/package.json +81 -9
  262. package/src/cache.js +138 -0
  263. package/src/cdn.js +93 -0
  264. package/src/codemirror.js +161 -0
  265. package/src/compilers/ember/gjs.js +212 -0
  266. package/src/compilers/ember/gmd.js +190 -0
  267. package/src/compilers/ember/hbs.js +98 -0
  268. package/src/compilers/ember/render-app-island.js +83 -0
  269. package/src/compilers/ember.js +166 -0
  270. package/src/compilers/js.js +32 -0
  271. package/src/compilers/markdown/build-compiler.js +151 -0
  272. package/src/compilers/markdown/const.js +2 -0
  273. package/src/compilers/markdown/heading-id.js +75 -0
  274. package/src/compilers/markdown/live-code-extraction.js +198 -0
  275. package/src/compilers/markdown/parse.js +22 -0
  276. package/src/compilers/markdown/parse.test.ts +363 -0
  277. package/src/compilers/markdown/sanitize-for-glimmer.js +26 -0
  278. package/src/compilers/markdown/types.ts +21 -0
  279. package/src/compilers/markdown/utils.js +78 -0
  280. package/src/compilers/markdown.js +125 -0
  281. package/src/compilers/mermaid.js +35 -0
  282. package/src/compilers/react.js +59 -0
  283. package/src/compilers/svelte.js +116 -0
  284. package/src/compilers/vue.js +58 -0
  285. package/src/compilers.js +108 -0
  286. package/src/es-module-shim.js +53 -0
  287. package/src/index.d.ts +53 -4
  288. package/src/index.js +744 -89
  289. package/src/npm.js +58 -0
  290. package/src/request.Request.test.ts +59 -0
  291. package/src/request.js +140 -0
  292. package/src/resolve.fromImports.test.ts +35 -0
  293. package/src/resolve.fromInternalImport.test.ts +69 -0
  294. package/src/resolve.js +352 -0
  295. package/src/resolve.resolvePath.test.ts +24 -0
  296. package/src/resolve.test.ts +23 -0
  297. package/src/specifier.js +71 -0
  298. package/src/specifier.test.ts +90 -0
  299. package/src/tar-worker.js +61 -0
  300. package/src/tar.js +76 -0
  301. package/src/types.ts +335 -58
  302. package/src/utils.js +28 -1
  303. package/declarations/index.d.ts +0 -73
  304. package/dist/index.js +0 -107
  305. package/dist/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erlang-BO6gOnGA.js","sources":["../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/erlang.js"],"sourcesContent":["/////////////////////////////////////////////////////////////////////////////\n// constants\n\nvar typeWords = [\n \"-type\", \"-spec\", \"-export_type\", \"-opaque\"];\n\nvar keywordWords = [\n \"after\",\"begin\",\"catch\",\"case\",\"cond\",\"end\",\"fun\",\"if\",\n \"let\",\"of\",\"query\",\"receive\",\"try\",\"when\"];\n\nvar separatorRE = /[\\->,;]/;\nvar separatorWords = [\n \"->\",\";\",\",\"];\n\nvar operatorAtomWords = [\n \"and\",\"andalso\",\"band\",\"bnot\",\"bor\",\"bsl\",\"bsr\",\"bxor\",\n \"div\",\"not\",\"or\",\"orelse\",\"rem\",\"xor\"];\n\nvar operatorSymbolRE = /[\\+\\-\\*\\/<>=\\|:!]/;\nvar operatorSymbolWords = [\n \"=\",\"+\",\"-\",\"*\",\"/\",\">\",\">=\",\"<\",\"=<\",\"=:=\",\"==\",\"=/=\",\"/=\",\"||\",\"<-\",\"!\"];\n\nvar openParenRE = /[<\\(\\[\\{]/;\nvar openParenWords = [\n \"<<\",\"(\",\"[\",\"{\"];\n\nvar closeParenRE = /[>\\)\\]\\}]/;\nvar closeParenWords = [\n \"}\",\"]\",\")\",\">>\"];\n\nvar guardWords = [\n \"is_atom\",\"is_binary\",\"is_bitstring\",\"is_boolean\",\"is_float\",\n \"is_function\",\"is_integer\",\"is_list\",\"is_number\",\"is_pid\",\n \"is_port\",\"is_record\",\"is_reference\",\"is_tuple\",\n \"atom\",\"binary\",\"bitstring\",\"boolean\",\"function\",\"integer\",\"list\",\n \"number\",\"pid\",\"port\",\"record\",\"reference\",\"tuple\"];\n\nvar bifWords = [\n \"abs\",\"adler32\",\"adler32_combine\",\"alive\",\"apply\",\"atom_to_binary\",\n \"atom_to_list\",\"binary_to_atom\",\"binary_to_existing_atom\",\n \"binary_to_list\",\"binary_to_term\",\"bit_size\",\"bitstring_to_list\",\n \"byte_size\",\"check_process_code\",\"contact_binary\",\"crc32\",\n \"crc32_combine\",\"date\",\"decode_packet\",\"delete_module\",\n \"disconnect_node\",\"element\",\"erase\",\"exit\",\"float\",\"float_to_list\",\n \"garbage_collect\",\"get\",\"get_keys\",\"group_leader\",\"halt\",\"hd\",\n \"integer_to_list\",\"internal_bif\",\"iolist_size\",\"iolist_to_binary\",\n \"is_alive\",\"is_atom\",\"is_binary\",\"is_bitstring\",\"is_boolean\",\n \"is_float\",\"is_function\",\"is_integer\",\"is_list\",\"is_number\",\"is_pid\",\n \"is_port\",\"is_process_alive\",\"is_record\",\"is_reference\",\"is_tuple\",\n \"length\",\"link\",\"list_to_atom\",\"list_to_binary\",\"list_to_bitstring\",\n \"list_to_existing_atom\",\"list_to_float\",\"list_to_integer\",\n \"list_to_pid\",\"list_to_tuple\",\"load_module\",\"make_ref\",\"module_loaded\",\n \"monitor_node\",\"node\",\"node_link\",\"node_unlink\",\"nodes\",\"notalive\",\n \"now\",\"open_port\",\"pid_to_list\",\"port_close\",\"port_command\",\n \"port_connect\",\"port_control\",\"pre_loaded\",\"process_flag\",\n \"process_info\",\"processes\",\"purge_module\",\"put\",\"register\",\n \"registered\",\"round\",\"self\",\"setelement\",\"size\",\"spawn\",\"spawn_link\",\n \"spawn_monitor\",\"spawn_opt\",\"split_binary\",\"statistics\",\n \"term_to_binary\",\"time\",\"throw\",\"tl\",\"trunc\",\"tuple_size\",\n \"tuple_to_list\",\"unlink\",\"unregister\",\"whereis\"];\n\n// upper case: [A-Z] [Ø-Þ] [À-Ö]\n// lower case: [a-z] [ß-ö] [ø-ÿ]\nvar anumRE = /[\\w@Ø-ÞÀ-Öß-öø-ÿ]/;\nvar escapesRE =\n /[0-7]{1,3}|[bdefnrstv\\\\\"']|\\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/;\n\n/////////////////////////////////////////////////////////////////////////////\n// tokenizer\n\nfunction tokenizer(stream,state) {\n // in multi-line string\n if (state.in_string) {\n state.in_string = (!doubleQuote(stream));\n return rval(state,stream,\"string\");\n }\n\n // in multi-line atom\n if (state.in_atom) {\n state.in_atom = (!singleQuote(stream));\n return rval(state,stream,\"atom\");\n }\n\n // whitespace\n if (stream.eatSpace()) {\n return rval(state,stream,\"whitespace\");\n }\n\n // attributes and type specs\n if (!peekToken(state) &&\n stream.match(/-\\s*[a-zß-öø-ÿ][\\wØ-ÞÀ-Öß-öø-ÿ]*/)) {\n if (is_member(stream.current(),typeWords)) {\n return rval(state,stream,\"type\");\n }else{\n return rval(state,stream,\"attribute\");\n }\n }\n\n var ch = stream.next();\n\n // comment\n if (ch == '%') {\n stream.skipToEnd();\n return rval(state,stream,\"comment\");\n }\n\n // colon\n if (ch == \":\") {\n return rval(state,stream,\"colon\");\n }\n\n // macro\n if (ch == '?') {\n stream.eatSpace();\n stream.eatWhile(anumRE);\n return rval(state,stream,\"macro\");\n }\n\n // record\n if (ch == \"#\") {\n stream.eatSpace();\n stream.eatWhile(anumRE);\n return rval(state,stream,\"record\");\n }\n\n // dollar escape\n if (ch == \"$\") {\n if (stream.next() == \"\\\\\" && !stream.match(escapesRE)) {\n return rval(state,stream,\"error\");\n }\n return rval(state,stream,\"number\");\n }\n\n // dot\n if (ch == \".\") {\n return rval(state,stream,\"dot\");\n }\n\n // quoted atom\n if (ch == '\\'') {\n if (!(state.in_atom = (!singleQuote(stream)))) {\n if (stream.match(/\\s*\\/\\s*[0-9]/,false)) {\n stream.match(/\\s*\\/\\s*[0-9]/,true);\n return rval(state,stream,\"fun\"); // 'f'/0 style fun\n }\n if (stream.match(/\\s*\\(/,false) || stream.match(/\\s*:/,false)) {\n return rval(state,stream,\"function\");\n }\n }\n return rval(state,stream,\"atom\");\n }\n\n // string\n if (ch == '\"') {\n state.in_string = (!doubleQuote(stream));\n return rval(state,stream,\"string\");\n }\n\n // variable\n if (/[A-Z_Ø-ÞÀ-Ö]/.test(ch)) {\n stream.eatWhile(anumRE);\n return rval(state,stream,\"variable\");\n }\n\n // atom/keyword/BIF/function\n if (/[a-z_ß-öø-ÿ]/.test(ch)) {\n stream.eatWhile(anumRE);\n\n if (stream.match(/\\s*\\/\\s*[0-9]/,false)) {\n stream.match(/\\s*\\/\\s*[0-9]/,true);\n return rval(state,stream,\"fun\"); // f/0 style fun\n }\n\n var w = stream.current();\n\n if (is_member(w,keywordWords)) {\n return rval(state,stream,\"keyword\");\n }else if (is_member(w,operatorAtomWords)) {\n return rval(state,stream,\"operator\");\n }else if (stream.match(/\\s*\\(/,false)) {\n // 'put' and 'erlang:put' are bifs, 'foo:put' is not\n if (is_member(w,bifWords) &&\n ((peekToken(state).token != \":\") ||\n (peekToken(state,2).token == \"erlang\"))) {\n return rval(state,stream,\"builtin\");\n }else if (is_member(w,guardWords)) {\n return rval(state,stream,\"guard\");\n }else{\n return rval(state,stream,\"function\");\n }\n }else if (lookahead(stream) == \":\") {\n if (w == \"erlang\") {\n return rval(state,stream,\"builtin\");\n } else {\n return rval(state,stream,\"function\");\n }\n }else if (is_member(w,[\"true\",\"false\"])) {\n return rval(state,stream,\"boolean\");\n }else{\n return rval(state,stream,\"atom\");\n }\n }\n\n // number\n var digitRE = /[0-9]/;\n var radixRE = /[0-9a-zA-Z]/; // 36#zZ style int\n if (digitRE.test(ch)) {\n stream.eatWhile(digitRE);\n if (stream.eat('#')) { // 36#aZ style integer\n if (!stream.eatWhile(radixRE)) {\n stream.backUp(1); //\"36#\" - syntax error\n }\n } else if (stream.eat('.')) { // float\n if (!stream.eatWhile(digitRE)) {\n stream.backUp(1); // \"3.\" - probably end of function\n } else {\n if (stream.eat(/[eE]/)) { // float with exponent\n if (stream.eat(/[-+]/)) {\n if (!stream.eatWhile(digitRE)) {\n stream.backUp(2); // \"2e-\" - syntax error\n }\n } else {\n if (!stream.eatWhile(digitRE)) {\n stream.backUp(1); // \"2e\" - syntax error\n }\n }\n }\n }\n }\n return rval(state,stream,\"number\"); // normal integer\n }\n\n // open parens\n if (nongreedy(stream,openParenRE,openParenWords)) {\n return rval(state,stream,\"open_paren\");\n }\n\n // close parens\n if (nongreedy(stream,closeParenRE,closeParenWords)) {\n return rval(state,stream,\"close_paren\");\n }\n\n // separators\n if (greedy(stream,separatorRE,separatorWords)) {\n return rval(state,stream,\"separator\");\n }\n\n // operators\n if (greedy(stream,operatorSymbolRE,operatorSymbolWords)) {\n return rval(state,stream,\"operator\");\n }\n\n return rval(state,stream,null);\n}\n\n/////////////////////////////////////////////////////////////////////////////\n// utilities\nfunction nongreedy(stream,re,words) {\n if (stream.current().length == 1 && re.test(stream.current())) {\n stream.backUp(1);\n while (re.test(stream.peek())) {\n stream.next();\n if (is_member(stream.current(),words)) {\n return true;\n }\n }\n stream.backUp(stream.current().length-1);\n }\n return false;\n}\n\nfunction greedy(stream,re,words) {\n if (stream.current().length == 1 && re.test(stream.current())) {\n while (re.test(stream.peek())) {\n stream.next();\n }\n while (0 < stream.current().length) {\n if (is_member(stream.current(),words)) {\n return true;\n }else{\n stream.backUp(1);\n }\n }\n stream.next();\n }\n return false;\n}\n\nfunction doubleQuote(stream) {\n return quote(stream, '\"', '\\\\');\n}\n\nfunction singleQuote(stream) {\n return quote(stream,'\\'','\\\\');\n}\n\nfunction quote(stream,quoteChar,escapeChar) {\n while (!stream.eol()) {\n var ch = stream.next();\n if (ch == quoteChar) {\n return true;\n }else if (ch == escapeChar) {\n stream.next();\n }\n }\n return false;\n}\n\nfunction lookahead(stream) {\n var m = stream.match(/^\\s*([^\\s%])/, false)\n return m ? m[1] : \"\";\n}\n\nfunction is_member(element,list) {\n return (-1 < list.indexOf(element));\n}\n\nfunction rval(state,stream,type) {\n\n // parse stack\n pushToken(state,realToken(type,stream));\n\n // map erlang token type to CodeMirror style class\n // erlang -> CodeMirror tag\n switch (type) {\n case \"atom\": return \"atom\";\n case \"attribute\": return \"attribute\";\n case \"boolean\": return \"atom\";\n case \"builtin\": return \"builtin\";\n case \"close_paren\": return null;\n case \"colon\": return null;\n case \"comment\": return \"comment\";\n case \"dot\": return null;\n case \"error\": return \"error\";\n case \"fun\": return \"meta\";\n case \"function\": return \"tag\";\n case \"guard\": return \"property\";\n case \"keyword\": return \"keyword\";\n case \"macro\": return \"macroName\";\n case \"number\": return \"number\";\n case \"open_paren\": return null;\n case \"operator\": return \"operator\";\n case \"record\": return \"bracket\";\n case \"separator\": return null;\n case \"string\": return \"string\";\n case \"type\": return \"def\";\n case \"variable\": return \"variable\";\n default: return null;\n }\n}\n\nfunction aToken(tok,col,ind,typ) {\n return {token: tok,\n column: col,\n indent: ind,\n type: typ};\n}\n\nfunction realToken(type,stream) {\n return aToken(stream.current(),\n stream.column(),\n stream.indentation(),\n type);\n}\n\nfunction fakeToken(type) {\n return aToken(type,0,0,type);\n}\n\nfunction peekToken(state,depth) {\n var len = state.tokenStack.length;\n var dep = (depth ? depth : 1);\n\n if (len < dep) {\n return false;\n }else{\n return state.tokenStack[len-dep];\n }\n}\n\nfunction pushToken(state,token) {\n\n if (!(token.type == \"comment\" || token.type == \"whitespace\")) {\n state.tokenStack = maybe_drop_pre(state.tokenStack,token);\n state.tokenStack = maybe_drop_post(state.tokenStack);\n }\n}\n\nfunction maybe_drop_pre(s,token) {\n var last = s.length-1;\n\n if (0 < last && s[last].type === \"record\" && token.type === \"dot\") {\n s.pop();\n }else if (0 < last && s[last].type === \"group\") {\n s.pop();\n s.push(token);\n }else{\n s.push(token);\n }\n return s;\n}\n\nfunction maybe_drop_post(s) {\n if (!s.length) return s\n var last = s.length-1;\n\n if (s[last].type === \"dot\") {\n return [];\n }\n if (last > 1 && s[last].type === \"fun\" && s[last-1].token === \"fun\") {\n return s.slice(0,last-1);\n }\n switch (s[last].token) {\n case \"}\": return d(s,{g:[\"{\"]});\n case \"]\": return d(s,{i:[\"[\"]});\n case \")\": return d(s,{i:[\"(\"]});\n case \">>\": return d(s,{i:[\"<<\"]});\n case \"end\": return d(s,{i:[\"begin\",\"case\",\"fun\",\"if\",\"receive\",\"try\"]});\n case \",\": return d(s,{e:[\"begin\",\"try\",\"when\",\"->\",\n \",\",\"(\",\"[\",\"{\",\"<<\"]});\n case \"->\": return d(s,{r:[\"when\"],\n m:[\"try\",\"if\",\"case\",\"receive\"]});\n case \";\": return d(s,{E:[\"case\",\"fun\",\"if\",\"receive\",\"try\",\"when\"]});\n case \"catch\":return d(s,{e:[\"try\"]});\n case \"of\": return d(s,{e:[\"case\"]});\n case \"after\":return d(s,{e:[\"receive\",\"try\"]});\n default: return s;\n }\n}\n\nfunction d(stack,tt) {\n // stack is a stack of Token objects.\n // tt is an object; {type:tokens}\n // type is a char, tokens is a list of token strings.\n // The function returns (possibly truncated) stack.\n // It will descend the stack, looking for a Token such that Token.token\n // is a member of tokens. If it does not find that, it will normally (but\n // see \"E\" below) return stack. If it does find a match, it will remove\n // all the Tokens between the top and the matched Token.\n // If type is \"m\", that is all it does.\n // If type is \"i\", it will also remove the matched Token and the top Token.\n // If type is \"g\", like \"i\", but add a fake \"group\" token at the top.\n // If type is \"r\", it will remove the matched Token, but not the top Token.\n // If type is \"e\", it will keep the matched Token but not the top Token.\n // If type is \"E\", it behaves as for type \"e\", except if there is no match,\n // in which case it will return an empty stack.\n\n for (var type in tt) {\n var len = stack.length-1;\n var tokens = tt[type];\n for (var i = len-1; -1 < i ; i--) {\n if (is_member(stack[i].token,tokens)) {\n var ss = stack.slice(0,i);\n switch (type) {\n case \"m\": return ss.concat(stack[i]).concat(stack[len]);\n case \"r\": return ss.concat(stack[len]);\n case \"i\": return ss;\n case \"g\": return ss.concat(fakeToken(\"group\"));\n case \"E\": return ss.concat(stack[i]);\n case \"e\": return ss.concat(stack[i]);\n }\n }\n }\n }\n return (type == \"E\" ? [] : stack);\n}\n\n/////////////////////////////////////////////////////////////////////////////\n// indenter\n\nfunction indenter(state, textAfter, cx) {\n var t;\n var wordAfter = wordafter(textAfter);\n var currT = peekToken(state,1);\n var prevT = peekToken(state,2);\n\n if (state.in_string || state.in_atom) {\n return null;\n }else if (!prevT) {\n return 0;\n }else if (currT.token == \"when\") {\n return currT.column + cx.unit;\n }else if (wordAfter === \"when\" && prevT.type === \"function\") {\n return prevT.indent+cx.unit;\n }else if (wordAfter === \"(\" && currT.token === \"fun\") {\n return currT.column+3;\n }else if (wordAfter === \"catch\" && (t = getToken(state,[\"try\"]))) {\n return t.column;\n }else if (is_member(wordAfter,[\"end\",\"after\",\"of\"])) {\n t = getToken(state,[\"begin\",\"case\",\"fun\",\"if\",\"receive\",\"try\"]);\n return t ? t.column : null;\n }else if (is_member(wordAfter,closeParenWords)) {\n t = getToken(state,openParenWords);\n return t ? t.column : null;\n }else if (is_member(currT.token,[\",\",\"|\",\"||\"]) ||\n is_member(wordAfter,[\",\",\"|\",\"||\"])) {\n t = postcommaToken(state);\n return t ? t.column+t.token.length : cx.unit;\n }else if (currT.token == \"->\") {\n if (is_member(prevT.token, [\"receive\",\"case\",\"if\",\"try\"])) {\n return prevT.column+cx.unit+cx.unit;\n }else{\n return prevT.column+cx.unit;\n }\n }else if (is_member(currT.token,openParenWords)) {\n return currT.column+currT.token.length;\n }else{\n t = defaultToken(state);\n return truthy(t) ? t.column+cx.unit : 0;\n }\n}\n\nfunction wordafter(str) {\n var m = str.match(/,|[a-z]+|\\}|\\]|\\)|>>|\\|+|\\(/);\n\n return truthy(m) && (m.index === 0) ? m[0] : \"\";\n}\n\nfunction postcommaToken(state) {\n var objs = state.tokenStack.slice(0,-1);\n var i = getTokenIndex(objs,\"type\",[\"open_paren\"]);\n\n return truthy(objs[i]) ? objs[i] : false;\n}\n\nfunction defaultToken(state) {\n var objs = state.tokenStack;\n var stop = getTokenIndex(objs,\"type\",[\"open_paren\",\"separator\",\"keyword\"]);\n var oper = getTokenIndex(objs,\"type\",[\"operator\"]);\n\n if (truthy(stop) && truthy(oper) && stop < oper) {\n return objs[stop+1];\n } else if (truthy(stop)) {\n return objs[stop];\n } else {\n return false;\n }\n}\n\nfunction getToken(state,tokens) {\n var objs = state.tokenStack;\n var i = getTokenIndex(objs,\"token\",tokens);\n\n return truthy(objs[i]) ? objs[i] : false;\n}\n\nfunction getTokenIndex(objs,propname,propvals) {\n\n for (var i = objs.length-1; -1 < i ; i--) {\n if (is_member(objs[i][propname],propvals)) {\n return i;\n }\n }\n return false;\n}\n\nfunction truthy(x) {\n return (x !== false) && (x != null);\n}\n\n/////////////////////////////////////////////////////////////////////////////\n// this object defines the mode\n\nexport const erlang = {\n name: \"erlang\",\n startState() {\n return {tokenStack: [],\n in_string: false,\n in_atom: false};\n },\n\n token: tokenizer,\n\n indent: indenter,\n\n languageData: {\n commentTokens: {line: \"%\"}\n }\n};\n\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,66 @@
1
+ import { s as simpleMode } from "./simple-mode-DMneyfDu.js";
2
+ const factor = simpleMode({
3
+ start: [
4
+ // comments
5
+ { regex: /#?!.*/, token: "comment" },
6
+ // strings """, multiline --> state
7
+ { regex: /"""/, token: "string", next: "string3" },
8
+ { regex: /(STRING:)(\s)/, token: ["keyword", null], next: "string2" },
9
+ { regex: /\S*?"/, token: "string", next: "string" },
10
+ // numbers: dec, hex, unicode, bin, fractional, complex
11
+ { regex: /(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\-?\d+.?\d*)(?=\s)/, token: "number" },
12
+ //{regex: /[+-]?/} //fractional
13
+ // definition: defining word, defined word, etc
14
+ { regex: /((?:GENERIC)|\:?\:)(\s+)(\S+)(\s+)(\()/, token: ["keyword", null, "def", null, "bracket"], next: "stack" },
15
+ // method definition: defining word, type, defined word, etc
16
+ { regex: /(M\:)(\s+)(\S+)(\s+)(\S+)/, token: ["keyword", null, "def", null, "tag"] },
17
+ // vocabulary using --> state
18
+ { regex: /USING\:/, token: "keyword", next: "vocabulary" },
19
+ // vocabulary definition/use
20
+ { regex: /(USE\:|IN\:)(\s+)(\S+)(?=\s|$)/, token: ["keyword", null, "tag"] },
21
+ // definition: a defining word, defined word
22
+ { regex: /(\S+\:)(\s+)(\S+)(?=\s|$)/, token: ["keyword", null, "def"] },
23
+ // "keywords", incl. ; t f . [ ] { } defining words
24
+ { regex: /(?:;|\\|t|f|if|loop|while|until|do|PRIVATE>|<PRIVATE|\.|\S*\[|\]|\S*\{|\})(?=\s|$)/, token: "keyword" },
25
+ // <constructors> and the like
26
+ { regex: /\S+[\)>\.\*\?]+(?=\s|$)/, token: "builtin" },
27
+ { regex: /[\)><]+\S+(?=\s|$)/, token: "builtin" },
28
+ // operators
29
+ { regex: /(?:[\+\-\=\/\*<>])(?=\s|$)/, token: "keyword" },
30
+ // any id (?)
31
+ { regex: /\S+/, token: "variable" },
32
+ { regex: /\s+|./, token: null }
33
+ ],
34
+ vocabulary: [
35
+ { regex: /;/, token: "keyword", next: "start" },
36
+ { regex: /\S+/, token: "tag" },
37
+ { regex: /\s+|./, token: null }
38
+ ],
39
+ string: [
40
+ { regex: /(?:[^\\]|\\.)*?"/, token: "string", next: "start" },
41
+ { regex: /.*/, token: "string" }
42
+ ],
43
+ string2: [
44
+ { regex: /^;/, token: "keyword", next: "start" },
45
+ { regex: /.*/, token: "string" }
46
+ ],
47
+ string3: [
48
+ { regex: /(?:[^\\]|\\.)*?"""/, token: "string", next: "start" },
49
+ { regex: /.*/, token: "string" }
50
+ ],
51
+ stack: [
52
+ { regex: /\)/, token: "bracket", next: "start" },
53
+ { regex: /--/, token: "bracket" },
54
+ { regex: /\S+/, token: "meta" },
55
+ { regex: /\s+|./, token: null }
56
+ ],
57
+ languageData: {
58
+ name: "factor",
59
+ dontIndentStates: ["start", "vocabulary", "string", "string3", "stack"],
60
+ commentTokens: { line: "!" }
61
+ }
62
+ });
63
+ export {
64
+ factor
65
+ };
66
+ //# sourceMappingURL=factor-CMxFHDqz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factor-CMxFHDqz.js","sources":["../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/factor.js"],"sourcesContent":["import {simpleMode} from \"./simple-mode.js\"\n\nexport const factor = simpleMode({\n start: [\n // comments\n {regex: /#?!.*/, token: \"comment\"},\n // strings \"\"\", multiline --> state\n {regex: /\"\"\"/, token: \"string\", next: \"string3\"},\n {regex: /(STRING:)(\\s)/, token: [\"keyword\", null], next: \"string2\"},\n {regex: /\\S*?\"/, token: \"string\", next: \"string\"},\n // numbers: dec, hex, unicode, bin, fractional, complex\n {regex: /(?:0x[\\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\\-?\\d+.?\\d*)(?=\\s)/, token: \"number\"},\n //{regex: /[+-]?/} //fractional\n // definition: defining word, defined word, etc\n {regex: /((?:GENERIC)|\\:?\\:)(\\s+)(\\S+)(\\s+)(\\()/, token: [\"keyword\", null, \"def\", null, \"bracket\"], next: \"stack\"},\n // method definition: defining word, type, defined word, etc\n {regex: /(M\\:)(\\s+)(\\S+)(\\s+)(\\S+)/, token: [\"keyword\", null, \"def\", null, \"tag\"]},\n // vocabulary using --> state\n {regex: /USING\\:/, token: \"keyword\", next: \"vocabulary\"},\n // vocabulary definition/use\n {regex: /(USE\\:|IN\\:)(\\s+)(\\S+)(?=\\s|$)/, token: [\"keyword\", null, \"tag\"]},\n // definition: a defining word, defined word\n {regex: /(\\S+\\:)(\\s+)(\\S+)(?=\\s|$)/, token: [\"keyword\", null, \"def\"]},\n // \"keywords\", incl. ; t f . [ ] { } defining words\n {regex: /(?:;|\\\\|t|f|if|loop|while|until|do|PRIVATE>|<PRIVATE|\\.|\\S*\\[|\\]|\\S*\\{|\\})(?=\\s|$)/, token: \"keyword\"},\n // <constructors> and the like\n {regex: /\\S+[\\)>\\.\\*\\?]+(?=\\s|$)/, token: \"builtin\"},\n {regex: /[\\)><]+\\S+(?=\\s|$)/, token: \"builtin\"},\n // operators\n {regex: /(?:[\\+\\-\\=\\/\\*<>])(?=\\s|$)/, token: \"keyword\"},\n // any id (?)\n {regex: /\\S+/, token: \"variable\"},\n {regex: /\\s+|./, token: null}\n ],\n vocabulary: [\n {regex: /;/, token: \"keyword\", next: \"start\"},\n {regex: /\\S+/, token: \"tag\"},\n {regex: /\\s+|./, token: null}\n ],\n string: [\n {regex: /(?:[^\\\\]|\\\\.)*?\"/, token: \"string\", next: \"start\"},\n {regex: /.*/, token: \"string\"}\n ],\n string2: [\n {regex: /^;/, token: \"keyword\", next: \"start\"},\n {regex: /.*/, token: \"string\"}\n ],\n string3: [\n {regex: /(?:[^\\\\]|\\\\.)*?\"\"\"/, token: \"string\", next: \"start\"},\n {regex: /.*/, token: \"string\"}\n ],\n stack: [\n {regex: /\\)/, token: \"bracket\", next: \"start\"},\n {regex: /--/, token: \"bracket\"},\n {regex: /\\S+/, token: \"meta\"},\n {regex: /\\s+|./, token: null}\n ],\n languageData: {\n name: \"factor\",\n dontIndentStates: [\"start\", \"vocabulary\", \"string\", \"string3\", \"stack\"],\n commentTokens: {line: \"!\"}\n }\n });\n"],"names":[],"mappings":";AAEY,MAAC,SAAS,WAAW;AAAA,EAC7B,OAAO;AAAA;AAAA,IAEL,EAAC,OAAO,SAAS,OAAO,UAAS;AAAA;AAAA,IAEjC,EAAC,OAAO,OAAO,OAAO,UAAU,MAAM,UAAS;AAAA,IAC/C,EAAC,OAAO,iBAAiB,OAAO,CAAC,WAAW,IAAI,GAAG,MAAM,UAAS;AAAA,IAClE,EAAC,OAAO,SAAS,OAAO,UAAU,MAAM,SAAQ;AAAA;AAAA,IAEhD,EAAC,OAAO,mEAAmE,OAAO,SAAQ;AAAA;AAAA;AAAA,IAG1F,EAAC,OAAO,0CAA0C,OAAO,CAAC,WAAW,MAAM,OAAO,MAAM,SAAS,GAAG,MAAM,QAAO;AAAA;AAAA,IAEjH,EAAC,OAAO,6BAA6B,OAAO,CAAC,WAAW,MAAM,OAAO,MAAM,KAAK,EAAC;AAAA;AAAA,IAEjF,EAAC,OAAO,WAAW,OAAO,WAAW,MAAM,aAAY;AAAA;AAAA,IAEvD,EAAC,OAAO,kCAAkC,OAAO,CAAC,WAAW,MAAM,KAAK,EAAC;AAAA;AAAA,IAEzE,EAAC,OAAO,6BAA6B,OAAO,CAAC,WAAW,MAAM,KAAK,EAAC;AAAA;AAAA,IAEpE,EAAC,OAAO,sFAAsF,OAAO,UAAS;AAAA;AAAA,IAE9G,EAAC,OAAO,2BAA2B,OAAO,UAAS;AAAA,IACnD,EAAC,OAAO,sBAAsB,OAAO,UAAS;AAAA;AAAA,IAE9C,EAAC,OAAO,8BAA8B,OAAO,UAAS;AAAA;AAAA,IAEtD,EAAC,OAAO,OAAO,OAAO,WAAU;AAAA,IAChC,EAAC,OAAO,SAAS,OAAO,KAAI;AAAA,EAClC;AAAA,EACI,YAAY;AAAA,IACV,EAAC,OAAO,KAAK,OAAO,WAAW,MAAM,QAAO;AAAA,IAC5C,EAAC,OAAO,OAAO,OAAO,MAAK;AAAA,IAC3B,EAAC,OAAO,SAAS,OAAO,KAAI;AAAA,EAClC;AAAA,EACI,QAAQ;AAAA,IACN,EAAC,OAAO,oBAAoB,OAAO,UAAU,MAAM,QAAO;AAAA,IAC1D,EAAC,OAAO,MAAM,OAAO,SAAQ;AAAA,EACnC;AAAA,EACI,SAAS;AAAA,IACP,EAAC,OAAO,MAAM,OAAO,WAAW,MAAM,QAAO;AAAA,IAC7C,EAAC,OAAO,MAAM,OAAO,SAAQ;AAAA,EACnC;AAAA,EACI,SAAS;AAAA,IACP,EAAC,OAAO,sBAAsB,OAAO,UAAU,MAAM,QAAO;AAAA,IAC5D,EAAC,OAAO,MAAM,OAAO,SAAQ;AAAA,EACnC;AAAA,EACI,OAAO;AAAA,IACL,EAAC,OAAO,MAAM,OAAO,WAAW,MAAM,QAAO;AAAA,IAC7C,EAAC,OAAO,MAAM,OAAO,UAAS;AAAA,IAC9B,EAAC,OAAO,OAAO,OAAO,OAAM;AAAA,IAC5B,EAAC,OAAO,SAAS,OAAO,KAAI;AAAA,EAClC;AAAA,EACI,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,kBAAkB,CAAC,SAAS,cAAc,UAAU,WAAW,OAAO;AAAA,IACtE,eAAe,EAAC,MAAM,IAAG;AAAA,EAC/B;AACA,CAAG;","x_google_ignoreList":[0]}
@@ -0,0 +1,142 @@
1
+ var keywords = {
2
+ "term": true,
3
+ "method": true,
4
+ "accu": true,
5
+ "rule": true,
6
+ "then": true,
7
+ "is": true,
8
+ "and": true,
9
+ "or": true,
10
+ "if": true,
11
+ "default": true
12
+ };
13
+ var start_blocks = {
14
+ "var_input": true,
15
+ "var_output": true,
16
+ "fuzzify": true,
17
+ "defuzzify": true,
18
+ "function_block": true,
19
+ "ruleblock": true
20
+ };
21
+ var end_blocks = {
22
+ "end_ruleblock": true,
23
+ "end_defuzzify": true,
24
+ "end_function_block": true,
25
+ "end_fuzzify": true,
26
+ "end_var": true
27
+ };
28
+ var atoms = {
29
+ "true": true,
30
+ "false": true,
31
+ "nan": true,
32
+ "real": true,
33
+ "min": true,
34
+ "max": true,
35
+ "cog": true,
36
+ "cogs": true
37
+ };
38
+ var isOperatorChar = /[+\-*&^%:=<>!|\/]/;
39
+ function tokenBase(stream, state) {
40
+ var ch = stream.next();
41
+ if (/[\d\.]/.test(ch)) {
42
+ if (ch == ".") {
43
+ stream.match(/^[0-9]+([eE][\-+]?[0-9]+)?/);
44
+ } else if (ch == "0") {
45
+ stream.match(/^[xX][0-9a-fA-F]+/) || stream.match(/^0[0-7]+/);
46
+ } else {
47
+ stream.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/);
48
+ }
49
+ return "number";
50
+ }
51
+ if (ch == "/" || ch == "(") {
52
+ if (stream.eat("*")) {
53
+ state.tokenize = tokenComment;
54
+ return tokenComment(stream, state);
55
+ }
56
+ if (stream.eat("/")) {
57
+ stream.skipToEnd();
58
+ return "comment";
59
+ }
60
+ }
61
+ if (isOperatorChar.test(ch)) {
62
+ stream.eatWhile(isOperatorChar);
63
+ return "operator";
64
+ }
65
+ stream.eatWhile(/[\w\$_\xa1-\uffff]/);
66
+ var cur = stream.current().toLowerCase();
67
+ if (keywords.propertyIsEnumerable(cur) || start_blocks.propertyIsEnumerable(cur) || end_blocks.propertyIsEnumerable(cur)) {
68
+ return "keyword";
69
+ }
70
+ if (atoms.propertyIsEnumerable(cur)) return "atom";
71
+ return "variable";
72
+ }
73
+ function tokenComment(stream, state) {
74
+ var maybeEnd = false, ch;
75
+ while (ch = stream.next()) {
76
+ if ((ch == "/" || ch == ")") && maybeEnd) {
77
+ state.tokenize = tokenBase;
78
+ break;
79
+ }
80
+ maybeEnd = ch == "*";
81
+ }
82
+ return "comment";
83
+ }
84
+ function Context(indented, column, type, align, prev) {
85
+ this.indented = indented;
86
+ this.column = column;
87
+ this.type = type;
88
+ this.align = align;
89
+ this.prev = prev;
90
+ }
91
+ function pushContext(state, col, type) {
92
+ return state.context = new Context(state.indented, col, type, null, state.context);
93
+ }
94
+ function popContext(state) {
95
+ if (!state.context.prev) return;
96
+ var t = state.context.type;
97
+ if (t == "end_block")
98
+ state.indented = state.context.indented;
99
+ return state.context = state.context.prev;
100
+ }
101
+ const fcl = {
102
+ name: "fcl",
103
+ startState: function(indentUnit) {
104
+ return {
105
+ tokenize: null,
106
+ context: new Context(-indentUnit, 0, "top", false),
107
+ indented: 0,
108
+ startOfLine: true
109
+ };
110
+ },
111
+ token: function(stream, state) {
112
+ var ctx = state.context;
113
+ if (stream.sol()) {
114
+ if (ctx.align == null) ctx.align = false;
115
+ state.indented = stream.indentation();
116
+ state.startOfLine = true;
117
+ }
118
+ if (stream.eatSpace()) return null;
119
+ var style = (state.tokenize || tokenBase)(stream, state);
120
+ if (style == "comment") return style;
121
+ if (ctx.align == null) ctx.align = true;
122
+ var cur = stream.current().toLowerCase();
123
+ if (start_blocks.propertyIsEnumerable(cur)) pushContext(state, stream.column(), "end_block");
124
+ else if (end_blocks.propertyIsEnumerable(cur)) popContext(state);
125
+ state.startOfLine = false;
126
+ return style;
127
+ },
128
+ indent: function(state, textAfter, cx) {
129
+ if (state.tokenize != tokenBase && state.tokenize != null) return 0;
130
+ var ctx = state.context;
131
+ var closing = end_blocks.propertyIsEnumerable(textAfter);
132
+ if (ctx.align) return ctx.column + (closing ? 0 : 1);
133
+ else return ctx.indented + (closing ? 0 : cx.unit);
134
+ },
135
+ languageData: {
136
+ commentTokens: { line: "//", block: { open: "(*", close: "*)" } }
137
+ }
138
+ };
139
+ export {
140
+ fcl
141
+ };
142
+ //# sourceMappingURL=fcl-CDDUNjTj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fcl-CDDUNjTj.js","sources":["../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/fcl.js"],"sourcesContent":["var keywords = {\n \"term\": true,\n \"method\": true, \"accu\": true,\n \"rule\": true, \"then\": true, \"is\": true, \"and\": true, \"or\": true,\n \"if\": true, \"default\": true\n};\n\nvar start_blocks = {\n \"var_input\": true,\n \"var_output\": true,\n \"fuzzify\": true,\n \"defuzzify\": true,\n \"function_block\": true,\n \"ruleblock\": true\n};\n\nvar end_blocks = {\n \"end_ruleblock\": true,\n \"end_defuzzify\": true,\n \"end_function_block\": true,\n \"end_fuzzify\": true,\n \"end_var\": true\n};\n\nvar atoms = {\n \"true\": true, \"false\": true, \"nan\": true,\n \"real\": true, \"min\": true, \"max\": true, \"cog\": true, \"cogs\": true\n};\n\nvar isOperatorChar = /[+\\-*&^%:=<>!|\\/]/;\n\nfunction tokenBase(stream, state) {\n var ch = stream.next();\n\n if (/[\\d\\.]/.test(ch)) {\n if (ch == \".\") {\n stream.match(/^[0-9]+([eE][\\-+]?[0-9]+)?/);\n } else if (ch == \"0\") {\n stream.match(/^[xX][0-9a-fA-F]+/) || stream.match(/^0[0-7]+/);\n } else {\n stream.match(/^[0-9]*\\.?[0-9]*([eE][\\-+]?[0-9]+)?/);\n }\n return \"number\";\n }\n\n if (ch == \"/\" || ch == \"(\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n }\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return \"comment\";\n }\n }\n if (isOperatorChar.test(ch)) {\n stream.eatWhile(isOperatorChar);\n return \"operator\";\n }\n stream.eatWhile(/[\\w\\$_\\xa1-\\uffff]/);\n\n var cur = stream.current().toLowerCase();\n if (keywords.propertyIsEnumerable(cur) ||\n start_blocks.propertyIsEnumerable(cur) ||\n end_blocks.propertyIsEnumerable(cur)) {\n return \"keyword\";\n }\n if (atoms.propertyIsEnumerable(cur)) return \"atom\";\n return \"variable\";\n}\n\n\nfunction tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if ((ch == \"/\" || ch == \")\") && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return \"comment\";\n}\n\nfunction Context(indented, column, type, align, prev) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.align = align;\n this.prev = prev;\n}\n\nfunction pushContext(state, col, type) {\n return state.context = new Context(state.indented, col, type, null, state.context);\n}\n\nfunction popContext(state) {\n if (!state.context.prev) return;\n var t = state.context.type;\n if (t == \"end_block\")\n state.indented = state.context.indented;\n return state.context = state.context.prev;\n}\n\n// Interface\n\nexport const fcl = {\n name: \"fcl\",\n startState: function(indentUnit) {\n return {\n tokenize: null,\n context: new Context(-indentUnit, 0, \"top\", false),\n indented: 0,\n startOfLine: true\n };\n },\n\n token: function(stream, state) {\n var ctx = state.context;\n if (stream.sol()) {\n if (ctx.align == null) ctx.align = false;\n state.indented = stream.indentation();\n state.startOfLine = true;\n }\n if (stream.eatSpace()) return null;\n\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style == \"comment\") return style;\n if (ctx.align == null) ctx.align = true;\n\n var cur = stream.current().toLowerCase();\n\n if (start_blocks.propertyIsEnumerable(cur)) pushContext(state, stream.column(), \"end_block\");\n else if (end_blocks.propertyIsEnumerable(cur)) popContext(state);\n\n state.startOfLine = false;\n return style;\n },\n\n indent: function(state, textAfter, cx) {\n if (state.tokenize != tokenBase && state.tokenize != null) return 0;\n var ctx = state.context;\n\n var closing = end_blocks.propertyIsEnumerable(textAfter);\n if (ctx.align) return ctx.column + (closing ? 0 : 1);\n else return ctx.indented + (closing ? 0 : cx.unit);\n },\n\n languageData: {\n commentTokens: {line: \"//\", block: {open: \"(*\", close: \"*)\"}}\n }\n};\n\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,117 @@
1
+ function toWordList(words) {
2
+ var ret = [];
3
+ words.split(" ").forEach(function(e) {
4
+ ret.push({ name: e });
5
+ });
6
+ return ret;
7
+ }
8
+ var coreWordList = toWordList(
9
+ "INVERT AND OR XOR 2* 2/ LSHIFT RSHIFT 0= = 0< < > U< MIN MAX 2DROP 2DUP 2OVER 2SWAP ?DUP DEPTH DROP DUP OVER ROT SWAP >R R> R@ + - 1+ 1- ABS NEGATE S>D * M* UM* FM/MOD SM/REM UM/MOD */ */MOD / /MOD MOD HERE , @ ! CELL+ CELLS C, C@ C! CHARS 2@ 2! ALIGN ALIGNED +! ALLOT CHAR [CHAR] [ ] BL FIND EXECUTE IMMEDIATE COUNT LITERAL STATE ; DOES> >BODY EVALUATE SOURCE >IN <# # #S #> HOLD SIGN BASE >NUMBER HEX DECIMAL FILL MOVE . CR EMIT SPACE SPACES TYPE U. .R U.R ACCEPT TRUE FALSE <> U> 0<> 0> NIP TUCK ROLL PICK 2>R 2R@ 2R> WITHIN UNUSED MARKER I J TO COMPILE, [COMPILE] SAVE-INPUT RESTORE-INPUT PAD ERASE 2LITERAL DNEGATE D- D+ D0< D0= D2* D2/ D< D= DMAX DMIN D>S DABS M+ M*/ D. D.R 2ROT DU< CATCH THROW FREE RESIZE ALLOCATE CS-PICK CS-ROLL GET-CURRENT SET-CURRENT FORTH-WORDLIST GET-ORDER SET-ORDER PREVIOUS SEARCH-WORDLIST WORDLIST FIND ALSO ONLY FORTH DEFINITIONS ORDER -TRAILING /STRING SEARCH COMPARE CMOVE CMOVE> BLANK SLITERAL"
10
+ );
11
+ var immediateWordList = toWordList("IF ELSE THEN BEGIN WHILE REPEAT UNTIL RECURSE [IF] [ELSE] [THEN] ?DO DO LOOP +LOOP UNLOOP LEAVE EXIT AGAIN CASE OF ENDOF ENDCASE");
12
+ function searchWordList(wordList, word) {
13
+ var i;
14
+ for (i = wordList.length - 1; i >= 0; i--) {
15
+ if (wordList[i].name === word.toUpperCase()) {
16
+ return wordList[i];
17
+ }
18
+ }
19
+ return void 0;
20
+ }
21
+ const forth = {
22
+ name: "forth",
23
+ startState: function() {
24
+ return {
25
+ state: "",
26
+ base: 10,
27
+ coreWordList,
28
+ immediateWordList,
29
+ wordList: []
30
+ };
31
+ },
32
+ token: function(stream, stt) {
33
+ var mat;
34
+ if (stream.eatSpace()) {
35
+ return null;
36
+ }
37
+ if (stt.state === "") {
38
+ if (stream.match(/^(\]|:NONAME)(\s|$)/i)) {
39
+ stt.state = " compilation";
40
+ return "builtin";
41
+ }
42
+ mat = stream.match(/^(\:)\s+(\S+)(\s|$)+/);
43
+ if (mat) {
44
+ stt.wordList.push({ name: mat[2].toUpperCase() });
45
+ stt.state = " compilation";
46
+ return "def";
47
+ }
48
+ mat = stream.match(/^(VARIABLE|2VARIABLE|CONSTANT|2CONSTANT|CREATE|POSTPONE|VALUE|WORD)\s+(\S+)(\s|$)+/i);
49
+ if (mat) {
50
+ stt.wordList.push({ name: mat[2].toUpperCase() });
51
+ return "def";
52
+ }
53
+ mat = stream.match(/^(\'|\[\'\])\s+(\S+)(\s|$)+/);
54
+ if (mat) {
55
+ return "builtin";
56
+ }
57
+ } else {
58
+ if (stream.match(/^(\;|\[)(\s)/)) {
59
+ stt.state = "";
60
+ stream.backUp(1);
61
+ return "builtin";
62
+ }
63
+ if (stream.match(/^(\;|\[)($)/)) {
64
+ stt.state = "";
65
+ return "builtin";
66
+ }
67
+ if (stream.match(/^(POSTPONE)\s+\S+(\s|$)+/)) {
68
+ return "builtin";
69
+ }
70
+ }
71
+ mat = stream.match(/^(\S+)(\s+|$)/);
72
+ if (mat) {
73
+ if (searchWordList(stt.wordList, mat[1]) !== void 0) {
74
+ return "variable";
75
+ }
76
+ if (mat[1] === "\\") {
77
+ stream.skipToEnd();
78
+ return "comment";
79
+ }
80
+ if (searchWordList(stt.coreWordList, mat[1]) !== void 0) {
81
+ return "builtin";
82
+ }
83
+ if (searchWordList(stt.immediateWordList, mat[1]) !== void 0) {
84
+ return "keyword";
85
+ }
86
+ if (mat[1] === "(") {
87
+ stream.eatWhile(function(s) {
88
+ return s !== ")";
89
+ });
90
+ stream.eat(")");
91
+ return "comment";
92
+ }
93
+ if (mat[1] === ".(") {
94
+ stream.eatWhile(function(s) {
95
+ return s !== ")";
96
+ });
97
+ stream.eat(")");
98
+ return "string";
99
+ }
100
+ if (mat[1] === 'S"' || mat[1] === '."' || mat[1] === 'C"') {
101
+ stream.eatWhile(function(s) {
102
+ return s !== '"';
103
+ });
104
+ stream.eat('"');
105
+ return "string";
106
+ }
107
+ if (mat[1] - 68719476735) {
108
+ return "number";
109
+ }
110
+ return "atom";
111
+ }
112
+ }
113
+ };
114
+ export {
115
+ forth
116
+ };
117
+ //# sourceMappingURL=forth-B9D2JCeE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forth-B9D2JCeE.js","sources":["../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/forth.js"],"sourcesContent":["function toWordList(words) {\n var ret = [];\n words.split(' ').forEach(function(e){\n ret.push({name: e});\n });\n return ret;\n}\n\nvar coreWordList = toWordList(\n 'INVERT AND OR XOR\\\n 2* 2/ LSHIFT RSHIFT\\\n 0= = 0< < > U< MIN MAX\\\n 2DROP 2DUP 2OVER 2SWAP ?DUP DEPTH DROP DUP OVER ROT SWAP\\\n >R R> R@\\\n + - 1+ 1- ABS NEGATE\\\n S>D * M* UM*\\\n FM/MOD SM/REM UM/MOD */ */MOD / /MOD MOD\\\n HERE , @ ! CELL+ CELLS C, C@ C! CHARS 2@ 2!\\\n ALIGN ALIGNED +! ALLOT\\\n CHAR [CHAR] [ ] BL\\\n FIND EXECUTE IMMEDIATE COUNT LITERAL STATE\\\n ; DOES> >BODY\\\n EVALUATE\\\n SOURCE >IN\\\n <# # #S #> HOLD SIGN BASE >NUMBER HEX DECIMAL\\\n FILL MOVE\\\n . CR EMIT SPACE SPACES TYPE U. .R U.R\\\n ACCEPT\\\n TRUE FALSE\\\n <> U> 0<> 0>\\\n NIP TUCK ROLL PICK\\\n 2>R 2R@ 2R>\\\n WITHIN UNUSED MARKER\\\n I J\\\n TO\\\n COMPILE, [COMPILE]\\\n SAVE-INPUT RESTORE-INPUT\\\n PAD ERASE\\\n 2LITERAL DNEGATE\\\n D- D+ D0< D0= D2* D2/ D< D= DMAX DMIN D>S DABS\\\n M+ M*/ D. D.R 2ROT DU<\\\n CATCH THROW\\\n FREE RESIZE ALLOCATE\\\n CS-PICK CS-ROLL\\\n GET-CURRENT SET-CURRENT FORTH-WORDLIST GET-ORDER SET-ORDER\\\n PREVIOUS SEARCH-WORDLIST WORDLIST FIND ALSO ONLY FORTH DEFINITIONS ORDER\\\n -TRAILING /STRING SEARCH COMPARE CMOVE CMOVE> BLANK SLITERAL');\n\nvar immediateWordList = toWordList('IF ELSE THEN BEGIN WHILE REPEAT UNTIL RECURSE [IF] [ELSE] [THEN] ?DO DO LOOP +LOOP UNLOOP LEAVE EXIT AGAIN CASE OF ENDOF ENDCASE');\n\nfunction searchWordList (wordList, word) {\n var i;\n for (i = wordList.length - 1; i >= 0; i--) {\n if (wordList[i].name === word.toUpperCase()) {\n return wordList[i];\n }\n }\n return undefined;\n}\nexport const forth = {\n name: \"forth\",\n startState: function() {\n return {\n state: '',\n base: 10,\n coreWordList: coreWordList,\n immediateWordList: immediateWordList,\n wordList: []\n };\n },\n token: function (stream, stt) {\n var mat;\n if (stream.eatSpace()) {\n return null;\n }\n if (stt.state === '') { // interpretation\n if (stream.match(/^(\\]|:NONAME)(\\s|$)/i)) {\n stt.state = ' compilation';\n return 'builtin';\n }\n mat = stream.match(/^(\\:)\\s+(\\S+)(\\s|$)+/);\n if (mat) {\n stt.wordList.push({name: mat[2].toUpperCase()});\n stt.state = ' compilation';\n return 'def';\n }\n mat = stream.match(/^(VARIABLE|2VARIABLE|CONSTANT|2CONSTANT|CREATE|POSTPONE|VALUE|WORD)\\s+(\\S+)(\\s|$)+/i);\n if (mat) {\n stt.wordList.push({name: mat[2].toUpperCase()});\n return 'def';\n }\n mat = stream.match(/^(\\'|\\[\\'\\])\\s+(\\S+)(\\s|$)+/);\n if (mat) {\n return 'builtin'\n }\n } else { // compilation\n // ; [\n if (stream.match(/^(\\;|\\[)(\\s)/)) {\n stt.state = '';\n stream.backUp(1);\n return 'builtin';\n }\n if (stream.match(/^(\\;|\\[)($)/)) {\n stt.state = '';\n return 'builtin';\n }\n if (stream.match(/^(POSTPONE)\\s+\\S+(\\s|$)+/)) {\n return 'builtin';\n }\n }\n\n // dynamic wordlist\n mat = stream.match(/^(\\S+)(\\s+|$)/);\n if (mat) {\n if (searchWordList(stt.wordList, mat[1]) !== undefined) {\n return 'variable';\n }\n\n // comments\n if (mat[1] === '\\\\') {\n stream.skipToEnd();\n return 'comment';\n }\n\n // core words\n if (searchWordList(stt.coreWordList, mat[1]) !== undefined) {\n return 'builtin';\n }\n if (searchWordList(stt.immediateWordList, mat[1]) !== undefined) {\n return 'keyword';\n }\n\n if (mat[1] === '(') {\n stream.eatWhile(function (s) { return s !== ')'; });\n stream.eat(')');\n return 'comment';\n }\n\n // // strings\n if (mat[1] === '.(') {\n stream.eatWhile(function (s) { return s !== ')'; });\n stream.eat(')');\n return 'string';\n }\n if (mat[1] === 'S\"' || mat[1] === '.\"' || mat[1] === 'C\"') {\n stream.eatWhile(function (s) { return s !== '\"'; });\n stream.eat('\"');\n return 'string';\n }\n\n // numbers\n if (mat[1] - 0xfffffffff) {\n return 'number';\n }\n // if (mat[1].match(/^[-+]?[0-9]+\\.[0-9]*/)) {\n // return 'number';\n // }\n\n return 'atom';\n }\n }\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}