@vc-shell/framework 1.1.2 → 1.1.3

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 (266) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/apl-B2DGVGxc.js +76 -0
  3. package/dist/asciiarmor-2LVJmxlE.js +34 -0
  4. package/dist/asn1-jKiBa2Ya.js +95 -0
  5. package/dist/asterisk-DS281yxp.js +271 -0
  6. package/dist/brainfuck-C_p9pTT8.js +34 -0
  7. package/dist/clike-BUuHEmgZ.js +620 -0
  8. package/dist/clojure-CCKyeQKf.js +800 -0
  9. package/dist/cmake-CuaCgAKt.js +28 -0
  10. package/dist/cobol-BlTKFDRj.js +72 -0
  11. package/dist/coffeescript-BVCvwO8I.js +179 -0
  12. package/dist/commonlisp-D_kxz07b.js +75 -0
  13. package/dist/crystal-D309uH6_.js +217 -0
  14. package/dist/css-bIlmDBTK.js +1560 -0
  15. package/dist/cypher-BMq4Fwjl.js +68 -0
  16. package/dist/d-BZcgY6La.js +127 -0
  17. package/dist/diff-Cg9d_RX2.js +18 -0
  18. package/dist/{assets/dockerfile-D0MivFIF.js → dockerfile-DIy8NleC.js} +36 -41
  19. package/dist/dtd-CtLokQ-U.js +84 -0
  20. package/dist/dylan-QYeExnWK.js +234 -0
  21. package/dist/ebnf-DUPDuY4r.js +78 -0
  22. package/dist/ecl-CiXN-g_D.js +121 -0
  23. package/dist/eiffel-yQhjl4T1.js +110 -0
  24. package/dist/elm-CNT9vbN0.js +108 -0
  25. package/dist/erlang-CFOYdy9e.js +487 -0
  26. package/dist/factor-DDOC7X6P.js +65 -0
  27. package/dist/fcl-CPC2WYrI.js +103 -0
  28. package/dist/forth-BmxRyE9S.js +60 -0
  29. package/dist/fortran-9bvPyrOW.js +442 -0
  30. package/dist/framework.js +288 -29
  31. package/dist/gas-BdfkXJT_.js +183 -0
  32. package/dist/gherkin-CJuwpceU.js +34 -0
  33. package/dist/groovy-DZeT_VM-.js +146 -0
  34. package/dist/haskell-Bvt3Qq1t.js +375 -0
  35. package/dist/haxe-70NVW1pR.js +359 -0
  36. package/dist/http-D9LttvKF.js +44 -0
  37. package/dist/idl-B6TRFYjl.js +947 -0
  38. package/dist/{assets/index-C7zlEJy8.js → index-B83didIY.js} +229 -302
  39. package/dist/{assets/index-BT8o9-M5.js → index-BKR3ecN5.js} +267 -386
  40. package/dist/{assets/index-B1srGfDb.js → index-BN-_cebP.js} +119 -165
  41. package/dist/index-BUHouW8T.js +249 -0
  42. package/dist/index-BW3krAiY.js +341 -0
  43. package/dist/index-C6tcHNVl.js +75 -0
  44. package/dist/index-CGyGGihY.js +538 -0
  45. package/dist/{assets/index-DMTL7O1s.js → index-CnQ56kqq.js} +570 -586
  46. package/dist/index-Cv6c_1IG.js +71 -0
  47. package/dist/{assets/index-CeeaNa4F.js → index-CxMfHOup.js} +136 -167
  48. package/dist/index-DRL7VovM.js +308 -0
  49. package/dist/index-Dfcy8w9c.js +58 -0
  50. package/dist/{assets/index-CtmpJVwa.js → index-DyGIijU2.js} +270 -312
  51. package/dist/index-Ek7_XgGk.js +98 -0
  52. package/dist/{assets/index-Bv_z_qRq.js → index-TSGli7LX.js} +121 -124
  53. package/dist/index-UnPPbmRc.js +145659 -0
  54. package/dist/{assets/index-BKF-A58l.js → index-xFQltarK.js} +79 -92
  55. package/dist/index.css +9 -18
  56. package/dist/javascript-WMWNx-Vj.js +690 -0
  57. package/dist/jinja2-DnB6dQmV.js +154 -0
  58. package/dist/julia-DpvXAuO6.js +241 -0
  59. package/dist/livescript-CanGTf8u.js +272 -0
  60. package/dist/lua-XplVlWi_.js +217 -0
  61. package/dist/mathematica-jaRHnSxC.js +35 -0
  62. package/dist/mbox-BctzC1hL.js +76 -0
  63. package/dist/mirc-CFBPAOaF.js +72 -0
  64. package/dist/mllike-BSnXJBGA.js +272 -0
  65. package/dist/modelica-vUgVs--1.js +93 -0
  66. package/dist/mscgen-Cpl0NYLN.js +104 -0
  67. package/dist/mumps-CQoS1kWX.js +25 -0
  68. package/dist/nginx-zDPm3Z74.js +89 -0
  69. package/dist/nsis-fePjrhq7.js +62 -0
  70. package/dist/ntriples-CsNjv2QF.js +79 -0
  71. package/dist/octave-C8PmmSRH.js +143 -0
  72. package/dist/oz-Ce8aN8oE.js +151 -0
  73. package/dist/pascal-De0D6mP7.js +77 -0
  74. package/dist/perl-B4bSCe1C.js +915 -0
  75. package/dist/pig-D24Z8EXi.js +54 -0
  76. package/dist/powershell-DkYVfTzP.js +249 -0
  77. package/dist/properties-Dn9wna3M.js +26 -0
  78. package/dist/protobuf-BPIjwpzm.js +49 -0
  79. package/dist/pug-BqUR2bBq.js +248 -0
  80. package/dist/puppet-nyd4dhjf.js +45 -0
  81. package/dist/python-B5QdSKoL.js +313 -0
  82. package/dist/q-DXjKs-tC.js +83 -0
  83. package/dist/r-LKEuhEGI.js +104 -0
  84. package/dist/rpm-IznJm2Xc.js +57 -0
  85. package/dist/ruby-CcYfvIk6.js +228 -0
  86. package/dist/sas-7E8yHoCW.js +105 -0
  87. package/dist/scheme-DjibxsNh.js +124 -0
  88. package/dist/shell-C0C2sNA_.js +182 -0
  89. package/dist/sieve-Bwz7vjP5.js +72 -0
  90. package/dist/simple-mode-B0dvCdAA.js +89 -0
  91. package/dist/smalltalk-Bhddl2pB.js +48 -0
  92. package/dist/solr-BNlsLglM.js +41 -0
  93. package/dist/sparql-FarWu_Gb.js +197 -0
  94. package/dist/spreadsheet-C-cy4P5N.js +49 -0
  95. package/dist/sql-mMre1Bo3.js +282 -0
  96. package/dist/stex-92raWT1r.js +129 -0
  97. package/dist/stylus-CAdqWld3.js +250 -0
  98. package/dist/swift-DSxqR9R6.js +230 -0
  99. package/dist/tcl-xfoLljhY.js +81 -0
  100. package/dist/textile-D1AWE-pc.js +295 -0
  101. package/dist/tiddlywiki-5wqsXtSk.js +155 -0
  102. package/dist/tiki-__Kn3CeS.js +181 -0
  103. package/dist/toml-BHiuTcfn.js +49 -0
  104. package/dist/troff-D2UO-fKf.js +35 -0
  105. package/dist/ttcn-Bsa4sfRm.js +123 -0
  106. package/dist/ttcn-cfg-Bac_acMi.js +88 -0
  107. package/dist/turtle-xwJUxoPV.js +80 -0
  108. package/dist/vb-c2kQGd6-.js +74 -0
  109. package/dist/vbscript-Dz1TtKsy.js +324 -0
  110. package/dist/velocity-DJd0pTTC.js +96 -0
  111. package/dist/verilog-C4VGD9n1.js +263 -0
  112. package/dist/vhdl-T9HkrbI2.js +106 -0
  113. package/dist/webidl-CjfDENEo.js +155 -0
  114. package/dist/xquery-BUQdORAS.js +422 -0
  115. package/dist/yacas-C0absKBh.js +73 -0
  116. package/dist/z80-C8rPtw-0.js +61 -0
  117. package/package.json +4 -4
  118. package/dist/assets/apl-NdZ6-T1z.js +0 -142
  119. package/dist/assets/asciiarmor-CmJEbAuq.js +0 -56
  120. package/dist/assets/asn1-Ctc8K72v.js +0 -192
  121. package/dist/assets/asterisk-D6r__RMF.js +0 -187
  122. package/dist/assets/brainfuck-COwWCBpq.js +0 -70
  123. package/dist/assets/clike-C-PtfL50.js +0 -1019
  124. package/dist/assets/clojure-C2XPrGCa.js +0 -274
  125. package/dist/assets/cmake-BGrEgXCL.js +0 -81
  126. package/dist/assets/cobol-DShPmpZe.js +0 -234
  127. package/dist/assets/coffeescript-BG8vTfSz.js +0 -329
  128. package/dist/assets/commonlisp-8oE2EpEe.js +0 -108
  129. package/dist/assets/core-api-BMLS9FrT.js +0 -8288
  130. package/dist/assets/core-composables-DYxpIWyY.js +0 -1799
  131. package/dist/assets/core-constants-DiKDBbnD.js +0 -83
  132. package/dist/assets/core-directives-QhJx9kWh.js +0 -41
  133. package/dist/assets/core-interceptors-CSjUvxQ0.js +0 -78
  134. package/dist/assets/core-plugins-wv2bDZ0l.js +0 -4919
  135. package/dist/assets/core-services-CAfJRsjs.js +0 -4
  136. package/dist/assets/core-utilities-BTktq_a-.js +0 -33
  137. package/dist/assets/crystal--rIRMl16.js +0 -419
  138. package/dist/assets/css/core-directives-FL4vIIkN.css +0 -73
  139. package/dist/assets/css/fonts-M1mtyV8L.css +0 -305
  140. package/dist/assets/css/icons-css-DbCVsovz.css +0 -41
  141. package/dist/assets/css/shared-components-bnLHdCtf.css +0 -429
  142. package/dist/assets/css/shared-modules-CNOICmYQ.css +0 -45
  143. package/dist/assets/css/styles-C62nDZwV.css +0 -4096
  144. package/dist/assets/css/ui-app-Bh9hmlIB.css +0 -1287
  145. package/dist/assets/css/ui-content-B29jsmK7.css +0 -1187
  146. package/dist/assets/css/ui-controls-CRtfFczw.css +0 -387
  147. package/dist/assets/css/ui-data-CYLxfdUa.css +0 -1555
  148. package/dist/assets/css/ui-form-C3WrWfVl.css +0 -71
  149. package/dist/assets/css/ui-form-fields-DOtHhDeM.css +0 -1360
  150. package/dist/assets/css/ui-helpers-bOoNv5dS.css +0 -37
  151. package/dist/assets/css/ui-indicators-CybQnCoU.css +0 -628
  152. package/dist/assets/css/ui-layout-DyGKgizy.css +0 -251
  153. package/dist/assets/css/ui-media-TWYep8js.css +0 -298
  154. package/dist/assets/css/ui-media-advanced-BGxy3VSB.css +0 -183
  155. package/dist/assets/css/ui-navigation-DcPRn8SB.css +0 -1693
  156. package/dist/assets/css-C_ZeEwz2.js +0 -847
  157. package/dist/assets/cypher-Bayei42D.js +0 -122
  158. package/dist/assets/d-B0hhz6be.js +0 -205
  159. package/dist/assets/diff-DQutOIXs.js +0 -30
  160. package/dist/assets/dtd-C1CeYVnM.js +0 -121
  161. package/dist/assets/dylan-Dm9-uD-A.js +0 -337
  162. package/dist/assets/ebnf-jWG_1Yly.js +0 -151
  163. package/dist/assets/ecl-CgJPA6z9.js +0 -190
  164. package/dist/assets/eiffel-lj7uLahq.js +0 -146
  165. package/dist/assets/elm-Cz7o1ijk.js +0 -230
  166. package/dist/assets/erlang-CyL5QOyR.js +0 -581
  167. package/dist/assets/factor-BVWHwYpu.js +0 -65
  168. package/dist/assets/fcl-DiozYjc8.js +0 -154
  169. package/dist/assets/forth-B7vn5ze0.js +0 -164
  170. package/dist/assets/fortran-D2XNEnBT.js +0 -172
  171. package/dist/assets/gas-B_Tj57Ve.js +0 -343
  172. package/dist/assets/gherkin-CJ6Qk4EZ.js +0 -147
  173. package/dist/assets/groovy-ioGz2WSV.js +0 -228
  174. package/dist/assets/haskell-BHnm1B83.js +0 -239
  175. package/dist/assets/haxe-Bn6Yo6N3.js +0 -490
  176. package/dist/assets/http-BOd5SYCT.js +0 -89
  177. package/dist/assets/idl-FSFk8_xX.js +0 -274
  178. package/dist/assets/index--5fKpGeN.js +0 -792
  179. package/dist/assets/index-0lME64YH.js +0 -342
  180. package/dist/assets/index-B6Ip0FgO.js +0 -437
  181. package/dist/assets/index-BmV05E5M.js +0 -479
  182. package/dist/assets/index-C6MavZDA.js +0 -131
  183. package/dist/assets/index-CwKpgcYl.js +0 -85
  184. package/dist/assets/index-DRUmDL0J.js +0 -59
  185. package/dist/assets/index-DgFC-M9G.js +0 -96
  186. package/dist/assets/javascript-DGrAs70C.js +0 -922
  187. package/dist/assets/jinja2-D9k5QrXv.js +0 -171
  188. package/dist/assets/julia-DM42tOPB.js +0 -369
  189. package/dist/assets/livescript-Dci8HnOi.js +0 -259
  190. package/dist/assets/lua-CByQu4v6.js +0 -137
  191. package/dist/assets/lucide-icons-af0BY3bi.js +0 -34555
  192. package/dist/assets/mathematica-Dkv0uCYF.js +0 -153
  193. package/dist/assets/mbox-CYTvs5kC.js +0 -114
  194. package/dist/assets/mirc-DpgP3GCo.js +0 -176
  195. package/dist/assets/mllike-C6tNn2Yt.js +0 -343
  196. package/dist/assets/modelica-CR6hTSce.js +0 -192
  197. package/dist/assets/mscgen-D0GXtzMS.js +0 -149
  198. package/dist/assets/mumps-Bf1EyDa6.js +0 -129
  199. package/dist/assets/nginx-By9Phklj.js +0 -163
  200. package/dist/assets/nsis-B5ggMLQ9.js +0 -80
  201. package/dist/assets/ntriples-C7VJ7pnm.js +0 -141
  202. package/dist/assets/octave-6yR_ix15.js +0 -112
  203. package/dist/assets/oz-CEUnktiQ.js +0 -235
  204. package/dist/assets/pascal-Dksf1EyF.js +0 -124
  205. package/dist/assets/perl-B99DUQQt.js +0 -819
  206. package/dist/assets/pig-DFeDRta6.js +0 -149
  207. package/dist/assets/powershell-DhwsNWMx.js +0 -381
  208. package/dist/assets/properties-o21uErwC.js +0 -62
  209. package/dist/assets/protobuf-YxlANsmD.js +0 -54
  210. package/dist/assets/pug-bUgjeODZ.js +0 -504
  211. package/dist/assets/puppet-B8WICGYE.js +0 -205
  212. package/dist/assets/python-D3FFx1Id.js +0 -389
  213. package/dist/assets/q-D2Hjhl2C.js +0 -123
  214. package/dist/assets/r-D73k5lac.js +0 -174
  215. package/dist/assets/rpm-Duv_WH0z.js +0 -89
  216. package/dist/assets/ruby-DGCVqZDt.js +0 -287
  217. package/dist/assets/sas-XjPv1Vy5.js +0 -268
  218. package/dist/assets/scheme-DeaA28vt.js +0 -263
  219. package/dist/assets/shared-components-CfAt2hC6.js +0 -1501
  220. package/dist/assets/shared-composables-v9NkNuAe.js +0 -35
  221. package/dist/assets/shared-modules-CDP-H5ZB.js +0 -3588
  222. package/dist/assets/shared-pages-BGRRA5WB.js +0 -20
  223. package/dist/assets/shell-Bx6QZTgx.js +0 -145
  224. package/dist/assets/sieve-CWCD62sW.js +0 -178
  225. package/dist/assets/simple-mode-BAO9cD7H.js +0 -136
  226. package/dist/assets/smalltalk-DSQbF4MF.js +0 -153
  227. package/dist/assets/solr-v_XRf31C.js +0 -80
  228. package/dist/assets/sparql-BrfDqf0-.js +0 -170
  229. package/dist/assets/spreadsheet-Csn84Pef.js +0 -98
  230. package/dist/assets/sql-D4utlq1l.js +0 -480
  231. package/dist/assets/stex-DBkktma-.js +0 -246
  232. package/dist/assets/stylus-ByG-Fd6f.js +0 -750
  233. package/dist/assets/swift-CHbTprt3.js +0 -202
  234. package/dist/assets/tcl-BRlMUELr.js +0 -125
  235. package/dist/assets/textile-CqfTUjd4.js +0 -441
  236. package/dist/assets/tiddlywiki-BrsoM8KB.js +0 -278
  237. package/dist/assets/tiki-D-ivWPkc.js +0 -289
  238. package/dist/assets/toml-t_IhJu83.js +0 -75
  239. package/dist/assets/troff-DckGF2AE.js +0 -64
  240. package/dist/assets/ttcn-B8TAFbRR.js +0 -253
  241. package/dist/assets/ttcn-cfg-NHh25oCM.js +0 -197
  242. package/dist/assets/turtle-D9Js0BlL.js +0 -141
  243. package/dist/assets/ui-app-D31Pr1WY.js +0 -1993
  244. package/dist/assets/ui-content-B7SxH8y9.js +0 -52887
  245. package/dist/assets/ui-controls-nmDJYLmC.js +0 -348
  246. package/dist/assets/ui-data-Ci3b1ye0.js +0 -22901
  247. package/dist/assets/ui-form-Cs5ooOo7.js +0 -159
  248. package/dist/assets/ui-form-fields-DFQi31jT.js +0 -40575
  249. package/dist/assets/ui-helpers-CF-EUlOg.js +0 -1736
  250. package/dist/assets/ui-indicators-mIQeEqha.js +0 -199
  251. package/dist/assets/ui-layout-v2XBQky3.js +0 -320
  252. package/dist/assets/ui-media-WWYrwmZw.js +0 -1259
  253. package/dist/assets/ui-media-advanced-T8ibi153.js +0 -492
  254. package/dist/assets/ui-modals-BdZXzI85.js +0 -2
  255. package/dist/assets/ui-navigation-BtHa6ovW.js +0 -24269
  256. package/dist/assets/utils-DZK5fu48.js +0 -17216
  257. package/dist/assets/vb-CbIGLrpY.js +0 -249
  258. package/dist/assets/vbscript-8ANWle9n.js +0 -320
  259. package/dist/assets/velocity-D6hz3Hzw.js +0 -186
  260. package/dist/assets/verilog-DIV442at.js +0 -565
  261. package/dist/assets/vhdl-BlTiZo_v.js +0 -174
  262. package/dist/assets/vueuse-CTQm4Zh0.js +0 -9308
  263. package/dist/assets/webidl-Cp3tcqdk.js +0 -179
  264. package/dist/assets/xquery-Dd4TBzXv.js +0 -411
  265. package/dist/assets/yacas-DQ1WucF0.js +0 -182
  266. package/dist/assets/z80-P1j44jDI.js +0 -102
@@ -1,581 +0,0 @@
1
- /////////////////////////////////////////////////////////////////////////////
2
- // constants
3
-
4
- var typeWords = [
5
- "-type", "-spec", "-export_type", "-opaque"];
6
-
7
- var keywordWords = [
8
- "after","begin","catch","case","cond","end","fun","if",
9
- "let","of","query","receive","try","when"];
10
-
11
- var separatorRE = /[\->,;]/;
12
- var separatorWords = [
13
- "->",";",","];
14
-
15
- var operatorAtomWords = [
16
- "and","andalso","band","bnot","bor","bsl","bsr","bxor",
17
- "div","not","or","orelse","rem","xor"];
18
-
19
- var operatorSymbolRE = /[\+\-\*\/<>=\|:!]/;
20
- var operatorSymbolWords = [
21
- "=","+","-","*","/",">",">=","<","=<","=:=","==","=/=","/=","||","<-","!"];
22
-
23
- var openParenRE = /[<\(\[\{]/;
24
- var openParenWords = [
25
- "<<","(","[","{"];
26
-
27
- var closeParenRE = /[>\)\]\}]/;
28
- var closeParenWords = [
29
- "}","]",")",">>"];
30
-
31
- var guardWords = [
32
- "is_atom","is_binary","is_bitstring","is_boolean","is_float",
33
- "is_function","is_integer","is_list","is_number","is_pid",
34
- "is_port","is_record","is_reference","is_tuple",
35
- "atom","binary","bitstring","boolean","function","integer","list",
36
- "number","pid","port","record","reference","tuple"];
37
-
38
- var bifWords = [
39
- "abs","adler32","adler32_combine","alive","apply","atom_to_binary",
40
- "atom_to_list","binary_to_atom","binary_to_existing_atom",
41
- "binary_to_list","binary_to_term","bit_size","bitstring_to_list",
42
- "byte_size","check_process_code","contact_binary","crc32",
43
- "crc32_combine","date","decode_packet","delete_module",
44
- "disconnect_node","element","erase","exit","float","float_to_list",
45
- "garbage_collect","get","get_keys","group_leader","halt","hd",
46
- "integer_to_list","internal_bif","iolist_size","iolist_to_binary",
47
- "is_alive","is_atom","is_binary","is_bitstring","is_boolean",
48
- "is_float","is_function","is_integer","is_list","is_number","is_pid",
49
- "is_port","is_process_alive","is_record","is_reference","is_tuple",
50
- "length","link","list_to_atom","list_to_binary","list_to_bitstring",
51
- "list_to_existing_atom","list_to_float","list_to_integer",
52
- "list_to_pid","list_to_tuple","load_module","make_ref","module_loaded",
53
- "monitor_node","node","node_link","node_unlink","nodes","notalive",
54
- "now","open_port","pid_to_list","port_close","port_command",
55
- "port_connect","port_control","pre_loaded","process_flag",
56
- "process_info","processes","purge_module","put","register",
57
- "registered","round","self","setelement","size","spawn","spawn_link",
58
- "spawn_monitor","spawn_opt","split_binary","statistics",
59
- "term_to_binary","time","throw","tl","trunc","tuple_size",
60
- "tuple_to_list","unlink","unregister","whereis"];
61
-
62
- // upper case: [A-Z] [Ø-Þ] [À-Ö]
63
- // lower case: [a-z] [ß-ö] [ø-ÿ]
64
- var anumRE = /[\w@Ø-ÞÀ-Öß-öø-ÿ]/;
65
- var escapesRE =
66
- /[0-7]{1,3}|[bdefnrstv\\"']|\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/;
67
-
68
- /////////////////////////////////////////////////////////////////////////////
69
- // tokenizer
70
-
71
- function tokenizer(stream,state) {
72
- // in multi-line string
73
- if (state.in_string) {
74
- state.in_string = (!doubleQuote(stream));
75
- return rval(state,stream,"string");
76
- }
77
-
78
- // in multi-line atom
79
- if (state.in_atom) {
80
- state.in_atom = (!singleQuote(stream));
81
- return rval(state,stream,"atom");
82
- }
83
-
84
- // whitespace
85
- if (stream.eatSpace()) {
86
- return rval(state,stream,"whitespace");
87
- }
88
-
89
- // attributes and type specs
90
- if (!peekToken(state) &&
91
- stream.match(/-\s*[a-zß-öø-ÿ][\wØ-ÞÀ-Öß-öø-ÿ]*/)) {
92
- if (is_member(stream.current(),typeWords)) {
93
- return rval(state,stream,"type");
94
- }else {
95
- return rval(state,stream,"attribute");
96
- }
97
- }
98
-
99
- var ch = stream.next();
100
-
101
- // comment
102
- if (ch == '%') {
103
- stream.skipToEnd();
104
- return rval(state,stream,"comment");
105
- }
106
-
107
- // colon
108
- if (ch == ":") {
109
- return rval(state,stream,"colon");
110
- }
111
-
112
- // macro
113
- if (ch == '?') {
114
- stream.eatSpace();
115
- stream.eatWhile(anumRE);
116
- return rval(state,stream,"macro");
117
- }
118
-
119
- // record
120
- if (ch == "#") {
121
- stream.eatSpace();
122
- stream.eatWhile(anumRE);
123
- return rval(state,stream,"record");
124
- }
125
-
126
- // dollar escape
127
- if (ch == "$") {
128
- if (stream.next() == "\\" && !stream.match(escapesRE)) {
129
- return rval(state,stream,"error");
130
- }
131
- return rval(state,stream,"number");
132
- }
133
-
134
- // dot
135
- if (ch == ".") {
136
- return rval(state,stream,"dot");
137
- }
138
-
139
- // quoted atom
140
- if (ch == '\'') {
141
- if (!(state.in_atom = (!singleQuote(stream)))) {
142
- if (stream.match(/\s*\/\s*[0-9]/,false)) {
143
- stream.match(/\s*\/\s*[0-9]/,true);
144
- return rval(state,stream,"fun"); // 'f'/0 style fun
145
- }
146
- if (stream.match(/\s*\(/,false) || stream.match(/\s*:/,false)) {
147
- return rval(state,stream,"function");
148
- }
149
- }
150
- return rval(state,stream,"atom");
151
- }
152
-
153
- // string
154
- if (ch == '"') {
155
- state.in_string = (!doubleQuote(stream));
156
- return rval(state,stream,"string");
157
- }
158
-
159
- // variable
160
- if (/[A-Z_Ø-ÞÀ-Ö]/.test(ch)) {
161
- stream.eatWhile(anumRE);
162
- return rval(state,stream,"variable");
163
- }
164
-
165
- // atom/keyword/BIF/function
166
- if (/[a-z_ß-öø-ÿ]/.test(ch)) {
167
- stream.eatWhile(anumRE);
168
-
169
- if (stream.match(/\s*\/\s*[0-9]/,false)) {
170
- stream.match(/\s*\/\s*[0-9]/,true);
171
- return rval(state,stream,"fun"); // f/0 style fun
172
- }
173
-
174
- var w = stream.current();
175
-
176
- if (is_member(w,keywordWords)) {
177
- return rval(state,stream,"keyword");
178
- }else if (is_member(w,operatorAtomWords)) {
179
- return rval(state,stream,"operator");
180
- }else if (stream.match(/\s*\(/,false)) {
181
- // 'put' and 'erlang:put' are bifs, 'foo:put' is not
182
- if (is_member(w,bifWords) &&
183
- ((peekToken(state).token != ":") ||
184
- (peekToken(state,2).token == "erlang"))) {
185
- return rval(state,stream,"builtin");
186
- }else if (is_member(w,guardWords)) {
187
- return rval(state,stream,"guard");
188
- }else {
189
- return rval(state,stream,"function");
190
- }
191
- }else if (lookahead(stream) == ":") {
192
- if (w == "erlang") {
193
- return rval(state,stream,"builtin");
194
- } else {
195
- return rval(state,stream,"function");
196
- }
197
- }else if (is_member(w,["true","false"])) {
198
- return rval(state,stream,"boolean");
199
- }else {
200
- return rval(state,stream,"atom");
201
- }
202
- }
203
-
204
- // number
205
- var digitRE = /[0-9]/;
206
- var radixRE = /[0-9a-zA-Z]/; // 36#zZ style int
207
- if (digitRE.test(ch)) {
208
- stream.eatWhile(digitRE);
209
- if (stream.eat('#')) { // 36#aZ style integer
210
- if (!stream.eatWhile(radixRE)) {
211
- stream.backUp(1); //"36#" - syntax error
212
- }
213
- } else if (stream.eat('.')) { // float
214
- if (!stream.eatWhile(digitRE)) {
215
- stream.backUp(1); // "3." - probably end of function
216
- } else {
217
- if (stream.eat(/[eE]/)) { // float with exponent
218
- if (stream.eat(/[-+]/)) {
219
- if (!stream.eatWhile(digitRE)) {
220
- stream.backUp(2); // "2e-" - syntax error
221
- }
222
- } else {
223
- if (!stream.eatWhile(digitRE)) {
224
- stream.backUp(1); // "2e" - syntax error
225
- }
226
- }
227
- }
228
- }
229
- }
230
- return rval(state,stream,"number"); // normal integer
231
- }
232
-
233
- // open parens
234
- if (nongreedy(stream,openParenRE,openParenWords)) {
235
- return rval(state,stream,"open_paren");
236
- }
237
-
238
- // close parens
239
- if (nongreedy(stream,closeParenRE,closeParenWords)) {
240
- return rval(state,stream,"close_paren");
241
- }
242
-
243
- // separators
244
- if (greedy(stream,separatorRE,separatorWords)) {
245
- return rval(state,stream,"separator");
246
- }
247
-
248
- // operators
249
- if (greedy(stream,operatorSymbolRE,operatorSymbolWords)) {
250
- return rval(state,stream,"operator");
251
- }
252
-
253
- return rval(state,stream,null);
254
- }
255
-
256
- /////////////////////////////////////////////////////////////////////////////
257
- // utilities
258
- function nongreedy(stream,re,words) {
259
- if (stream.current().length == 1 && re.test(stream.current())) {
260
- stream.backUp(1);
261
- while (re.test(stream.peek())) {
262
- stream.next();
263
- if (is_member(stream.current(),words)) {
264
- return true;
265
- }
266
- }
267
- stream.backUp(stream.current().length-1);
268
- }
269
- return false;
270
- }
271
-
272
- function greedy(stream,re,words) {
273
- if (stream.current().length == 1 && re.test(stream.current())) {
274
- while (re.test(stream.peek())) {
275
- stream.next();
276
- }
277
- while (0 < stream.current().length) {
278
- if (is_member(stream.current(),words)) {
279
- return true;
280
- }else {
281
- stream.backUp(1);
282
- }
283
- }
284
- stream.next();
285
- }
286
- return false;
287
- }
288
-
289
- function doubleQuote(stream) {
290
- return quote(stream, '"', '\\');
291
- }
292
-
293
- function singleQuote(stream) {
294
- return quote(stream,'\'','\\');
295
- }
296
-
297
- function quote(stream,quoteChar,escapeChar) {
298
- while (!stream.eol()) {
299
- var ch = stream.next();
300
- if (ch == quoteChar) {
301
- return true;
302
- }else if (ch == escapeChar) {
303
- stream.next();
304
- }
305
- }
306
- return false;
307
- }
308
-
309
- function lookahead(stream) {
310
- var m = stream.match(/^\s*([^\s%])/, false);
311
- return m ? m[1] : "";
312
- }
313
-
314
- function is_member(element,list) {
315
- return (-1 < list.indexOf(element));
316
- }
317
-
318
- function rval(state,stream,type) {
319
-
320
- // parse stack
321
- pushToken(state,realToken(type,stream));
322
-
323
- // map erlang token type to CodeMirror style class
324
- // erlang -> CodeMirror tag
325
- switch (type) {
326
- case "atom": return "atom";
327
- case "attribute": return "attribute";
328
- case "boolean": return "atom";
329
- case "builtin": return "builtin";
330
- case "close_paren": return null;
331
- case "colon": return null;
332
- case "comment": return "comment";
333
- case "dot": return null;
334
- case "error": return "error";
335
- case "fun": return "meta";
336
- case "function": return "tag";
337
- case "guard": return "property";
338
- case "keyword": return "keyword";
339
- case "macro": return "macroName";
340
- case "number": return "number";
341
- case "open_paren": return null;
342
- case "operator": return "operator";
343
- case "record": return "bracket";
344
- case "separator": return null;
345
- case "string": return "string";
346
- case "type": return "def";
347
- case "variable": return "variable";
348
- default: return null;
349
- }
350
- }
351
-
352
- function aToken(tok,col,ind,typ) {
353
- return {token: tok,
354
- column: col,
355
- indent: ind,
356
- type: typ};
357
- }
358
-
359
- function realToken(type,stream) {
360
- return aToken(stream.current(),
361
- stream.column(),
362
- stream.indentation(),
363
- type);
364
- }
365
-
366
- function fakeToken(type) {
367
- return aToken(type,0,0,type);
368
- }
369
-
370
- function peekToken(state,depth) {
371
- var len = state.tokenStack.length;
372
- var dep = (depth ? depth : 1);
373
-
374
- if (len < dep) {
375
- return false;
376
- }else {
377
- return state.tokenStack[len-dep];
378
- }
379
- }
380
-
381
- function pushToken(state,token) {
382
-
383
- if (!(token.type == "comment" || token.type == "whitespace")) {
384
- state.tokenStack = maybe_drop_pre(state.tokenStack,token);
385
- state.tokenStack = maybe_drop_post(state.tokenStack);
386
- }
387
- }
388
-
389
- function maybe_drop_pre(s,token) {
390
- var last = s.length-1;
391
-
392
- if (0 < last && s[last].type === "record" && token.type === "dot") {
393
- s.pop();
394
- }else if (0 < last && s[last].type === "group") {
395
- s.pop();
396
- s.push(token);
397
- }else {
398
- s.push(token);
399
- }
400
- return s;
401
- }
402
-
403
- function maybe_drop_post(s) {
404
- if (!s.length) return s
405
- var last = s.length-1;
406
-
407
- if (s[last].type === "dot") {
408
- return [];
409
- }
410
- if (last > 1 && s[last].type === "fun" && s[last-1].token === "fun") {
411
- return s.slice(0,last-1);
412
- }
413
- switch (s[last].token) {
414
- case "}": return d(s,{g:["{"]});
415
- case "]": return d(s,{i:["["]});
416
- case ")": return d(s,{i:["("]});
417
- case ">>": return d(s,{i:["<<"]});
418
- case "end": return d(s,{i:["begin","case","fun","if","receive","try"]});
419
- case ",": return d(s,{e:["begin","try","when","->",
420
- ",","(","[","{","<<"]});
421
- case "->": return d(s,{r:["when"],
422
- m:["try","if","case","receive"]});
423
- case ";": return d(s,{E:["case","fun","if","receive","try","when"]});
424
- case "catch":return d(s,{e:["try"]});
425
- case "of": return d(s,{e:["case"]});
426
- case "after":return d(s,{e:["receive","try"]});
427
- default: return s;
428
- }
429
- }
430
-
431
- function d(stack,tt) {
432
- // stack is a stack of Token objects.
433
- // tt is an object; {type:tokens}
434
- // type is a char, tokens is a list of token strings.
435
- // The function returns (possibly truncated) stack.
436
- // It will descend the stack, looking for a Token such that Token.token
437
- // is a member of tokens. If it does not find that, it will normally (but
438
- // see "E" below) return stack. If it does find a match, it will remove
439
- // all the Tokens between the top and the matched Token.
440
- // If type is "m", that is all it does.
441
- // If type is "i", it will also remove the matched Token and the top Token.
442
- // If type is "g", like "i", but add a fake "group" token at the top.
443
- // If type is "r", it will remove the matched Token, but not the top Token.
444
- // If type is "e", it will keep the matched Token but not the top Token.
445
- // If type is "E", it behaves as for type "e", except if there is no match,
446
- // in which case it will return an empty stack.
447
-
448
- for (var type in tt) {
449
- var len = stack.length-1;
450
- var tokens = tt[type];
451
- for (var i = len-1; -1 < i ; i--) {
452
- if (is_member(stack[i].token,tokens)) {
453
- var ss = stack.slice(0,i);
454
- switch (type) {
455
- case "m": return ss.concat(stack[i]).concat(stack[len]);
456
- case "r": return ss.concat(stack[len]);
457
- case "i": return ss;
458
- case "g": return ss.concat(fakeToken("group"));
459
- case "E": return ss.concat(stack[i]);
460
- case "e": return ss.concat(stack[i]);
461
- }
462
- }
463
- }
464
- }
465
- return (type == "E" ? [] : stack);
466
- }
467
-
468
- /////////////////////////////////////////////////////////////////////////////
469
- // indenter
470
-
471
- function indenter(state, textAfter, cx) {
472
- var t;
473
- var wordAfter = wordafter(textAfter);
474
- var currT = peekToken(state,1);
475
- var prevT = peekToken(state,2);
476
-
477
- if (state.in_string || state.in_atom) {
478
- return null;
479
- }else if (!prevT) {
480
- return 0;
481
- }else if (currT.token == "when") {
482
- return currT.column + cx.unit;
483
- }else if (wordAfter === "when" && prevT.type === "function") {
484
- return prevT.indent+cx.unit;
485
- }else if (wordAfter === "(" && currT.token === "fun") {
486
- return currT.column+3;
487
- }else if (wordAfter === "catch" && (t = getToken(state,["try"]))) {
488
- return t.column;
489
- }else if (is_member(wordAfter,["end","after","of"])) {
490
- t = getToken(state,["begin","case","fun","if","receive","try"]);
491
- return t ? t.column : null;
492
- }else if (is_member(wordAfter,closeParenWords)) {
493
- t = getToken(state,openParenWords);
494
- return t ? t.column : null;
495
- }else if (is_member(currT.token,[",","|","||"]) ||
496
- is_member(wordAfter,[",","|","||"])) {
497
- t = postcommaToken(state);
498
- return t ? t.column+t.token.length : cx.unit;
499
- }else if (currT.token == "->") {
500
- if (is_member(prevT.token, ["receive","case","if","try"])) {
501
- return prevT.column+cx.unit+cx.unit;
502
- }else {
503
- return prevT.column+cx.unit;
504
- }
505
- }else if (is_member(currT.token,openParenWords)) {
506
- return currT.column+currT.token.length;
507
- }else {
508
- t = defaultToken(state);
509
- return truthy(t) ? t.column+cx.unit : 0;
510
- }
511
- }
512
-
513
- function wordafter(str) {
514
- var m = str.match(/,|[a-z]+|\}|\]|\)|>>|\|+|\(/);
515
-
516
- return truthy(m) && (m.index === 0) ? m[0] : "";
517
- }
518
-
519
- function postcommaToken(state) {
520
- var objs = state.tokenStack.slice(0,-1);
521
- var i = getTokenIndex(objs,"type",["open_paren"]);
522
-
523
- return truthy(objs[i]) ? objs[i] : false;
524
- }
525
-
526
- function defaultToken(state) {
527
- var objs = state.tokenStack;
528
- var stop = getTokenIndex(objs,"type",["open_paren","separator","keyword"]);
529
- var oper = getTokenIndex(objs,"type",["operator"]);
530
-
531
- if (truthy(stop) && truthy(oper) && stop < oper) {
532
- return objs[stop+1];
533
- } else if (truthy(stop)) {
534
- return objs[stop];
535
- } else {
536
- return false;
537
- }
538
- }
539
-
540
- function getToken(state,tokens) {
541
- var objs = state.tokenStack;
542
- var i = getTokenIndex(objs,"token",tokens);
543
-
544
- return truthy(objs[i]) ? objs[i] : false;
545
- }
546
-
547
- function getTokenIndex(objs,propname,propvals) {
548
-
549
- for (var i = objs.length-1; -1 < i ; i--) {
550
- if (is_member(objs[i][propname],propvals)) {
551
- return i;
552
- }
553
- }
554
- return false;
555
- }
556
-
557
- function truthy(x) {
558
- return (x !== false) && (x != null);
559
- }
560
-
561
- /////////////////////////////////////////////////////////////////////////////
562
- // this object defines the mode
563
-
564
- const erlang = {
565
- name: "erlang",
566
- startState() {
567
- return {tokenStack: [],
568
- in_string: false,
569
- in_atom: false};
570
- },
571
-
572
- token: tokenizer,
573
-
574
- indent: indenter,
575
-
576
- languageData: {
577
- commentTokens: {line: "%"}
578
- }
579
- };
580
-
581
- export { erlang };
@@ -1,65 +0,0 @@
1
- import { s as simpleMode } from './simple-mode-BAO9cD7H.js';
2
-
3
- const factor = simpleMode({
4
- start: [
5
- // comments
6
- {regex: /#?!.*/, token: "comment"},
7
- // strings """, multiline --> state
8
- {regex: /"""/, token: "string", next: "string3"},
9
- {regex: /(STRING:)(\s)/, token: ["keyword", null], next: "string2"},
10
- {regex: /\S*?"/, token: "string", next: "string"},
11
- // numbers: dec, hex, unicode, bin, fractional, complex
12
- {regex: /(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\-?\d+.?\d*)(?=\s)/, token: "number"},
13
- //{regex: /[+-]?/} //fractional
14
- // definition: defining word, defined word, etc
15
- {regex: /((?:GENERIC)|\:?\:)(\s+)(\S+)(\s+)(\()/, token: ["keyword", null, "def", null, "bracket"], next: "stack"},
16
- // method definition: defining word, type, defined word, etc
17
- {regex: /(M\:)(\s+)(\S+)(\s+)(\S+)/, token: ["keyword", null, "def", null, "tag"]},
18
- // vocabulary using --> state
19
- {regex: /USING\:/, token: "keyword", next: "vocabulary"},
20
- // vocabulary definition/use
21
- {regex: /(USE\:|IN\:)(\s+)(\S+)(?=\s|$)/, token: ["keyword", null, "tag"]},
22
- // definition: a defining word, defined word
23
- {regex: /(\S+\:)(\s+)(\S+)(?=\s|$)/, token: ["keyword", null, "def"]},
24
- // "keywords", incl. ; t f . [ ] { } defining words
25
- {regex: /(?:;|\\|t|f|if|loop|while|until|do|PRIVATE>|<PRIVATE|\.|\S*\[|\]|\S*\{|\})(?=\s|$)/, token: "keyword"},
26
- // <constructors> and the like
27
- {regex: /\S+[\)>\.\*\?]+(?=\s|$)/, token: "builtin"},
28
- {regex: /[\)><]+\S+(?=\s|$)/, token: "builtin"},
29
- // operators
30
- {regex: /(?:[\+\-\=\/\*<>])(?=\s|$)/, token: "keyword"},
31
- // any id (?)
32
- {regex: /\S+/, token: "variable"},
33
- {regex: /\s+|./, token: null}
34
- ],
35
- vocabulary: [
36
- {regex: /;/, token: "keyword", next: "start"},
37
- {regex: /\S+/, token: "tag"},
38
- {regex: /\s+|./, token: null}
39
- ],
40
- string: [
41
- {regex: /(?:[^\\]|\\.)*?"/, token: "string", next: "start"},
42
- {regex: /.*/, token: "string"}
43
- ],
44
- string2: [
45
- {regex: /^;/, token: "keyword", next: "start"},
46
- {regex: /.*/, token: "string"}
47
- ],
48
- string3: [
49
- {regex: /(?:[^\\]|\\.)*?"""/, token: "string", next: "start"},
50
- {regex: /.*/, token: "string"}
51
- ],
52
- stack: [
53
- {regex: /\)/, token: "bracket", next: "start"},
54
- {regex: /--/, token: "bracket"},
55
- {regex: /\S+/, token: "meta"},
56
- {regex: /\s+|./, token: null}
57
- ],
58
- languageData: {
59
- name: "factor",
60
- dontIndentStates: ["start", "vocabulary", "string", "string3", "stack"],
61
- commentTokens: {line: "!"}
62
- }
63
- });
64
-
65
- export { factor };