@milkdown/crepe 7.5.0 → 7.5.2

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 (584) hide show
  1. package/lib/cjs/index-N1cRxqdw.js +39 -0
  2. package/lib/cjs/index-N1cRxqdw.js.map +1 -0
  3. package/lib/cjs/{index-cpC-j5Nt.js → index-TGmNEvsj.js} +31 -40
  4. package/lib/cjs/index-TGmNEvsj.js.map +1 -0
  5. package/lib/cjs/index-dEVmN_aj.js +26 -0
  6. package/lib/cjs/index-dEVmN_aj.js.map +1 -0
  7. package/lib/cjs/index-fhKBUFkq.js +46 -0
  8. package/lib/cjs/index-fhKBUFkq.js.map +1 -0
  9. package/lib/cjs/index-ocxd4A-M.js +675 -0
  10. package/lib/cjs/index-ocxd4A-M.js.map +1 -0
  11. package/lib/cjs/{index-J3XY9IPt.js → index-rFFAL9YA.js} +9 -17
  12. package/lib/cjs/{index-J3XY9IPt.js.map → index-rFFAL9YA.js.map} +1 -1
  13. package/lib/cjs/index-rLAgJeYn.js +28 -0
  14. package/lib/cjs/index-rLAgJeYn.js.map +1 -0
  15. package/lib/cjs/index-tlx25I_m.js +36 -0
  16. package/lib/cjs/index-tlx25I_m.js.map +1 -0
  17. package/lib/cjs/index-uleaJDBC.js +19 -0
  18. package/lib/cjs/index-uleaJDBC.js.map +1 -0
  19. package/lib/cjs/index.js +150 -14
  20. package/lib/cjs/index.js.map +1 -1
  21. package/lib/cjs/{todoList-Ze4FLMlx.js → todoList-YYRQo7wG.js} +1 -12
  22. package/lib/cjs/todoList-YYRQo7wG.js.map +1 -0
  23. package/lib/esm/index-6JoGWH2I.js +17 -0
  24. package/lib/esm/index-6JoGWH2I.js.map +1 -0
  25. package/lib/esm/{index-MB6wQe1U.js → index-CMGDOz11.js} +5 -13
  26. package/lib/esm/{index-MB6wQe1U.js.map → index-CMGDOz11.js.map} +1 -1
  27. package/lib/esm/index-HlPKwzLC.js +34 -0
  28. package/lib/esm/index-HlPKwzLC.js.map +1 -0
  29. package/lib/esm/index-_A9vu1ED.js +673 -0
  30. package/lib/esm/index-_A9vu1ED.js.map +1 -0
  31. package/lib/esm/index-amuALmzU.js +26 -0
  32. package/lib/esm/index-amuALmzU.js.map +1 -0
  33. package/lib/esm/index-fVrfHXda.js +24 -0
  34. package/lib/esm/index-fVrfHXda.js.map +1 -0
  35. package/lib/esm/index-jU_6odT9.js +44 -0
  36. package/lib/esm/index-jU_6odT9.js.map +1 -0
  37. package/lib/esm/index-ohmbt6Ys.js +37 -0
  38. package/lib/esm/index-ohmbt6Ys.js.map +1 -0
  39. package/lib/esm/{index-A83StUe6.js → index-w69wbtEZ.js} +9 -18
  40. package/lib/esm/{index-A83StUe6.js.map → index-w69wbtEZ.js.map} +1 -1
  41. package/lib/esm/index.js +152 -12
  42. package/lib/esm/index.js.map +1 -1
  43. package/lib/esm/{todoList-M-PGJKde.js → todoList-9QsDDcmB.js} +2 -12
  44. package/lib/esm/todoList-9QsDDcmB.js.map +1 -0
  45. package/package.json +2 -4
  46. package/lib/cjs/_view-N32ied53.js +0 -27
  47. package/lib/cjs/_view-N32ied53.js.map +0 -1
  48. package/lib/cjs/apl-99bWvYTf.js +0 -145
  49. package/lib/cjs/apl-99bWvYTf.js.map +0 -1
  50. package/lib/cjs/asciiarmor-cf0JLIr_.js +0 -59
  51. package/lib/cjs/asciiarmor-cf0JLIr_.js.map +0 -1
  52. package/lib/cjs/asn1-H4XzAvBS.js +0 -195
  53. package/lib/cjs/asn1-H4XzAvBS.js.map +0 -1
  54. package/lib/cjs/asterisk-0FgJEfZB.js +0 -190
  55. package/lib/cjs/asterisk-0FgJEfZB.js.map +0 -1
  56. package/lib/cjs/brainfuck-JX7vRZy7.js +0 -73
  57. package/lib/cjs/brainfuck-JX7vRZy7.js.map +0 -1
  58. package/lib/cjs/clike-ueXlMQy5.js +0 -1034
  59. package/lib/cjs/clike-ueXlMQy5.js.map +0 -1
  60. package/lib/cjs/clojure-6iDAG5oi.js +0 -277
  61. package/lib/cjs/clojure-6iDAG5oi.js.map +0 -1
  62. package/lib/cjs/clsx-dASsG01A.js +0 -6
  63. package/lib/cjs/clsx-dASsG01A.js.map +0 -1
  64. package/lib/cjs/cmake-L0RIBnfc.js +0 -84
  65. package/lib/cjs/cmake-L0RIBnfc.js.map +0 -1
  66. package/lib/cjs/cobol-oxkMh1GJ.js +0 -238
  67. package/lib/cjs/cobol-oxkMh1GJ.js.map +0 -1
  68. package/lib/cjs/coffeescript--eauIeRQ.js +0 -332
  69. package/lib/cjs/coffeescript--eauIeRQ.js.map +0 -1
  70. package/lib/cjs/commonlisp-pgSu-q6f.js +0 -111
  71. package/lib/cjs/commonlisp-pgSu-q6f.js.map +0 -1
  72. package/lib/cjs/crystal-2y3I5ibZ.js +0 -422
  73. package/lib/cjs/crystal-2y3I5ibZ.js.map +0 -1
  74. package/lib/cjs/css-WH69cXzo.js +0 -855
  75. package/lib/cjs/css-WH69cXzo.js.map +0 -1
  76. package/lib/cjs/cypher-da-dqVyQ.js +0 -125
  77. package/lib/cjs/cypher-da-dqVyQ.js.map +0 -1
  78. package/lib/cjs/d-58J7EOkP.js +0 -208
  79. package/lib/cjs/d-58J7EOkP.js.map +0 -1
  80. package/lib/cjs/diff-437Hfzqm.js +0 -33
  81. package/lib/cjs/diff-437Hfzqm.js.map +0 -1
  82. package/lib/cjs/dockerfile-7i0OoaQe.js +0 -202
  83. package/lib/cjs/dockerfile-7i0OoaQe.js.map +0 -1
  84. package/lib/cjs/dtd-AKekCPPB.js +0 -124
  85. package/lib/cjs/dtd-AKekCPPB.js.map +0 -1
  86. package/lib/cjs/dylan-DLEmvz1I.js +0 -340
  87. package/lib/cjs/dylan-DLEmvz1I.js.map +0 -1
  88. package/lib/cjs/ebnf-36cJWqxB.js +0 -154
  89. package/lib/cjs/ebnf-36cJWqxB.js.map +0 -1
  90. package/lib/cjs/ecl-UWr5vJKJ.js +0 -193
  91. package/lib/cjs/ecl-UWr5vJKJ.js.map +0 -1
  92. package/lib/cjs/eiffel-Su-C9LAY.js +0 -149
  93. package/lib/cjs/eiffel-Su-C9LAY.js.map +0 -1
  94. package/lib/cjs/elm-vNNfVJj7.js +0 -233
  95. package/lib/cjs/elm-vNNfVJj7.js.map +0 -1
  96. package/lib/cjs/erlang-NM9dgYaS.js +0 -584
  97. package/lib/cjs/erlang-NM9dgYaS.js.map +0 -1
  98. package/lib/cjs/factor-RWs-4aWg.js +0 -68
  99. package/lib/cjs/factor-RWs-4aWg.js.map +0 -1
  100. package/lib/cjs/fcl-acUhGCfs.js +0 -157
  101. package/lib/cjs/fcl-acUhGCfs.js.map +0 -1
  102. package/lib/cjs/floating-ui.dom-2cjBpir5.js +0 -1134
  103. package/lib/cjs/floating-ui.dom-2cjBpir5.js.map +0 -1
  104. package/lib/cjs/forth-sDkE6z3A.js +0 -167
  105. package/lib/cjs/forth-sDkE6z3A.js.map +0 -1
  106. package/lib/cjs/fortran-gkb4yvdk.js +0 -175
  107. package/lib/cjs/fortran-gkb4yvdk.js.map +0 -1
  108. package/lib/cjs/gas-mNA0qvkv.js +0 -347
  109. package/lib/cjs/gas-mNA0qvkv.js.map +0 -1
  110. package/lib/cjs/gherkin-5uyKpXXh.js +0 -150
  111. package/lib/cjs/gherkin-5uyKpXXh.js.map +0 -1
  112. package/lib/cjs/go-5XitXoIZ.js +0 -167
  113. package/lib/cjs/go-5XitXoIZ.js.map +0 -1
  114. package/lib/cjs/groovy-mz3pWMKN.js +0 -233
  115. package/lib/cjs/groovy-mz3pWMKN.js.map +0 -1
  116. package/lib/cjs/haskell-9KaSS7kb.js +0 -242
  117. package/lib/cjs/haskell-9KaSS7kb.js.map +0 -1
  118. package/lib/cjs/haxe-L8h6Pvni.js +0 -494
  119. package/lib/cjs/haxe-L8h6Pvni.js.map +0 -1
  120. package/lib/cjs/helper-1aludV1Z.js +0 -15
  121. package/lib/cjs/helper-1aludV1Z.js.map +0 -1
  122. package/lib/cjs/http-BFQQnRR-.js +0 -92
  123. package/lib/cjs/http-BFQQnRR-.js.map +0 -1
  124. package/lib/cjs/idl-29T-AzAy.js +0 -277
  125. package/lib/cjs/idl-29T-AzAy.js.map +0 -1
  126. package/lib/cjs/index--sa4NMpW.js +0 -119
  127. package/lib/cjs/index--sa4NMpW.js.map +0 -1
  128. package/lib/cjs/index--tnUmqZ_.js +0 -108
  129. package/lib/cjs/index--tnUmqZ_.js.map +0 -1
  130. package/lib/cjs/index-1vHyMXH8.js +0 -203
  131. package/lib/cjs/index-1vHyMXH8.js.map +0 -1
  132. package/lib/cjs/index-28q261C7.js +0 -448
  133. package/lib/cjs/index-28q261C7.js.map +0 -1
  134. package/lib/cjs/index-55VIM-52.js +0 -156
  135. package/lib/cjs/index-55VIM-52.js.map +0 -1
  136. package/lib/cjs/index-92bwto5V.js +0 -405
  137. package/lib/cjs/index-92bwto5V.js.map +0 -1
  138. package/lib/cjs/index-Buu2tD9O.js +0 -534
  139. package/lib/cjs/index-Buu2tD9O.js.map +0 -1
  140. package/lib/cjs/index-E4Ist86Z.js +0 -532
  141. package/lib/cjs/index-E4Ist86Z.js.map +0 -1
  142. package/lib/cjs/index-FbNqlZU8.js +0 -263
  143. package/lib/cjs/index-FbNqlZU8.js.map +0 -1
  144. package/lib/cjs/index-HH5lPgpj.js +0 -443
  145. package/lib/cjs/index-HH5lPgpj.js.map +0 -1
  146. package/lib/cjs/index-J1-yHn7v.js +0 -128
  147. package/lib/cjs/index-J1-yHn7v.js.map +0 -1
  148. package/lib/cjs/index-Jztk6JlP.js +0 -25698
  149. package/lib/cjs/index-Jztk6JlP.js.map +0 -1
  150. package/lib/cjs/index-N6pPZY61.js +0 -191
  151. package/lib/cjs/index-N6pPZY61.js.map +0 -1
  152. package/lib/cjs/index-TUJs6KKL.js +0 -472
  153. package/lib/cjs/index-TUJs6KKL.js.map +0 -1
  154. package/lib/cjs/index-Tjg8KyK7.js +0 -398
  155. package/lib/cjs/index-Tjg8KyK7.js.map +0 -1
  156. package/lib/cjs/index-VYwHTL3F.js +0 -161
  157. package/lib/cjs/index-VYwHTL3F.js.map +0 -1
  158. package/lib/cjs/index-_GOdKqUK.js +0 -1147
  159. package/lib/cjs/index-_GOdKqUK.js.map +0 -1
  160. package/lib/cjs/index-cKQcw-eu.js +0 -386
  161. package/lib/cjs/index-cKQcw-eu.js.map +0 -1
  162. package/lib/cjs/index-c_OzudR7.js +0 -699
  163. package/lib/cjs/index-c_OzudR7.js.map +0 -1
  164. package/lib/cjs/index-cb-5m0vG.js +0 -2519
  165. package/lib/cjs/index-cb-5m0vG.js.map +0 -1
  166. package/lib/cjs/index-cpC-j5Nt.js.map +0 -1
  167. package/lib/cjs/index-crv_k6dv.js +0 -1353
  168. package/lib/cjs/index-crv_k6dv.js.map +0 -1
  169. package/lib/cjs/index-jlfsu92T.js +0 -362
  170. package/lib/cjs/index-jlfsu92T.js.map +0 -1
  171. package/lib/cjs/index-jn036wuh.js +0 -1045
  172. package/lib/cjs/index-jn036wuh.js.map +0 -1
  173. package/lib/cjs/index-kqz-P6o6.js +0 -55
  174. package/lib/cjs/index-kqz-P6o6.js.map +0 -1
  175. package/lib/cjs/index-lBumFRUQ.js +0 -209
  176. package/lib/cjs/index-lBumFRUQ.js.map +0 -1
  177. package/lib/cjs/index-lUNj3xuC.js +0 -81
  178. package/lib/cjs/index-lUNj3xuC.js.map +0 -1
  179. package/lib/cjs/index-mcxgNBq9.js +0 -464
  180. package/lib/cjs/index-mcxgNBq9.js.map +0 -1
  181. package/lib/cjs/index-nTfDKYYi.js +0 -1029
  182. package/lib/cjs/index-nTfDKYYi.js.map +0 -1
  183. package/lib/cjs/index-tBw4NmwY.js +0 -33852
  184. package/lib/cjs/index-tBw4NmwY.js.map +0 -1
  185. package/lib/cjs/index-vfzLCXfi.js +0 -774
  186. package/lib/cjs/index-vfzLCXfi.js.map +0 -1
  187. package/lib/cjs/index-von4W2LG.js +0 -356
  188. package/lib/cjs/index-von4W2LG.js.map +0 -1
  189. package/lib/cjs/index-zXSAHvAj.js +0 -1877
  190. package/lib/cjs/index-zXSAHvAj.js.map +0 -1
  191. package/lib/cjs/javascript-5-BTydbD.js +0 -928
  192. package/lib/cjs/javascript-5-BTydbD.js.map +0 -1
  193. package/lib/cjs/jinja2-BWMz4gPk.js +0 -174
  194. package/lib/cjs/jinja2-BWMz4gPk.js.map +0 -1
  195. package/lib/cjs/julia-dtR9J3KZ.js +0 -372
  196. package/lib/cjs/julia-dtR9J3KZ.js.map +0 -1
  197. package/lib/cjs/livescript-YxT0INe3.js +0 -262
  198. package/lib/cjs/livescript-YxT0INe3.js.map +0 -1
  199. package/lib/cjs/lua-h7_AXjy9.js +0 -140
  200. package/lib/cjs/lua-h7_AXjy9.js.map +0 -1
  201. package/lib/cjs/mathematica-Zc57fOr3.js +0 -156
  202. package/lib/cjs/mathematica-Zc57fOr3.js.map +0 -1
  203. package/lib/cjs/mbox-ltKsKgJd.js +0 -117
  204. package/lib/cjs/mbox-ltKsKgJd.js.map +0 -1
  205. package/lib/cjs/mirc-xTLeWqmy.js +0 -179
  206. package/lib/cjs/mirc-xTLeWqmy.js.map +0 -1
  207. package/lib/cjs/mllike-xukl-Kjp.js +0 -351
  208. package/lib/cjs/mllike-xukl-Kjp.js.map +0 -1
  209. package/lib/cjs/modelica-LsXtAawk.js +0 -195
  210. package/lib/cjs/modelica-LsXtAawk.js.map +0 -1
  211. package/lib/cjs/mscgen-9HooYIVW.js +0 -154
  212. package/lib/cjs/mscgen-9HooYIVW.js.map +0 -1
  213. package/lib/cjs/mumps-VXqGp84f.js +0 -132
  214. package/lib/cjs/mumps-VXqGp84f.js.map +0 -1
  215. package/lib/cjs/nginx-UrubUbn1.js +0 -166
  216. package/lib/cjs/nginx-UrubUbn1.js.map +0 -1
  217. package/lib/cjs/nsis-c2AYwqyy.js +0 -83
  218. package/lib/cjs/nsis-c2AYwqyy.js.map +0 -1
  219. package/lib/cjs/ntriples-N1nwiheD.js +0 -144
  220. package/lib/cjs/ntriples-N1nwiheD.js.map +0 -1
  221. package/lib/cjs/octave-ElonStfZ.js +0 -115
  222. package/lib/cjs/octave-ElonStfZ.js.map +0 -1
  223. package/lib/cjs/oz-7VQTnCfu.js +0 -238
  224. package/lib/cjs/oz-7VQTnCfu.js.map +0 -1
  225. package/lib/cjs/pascal-yq2Cb88Q.js +0 -127
  226. package/lib/cjs/pascal-yq2Cb88Q.js.map +0 -1
  227. package/lib/cjs/perl-hJq4byS9.js +0 -822
  228. package/lib/cjs/perl-hJq4byS9.js.map +0 -1
  229. package/lib/cjs/pig-2syuOlAa.js +0 -152
  230. package/lib/cjs/pig-2syuOlAa.js.map +0 -1
  231. package/lib/cjs/powershell-NDwxuSDg.js +0 -384
  232. package/lib/cjs/powershell-NDwxuSDg.js.map +0 -1
  233. package/lib/cjs/properties-wacODxDJ.js +0 -65
  234. package/lib/cjs/properties-wacODxDJ.js.map +0 -1
  235. package/lib/cjs/protobuf-zVHZwskk.js +0 -57
  236. package/lib/cjs/protobuf-zVHZwskk.js.map +0 -1
  237. package/lib/cjs/puppet-koQikqO-.js +0 -208
  238. package/lib/cjs/puppet-koQikqO-.js.map +0 -1
  239. package/lib/cjs/python-P3UsKHbj.js +0 -394
  240. package/lib/cjs/python-P3UsKHbj.js.map +0 -1
  241. package/lib/cjs/q-Z_d2uXoA.js +0 -126
  242. package/lib/cjs/q-Z_d2uXoA.js.map +0 -1
  243. package/lib/cjs/r-J6Jl9z1i.js +0 -177
  244. package/lib/cjs/r-J6Jl9z1i.js.map +0 -1
  245. package/lib/cjs/rpm-6C0Omumu.js +0 -93
  246. package/lib/cjs/rpm-6C0Omumu.js.map +0 -1
  247. package/lib/cjs/ruby-POVyUmsb.js +0 -290
  248. package/lib/cjs/ruby-POVyUmsb.js.map +0 -1
  249. package/lib/cjs/sas-vDtpSmFr.js +0 -271
  250. package/lib/cjs/sas-vDtpSmFr.js.map +0 -1
  251. package/lib/cjs/schema-RVrwDDcq.js +0 -74
  252. package/lib/cjs/schema-RVrwDDcq.js.map +0 -1
  253. package/lib/cjs/scheme-5AA5BH7S.js +0 -266
  254. package/lib/cjs/scheme-5AA5BH7S.js.map +0 -1
  255. package/lib/cjs/shell-_ztDMiW6.js +0 -148
  256. package/lib/cjs/shell-_ztDMiW6.js.map +0 -1
  257. package/lib/cjs/sieve-R_vzlbvH.js +0 -181
  258. package/lib/cjs/sieve-R_vzlbvH.js.map +0 -1
  259. package/lib/cjs/simple-mode-ZwmNbV0h.js +0 -138
  260. package/lib/cjs/simple-mode-ZwmNbV0h.js.map +0 -1
  261. package/lib/cjs/smalltalk-dWLp5zN8.js +0 -156
  262. package/lib/cjs/smalltalk-dWLp5zN8.js.map +0 -1
  263. package/lib/cjs/solr-wSmvjKI8.js +0 -83
  264. package/lib/cjs/solr-wSmvjKI8.js.map +0 -1
  265. package/lib/cjs/sparql-GNU_0xKB.js +0 -173
  266. package/lib/cjs/sparql-GNU_0xKB.js.map +0 -1
  267. package/lib/cjs/spreadsheet-BiqYLk6M.js +0 -101
  268. package/lib/cjs/spreadsheet-BiqYLk6M.js.map +0 -1
  269. package/lib/cjs/sql-9GpHBPsC.js +0 -497
  270. package/lib/cjs/sql-9GpHBPsC.js.map +0 -1
  271. package/lib/cjs/stex-1V41CNLk.js +0 -250
  272. package/lib/cjs/stex-1V41CNLk.js.map +0 -1
  273. package/lib/cjs/stylus-H6hn9z_G.js +0 -753
  274. package/lib/cjs/stylus-H6hn9z_G.js.map +0 -1
  275. package/lib/cjs/swift-Xv5f8zgN.js +0 -205
  276. package/lib/cjs/swift-Xv5f8zgN.js.map +0 -1
  277. package/lib/cjs/tcl-LI-LOw_t.js +0 -128
  278. package/lib/cjs/tcl-LI-LOw_t.js.map +0 -1
  279. package/lib/cjs/textile-3NvRPUgg.js +0 -444
  280. package/lib/cjs/textile-3NvRPUgg.js.map +0 -1
  281. package/lib/cjs/tiddlywiki-PkMzy8_R.js +0 -281
  282. package/lib/cjs/tiddlywiki-PkMzy8_R.js.map +0 -1
  283. package/lib/cjs/tiki-Zk_GnEC8.js +0 -292
  284. package/lib/cjs/tiki-Zk_GnEC8.js.map +0 -1
  285. package/lib/cjs/todoList-Ze4FLMlx.js.map +0 -1
  286. package/lib/cjs/toml-36gJ0YCq.js +0 -78
  287. package/lib/cjs/toml-36gJ0YCq.js.map +0 -1
  288. package/lib/cjs/tooltip-plugin--lhebztC.js +0 -191
  289. package/lib/cjs/tooltip-plugin--lhebztC.js.map +0 -1
  290. package/lib/cjs/troff-RLZ_o61o.js +0 -67
  291. package/lib/cjs/troff-RLZ_o61o.js.map +0 -1
  292. package/lib/cjs/ttcn-cfg-twaoJYvf.js +0 -204
  293. package/lib/cjs/ttcn-cfg-twaoJYvf.js.map +0 -1
  294. package/lib/cjs/ttcn-kGwvGb2v.js +0 -260
  295. package/lib/cjs/ttcn-kGwvGb2v.js.map +0 -1
  296. package/lib/cjs/turtle-nnevat7b.js +0 -144
  297. package/lib/cjs/turtle-nnevat7b.js.map +0 -1
  298. package/lib/cjs/vb-fO_I9s3s.js +0 -252
  299. package/lib/cjs/vb-fO_I9s3s.js.map +0 -1
  300. package/lib/cjs/vbscript-HXnn40y4.js +0 -324
  301. package/lib/cjs/vbscript-HXnn40y4.js.map +0 -1
  302. package/lib/cjs/velocity-Wn-ZfFzr.js +0 -189
  303. package/lib/cjs/velocity-Wn-ZfFzr.js.map +0 -1
  304. package/lib/cjs/verilog-y1ev34z6.js +0 -569
  305. package/lib/cjs/verilog-y1ev34z6.js.map +0 -1
  306. package/lib/cjs/vhdl-LF0oeXxc.js +0 -177
  307. package/lib/cjs/vhdl-LF0oeXxc.js.map +0 -1
  308. package/lib/cjs/webidl-6kI5KbeC.js +0 -182
  309. package/lib/cjs/webidl-6kI5KbeC.js.map +0 -1
  310. package/lib/cjs/xquery-BavrmwsO.js +0 -428
  311. package/lib/cjs/xquery-BavrmwsO.js.map +0 -1
  312. package/lib/cjs/yacas-1g_AbTrl.js +0 -185
  313. package/lib/cjs/yacas-1g_AbTrl.js.map +0 -1
  314. package/lib/cjs/z80-QYzKAAp7.js +0 -106
  315. package/lib/cjs/z80-QYzKAAp7.js.map +0 -1
  316. package/lib/esm/_view-IlZC8FA6.js +0 -25
  317. package/lib/esm/_view-IlZC8FA6.js.map +0 -1
  318. package/lib/esm/apl-eHQxyJFn.js +0 -143
  319. package/lib/esm/apl-eHQxyJFn.js.map +0 -1
  320. package/lib/esm/asciiarmor-Z-IGYCI4.js +0 -57
  321. package/lib/esm/asciiarmor-Z-IGYCI4.js.map +0 -1
  322. package/lib/esm/asn1-gF7x-q1y.js +0 -193
  323. package/lib/esm/asn1-gF7x-q1y.js.map +0 -1
  324. package/lib/esm/asterisk-swk20ftp.js +0 -188
  325. package/lib/esm/asterisk-swk20ftp.js.map +0 -1
  326. package/lib/esm/brainfuck-IFQdiQoR.js +0 -71
  327. package/lib/esm/brainfuck-IFQdiQoR.js.map +0 -1
  328. package/lib/esm/clike-q3hUF2Cx.js +0 -1019
  329. package/lib/esm/clike-q3hUF2Cx.js.map +0 -1
  330. package/lib/esm/clojure-I2Krbr2M.js +0 -275
  331. package/lib/esm/clojure-I2Krbr2M.js.map +0 -1
  332. package/lib/esm/clsx-RxCLxYpD.js +0 -4
  333. package/lib/esm/clsx-RxCLxYpD.js.map +0 -1
  334. package/lib/esm/cmake-ewwXLeuZ.js +0 -82
  335. package/lib/esm/cmake-ewwXLeuZ.js.map +0 -1
  336. package/lib/esm/cobol-fpN1nAnR.js +0 -236
  337. package/lib/esm/cobol-fpN1nAnR.js.map +0 -1
  338. package/lib/esm/coffeescript--eTFR-bH.js +0 -330
  339. package/lib/esm/coffeescript--eTFR-bH.js.map +0 -1
  340. package/lib/esm/commonlisp-XLSwVdLc.js +0 -109
  341. package/lib/esm/commonlisp-XLSwVdLc.js.map +0 -1
  342. package/lib/esm/crystal-_r3Aa1_a.js +0 -420
  343. package/lib/esm/crystal-_r3Aa1_a.js.map +0 -1
  344. package/lib/esm/css-hgwYGMKZ.js +0 -848
  345. package/lib/esm/css-hgwYGMKZ.js.map +0 -1
  346. package/lib/esm/cypher-bbJyAa-4.js +0 -123
  347. package/lib/esm/cypher-bbJyAa-4.js.map +0 -1
  348. package/lib/esm/d-5MyulviS.js +0 -206
  349. package/lib/esm/d-5MyulviS.js.map +0 -1
  350. package/lib/esm/diff-neOaT_vk.js +0 -31
  351. package/lib/esm/diff-neOaT_vk.js.map +0 -1
  352. package/lib/esm/dockerfile-lzx42-zz.js +0 -200
  353. package/lib/esm/dockerfile-lzx42-zz.js.map +0 -1
  354. package/lib/esm/dtd-FmzPLZcQ.js +0 -122
  355. package/lib/esm/dtd-FmzPLZcQ.js.map +0 -1
  356. package/lib/esm/dylan-1HtRK4GO.js +0 -338
  357. package/lib/esm/dylan-1HtRK4GO.js.map +0 -1
  358. package/lib/esm/ebnf-Nz-pnLHy.js +0 -152
  359. package/lib/esm/ebnf-Nz-pnLHy.js.map +0 -1
  360. package/lib/esm/ecl-lQsZhQz0.js +0 -191
  361. package/lib/esm/ecl-lQsZhQz0.js.map +0 -1
  362. package/lib/esm/eiffel-R_HiEkhx.js +0 -147
  363. package/lib/esm/eiffel-R_HiEkhx.js.map +0 -1
  364. package/lib/esm/elm-KYv4VTDg.js +0 -231
  365. package/lib/esm/elm-KYv4VTDg.js.map +0 -1
  366. package/lib/esm/erlang-7YaHCBIe.js +0 -582
  367. package/lib/esm/erlang-7YaHCBIe.js.map +0 -1
  368. package/lib/esm/factor-opBU9aTK.js +0 -66
  369. package/lib/esm/factor-opBU9aTK.js.map +0 -1
  370. package/lib/esm/fcl-jm31FmFz.js +0 -155
  371. package/lib/esm/fcl-jm31FmFz.js.map +0 -1
  372. package/lib/esm/floating-ui.dom-CAYjY8Gv.js +0 -1130
  373. package/lib/esm/floating-ui.dom-CAYjY8Gv.js.map +0 -1
  374. package/lib/esm/forth-5NKbjnWh.js +0 -165
  375. package/lib/esm/forth-5NKbjnWh.js.map +0 -1
  376. package/lib/esm/fortran-dXm_-cb9.js +0 -173
  377. package/lib/esm/fortran-dXm_-cb9.js.map +0 -1
  378. package/lib/esm/gas-nsYVnsy-.js +0 -344
  379. package/lib/esm/gas-nsYVnsy-.js.map +0 -1
  380. package/lib/esm/gherkin-fzKpjm3M.js +0 -148
  381. package/lib/esm/gherkin-fzKpjm3M.js.map +0 -1
  382. package/lib/esm/go-Pn1qh7yl.js +0 -165
  383. package/lib/esm/go-Pn1qh7yl.js.map +0 -1
  384. package/lib/esm/groovy-DZY-8keZ.js +0 -231
  385. package/lib/esm/groovy-DZY-8keZ.js.map +0 -1
  386. package/lib/esm/haskell-JGh2upDd.js +0 -240
  387. package/lib/esm/haskell-JGh2upDd.js.map +0 -1
  388. package/lib/esm/haxe-1hvVK-Fy.js +0 -491
  389. package/lib/esm/haxe-1hvVK-Fy.js.map +0 -1
  390. package/lib/esm/helper-wZAtC67x.js +0 -13
  391. package/lib/esm/helper-wZAtC67x.js.map +0 -1
  392. package/lib/esm/http-mY1M77wn.js +0 -90
  393. package/lib/esm/http-mY1M77wn.js.map +0 -1
  394. package/lib/esm/idl-dy_653wH.js +0 -275
  395. package/lib/esm/idl-dy_653wH.js.map +0 -1
  396. package/lib/esm/index-0-j8Icms.js +0 -384
  397. package/lib/esm/index-0-j8Icms.js.map +0 -1
  398. package/lib/esm/index-1l-61HI-.js +0 -358
  399. package/lib/esm/index-1l-61HI-.js.map +0 -1
  400. package/lib/esm/index-3HeWs5rX.js +0 -440
  401. package/lib/esm/index-3HeWs5rX.js.map +0 -1
  402. package/lib/esm/index-3bDzhU6z.js +0 -759
  403. package/lib/esm/index-3bDzhU6z.js.map +0 -1
  404. package/lib/esm/index-6GrVnloh.js +0 -1027
  405. package/lib/esm/index-6GrVnloh.js.map +0 -1
  406. package/lib/esm/index-8QJbxTYk.js +0 -1145
  407. package/lib/esm/index-8QJbxTYk.js.map +0 -1
  408. package/lib/esm/index-9w_hdnvb.js +0 -532
  409. package/lib/esm/index-9w_hdnvb.js.map +0 -1
  410. package/lib/esm/index-AOoFzBaK.js +0 -53
  411. package/lib/esm/index-AOoFzBaK.js.map +0 -1
  412. package/lib/esm/index-DS7Z4Ach.js +0 -686
  413. package/lib/esm/index-DS7Z4Ach.js.map +0 -1
  414. package/lib/esm/index-LAdX6LsO.js +0 -33805
  415. package/lib/esm/index-LAdX6LsO.js.map +0 -1
  416. package/lib/esm/index-MxgqkRtj.js +0 -125
  417. package/lib/esm/index-MxgqkRtj.js.map +0 -1
  418. package/lib/esm/index-NZ5-xr5_.js +0 -351
  419. package/lib/esm/index-NZ5-xr5_.js.map +0 -1
  420. package/lib/esm/index-OpUb5xP6.js +0 -1872
  421. package/lib/esm/index-OpUb5xP6.js.map +0 -1
  422. package/lib/esm/index-SDPCpsD5.js +0 -461
  423. package/lib/esm/index-SDPCpsD5.js.map +0 -1
  424. package/lib/esm/index-VP76m4nW.js +0 -157
  425. package/lib/esm/index-VP76m4nW.js.map +0 -1
  426. package/lib/esm/index-Vl0W0S3h.js +0 -259
  427. package/lib/esm/index-Vl0W0S3h.js.map +0 -1
  428. package/lib/esm/index-VoX_n1l_.js +0 -1038
  429. package/lib/esm/index-VoX_n1l_.js.map +0 -1
  430. package/lib/esm/index-XH7OnwZl.js +0 -527
  431. package/lib/esm/index-XH7OnwZl.js.map +0 -1
  432. package/lib/esm/index-Yuj7sNhQ.js +0 -105
  433. package/lib/esm/index-Yuj7sNhQ.js.map +0 -1
  434. package/lib/esm/index-_4fWmRbN.js +0 -206
  435. package/lib/esm/index-_4fWmRbN.js.map +0 -1
  436. package/lib/esm/index-bexsWrgs.js +0 -153
  437. package/lib/esm/index-bexsWrgs.js.map +0 -1
  438. package/lib/esm/index-chrnjY1D.js +0 -470
  439. package/lib/esm/index-chrnjY1D.js.map +0 -1
  440. package/lib/esm/index-eqd5wtjX.js +0 -393
  441. package/lib/esm/index-eqd5wtjX.js.map +0 -1
  442. package/lib/esm/index-g_3dzLYU.js +0 -200
  443. package/lib/esm/index-g_3dzLYU.js.map +0 -1
  444. package/lib/esm/index-grT-Kuf2.js +0 -78
  445. package/lib/esm/index-grT-Kuf2.js.map +0 -1
  446. package/lib/esm/index-hF04phbf.js +0 -189
  447. package/lib/esm/index-hF04phbf.js.map +0 -1
  448. package/lib/esm/index-i79QMXpJ.js +0 -25654
  449. package/lib/esm/index-i79QMXpJ.js.map +0 -1
  450. package/lib/esm/index-rvOBAXap.js +0 -2512
  451. package/lib/esm/index-rvOBAXap.js.map +0 -1
  452. package/lib/esm/index-uP9BKsTM.js +0 -446
  453. package/lib/esm/index-uP9BKsTM.js.map +0 -1
  454. package/lib/esm/index-ueQQMSgm.js +0 -1351
  455. package/lib/esm/index-ueQQMSgm.js.map +0 -1
  456. package/lib/esm/index-x8SyiPMC.js +0 -401
  457. package/lib/esm/index-x8SyiPMC.js.map +0 -1
  458. package/lib/esm/index-zrQXXSXm.js +0 -115
  459. package/lib/esm/index-zrQXXSXm.js.map +0 -1
  460. package/lib/esm/javascript-TMTz-YQH.js +0 -923
  461. package/lib/esm/javascript-TMTz-YQH.js.map +0 -1
  462. package/lib/esm/jinja2-sRIdliZK.js +0 -172
  463. package/lib/esm/jinja2-sRIdliZK.js.map +0 -1
  464. package/lib/esm/julia-fK0wmpGL.js +0 -370
  465. package/lib/esm/julia-fK0wmpGL.js.map +0 -1
  466. package/lib/esm/livescript-FRbAot3D.js +0 -260
  467. package/lib/esm/livescript-FRbAot3D.js.map +0 -1
  468. package/lib/esm/lua-t4FHEjvK.js +0 -138
  469. package/lib/esm/lua-t4FHEjvK.js.map +0 -1
  470. package/lib/esm/mathematica-sn_KGlYj.js +0 -154
  471. package/lib/esm/mathematica-sn_KGlYj.js.map +0 -1
  472. package/lib/esm/mbox-KvVC319E.js +0 -115
  473. package/lib/esm/mbox-KvVC319E.js.map +0 -1
  474. package/lib/esm/mirc-PzJ0zKSk.js +0 -177
  475. package/lib/esm/mirc-PzJ0zKSk.js.map +0 -1
  476. package/lib/esm/mllike-ZK411xkN.js +0 -347
  477. package/lib/esm/mllike-ZK411xkN.js.map +0 -1
  478. package/lib/esm/modelica-ZaHlRCbp.js +0 -193
  479. package/lib/esm/modelica-ZaHlRCbp.js.map +0 -1
  480. package/lib/esm/mscgen-Kkq4o4Zm.js +0 -150
  481. package/lib/esm/mscgen-Kkq4o4Zm.js.map +0 -1
  482. package/lib/esm/mumps-M8a87-rl.js +0 -130
  483. package/lib/esm/mumps-M8a87-rl.js.map +0 -1
  484. package/lib/esm/nginx-2LJIX23E.js +0 -164
  485. package/lib/esm/nginx-2LJIX23E.js.map +0 -1
  486. package/lib/esm/nsis-zvfFgMLi.js +0 -81
  487. package/lib/esm/nsis-zvfFgMLi.js.map +0 -1
  488. package/lib/esm/ntriples-tVkHy5bk.js +0 -142
  489. package/lib/esm/ntriples-tVkHy5bk.js.map +0 -1
  490. package/lib/esm/octave-mE4T5MF5.js +0 -113
  491. package/lib/esm/octave-mE4T5MF5.js.map +0 -1
  492. package/lib/esm/oz-q-LCsuVg.js +0 -236
  493. package/lib/esm/oz-q-LCsuVg.js.map +0 -1
  494. package/lib/esm/pascal-0IgUAn4C.js +0 -125
  495. package/lib/esm/pascal-0IgUAn4C.js.map +0 -1
  496. package/lib/esm/perl-AqxdYGac.js +0 -820
  497. package/lib/esm/perl-AqxdYGac.js.map +0 -1
  498. package/lib/esm/pig-ESM-IjQj.js +0 -150
  499. package/lib/esm/pig-ESM-IjQj.js.map +0 -1
  500. package/lib/esm/powershell-CLFP0L55.js +0 -382
  501. package/lib/esm/powershell-CLFP0L55.js.map +0 -1
  502. package/lib/esm/properties-oWHNzvb9.js +0 -63
  503. package/lib/esm/properties-oWHNzvb9.js.map +0 -1
  504. package/lib/esm/protobuf-c7eMmdcc.js +0 -55
  505. package/lib/esm/protobuf-c7eMmdcc.js.map +0 -1
  506. package/lib/esm/puppet-FjzvdRJr.js +0 -206
  507. package/lib/esm/puppet-FjzvdRJr.js.map +0 -1
  508. package/lib/esm/python-3Pv0tnvt.js +0 -390
  509. package/lib/esm/python-3Pv0tnvt.js.map +0 -1
  510. package/lib/esm/q-IImW8da6.js +0 -124
  511. package/lib/esm/q-IImW8da6.js.map +0 -1
  512. package/lib/esm/r-CnEkTvR0.js +0 -175
  513. package/lib/esm/r-CnEkTvR0.js.map +0 -1
  514. package/lib/esm/rpm-Q55-fEHj.js +0 -90
  515. package/lib/esm/rpm-Q55-fEHj.js.map +0 -1
  516. package/lib/esm/ruby-zhaGB3Kh.js +0 -288
  517. package/lib/esm/ruby-zhaGB3Kh.js.map +0 -1
  518. package/lib/esm/sas-Ur9jZIOV.js +0 -269
  519. package/lib/esm/sas-Ur9jZIOV.js.map +0 -1
  520. package/lib/esm/schema-JWJqD9qa.js +0 -71
  521. package/lib/esm/schema-JWJqD9qa.js.map +0 -1
  522. package/lib/esm/scheme-daT5-Rya.js +0 -264
  523. package/lib/esm/scheme-daT5-Rya.js.map +0 -1
  524. package/lib/esm/shell-cwFL0AYP.js +0 -146
  525. package/lib/esm/shell-cwFL0AYP.js.map +0 -1
  526. package/lib/esm/sieve-MlNXFFUq.js +0 -179
  527. package/lib/esm/sieve-MlNXFFUq.js.map +0 -1
  528. package/lib/esm/simple-mode-m1rsX7Gw.js +0 -136
  529. package/lib/esm/simple-mode-m1rsX7Gw.js.map +0 -1
  530. package/lib/esm/smalltalk-xrQICp9e.js +0 -154
  531. package/lib/esm/smalltalk-xrQICp9e.js.map +0 -1
  532. package/lib/esm/solr-PU3oPgQz.js +0 -81
  533. package/lib/esm/solr-PU3oPgQz.js.map +0 -1
  534. package/lib/esm/sparql--u8NRBii.js +0 -171
  535. package/lib/esm/sparql--u8NRBii.js.map +0 -1
  536. package/lib/esm/spreadsheet-QCp0LifX.js +0 -99
  537. package/lib/esm/spreadsheet-QCp0LifX.js.map +0 -1
  538. package/lib/esm/sql-dsGfl64h.js +0 -482
  539. package/lib/esm/sql-dsGfl64h.js.map +0 -1
  540. package/lib/esm/stex-WcLBzvkD.js +0 -247
  541. package/lib/esm/stex-WcLBzvkD.js.map +0 -1
  542. package/lib/esm/stylus--A5XAqOX.js +0 -751
  543. package/lib/esm/stylus--A5XAqOX.js.map +0 -1
  544. package/lib/esm/swift-qAm73i7G.js +0 -203
  545. package/lib/esm/swift-qAm73i7G.js.map +0 -1
  546. package/lib/esm/tcl-Kdc7qxc-.js +0 -126
  547. package/lib/esm/tcl-Kdc7qxc-.js.map +0 -1
  548. package/lib/esm/textile--sz8UrIz.js +0 -442
  549. package/lib/esm/textile--sz8UrIz.js.map +0 -1
  550. package/lib/esm/tiddlywiki-xNXTeBlQ.js +0 -279
  551. package/lib/esm/tiddlywiki-xNXTeBlQ.js.map +0 -1
  552. package/lib/esm/tiki-LCXjrNH3.js +0 -290
  553. package/lib/esm/tiki-LCXjrNH3.js.map +0 -1
  554. package/lib/esm/todoList-M-PGJKde.js.map +0 -1
  555. package/lib/esm/toml-Ac4tlBMn.js +0 -76
  556. package/lib/esm/toml-Ac4tlBMn.js.map +0 -1
  557. package/lib/esm/tooltip-plugin-iw2EQWIG.js +0 -185
  558. package/lib/esm/tooltip-plugin-iw2EQWIG.js.map +0 -1
  559. package/lib/esm/troff-LLW1x1Yz.js +0 -65
  560. package/lib/esm/troff-LLW1x1Yz.js.map +0 -1
  561. package/lib/esm/ttcn-ZYZ9FS3u.js +0 -258
  562. package/lib/esm/ttcn-ZYZ9FS3u.js.map +0 -1
  563. package/lib/esm/ttcn-cfg-qsvf3MfB.js +0 -202
  564. package/lib/esm/ttcn-cfg-qsvf3MfB.js.map +0 -1
  565. package/lib/esm/turtle-wq3TqOth.js +0 -142
  566. package/lib/esm/turtle-wq3TqOth.js.map +0 -1
  567. package/lib/esm/vb-86M_JuNP.js +0 -250
  568. package/lib/esm/vb-86M_JuNP.js.map +0 -1
  569. package/lib/esm/vbscript-GueAeVug.js +0 -321
  570. package/lib/esm/vbscript-GueAeVug.js.map +0 -1
  571. package/lib/esm/velocity-7PW9GXO2.js +0 -187
  572. package/lib/esm/velocity-7PW9GXO2.js.map +0 -1
  573. package/lib/esm/verilog-PXtXH14C.js +0 -566
  574. package/lib/esm/verilog-PXtXH14C.js.map +0 -1
  575. package/lib/esm/vhdl-I8eyK83X.js +0 -175
  576. package/lib/esm/vhdl-I8eyK83X.js.map +0 -1
  577. package/lib/esm/webidl-1f8ATJ66.js +0 -180
  578. package/lib/esm/webidl-1f8ATJ66.js.map +0 -1
  579. package/lib/esm/xquery-IYp28Wx6.js +0 -426
  580. package/lib/esm/xquery-IYp28Wx6.js.map +0 -1
  581. package/lib/esm/yacas-wkENB05f.js +0 -183
  582. package/lib/esm/yacas-wkENB05f.js.map +0 -1
  583. package/lib/esm/z80-GaXiLdiV.js +0 -103
  584. package/lib/esm/z80-GaXiLdiV.js.map +0 -1
@@ -1,569 +0,0 @@
1
- 'use strict';
2
-
3
- function mkVerilog(parserConfig) {
4
-
5
- var statementIndentUnit = parserConfig.statementIndentUnit,
6
- dontAlignCalls = parserConfig.dontAlignCalls,
7
- noIndentKeywords = parserConfig.noIndentKeywords || [],
8
- multiLineStrings = parserConfig.multiLineStrings,
9
- hooks = parserConfig.hooks || {};
10
-
11
- function words(str) {
12
- var obj = {}, words = str.split(" ");
13
- for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
14
- return obj;
15
- }
16
-
17
- /**
18
- * Keywords from IEEE 1800-2012
19
- */
20
- var keywords = words(
21
- "accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind " +
22
- "bins binsof bit break buf bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config " +
23
- "const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable " +
24
- "dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup " +
25
- "endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask " +
26
- "enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin " +
27
- "function generate genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import " +
28
- "incdir include initial inout input inside instance int integer interconnect interface intersect join join_any " +
29
- "join_none large let liblist library local localparam logic longint macromodule matches medium modport module " +
30
- "nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 null or output package packed " +
31
- "parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup " +
32
- "pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg " +
33
- "reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime " +
34
- "s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify " +
35
- "specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on " +
36
- "table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior " +
37
- "trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void " +
38
- "wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor");
39
-
40
- /** Operators from IEEE 1800-2012
41
- unary_operator ::=
42
- + | - | ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~
43
- binary_operator ::=
44
- + | - | * | / | % | == | != | === | !== | ==? | !=? | && | || | **
45
- | < | <= | > | >= | & | | | ^ | ^~ | ~^ | >> | << | >>> | <<<
46
- | -> | <->
47
- inc_or_dec_operator ::= ++ | --
48
- unary_module_path_operator ::=
49
- ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~
50
- binary_module_path_operator ::=
51
- == | != | && | || | & | | | ^ | ^~ | ~^
52
- */
53
- var isOperatorChar = /[\+\-\*\/!~&|^%=?:]/;
54
- var isBracketChar = /[\[\]{}()]/;
55
-
56
- var unsignedNumber = /\d[0-9_]*/;
57
- var decimalLiteral = /\d*\s*'s?d\s*\d[0-9_]*/i;
58
- var binaryLiteral = /\d*\s*'s?b\s*[xz01][xz01_]*/i;
59
- var octLiteral = /\d*\s*'s?o\s*[xz0-7][xz0-7_]*/i;
60
- var hexLiteral = /\d*\s*'s?h\s*[0-9a-fxz?][0-9a-fxz?_]*/i;
61
- var realLiteral = /(\d[\d_]*(\.\d[\d_]*)?E-?[\d_]+)|(\d[\d_]*\.\d[\d_]*)/i;
62
-
63
- var closingBracketOrWord = /^((\w+)|[)}\]])/;
64
- var closingBracket = /[)}\]]/;
65
-
66
- var curPunc;
67
- var curKeyword;
68
-
69
- // Block openings which are closed by a matching keyword in the form of ("end" + keyword)
70
- // E.g. "task" => "endtask"
71
- var blockKeywords = words(
72
- "case checker class clocking config function generate interface module package " +
73
- "primitive program property specify sequence table task"
74
- );
75
-
76
- // Opening/closing pairs
77
- var openClose = {};
78
- for (var keyword in blockKeywords) {
79
- openClose[keyword] = "end" + keyword;
80
- }
81
- openClose["begin"] = "end";
82
- openClose["casex"] = "endcase";
83
- openClose["casez"] = "endcase";
84
- openClose["do" ] = "while";
85
- openClose["fork" ] = "join;join_any;join_none";
86
- openClose["covergroup"] = "endgroup";
87
-
88
- for (var i in noIndentKeywords) {
89
- var keyword = noIndentKeywords[i];
90
- if (openClose[keyword]) {
91
- openClose[keyword] = undefined;
92
- }
93
- }
94
-
95
- // Keywords which open statements that are ended with a semi-colon
96
- var statementKeywords = words("always always_comb always_ff always_latch assert assign assume else export for foreach forever if import initial repeat while");
97
-
98
- function tokenBase(stream, state) {
99
- var ch = stream.peek(), style;
100
- if (hooks[ch] && (style = hooks[ch](stream, state)) != false) return style;
101
- if (hooks.tokenBase && (style = hooks.tokenBase(stream, state)) != false)
102
- return style;
103
-
104
- if (/[,;:\.]/.test(ch)) {
105
- curPunc = stream.next();
106
- return null;
107
- }
108
- if (isBracketChar.test(ch)) {
109
- curPunc = stream.next();
110
- return "bracket";
111
- }
112
- // Macros (tick-defines)
113
- if (ch == '`') {
114
- stream.next();
115
- if (stream.eatWhile(/[\w\$_]/)) {
116
- return "def";
117
- } else {
118
- return null;
119
- }
120
- }
121
- // System calls
122
- if (ch == '$') {
123
- stream.next();
124
- if (stream.eatWhile(/[\w\$_]/)) {
125
- return "meta";
126
- } else {
127
- return null;
128
- }
129
- }
130
- // Time literals
131
- if (ch == '#') {
132
- stream.next();
133
- stream.eatWhile(/[\d_.]/);
134
- return "def";
135
- }
136
- // Strings
137
- if (ch == '"') {
138
- stream.next();
139
- state.tokenize = tokenString(ch);
140
- return state.tokenize(stream, state);
141
- }
142
- // Comments
143
- if (ch == "/") {
144
- stream.next();
145
- if (stream.eat("*")) {
146
- state.tokenize = tokenComment;
147
- return tokenComment(stream, state);
148
- }
149
- if (stream.eat("/")) {
150
- stream.skipToEnd();
151
- return "comment";
152
- }
153
- stream.backUp(1);
154
- }
155
-
156
- // Numeric literals
157
- if (stream.match(realLiteral) ||
158
- stream.match(decimalLiteral) ||
159
- stream.match(binaryLiteral) ||
160
- stream.match(octLiteral) ||
161
- stream.match(hexLiteral) ||
162
- stream.match(unsignedNumber) ||
163
- stream.match(realLiteral)) {
164
- return "number";
165
- }
166
-
167
- // Operators
168
- if (stream.eatWhile(isOperatorChar)) {
169
- return "meta";
170
- }
171
-
172
- // Keywords / plain variables
173
- if (stream.eatWhile(/[\w\$_]/)) {
174
- var cur = stream.current();
175
- if (keywords[cur]) {
176
- if (openClose[cur]) {
177
- curPunc = "newblock";
178
- }
179
- if (statementKeywords[cur]) {
180
- curPunc = "newstatement";
181
- }
182
- curKeyword = cur;
183
- return "keyword";
184
- }
185
- return "variable";
186
- }
187
-
188
- stream.next();
189
- return null;
190
- }
191
-
192
- function tokenString(quote) {
193
- return function(stream, state) {
194
- var escaped = false, next, end = false;
195
- while ((next = stream.next()) != null) {
196
- if (next == quote && !escaped) {end = true; break;}
197
- escaped = !escaped && next == "\\";
198
- }
199
- if (end || !(escaped || multiLineStrings))
200
- state.tokenize = tokenBase;
201
- return "string";
202
- };
203
- }
204
-
205
- function tokenComment(stream, state) {
206
- var maybeEnd = false, ch;
207
- while (ch = stream.next()) {
208
- if (ch == "/" && maybeEnd) {
209
- state.tokenize = tokenBase;
210
- break;
211
- }
212
- maybeEnd = (ch == "*");
213
- }
214
- return "comment";
215
- }
216
-
217
- function Context(indented, column, type, align, prev) {
218
- this.indented = indented;
219
- this.column = column;
220
- this.type = type;
221
- this.align = align;
222
- this.prev = prev;
223
- }
224
- function pushContext(state, col, type) {
225
- var indent = state.indented;
226
- var c = new Context(indent, col, type, null, state.context);
227
- return state.context = c;
228
- }
229
- function popContext(state) {
230
- var t = state.context.type;
231
- if (t == ")" || t == "]" || t == "}") {
232
- state.indented = state.context.indented;
233
- }
234
- return state.context = state.context.prev;
235
- }
236
-
237
- function isClosing(text, contextClosing) {
238
- if (text == contextClosing) {
239
- return true;
240
- } else {
241
- // contextClosing may be multiple keywords separated by ;
242
- var closingKeywords = contextClosing.split(";");
243
- for (var i in closingKeywords) {
244
- if (text == closingKeywords[i]) {
245
- return true;
246
- }
247
- }
248
- return false;
249
- }
250
- }
251
-
252
- function buildElectricInputRegEx() {
253
- // Reindentation should occur on any bracket char: {}()[]
254
- // or on a match of any of the block closing keywords, at
255
- // the end of a line
256
- var allClosings = [];
257
- for (var i in openClose) {
258
- if (openClose[i]) {
259
- var closings = openClose[i].split(";");
260
- for (var j in closings) {
261
- allClosings.push(closings[j]);
262
- }
263
- }
264
- }
265
- var re = new RegExp("[{}()\\[\\]]|(" + allClosings.join("|") + ")$");
266
- return re;
267
- }
268
-
269
- // Interface
270
- return {
271
- name: "verilog",
272
-
273
- startState: function(indentUnit) {
274
- var state = {
275
- tokenize: null,
276
- context: new Context(-indentUnit, 0, "top", false),
277
- indented: 0,
278
- startOfLine: true
279
- };
280
- if (hooks.startState) hooks.startState(state);
281
- return state;
282
- },
283
-
284
- token: function(stream, state) {
285
- var ctx = state.context;
286
- if (stream.sol()) {
287
- if (ctx.align == null) ctx.align = false;
288
- state.indented = stream.indentation();
289
- state.startOfLine = true;
290
- }
291
- if (hooks.token) {
292
- // Call hook, with an optional return value of a style to override verilog styling.
293
- var style = hooks.token(stream, state);
294
- if (style !== undefined) {
295
- return style;
296
- }
297
- }
298
- if (stream.eatSpace()) return null;
299
- curPunc = null;
300
- curKeyword = null;
301
- var style = (state.tokenize || tokenBase)(stream, state);
302
- if (style == "comment" || style == "meta" || style == "variable") return style;
303
- if (ctx.align == null) ctx.align = true;
304
-
305
- if (curPunc == ctx.type) {
306
- popContext(state);
307
- } else if ((curPunc == ";" && ctx.type == "statement") ||
308
- (ctx.type && isClosing(curKeyword, ctx.type))) {
309
- ctx = popContext(state);
310
- while (ctx && ctx.type == "statement") ctx = popContext(state);
311
- } else if (curPunc == "{") {
312
- pushContext(state, stream.column(), "}");
313
- } else if (curPunc == "[") {
314
- pushContext(state, stream.column(), "]");
315
- } else if (curPunc == "(") {
316
- pushContext(state, stream.column(), ")");
317
- } else if (ctx && ctx.type == "endcase" && curPunc == ":") {
318
- pushContext(state, stream.column(), "statement");
319
- } else if (curPunc == "newstatement") {
320
- pushContext(state, stream.column(), "statement");
321
- } else if (curPunc == "newblock") {
322
- if (curKeyword == "function" && ctx && (ctx.type == "statement" || ctx.type == "endgroup")) ; else if (curKeyword == "task" && ctx && ctx.type == "statement") ; else {
323
- var close = openClose[curKeyword];
324
- pushContext(state, stream.column(), close);
325
- }
326
- }
327
-
328
- state.startOfLine = false;
329
- return style;
330
- },
331
-
332
- indent: function(state, textAfter, cx) {
333
- if (state.tokenize != tokenBase && state.tokenize != null) return null;
334
- if (hooks.indent) {
335
- var fromHook = hooks.indent(state);
336
- if (fromHook >= 0) return fromHook;
337
- }
338
- var ctx = state.context, firstChar = textAfter && textAfter.charAt(0);
339
- if (ctx.type == "statement" && firstChar == "}") ctx = ctx.prev;
340
- var closing = false;
341
- var possibleClosing = textAfter.match(closingBracketOrWord);
342
- if (possibleClosing)
343
- closing = isClosing(possibleClosing[0], ctx.type);
344
- if (ctx.type == "statement") return ctx.indented + (firstChar == "{" ? 0 : statementIndentUnit || cx.unit);
345
- else if (closingBracket.test(ctx.type) && ctx.align && !dontAlignCalls) return ctx.column + (closing ? 0 : 1);
346
- else if (ctx.type == ")" && !closing) return ctx.indented + (statementIndentUnit || cx.unit);
347
- else return ctx.indented + (closing ? 0 : cx.unit);
348
- },
349
-
350
- languageData: {
351
- indentOnInput: buildElectricInputRegEx(),
352
- commentTokens: {line: "//", block: {open: "/*", close: "*/"}}
353
- }
354
- };
355
- }
356
- const verilog = mkVerilog({});
357
-
358
- // TL-Verilog mode.
359
- // See tl-x.org for language spec.
360
- // See the mode in action at makerchip.com.
361
- // Contact: steve.hoover@redwoodeda.com
362
-
363
- // TLV Identifier prefixes.
364
- // Note that sign is not treated separately, so "+/-" versions of numeric identifiers
365
- // are included.
366
- var tlvIdentifierStyle = {
367
- "|": "link",
368
- ">": "property", // Should condition this off for > TLV 1c.
369
- "$": "variable",
370
- "$$": "variable",
371
- "?$": "qualifier",
372
- "?*": "qualifier",
373
- "-": "contentSeparator",
374
- "/": "property",
375
- "/-": "property",
376
- "@": "variableName.special",
377
- "@-": "variableName.special",
378
- "@++": "variableName.special",
379
- "@+=": "variableName.special",
380
- "@+=-": "variableName.special",
381
- "@--": "variableName.special",
382
- "@-=": "variableName.special",
383
- "%+": "tag",
384
- "%-": "tag",
385
- "%": "tag",
386
- ">>": "tag",
387
- "<<": "tag",
388
- "<>": "tag",
389
- "#": "tag", // Need to choose a style for this.
390
- "^": "attribute",
391
- "^^": "attribute",
392
- "^!": "attribute",
393
- "*": "variable",
394
- "**": "variable",
395
- "\\": "keyword",
396
- "\"": "comment"
397
- };
398
-
399
- // Lines starting with these characters define scope (result in indentation).
400
- var tlvScopePrefixChars = {
401
- "/": "beh-hier",
402
- ">": "beh-hier",
403
- "-": "phys-hier",
404
- "|": "pipe",
405
- "?": "when",
406
- "@": "stage",
407
- "\\": "keyword"
408
- };
409
- var tlvIndentUnit = 3;
410
- var tlvIdentMatch = /^([~!@#\$%\^&\*-\+=\?\/\\\|'"<>]+)([\d\w_]*)/; // Matches an identifier.
411
- // Note that ':' is excluded, because of it's use in [:].
412
- var tlvLineIndentationMatch = /^[! ] */;
413
- var tlvCommentMatch = /^\/[\/\*]/;
414
-
415
- const tlv = mkVerilog({
416
- hooks: {
417
- electricInput: false,
418
-
419
- // Return undefined for verilog tokenizing, or style for TLV token (null not used).
420
- // Standard CM styles are used for most formatting, but some TL-Verilog-specific highlighting
421
- // can be enabled with the definition of cm-tlv-* styles, including highlighting for:
422
- // - M4 tokens
423
- // - TLV scope indentation
424
- // - Statement delimitation (enabled by tlvTrackStatements)
425
- token: function(stream, state) {
426
- var style = undefined;
427
- var match; // Return value of pattern matches.
428
-
429
- // Set highlighting mode based on code region (TLV or SV).
430
- if (stream.sol() && ! state.tlvInBlockComment) {
431
- // Process region.
432
- if (stream.peek() == '\\') {
433
- style = "def";
434
- stream.skipToEnd();
435
- if (stream.string.match(/\\SV/)) {
436
- state.tlvCodeActive = false;
437
- } else if (stream.string.match(/\\TLV/)){
438
- state.tlvCodeActive = true;
439
- }
440
- }
441
- // Correct indentation in the face of a line prefix char.
442
- if (state.tlvCodeActive && stream.pos == 0 &&
443
- (state.indented == 0) && (match = stream.match(tlvLineIndentationMatch, false))) {
444
- state.indented = match[0].length;
445
- }
446
-
447
- // Compute indentation state:
448
- // o Auto indentation on next line
449
- // o Indentation scope styles
450
- var indented = state.indented;
451
- var depth = indented / tlvIndentUnit;
452
- if (depth <= state.tlvIndentationStyle.length) {
453
- // not deeper than current scope
454
-
455
- var blankline = stream.string.length == indented;
456
- var chPos = depth * tlvIndentUnit;
457
- if (chPos < stream.string.length) {
458
- var bodyString = stream.string.slice(chPos);
459
- var ch = bodyString[0];
460
- if (tlvScopePrefixChars[ch] && ((match = bodyString.match(tlvIdentMatch)) &&
461
- tlvIdentifierStyle[match[1]])) {
462
- // This line begins scope.
463
- // Next line gets indented one level.
464
- indented += tlvIndentUnit;
465
- // Style the next level of indentation (except non-region keyword identifiers,
466
- // which are statements themselves)
467
- if (!(ch == "\\" && chPos > 0)) {
468
- state.tlvIndentationStyle[depth] = tlvScopePrefixChars[ch];
469
- depth++;
470
- }
471
- }
472
- }
473
- // Clear out deeper indentation levels unless line is blank.
474
- if (!blankline) {
475
- while (state.tlvIndentationStyle.length > depth) {
476
- state.tlvIndentationStyle.pop();
477
- }
478
- }
479
- }
480
- // Set next level of indentation.
481
- state.tlvNextIndent = indented;
482
- }
483
-
484
- if (state.tlvCodeActive) {
485
-
486
- var match;
487
- if (style !== undefined) ; else if (state.tlvInBlockComment) {
488
- // In a block comment.
489
- if (stream.match(/^.*?\*\//)) {
490
- // Exit block comment.
491
- state.tlvInBlockComment = false;
492
- } else {
493
- stream.skipToEnd();
494
- }
495
- style = "comment";
496
- } else if ((match = stream.match(tlvCommentMatch)) && !state.tlvInBlockComment) {
497
- // Start comment.
498
- if (match[0] == "//") {
499
- // Line comment.
500
- stream.skipToEnd();
501
- } else {
502
- // Block comment.
503
- state.tlvInBlockComment = true;
504
- }
505
- style = "comment";
506
- } else if (match = stream.match(tlvIdentMatch)) {
507
- // looks like an identifier (or identifier prefix)
508
- var prefix = match[1];
509
- var mnemonic = match[2];
510
- if (// is identifier prefix
511
- tlvIdentifierStyle.hasOwnProperty(prefix) &&
512
- // has mnemonic or we're at the end of the line (maybe it hasn't been typed yet)
513
- (mnemonic.length > 0 || stream.eol())) {
514
- style = tlvIdentifierStyle[prefix];
515
- } else {
516
- // Just swallow one character and try again.
517
- // This enables subsequent identifier match with preceding symbol character, which
518
- // is legal within a statement. (Eg, !$reset). It also enables detection of
519
- // comment start with preceding symbols.
520
- stream.backUp(stream.current().length - 1);
521
- }
522
- } else if (stream.match(/^\t+/)) {
523
- // Highlight tabs, which are illegal.
524
- style = "invalid";
525
- } else if (stream.match(/^[\[\]{}\(\);\:]+/)) {
526
- // [:], (), {}, ;.
527
- style = "meta";
528
- } else if (match = stream.match(/^[mM]4([\+_])?[\w\d_]*/)) {
529
- // m4 pre proc
530
- style = (match[1] == "+") ? "keyword.special" : "keyword";
531
- } else if (stream.match(/^ +/)){
532
- // Skip over spaces.
533
- if (stream.eol()) {
534
- // Trailing spaces.
535
- style = "error";
536
- }
537
- } else if (stream.match(/^[\w\d_]+/)) {
538
- // alpha-numeric token.
539
- style = "number";
540
- } else {
541
- // Eat the next char w/ no formatting.
542
- stream.next();
543
- }
544
- } else {
545
- if (stream.match(/^[mM]4([\w\d_]*)/)) {
546
- // m4 pre proc
547
- style = "keyword";
548
- }
549
- }
550
- return style;
551
- },
552
-
553
- indent: function(state) {
554
- return (state.tlvCodeActive == true) ? state.tlvNextIndent : -1;
555
- },
556
-
557
- startState: function(state) {
558
- state.tlvIndentationStyle = []; // Styles to use for each level of indentation.
559
- state.tlvCodeActive = true; // True when we're in a TLV region (and at beginning of file).
560
- state.tlvNextIndent = -1; // The number of spaces to autoindent the next line if tlvCodeActive.
561
- state.tlvInBlockComment = false; // True inside /**/ comment.
562
- }
563
-
564
- }
565
- });
566
-
567
- exports.tlv = tlv;
568
- exports.verilog = verilog;
569
- //# sourceMappingURL=verilog-y1ev34z6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verilog-y1ev34z6.js","sources":["../../../../node_modules/.pnpm/@codemirror+legacy-modes@6.3.3/node_modules/@codemirror/legacy-modes/mode/verilog.js"],"sourcesContent":["function mkVerilog(parserConfig) {\n\n var statementIndentUnit = parserConfig.statementIndentUnit,\n dontAlignCalls = parserConfig.dontAlignCalls,\n noIndentKeywords = parserConfig.noIndentKeywords || [],\n multiLineStrings = parserConfig.multiLineStrings,\n hooks = parserConfig.hooks || {};\n\n function words(str) {\n var obj = {}, words = str.split(\" \");\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n return obj;\n }\n\n /**\n * Keywords from IEEE 1800-2012\n */\n var keywords = words(\n \"accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind \" +\n \"bins binsof bit break buf bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config \" +\n \"const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable \" +\n \"dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup \" +\n \"endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask \" +\n \"enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin \" +\n \"function generate genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import \" +\n \"incdir include initial inout input inside instance int integer interconnect interface intersect join join_any \" +\n \"join_none large let liblist library local localparam logic longint macromodule matches medium modport module \" +\n \"nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 null or output package packed \" +\n \"parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup \" +\n \"pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg \" +\n \"reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime \" +\n \"s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify \" +\n \"specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on \" +\n \"table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior \" +\n \"trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void \" +\n \"wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor\");\n\n /** Operators from IEEE 1800-2012\n unary_operator ::=\n + | - | ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~\n binary_operator ::=\n + | - | * | / | % | == | != | === | !== | ==? | !=? | && | || | **\n | < | <= | > | >= | & | | | ^ | ^~ | ~^ | >> | << | >>> | <<<\n | -> | <->\n inc_or_dec_operator ::= ++ | --\n unary_module_path_operator ::=\n ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~\n binary_module_path_operator ::=\n == | != | && | || | & | | | ^ | ^~ | ~^\n */\n var isOperatorChar = /[\\+\\-\\*\\/!~&|^%=?:]/;\n var isBracketChar = /[\\[\\]{}()]/;\n\n var unsignedNumber = /\\d[0-9_]*/;\n var decimalLiteral = /\\d*\\s*'s?d\\s*\\d[0-9_]*/i;\n var binaryLiteral = /\\d*\\s*'s?b\\s*[xz01][xz01_]*/i;\n var octLiteral = /\\d*\\s*'s?o\\s*[xz0-7][xz0-7_]*/i;\n var hexLiteral = /\\d*\\s*'s?h\\s*[0-9a-fxz?][0-9a-fxz?_]*/i;\n var realLiteral = /(\\d[\\d_]*(\\.\\d[\\d_]*)?E-?[\\d_]+)|(\\d[\\d_]*\\.\\d[\\d_]*)/i;\n\n var closingBracketOrWord = /^((\\w+)|[)}\\]])/;\n var closingBracket = /[)}\\]]/;\n\n var curPunc;\n var curKeyword;\n\n // Block openings which are closed by a matching keyword in the form of (\"end\" + keyword)\n // E.g. \"task\" => \"endtask\"\n var blockKeywords = words(\n \"case checker class clocking config function generate interface module package \" +\n \"primitive program property specify sequence table task\"\n );\n\n // Opening/closing pairs\n var openClose = {};\n for (var keyword in blockKeywords) {\n openClose[keyword] = \"end\" + keyword;\n }\n openClose[\"begin\"] = \"end\";\n openClose[\"casex\"] = \"endcase\";\n openClose[\"casez\"] = \"endcase\";\n openClose[\"do\" ] = \"while\";\n openClose[\"fork\" ] = \"join;join_any;join_none\";\n openClose[\"covergroup\"] = \"endgroup\";\n\n for (var i in noIndentKeywords) {\n var keyword = noIndentKeywords[i];\n if (openClose[keyword]) {\n openClose[keyword] = undefined;\n }\n }\n\n // Keywords which open statements that are ended with a semi-colon\n var statementKeywords = words(\"always always_comb always_ff always_latch assert assign assume else export for foreach forever if import initial repeat while\");\n\n function tokenBase(stream, state) {\n var ch = stream.peek(), style;\n if (hooks[ch] && (style = hooks[ch](stream, state)) != false) return style;\n if (hooks.tokenBase && (style = hooks.tokenBase(stream, state)) != false)\n return style;\n\n if (/[,;:\\.]/.test(ch)) {\n curPunc = stream.next();\n return null;\n }\n if (isBracketChar.test(ch)) {\n curPunc = stream.next();\n return \"bracket\";\n }\n // Macros (tick-defines)\n if (ch == '`') {\n stream.next();\n if (stream.eatWhile(/[\\w\\$_]/)) {\n return \"def\";\n } else {\n return null;\n }\n }\n // System calls\n if (ch == '$') {\n stream.next();\n if (stream.eatWhile(/[\\w\\$_]/)) {\n return \"meta\";\n } else {\n return null;\n }\n }\n // Time literals\n if (ch == '#') {\n stream.next();\n stream.eatWhile(/[\\d_.]/);\n return \"def\";\n }\n // Strings\n if (ch == '\"') {\n stream.next();\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n }\n // Comments\n if (ch == \"/\") {\n stream.next();\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 stream.backUp(1);\n }\n\n // Numeric literals\n if (stream.match(realLiteral) ||\n stream.match(decimalLiteral) ||\n stream.match(binaryLiteral) ||\n stream.match(octLiteral) ||\n stream.match(hexLiteral) ||\n stream.match(unsignedNumber) ||\n stream.match(realLiteral)) {\n return \"number\";\n }\n\n // Operators\n if (stream.eatWhile(isOperatorChar)) {\n return \"meta\";\n }\n\n // Keywords / plain variables\n if (stream.eatWhile(/[\\w\\$_]/)) {\n var cur = stream.current();\n if (keywords[cur]) {\n if (openClose[cur]) {\n curPunc = \"newblock\";\n }\n if (statementKeywords[cur]) {\n curPunc = \"newstatement\";\n }\n curKeyword = cur;\n return \"keyword\";\n }\n return \"variable\";\n }\n\n stream.next();\n return null;\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next, end = false;\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) {end = true; break;}\n escaped = !escaped && next == \"\\\\\";\n }\n if (end || !(escaped || multiLineStrings))\n state.tokenize = tokenBase;\n return \"string\";\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return \"comment\";\n }\n\n function 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 function pushContext(state, col, type) {\n var indent = state.indented;\n var c = new Context(indent, col, type, null, state.context);\n return state.context = c;\n }\n function popContext(state) {\n var t = state.context.type;\n if (t == \")\" || t == \"]\" || t == \"}\") {\n state.indented = state.context.indented;\n }\n return state.context = state.context.prev;\n }\n\n function isClosing(text, contextClosing) {\n if (text == contextClosing) {\n return true;\n } else {\n // contextClosing may be multiple keywords separated by ;\n var closingKeywords = contextClosing.split(\";\");\n for (var i in closingKeywords) {\n if (text == closingKeywords[i]) {\n return true;\n }\n }\n return false;\n }\n }\n\n function buildElectricInputRegEx() {\n // Reindentation should occur on any bracket char: {}()[]\n // or on a match of any of the block closing keywords, at\n // the end of a line\n var allClosings = [];\n for (var i in openClose) {\n if (openClose[i]) {\n var closings = openClose[i].split(\";\");\n for (var j in closings) {\n allClosings.push(closings[j]);\n }\n }\n }\n var re = new RegExp(\"[{}()\\\\[\\\\]]|(\" + allClosings.join(\"|\") + \")$\");\n return re;\n }\n\n // Interface\n return {\n name: \"verilog\",\n\n startState: function(indentUnit) {\n var state = {\n tokenize: null,\n context: new Context(-indentUnit, 0, \"top\", false),\n indented: 0,\n startOfLine: true\n };\n if (hooks.startState) hooks.startState(state);\n return state;\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 (hooks.token) {\n // Call hook, with an optional return value of a style to override verilog styling.\n var style = hooks.token(stream, state);\n if (style !== undefined) {\n return style;\n }\n }\n if (stream.eatSpace()) return null;\n curPunc = null;\n curKeyword = null;\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style == \"comment\" || style == \"meta\" || style == \"variable\") return style;\n if (ctx.align == null) ctx.align = true;\n\n if (curPunc == ctx.type) {\n popContext(state);\n } else if ((curPunc == \";\" && ctx.type == \"statement\") ||\n (ctx.type && isClosing(curKeyword, ctx.type))) {\n ctx = popContext(state);\n while (ctx && ctx.type == \"statement\") ctx = popContext(state);\n } else if (curPunc == \"{\") {\n pushContext(state, stream.column(), \"}\");\n } else if (curPunc == \"[\") {\n pushContext(state, stream.column(), \"]\");\n } else if (curPunc == \"(\") {\n pushContext(state, stream.column(), \")\");\n } else if (ctx && ctx.type == \"endcase\" && curPunc == \":\") {\n pushContext(state, stream.column(), \"statement\");\n } else if (curPunc == \"newstatement\") {\n pushContext(state, stream.column(), \"statement\");\n } else if (curPunc == \"newblock\") {\n if (curKeyword == \"function\" && ctx && (ctx.type == \"statement\" || ctx.type == \"endgroup\")) {\n // The 'function' keyword can appear in some other contexts where it actually does not\n // indicate a function (import/export DPI and covergroup definitions).\n // Do nothing in this case\n } else if (curKeyword == \"task\" && ctx && ctx.type == \"statement\") {\n // Same thing for task\n } else {\n var close = openClose[curKeyword];\n pushContext(state, stream.column(), close);\n }\n }\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 null;\n if (hooks.indent) {\n var fromHook = hooks.indent(state);\n if (fromHook >= 0) return fromHook;\n }\n var ctx = state.context, firstChar = textAfter && textAfter.charAt(0);\n if (ctx.type == \"statement\" && firstChar == \"}\") ctx = ctx.prev;\n var closing = false;\n var possibleClosing = textAfter.match(closingBracketOrWord);\n if (possibleClosing)\n closing = isClosing(possibleClosing[0], ctx.type);\n if (ctx.type == \"statement\") return ctx.indented + (firstChar == \"{\" ? 0 : statementIndentUnit || cx.unit);\n else if (closingBracket.test(ctx.type) && ctx.align && !dontAlignCalls) return ctx.column + (closing ? 0 : 1);\n else if (ctx.type == \")\" && !closing) return ctx.indented + (statementIndentUnit || cx.unit);\n else return ctx.indented + (closing ? 0 : cx.unit);\n },\n\n languageData: {\n indentOnInput: buildElectricInputRegEx(),\n commentTokens: {line: \"//\", block: {open: \"/*\", close: \"*/\"}}\n }\n };\n};\n\nexport const verilog = mkVerilog({})\n\n// TL-Verilog mode.\n// See tl-x.org for language spec.\n// See the mode in action at makerchip.com.\n// Contact: steve.hoover@redwoodeda.com\n\n// TLV Identifier prefixes.\n// Note that sign is not treated separately, so \"+/-\" versions of numeric identifiers\n// are included.\nvar tlvIdentifierStyle = {\n \"|\": \"link\",\n \">\": \"property\", // Should condition this off for > TLV 1c.\n \"$\": \"variable\",\n \"$$\": \"variable\",\n \"?$\": \"qualifier\",\n \"?*\": \"qualifier\",\n \"-\": \"contentSeparator\",\n \"/\": \"property\",\n \"/-\": \"property\",\n \"@\": \"variableName.special\",\n \"@-\": \"variableName.special\",\n \"@++\": \"variableName.special\",\n \"@+=\": \"variableName.special\",\n \"@+=-\": \"variableName.special\",\n \"@--\": \"variableName.special\",\n \"@-=\": \"variableName.special\",\n \"%+\": \"tag\",\n \"%-\": \"tag\",\n \"%\": \"tag\",\n \">>\": \"tag\",\n \"<<\": \"tag\",\n \"<>\": \"tag\",\n \"#\": \"tag\", // Need to choose a style for this.\n \"^\": \"attribute\",\n \"^^\": \"attribute\",\n \"^!\": \"attribute\",\n \"*\": \"variable\",\n \"**\": \"variable\",\n \"\\\\\": \"keyword\",\n \"\\\"\": \"comment\"\n};\n\n// Lines starting with these characters define scope (result in indentation).\nvar tlvScopePrefixChars = {\n \"/\": \"beh-hier\",\n \">\": \"beh-hier\",\n \"-\": \"phys-hier\",\n \"|\": \"pipe\",\n \"?\": \"when\",\n \"@\": \"stage\",\n \"\\\\\": \"keyword\"\n};\nvar tlvIndentUnit = 3;\nvar tlvTrackStatements = false;\nvar tlvIdentMatch = /^([~!@#\\$%\\^&\\*-\\+=\\?\\/\\\\\\|'\"<>]+)([\\d\\w_]*)/; // Matches an identifier.\n// Note that ':' is excluded, because of it's use in [:].\nvar tlvLineIndentationMatch = /^[! ] */;\nvar tlvCommentMatch = /^\\/[\\/\\*]/;\n\nexport const tlv = mkVerilog({\n hooks: {\n electricInput: false,\n\n // Return undefined for verilog tokenizing, or style for TLV token (null not used).\n // Standard CM styles are used for most formatting, but some TL-Verilog-specific highlighting\n // can be enabled with the definition of cm-tlv-* styles, including highlighting for:\n // - M4 tokens\n // - TLV scope indentation\n // - Statement delimitation (enabled by tlvTrackStatements)\n token: function(stream, state) {\n var style = undefined;\n var match; // Return value of pattern matches.\n\n // Set highlighting mode based on code region (TLV or SV).\n if (stream.sol() && ! state.tlvInBlockComment) {\n // Process region.\n if (stream.peek() == '\\\\') {\n style = \"def\";\n stream.skipToEnd();\n if (stream.string.match(/\\\\SV/)) {\n state.tlvCodeActive = false;\n } else if (stream.string.match(/\\\\TLV/)){\n state.tlvCodeActive = true;\n }\n }\n // Correct indentation in the face of a line prefix char.\n if (state.tlvCodeActive && stream.pos == 0 &&\n (state.indented == 0) && (match = stream.match(tlvLineIndentationMatch, false))) {\n state.indented = match[0].length;\n }\n\n // Compute indentation state:\n // o Auto indentation on next line\n // o Indentation scope styles\n var indented = state.indented;\n var depth = indented / tlvIndentUnit;\n if (depth <= state.tlvIndentationStyle.length) {\n // not deeper than current scope\n\n var blankline = stream.string.length == indented;\n var chPos = depth * tlvIndentUnit;\n if (chPos < stream.string.length) {\n var bodyString = stream.string.slice(chPos);\n var ch = bodyString[0];\n if (tlvScopePrefixChars[ch] && ((match = bodyString.match(tlvIdentMatch)) &&\n tlvIdentifierStyle[match[1]])) {\n // This line begins scope.\n // Next line gets indented one level.\n indented += tlvIndentUnit;\n // Style the next level of indentation (except non-region keyword identifiers,\n // which are statements themselves)\n if (!(ch == \"\\\\\" && chPos > 0)) {\n state.tlvIndentationStyle[depth] = tlvScopePrefixChars[ch];\n if (tlvTrackStatements) {state.statementComment = false;}\n depth++;\n }\n }\n }\n // Clear out deeper indentation levels unless line is blank.\n if (!blankline) {\n while (state.tlvIndentationStyle.length > depth) {\n state.tlvIndentationStyle.pop();\n }\n }\n }\n // Set next level of indentation.\n state.tlvNextIndent = indented;\n }\n\n if (state.tlvCodeActive) {\n // Highlight as TLV.\n\n var beginStatement = false;\n if (tlvTrackStatements) {\n // This starts a statement if the position is at the scope level\n // and we're not within a statement leading comment.\n beginStatement =\n (stream.peek() != \" \") && // not a space\n (style === undefined) && // not a region identifier\n !state.tlvInBlockComment && // not in block comment\n //!stream.match(tlvCommentMatch, false) && // not comment start\n (stream.column() == state.tlvIndentationStyle.length * tlvIndentUnit); // at scope level\n if (beginStatement) {\n if (state.statementComment) {\n // statement already started by comment\n beginStatement = false;\n }\n state.statementComment =\n stream.match(tlvCommentMatch, false); // comment start\n }\n }\n\n var match;\n if (style !== undefined) {\n } else if (state.tlvInBlockComment) {\n // In a block comment.\n if (stream.match(/^.*?\\*\\//)) {\n // Exit block comment.\n state.tlvInBlockComment = false;\n if (tlvTrackStatements && !stream.eol()) {\n // Anything after comment is assumed to be real statement content.\n state.statementComment = false;\n }\n } else {\n stream.skipToEnd();\n }\n style = \"comment\";\n } else if ((match = stream.match(tlvCommentMatch)) && !state.tlvInBlockComment) {\n // Start comment.\n if (match[0] == \"//\") {\n // Line comment.\n stream.skipToEnd();\n } else {\n // Block comment.\n state.tlvInBlockComment = true;\n }\n style = \"comment\";\n } else if (match = stream.match(tlvIdentMatch)) {\n // looks like an identifier (or identifier prefix)\n var prefix = match[1];\n var mnemonic = match[2];\n if (// is identifier prefix\n tlvIdentifierStyle.hasOwnProperty(prefix) &&\n // has mnemonic or we're at the end of the line (maybe it hasn't been typed yet)\n (mnemonic.length > 0 || stream.eol())) {\n style = tlvIdentifierStyle[prefix];\n } else {\n // Just swallow one character and try again.\n // This enables subsequent identifier match with preceding symbol character, which\n // is legal within a statement. (Eg, !$reset). It also enables detection of\n // comment start with preceding symbols.\n stream.backUp(stream.current().length - 1);\n }\n } else if (stream.match(/^\\t+/)) {\n // Highlight tabs, which are illegal.\n style = \"invalid\";\n } else if (stream.match(/^[\\[\\]{}\\(\\);\\:]+/)) {\n // [:], (), {}, ;.\n style = \"meta\";\n } else if (match = stream.match(/^[mM]4([\\+_])?[\\w\\d_]*/)) {\n // m4 pre proc\n style = (match[1] == \"+\") ? \"keyword.special\" : \"keyword\";\n } else if (stream.match(/^ +/)){\n // Skip over spaces.\n if (stream.eol()) {\n // Trailing spaces.\n style = \"error\";\n }\n } else if (stream.match(/^[\\w\\d_]+/)) {\n // alpha-numeric token.\n style = \"number\";\n } else {\n // Eat the next char w/ no formatting.\n stream.next();\n }\n } else {\n if (stream.match(/^[mM]4([\\w\\d_]*)/)) {\n // m4 pre proc\n style = \"keyword\";\n }\n }\n return style;\n },\n\n indent: function(state) {\n return (state.tlvCodeActive == true) ? state.tlvNextIndent : -1;\n },\n\n startState: function(state) {\n state.tlvIndentationStyle = []; // Styles to use for each level of indentation.\n state.tlvCodeActive = true; // True when we're in a TLV region (and at beginning of file).\n state.tlvNextIndent = -1; // The number of spaces to autoindent the next line if tlvCodeActive.\n state.tlvInBlockComment = false; // True inside /**/ comment.\n if (tlvTrackStatements) {\n state.statementComment = false; // True inside a statement's header comment.\n }\n }\n\n }\n});\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}