@inkandswitch/patchwork-pkg-base 0.0.15 → 0.0.17

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 (383) hide show
  1. package/init.js +1 -0
  2. package/modules.json +11 -1
  3. package/package.json +1 -1
  4. package/packages/account-picker/dist/AccountPicker-7VBUJTTB.js +8860 -0
  5. package/packages/account-picker/dist/AccountPicker-7VBUJTTB.js.map +7 -0
  6. package/packages/account-picker/dist/AccountPicker-CN73XGEW.css +371 -0
  7. package/packages/account-picker/dist/AccountPicker-CN73XGEW.css.map +7 -0
  8. package/packages/account-picker/dist/chunk-5WRI5ZAA.js +31 -0
  9. package/packages/account-picker/dist/chunk-5WRI5ZAA.js.map +7 -0
  10. package/packages/account-picker/dist/tool.css +371 -0
  11. package/packages/account-picker/dist/tool.css.map +7 -0
  12. package/packages/account-picker/dist/tool.js +19 -0
  13. package/packages/account-picker/dist/tool.js.map +7 -0
  14. package/packages/account-picker/package.json +39 -0
  15. package/packages/codemirror-base/dist/chunk-KMEIRH3R.js +490 -0
  16. package/packages/codemirror-base/dist/chunk-KMEIRH3R.js.map +7 -0
  17. package/packages/codemirror-base/dist/lib/codemirror.js +7 -0
  18. package/packages/codemirror-base/dist/lib/codemirror.js.map +7 -0
  19. package/packages/codemirror-base/dist/main.js +17 -0
  20. package/packages/codemirror-base/dist/main.js.map +7 -0
  21. package/packages/codemirror-base/dist/tool.js +1799 -0
  22. package/packages/codemirror-base/dist/tool.js.map +7 -0
  23. package/packages/codemirror-base/package.json +55 -0
  24. package/packages/codemirror-markdown/dist/apl-QAIM2KBM.js +142 -0
  25. package/packages/codemirror-markdown/dist/apl-QAIM2KBM.js.map +7 -0
  26. package/packages/codemirror-markdown/dist/asciiarmor-G7UKQURA.js +58 -0
  27. package/packages/codemirror-markdown/dist/asciiarmor-G7UKQURA.js.map +7 -0
  28. package/packages/codemirror-markdown/dist/asn1-JTUXKWKT.js +144 -0
  29. package/packages/codemirror-markdown/dist/asn1-JTUXKWKT.js.map +7 -0
  30. package/packages/codemirror-markdown/dist/asterisk-NM6JCXOL.js +351 -0
  31. package/packages/codemirror-markdown/dist/asterisk-NM6JCXOL.js.map +7 -0
  32. package/packages/codemirror-markdown/dist/brainfuck-X7FFM55E.js +55 -0
  33. package/packages/codemirror-markdown/dist/brainfuck-X7FFM55E.js.map +7 -0
  34. package/packages/codemirror-markdown/dist/chunk-46Z6CXSY.js +1062 -0
  35. package/packages/codemirror-markdown/dist/chunk-46Z6CXSY.js.map +7 -0
  36. package/packages/codemirror-markdown/dist/chunk-6JT2ASRP.js +1111 -0
  37. package/packages/codemirror-markdown/dist/chunk-6JT2ASRP.js.map +7 -0
  38. package/packages/codemirror-markdown/dist/chunk-CSJO4DNL.js +1424 -0
  39. package/packages/codemirror-markdown/dist/chunk-CSJO4DNL.js.map +7 -0
  40. package/packages/codemirror-markdown/dist/chunk-FLC3A4DL.js +133 -0
  41. package/packages/codemirror-markdown/dist/chunk-FLC3A4DL.js.map +7 -0
  42. package/packages/codemirror-markdown/dist/chunk-M3X2FRO3.js +998 -0
  43. package/packages/codemirror-markdown/dist/chunk-M3X2FRO3.js.map +7 -0
  44. package/packages/codemirror-markdown/dist/chunk-MAW6NPUW.js +4930 -0
  45. package/packages/codemirror-markdown/dist/chunk-MAW6NPUW.js.map +7 -0
  46. package/packages/codemirror-markdown/dist/chunk-MBTMKYFQ.js +1779 -0
  47. package/packages/codemirror-markdown/dist/chunk-MBTMKYFQ.js.map +7 -0
  48. package/packages/codemirror-markdown/dist/chunk-NEI7FGV4.js +697 -0
  49. package/packages/codemirror-markdown/dist/chunk-NEI7FGV4.js.map +7 -0
  50. package/packages/codemirror-markdown/dist/chunk-PPGERYN5.js +2528 -0
  51. package/packages/codemirror-markdown/dist/chunk-PPGERYN5.js.map +7 -0
  52. package/packages/codemirror-markdown/dist/clike-DOBZTBQN.js +808 -0
  53. package/packages/codemirror-markdown/dist/clike-DOBZTBQN.js.map +7 -0
  54. package/packages/codemirror-markdown/dist/clojure-PTADSDNF.js +851 -0
  55. package/packages/codemirror-markdown/dist/clojure-PTADSDNF.js.map +7 -0
  56. package/packages/codemirror-markdown/dist/cmake-5HAC7YMH.js +73 -0
  57. package/packages/codemirror-markdown/dist/cmake-5HAC7YMH.js.map +7 -0
  58. package/packages/codemirror-markdown/dist/cobol-HAM4C42S.js +131 -0
  59. package/packages/codemirror-markdown/dist/cobol-HAM4C42S.js.map +7 -0
  60. package/packages/codemirror-markdown/dist/coffeescript-IBRKASSJ.js +310 -0
  61. package/packages/codemirror-markdown/dist/coffeescript-IBRKASSJ.js.map +7 -0
  62. package/packages/codemirror-markdown/dist/commonlisp-KMRPB5EW.js +132 -0
  63. package/packages/codemirror-markdown/dist/commonlisp-KMRPB5EW.js.map +7 -0
  64. package/packages/codemirror-markdown/dist/crystal-2MDF4EKJ.js +400 -0
  65. package/packages/codemirror-markdown/dist/crystal-2MDF4EKJ.js.map +7 -0
  66. package/packages/codemirror-markdown/dist/css-VQQXA3AY.js +1795 -0
  67. package/packages/codemirror-markdown/dist/css-VQQXA3AY.js.map +7 -0
  68. package/packages/codemirror-markdown/dist/cypher-ZZEGDGDJ.js +123 -0
  69. package/packages/codemirror-markdown/dist/cypher-ZZEGDGDJ.js.map +7 -0
  70. package/packages/codemirror-markdown/dist/d-5S6PJOOT.js +187 -0
  71. package/packages/codemirror-markdown/dist/d-5S6PJOOT.js.map +7 -0
  72. package/packages/codemirror-markdown/dist/datatype.js +48 -0
  73. package/packages/codemirror-markdown/dist/datatype.js.map +7 -0
  74. package/packages/codemirror-markdown/dist/diff-S77XBOWF.js +27 -0
  75. package/packages/codemirror-markdown/dist/diff-S77XBOWF.js.map +7 -0
  76. package/packages/codemirror-markdown/dist/dist-2C6IPJHB.js +98 -0
  77. package/packages/codemirror-markdown/dist/dist-2C6IPJHB.js.map +7 -0
  78. package/packages/codemirror-markdown/dist/dist-2H653DKD.js +170 -0
  79. package/packages/codemirror-markdown/dist/dist-2H653DKD.js.map +7 -0
  80. package/packages/codemirror-markdown/dist/dist-2O4EI6YQ.js +140 -0
  81. package/packages/codemirror-markdown/dist/dist-2O4EI6YQ.js.map +7 -0
  82. package/packages/codemirror-markdown/dist/dist-2UJRV4FH.js +75 -0
  83. package/packages/codemirror-markdown/dist/dist-2UJRV4FH.js.map +7 -0
  84. package/packages/codemirror-markdown/dist/dist-52S6W6Z3.js +15 -0
  85. package/packages/codemirror-markdown/dist/dist-52S6W6Z3.js.map +7 -0
  86. package/packages/codemirror-markdown/dist/dist-5KN6ODPO.js +340 -0
  87. package/packages/codemirror-markdown/dist/dist-5KN6ODPO.js.map +7 -0
  88. package/packages/codemirror-markdown/dist/dist-BOGB4NCA.js +20 -0
  89. package/packages/codemirror-markdown/dist/dist-BOGB4NCA.js.map +7 -0
  90. package/packages/codemirror-markdown/dist/dist-DZ4PW5HP.js +318 -0
  91. package/packages/codemirror-markdown/dist/dist-DZ4PW5HP.js.map +7 -0
  92. package/packages/codemirror-markdown/dist/dist-FDBKXKIA.js +100 -0
  93. package/packages/codemirror-markdown/dist/dist-FDBKXKIA.js.map +7 -0
  94. package/packages/codemirror-markdown/dist/dist-G2KVVLNT.js +381 -0
  95. package/packages/codemirror-markdown/dist/dist-G2KVVLNT.js.map +7 -0
  96. package/packages/codemirror-markdown/dist/dist-HHNZE2GE.js +193 -0
  97. package/packages/codemirror-markdown/dist/dist-HHNZE2GE.js.map +7 -0
  98. package/packages/codemirror-markdown/dist/dist-HNH74YPL.js +32 -0
  99. package/packages/codemirror-markdown/dist/dist-HNH74YPL.js.map +7 -0
  100. package/packages/codemirror-markdown/dist/dist-LBQUKRIG.js +27 -0
  101. package/packages/codemirror-markdown/dist/dist-LBQUKRIG.js.map +7 -0
  102. package/packages/codemirror-markdown/dist/dist-MFKCWPLQ.js +416 -0
  103. package/packages/codemirror-markdown/dist/dist-MFKCWPLQ.js.map +7 -0
  104. package/packages/codemirror-markdown/dist/dist-NISFJM3T.js +423 -0
  105. package/packages/codemirror-markdown/dist/dist-NISFJM3T.js.map +7 -0
  106. package/packages/codemirror-markdown/dist/dist-Q7P6VH6H.js +786 -0
  107. package/packages/codemirror-markdown/dist/dist-Q7P6VH6H.js.map +7 -0
  108. package/packages/codemirror-markdown/dist/dist-RWF5A5GN.js +451 -0
  109. package/packages/codemirror-markdown/dist/dist-RWF5A5GN.js.map +7 -0
  110. package/packages/codemirror-markdown/dist/dist-UHUU7KLC.js +748 -0
  111. package/packages/codemirror-markdown/dist/dist-UHUU7KLC.js.map +7 -0
  112. package/packages/codemirror-markdown/dist/dist-WJMBFK7W.js +360 -0
  113. package/packages/codemirror-markdown/dist/dist-WJMBFK7W.js.map +7 -0
  114. package/packages/codemirror-markdown/dist/dist-XJYSXJ7H.js +115 -0
  115. package/packages/codemirror-markdown/dist/dist-XJYSXJ7H.js.map +7 -0
  116. package/packages/codemirror-markdown/dist/dist-YY24ZXZD.js +212 -0
  117. package/packages/codemirror-markdown/dist/dist-YY24ZXZD.js.map +7 -0
  118. package/packages/codemirror-markdown/dist/dockerfile-JECCOJWP.js +209 -0
  119. package/packages/codemirror-markdown/dist/dockerfile-JECCOJWP.js.map +7 -0
  120. package/packages/codemirror-markdown/dist/dtd-MNDWTW4Z.js +116 -0
  121. package/packages/codemirror-markdown/dist/dtd-MNDWTW4Z.js.map +7 -0
  122. package/packages/codemirror-markdown/dist/dylan-VQ4IHJDS.js +317 -0
  123. package/packages/codemirror-markdown/dist/dylan-VQ4IHJDS.js.map +7 -0
  124. package/packages/codemirror-markdown/dist/ebnf-IDZBFTCG.js +142 -0
  125. package/packages/codemirror-markdown/dist/ebnf-IDZBFTCG.js.map +7 -0
  126. package/packages/codemirror-markdown/dist/ecl-X3ROY7E6.js +180 -0
  127. package/packages/codemirror-markdown/dist/ecl-X3ROY7E6.js.map +7 -0
  128. package/packages/codemirror-markdown/dist/eiffel-WB3M7Y2E.js +136 -0
  129. package/packages/codemirror-markdown/dist/eiffel-WB3M7Y2E.js.map +7 -0
  130. package/packages/codemirror-markdown/dist/elm-VHXR6ZA3.js +178 -0
  131. package/packages/codemirror-markdown/dist/elm-VHXR6ZA3.js.map +7 -0
  132. package/packages/codemirror-markdown/dist/erlang-7ZBDDQDV.js +676 -0
  133. package/packages/codemirror-markdown/dist/erlang-7ZBDDQDV.js.map +7 -0
  134. package/packages/codemirror-markdown/dist/extensions/embed.js +325 -0
  135. package/packages/codemirror-markdown/dist/extensions/embed.js.map +7 -0
  136. package/packages/codemirror-markdown/dist/extensions/links.js +118 -0
  137. package/packages/codemirror-markdown/dist/extensions/links.js.map +7 -0
  138. package/packages/codemirror-markdown/dist/extensions/markdown.js +3476 -0
  139. package/packages/codemirror-markdown/dist/extensions/markdown.js.map +7 -0
  140. package/packages/codemirror-markdown/dist/factor-IKT2GQE2.js +70 -0
  141. package/packages/codemirror-markdown/dist/factor-IKT2GQE2.js.map +7 -0
  142. package/packages/codemirror-markdown/dist/fcl-CNBUVGUC.js +143 -0
  143. package/packages/codemirror-markdown/dist/fcl-CNBUVGUC.js.map +7 -0
  144. package/packages/codemirror-markdown/dist/forth-4BTPWSFZ.js +118 -0
  145. package/packages/codemirror-markdown/dist/forth-4BTPWSFZ.js.map +7 -0
  146. package/packages/codemirror-markdown/dist/fortran-V6F5DQPK.js +469 -0
  147. package/packages/codemirror-markdown/dist/fortran-V6F5DQPK.js.map +7 -0
  148. package/packages/codemirror-markdown/dist/gas-4DLP6BC4.js +296 -0
  149. package/packages/codemirror-markdown/dist/gas-4DLP6BC4.js.map +7 -0
  150. package/packages/codemirror-markdown/dist/gherkin-OSGPX6HI.js +117 -0
  151. package/packages/codemirror-markdown/dist/gherkin-OSGPX6HI.js.map +7 -0
  152. package/packages/codemirror-markdown/dist/groovy-R2JW63QF.js +225 -0
  153. package/packages/codemirror-markdown/dist/groovy-R2JW63QF.js.map +7 -0
  154. package/packages/codemirror-markdown/dist/haskell-GG7T4J6H.js +461 -0
  155. package/packages/codemirror-markdown/dist/haskell-GG7T4J6H.js.map +7 -0
  156. package/packages/codemirror-markdown/dist/haxe-ESFUJKSE.js +521 -0
  157. package/packages/codemirror-markdown/dist/haxe-ESFUJKSE.js.map +7 -0
  158. package/packages/codemirror-markdown/dist/http-SZLSACOW.js +81 -0
  159. package/packages/codemirror-markdown/dist/http-SZLSACOW.js.map +7 -0
  160. package/packages/codemirror-markdown/dist/idl-V7UH35RP.js +987 -0
  161. package/packages/codemirror-markdown/dist/idl-V7UH35RP.js.map +7 -0
  162. package/packages/codemirror-markdown/dist/javascript-MGRPKFDN.js +13 -0
  163. package/packages/codemirror-markdown/dist/javascript-MGRPKFDN.js.map +7 -0
  164. package/packages/codemirror-markdown/dist/julia-CWCVZVPG.js +409 -0
  165. package/packages/codemirror-markdown/dist/julia-CWCVZVPG.js.map +7 -0
  166. package/packages/codemirror-markdown/dist/livescript-IGKT2FL7.js +303 -0
  167. package/packages/codemirror-markdown/dist/livescript-IGKT2FL7.js.map +7 -0
  168. package/packages/codemirror-markdown/dist/lua-GHK7GCTS.js +258 -0
  169. package/packages/codemirror-markdown/dist/lua-GHK7GCTS.js.map +7 -0
  170. package/packages/codemirror-markdown/dist/main.js +58 -0
  171. package/packages/codemirror-markdown/dist/main.js.map +7 -0
  172. package/packages/codemirror-markdown/dist/mathematica-W5LMQI3M.js +112 -0
  173. package/packages/codemirror-markdown/dist/mathematica-W5LMQI3M.js.map +7 -0
  174. package/packages/codemirror-markdown/dist/mbox-A7CXJ4HZ.js +119 -0
  175. package/packages/codemirror-markdown/dist/mbox-A7CXJ4HZ.js.map +7 -0
  176. package/packages/codemirror-markdown/dist/mirc-WYJEQUBY.js +109 -0
  177. package/packages/codemirror-markdown/dist/mirc-WYJEQUBY.js.map +7 -0
  178. package/packages/codemirror-markdown/dist/mllike-C2YS6SJI.js +340 -0
  179. package/packages/codemirror-markdown/dist/mllike-C2YS6SJI.js.map +7 -0
  180. package/packages/codemirror-markdown/dist/modelica-BMJSLZS7.js +149 -0
  181. package/packages/codemirror-markdown/dist/modelica-BMJSLZS7.js.map +7 -0
  182. package/packages/codemirror-markdown/dist/mscgen-5BORDYHW.js +137 -0
  183. package/packages/codemirror-markdown/dist/mscgen-5BORDYHW.js.map +7 -0
  184. package/packages/codemirror-markdown/dist/mumps-BYE6H7ZX.js +95 -0
  185. package/packages/codemirror-markdown/dist/mumps-BYE6H7ZX.js.map +7 -0
  186. package/packages/codemirror-markdown/dist/nginx-Y54HR7MQ.js +143 -0
  187. package/packages/codemirror-markdown/dist/nginx-Y54HR7MQ.js.map +7 -0
  188. package/packages/codemirror-markdown/dist/nsis-UZLPE2DL.js +67 -0
  189. package/packages/codemirror-markdown/dist/nsis-UZLPE2DL.js.map +7 -0
  190. package/packages/codemirror-markdown/dist/ntriples-SAI3J2VH.js +155 -0
  191. package/packages/codemirror-markdown/dist/ntriples-SAI3J2VH.js.map +7 -0
  192. package/packages/codemirror-markdown/dist/octave-TLUBYOUX.js +213 -0
  193. package/packages/codemirror-markdown/dist/octave-TLUBYOUX.js.map +7 -0
  194. package/packages/codemirror-markdown/dist/oz-F6LNIR6Q.js +233 -0
  195. package/packages/codemirror-markdown/dist/oz-F6LNIR6Q.js.map +7 -0
  196. package/packages/codemirror-markdown/dist/pascal-WINE2FE6.js +107 -0
  197. package/packages/codemirror-markdown/dist/pascal-WINE2FE6.js.map +7 -0
  198. package/packages/codemirror-markdown/dist/perl-NZG3EIBE.js +1107 -0
  199. package/packages/codemirror-markdown/dist/perl-NZG3EIBE.js.map +7 -0
  200. package/packages/codemirror-markdown/dist/pig-U7OFLRCV.js +105 -0
  201. package/packages/codemirror-markdown/dist/pig-U7OFLRCV.js.map +7 -0
  202. package/packages/codemirror-markdown/dist/powershell-ZSUS7P6D.js +330 -0
  203. package/packages/codemirror-markdown/dist/powershell-ZSUS7P6D.js.map +7 -0
  204. package/packages/codemirror-markdown/dist/properties-IJRU6UJW.js +60 -0
  205. package/packages/codemirror-markdown/dist/properties-IJRU6UJW.js.map +7 -0
  206. package/packages/codemirror-markdown/dist/protobuf-2KETQIQ5.js +80 -0
  207. package/packages/codemirror-markdown/dist/protobuf-2KETQIQ5.js.map +7 -0
  208. package/packages/codemirror-markdown/dist/pug-IQCJJAZU.js +410 -0
  209. package/packages/codemirror-markdown/dist/pug-IQCJJAZU.js.map +7 -0
  210. package/packages/codemirror-markdown/dist/puppet-YIIDDH6A.js +139 -0
  211. package/packages/codemirror-markdown/dist/puppet-YIIDDH6A.js.map +7 -0
  212. package/packages/codemirror-markdown/dist/python-A6P3XTMX.js +429 -0
  213. package/packages/codemirror-markdown/dist/python-A6P3XTMX.js.map +7 -0
  214. package/packages/codemirror-markdown/dist/q-2KXN5RX7.js +135 -0
  215. package/packages/codemirror-markdown/dist/q-2KXN5RX7.js.map +7 -0
  216. package/packages/codemirror-markdown/dist/r-BB4MIIBH.js +174 -0
  217. package/packages/codemirror-markdown/dist/r-BB4MIIBH.js.map +7 -0
  218. package/packages/codemirror-markdown/dist/rpm-LMR25AQ3.js +111 -0
  219. package/packages/codemirror-markdown/dist/rpm-LMR25AQ3.js.map +7 -0
  220. package/packages/codemirror-markdown/dist/ruby-TSD6FT73.js +333 -0
  221. package/packages/codemirror-markdown/dist/ruby-TSD6FT73.js.map +7 -0
  222. package/packages/codemirror-markdown/dist/sas-6X4WWIGV.js +209 -0
  223. package/packages/codemirror-markdown/dist/sas-6X4WWIGV.js.map +7 -0
  224. package/packages/codemirror-markdown/dist/scheme-E3I46HBL.js +230 -0
  225. package/packages/codemirror-markdown/dist/scheme-E3I46HBL.js.map +7 -0
  226. package/packages/codemirror-markdown/dist/shell-GX3PRI4I.js +224 -0
  227. package/packages/codemirror-markdown/dist/shell-GX3PRI4I.js.map +7 -0
  228. package/packages/codemirror-markdown/dist/sieve-V65ZPL4F.js +137 -0
  229. package/packages/codemirror-markdown/dist/sieve-V65ZPL4F.js.map +7 -0
  230. package/packages/codemirror-markdown/dist/smalltalk-OVKP2CVW.js +123 -0
  231. package/packages/codemirror-markdown/dist/smalltalk-OVKP2CVW.js.map +7 -0
  232. package/packages/codemirror-markdown/dist/solr-C4DLQJCF.js +71 -0
  233. package/packages/codemirror-markdown/dist/solr-C4DLQJCF.js.map +7 -0
  234. package/packages/codemirror-markdown/dist/sparql-REKUW7B3.js +251 -0
  235. package/packages/codemirror-markdown/dist/sparql-REKUW7B3.js.map +7 -0
  236. package/packages/codemirror-markdown/dist/spreadsheet-S7NN2YTQ.js +89 -0
  237. package/packages/codemirror-markdown/dist/spreadsheet-S7NN2YTQ.js.map +7 -0
  238. package/packages/codemirror-markdown/dist/sql-ML2Q43YF.js +358 -0
  239. package/packages/codemirror-markdown/dist/sql-ML2Q43YF.js.map +7 -0
  240. package/packages/codemirror-markdown/dist/stex-TCOGKBT4.js +233 -0
  241. package/packages/codemirror-markdown/dist/stex-TCOGKBT4.js.map +7 -0
  242. package/packages/codemirror-markdown/dist/stylus-3ONNYZOM.js +591 -0
  243. package/packages/codemirror-markdown/dist/stylus-3ONNYZOM.js.map +7 -0
  244. package/packages/codemirror-markdown/dist/swift-CNWGZ22Y.js +293 -0
  245. package/packages/codemirror-markdown/dist/swift-CNWGZ22Y.js.map +7 -0
  246. package/packages/codemirror-markdown/dist/tcl-77IMAZYE.js +116 -0
  247. package/packages/codemirror-markdown/dist/tcl-77IMAZYE.js.map +7 -0
  248. package/packages/codemirror-markdown/dist/textile-6IWIIKFM.js +416 -0
  249. package/packages/codemirror-markdown/dist/textile-6IWIIKFM.js.map +7 -0
  250. package/packages/codemirror-markdown/dist/tiddlywiki-IJSZMUSA.js +231 -0
  251. package/packages/codemirror-markdown/dist/tiddlywiki-IJSZMUSA.js.map +7 -0
  252. package/packages/codemirror-markdown/dist/tiki-HG37JJIT.js +276 -0
  253. package/packages/codemirror-markdown/dist/tiki-HG37JJIT.js.map +7 -0
  254. package/packages/codemirror-markdown/dist/toml-NINU2IMM.js +78 -0
  255. package/packages/codemirror-markdown/dist/toml-NINU2IMM.js.map +7 -0
  256. package/packages/codemirror-markdown/dist/troff-AOQJ4Q4C.js +63 -0
  257. package/packages/codemirror-markdown/dist/troff-AOQJ4Q4C.js.map +7 -0
  258. package/packages/codemirror-markdown/dist/ttcn-TLOZ3FX3.js +211 -0
  259. package/packages/codemirror-markdown/dist/ttcn-TLOZ3FX3.js.map +7 -0
  260. package/packages/codemirror-markdown/dist/ttcn-cfg-3B6QY7QE.js +141 -0
  261. package/packages/codemirror-markdown/dist/ttcn-cfg-3B6QY7QE.js.map +7 -0
  262. package/packages/codemirror-markdown/dist/turtle-3N5KCGXP.js +132 -0
  263. package/packages/codemirror-markdown/dist/turtle-3N5KCGXP.js.map +7 -0
  264. package/packages/codemirror-markdown/dist/vb-I7M5DRLP.js +204 -0
  265. package/packages/codemirror-markdown/dist/vb-I7M5DRLP.js.map +7 -0
  266. package/packages/codemirror-markdown/dist/vbscript-U2ARSJLD.js +482 -0
  267. package/packages/codemirror-markdown/dist/vbscript-U2ARSJLD.js.map +7 -0
  268. package/packages/codemirror-markdown/dist/velocity-R3AYP5XJ.js +151 -0
  269. package/packages/codemirror-markdown/dist/velocity-R3AYP5XJ.js.map +7 -0
  270. package/packages/codemirror-markdown/dist/verilog-7VEWVDW6.js +456 -0
  271. package/packages/codemirror-markdown/dist/verilog-7VEWVDW6.js.map +7 -0
  272. package/packages/codemirror-markdown/dist/vhdl-JZUPPGBA.js +162 -0
  273. package/packages/codemirror-markdown/dist/vhdl-JZUPPGBA.js.map +7 -0
  274. package/packages/codemirror-markdown/dist/webidl-SLQFEELK.js +206 -0
  275. package/packages/codemirror-markdown/dist/webidl-SLQFEELK.js.map +7 -0
  276. package/packages/codemirror-markdown/dist/xquery-VXP5KJ6N.js +532 -0
  277. package/packages/codemirror-markdown/dist/xquery-VXP5KJ6N.js.map +7 -0
  278. package/packages/codemirror-markdown/dist/yacas-JRBC4BEV.js +132 -0
  279. package/packages/codemirror-markdown/dist/yacas-JRBC4BEV.js.map +7 -0
  280. package/packages/codemirror-markdown/dist/z80-AJF6WLUV.js +95 -0
  281. package/packages/codemirror-markdown/dist/z80-AJF6WLUV.js.map +7 -0
  282. package/packages/codemirror-markdown/example.js +46 -0
  283. package/packages/codemirror-markdown/package.json +62 -0
  284. package/packages/commands/dist/main.js +504 -0
  285. package/packages/commands/dist/main.js.map +7 -0
  286. package/packages/commands/package.json +28 -0
  287. package/packages/contact/dist/ContactAvatar-FP32ZZH2.js +161 -0
  288. package/packages/contact/dist/ContactAvatar-FP32ZZH2.js.map +7 -0
  289. package/packages/contact/dist/ContactViewer-ZHEE6INW.js +60 -0
  290. package/packages/contact/dist/ContactViewer-ZHEE6INW.js.map +7 -0
  291. package/packages/contact/dist/InlineContactAvatar-VZDPEZV2.js +46 -0
  292. package/packages/contact/dist/InlineContactAvatar-VZDPEZV2.js.map +7 -0
  293. package/packages/contact/dist/chunk-MOZI4Y4O.js +54 -0
  294. package/packages/contact/dist/chunk-MOZI4Y4O.js.map +7 -0
  295. package/packages/contact/dist/datatype-ABVDVPWS.js +27 -0
  296. package/packages/contact/dist/datatype-ABVDVPWS.js.map +7 -0
  297. package/packages/contact/dist/tool.css +81 -0
  298. package/packages/contact/dist/tool.css.map +7 -0
  299. package/packages/contact/dist/tool.js +70 -0
  300. package/packages/contact/dist/tool.js.map +7 -0
  301. package/packages/contact/package.json +46 -0
  302. package/packages/folder/dist/datatype-HWGUFBTQ.js +27 -0
  303. package/packages/folder/dist/datatype-HWGUFBTQ.js.map +7 -0
  304. package/packages/folder/dist/index.js +27 -0
  305. package/packages/folder/dist/index.js.map +7 -0
  306. package/packages/folder/dist/tool-62JZAZRP.js +366 -0
  307. package/packages/folder/dist/tool-62JZAZRP.js.map +7 -0
  308. package/packages/folder/package.json +32 -0
  309. package/packages/sideboard/dist/account-bar-OJQC3J6W.js +2 -0
  310. package/packages/sideboard/dist/account-bar-OJQC3J6W.js.map +7 -0
  311. package/packages/sideboard/dist/chunk-32FICX7K.js +26 -0
  312. package/packages/sideboard/dist/chunk-32FICX7K.js.map +7 -0
  313. package/packages/sideboard/dist/chunk-3OYP6TVA.js +2 -0
  314. package/packages/sideboard/dist/chunk-3OYP6TVA.js.map +7 -0
  315. package/packages/sideboard/dist/chunk-FW4363Y4.js +2 -0
  316. package/packages/sideboard/dist/chunk-FW4363Y4.js.map +7 -0
  317. package/packages/sideboard/dist/chunk-QKYKEZU4.js +2 -0
  318. package/packages/sideboard/dist/chunk-QKYKEZU4.js.map +7 -0
  319. package/packages/sideboard/dist/document-list-panel-42LSXXCO.js +2 -0
  320. package/packages/sideboard/dist/document-list-panel-42LSXXCO.js.map +7 -0
  321. package/packages/sideboard/dist/index.css +2 -0
  322. package/packages/sideboard/dist/index.css.map +7 -0
  323. package/packages/sideboard/dist/index.js +2 -0
  324. package/packages/sideboard/dist/index.js.map +7 -0
  325. package/packages/sideboard/dist/sideboard/sideboard.js +2 -0
  326. package/packages/sideboard/dist/sideboard/sideboard.js.map +7 -0
  327. package/packages/sideboard/package.json +56 -0
  328. package/packages/theming/dist/active-theme-K27UXDBG.js +26 -0
  329. package/packages/theming/dist/active-theme-K27UXDBG.js.map +7 -0
  330. package/packages/theming/dist/chunk-K4OOO2TK.js +281 -0
  331. package/packages/theming/dist/chunk-K4OOO2TK.js.map +7 -0
  332. package/packages/theming/dist/chunk-RATW7VZI.js +11 -0
  333. package/packages/theming/dist/chunk-RATW7VZI.js.map +7 -0
  334. package/packages/theming/dist/chunk-U7SC4JPE.js +86 -0
  335. package/packages/theming/dist/chunk-U7SC4JPE.js.map +7 -0
  336. package/packages/theming/dist/codemirror-theme.js +2415 -0
  337. package/packages/theming/dist/codemirror-theme.js.map +7 -0
  338. package/packages/theming/dist/datatype-UUJVIZM7.js +16 -0
  339. package/packages/theming/dist/datatype-UUJVIZM7.js.map +7 -0
  340. package/packages/theming/dist/gloom-JYQPEOHI.css +102 -0
  341. package/packages/theming/dist/lychee-BMLMUNP6.css +114 -0
  342. package/packages/theming/dist/main.js +112 -0
  343. package/packages/theming/dist/main.js.map +7 -0
  344. package/packages/theming/dist/theme-RC7MV6WP.css +691 -0
  345. package/packages/theming/dist/theme-editor-datatype-CIXRKEFF.js +11 -0
  346. package/packages/theming/dist/theme-editor-datatype-CIXRKEFF.js.map +7 -0
  347. package/packages/theming/dist/theme-editor.js +576 -0
  348. package/packages/theming/dist/theme-editor.js.map +7 -0
  349. package/packages/theming/dist/theme-titlebar-P2CODQGF.js +21 -0
  350. package/packages/theming/dist/theme-titlebar-P2CODQGF.js.map +7 -0
  351. package/packages/theming/dist/theme-tray-5L2KGCGD.js +351 -0
  352. package/packages/theming/dist/theme-tray-5L2KGCGD.js.map +7 -0
  353. package/packages/theming/dist/tool.js +405 -0
  354. package/packages/theming/dist/tool.js.map +7 -0
  355. package/packages/theming/package.json +48 -0
  356. package/packages/threepane/dist/IsolatedDocumentArea-LFSDWMIY.js +2 -0
  357. package/packages/threepane/dist/IsolatedDocumentArea-LFSDWMIY.js.map +7 -0
  358. package/packages/threepane/dist/PatchworkFrame-JTNZ6365.js +2 -0
  359. package/packages/threepane/dist/PatchworkFrame-JTNZ6365.js.map +7 -0
  360. package/packages/threepane/dist/chunk-7YXO2YGV.js +2 -0
  361. package/packages/threepane/dist/chunk-7YXO2YGV.js.map +7 -0
  362. package/packages/threepane/dist/chunk-FOMAU6H2.js +972 -0
  363. package/packages/threepane/dist/chunk-FOMAU6H2.js.map +7 -0
  364. package/packages/threepane/dist/chunk-FW4363Y4.js +2 -0
  365. package/packages/threepane/dist/chunk-FW4363Y4.js.map +7 -0
  366. package/packages/threepane/dist/datatypes-FKBTWAO7.js +2 -0
  367. package/packages/threepane/dist/datatypes-FKBTWAO7.js.map +7 -0
  368. package/packages/threepane/dist/index.js +2 -0
  369. package/packages/threepane/dist/index.js.map +7 -0
  370. package/packages/threepane/package.json +42 -0
  371. package/packages/tldraw4/dist/chunk-IKZWERSR.js +38 -0
  372. package/packages/tldraw4/dist/chunk-IKZWERSR.js.map +7 -0
  373. package/packages/tldraw4/dist/chunk-VF5CY24G.js +140894 -0
  374. package/packages/tldraw4/dist/chunk-VF5CY24G.js.map +7 -0
  375. package/packages/tldraw4/dist/datatype.js +46 -0
  376. package/packages/tldraw4/dist/datatype.js.map +7 -0
  377. package/packages/tldraw4/dist/main.css +3202 -0
  378. package/packages/tldraw4/dist/main.css.map +7 -0
  379. package/packages/tldraw4/dist/main.js +42 -0
  380. package/packages/tldraw4/dist/main.js.map +7 -0
  381. package/packages/tldraw4/dist/tool.js +8767 -0
  382. package/packages/tldraw4/dist/tool.js.map +7 -0
  383. package/packages/tldraw4/package.json +62 -0
@@ -0,0 +1,1424 @@
1
+ import {
2
+ indentUnit,
3
+ syntaxTree
4
+ } from "./chunk-MAW6NPUW.js";
5
+
6
+ // ../node_modules/.pnpm/@codemirror+autocomplete@6.20.3/node_modules/@codemirror/autocomplete/dist/index.js
7
+ import { Annotation, StateEffect, EditorSelection, codePointAt, codePointSize, fromCodePoint, Facet, combineConfig, StateField, Prec, Text, Transaction, MapMode, RangeValue, RangeSet, CharCategory } from "@codemirror/state";
8
+ import { Direction, logException, showTooltip, EditorView, ViewPlugin, getTooltip, Decoration, WidgetType, keymap } from "@codemirror/view";
9
+ var CompletionContext = class {
10
+ /**
11
+ Create a new completion context. (Mostly useful for testing
12
+ completion sources—in the editor, the extension will create
13
+ these for you.)
14
+ */
15
+ constructor(state, pos, explicit, view) {
16
+ this.state = state;
17
+ this.pos = pos;
18
+ this.explicit = explicit;
19
+ this.view = view;
20
+ this.abortListeners = [];
21
+ this.abortOnDocChange = false;
22
+ }
23
+ /**
24
+ Get the extent, content, and (if there is a token) type of the
25
+ token before `this.pos`.
26
+ */
27
+ tokenBefore(types) {
28
+ let token = syntaxTree(this.state).resolveInner(this.pos, -1);
29
+ while (token && types.indexOf(token.name) < 0)
30
+ token = token.parent;
31
+ return token ? {
32
+ from: token.from,
33
+ to: this.pos,
34
+ text: this.state.sliceDoc(token.from, this.pos),
35
+ type: token.type
36
+ } : null;
37
+ }
38
+ /**
39
+ Get the match of the given expression directly before the
40
+ cursor.
41
+ */
42
+ matchBefore(expr) {
43
+ let line = this.state.doc.lineAt(this.pos);
44
+ let start = Math.max(line.from, this.pos - 250);
45
+ let str = line.text.slice(start - line.from, this.pos - line.from);
46
+ let found = str.search(ensureAnchor(expr, false));
47
+ return found < 0 ? null : { from: start + found, to: this.pos, text: str.slice(found) };
48
+ }
49
+ /**
50
+ Yields true when the query has been aborted. Can be useful in
51
+ asynchronous queries to avoid doing work that will be ignored.
52
+ */
53
+ get aborted() {
54
+ return this.abortListeners == null;
55
+ }
56
+ /**
57
+ Allows you to register abort handlers, which will be called when
58
+ the query is
59
+ [aborted](https://codemirror.net/6/docs/ref/#autocomplete.CompletionContext.aborted).
60
+
61
+ By default, running queries will not be aborted for regular
62
+ typing or backspacing, on the assumption that they are likely to
63
+ return a result with a
64
+ [`validFor`](https://codemirror.net/6/docs/ref/#autocomplete.CompletionResult.validFor) field that
65
+ allows the result to be used after all. Passing `onDocChange:
66
+ true` will cause this query to be aborted for any document
67
+ change.
68
+ */
69
+ addEventListener(type, listener, options) {
70
+ if (type == "abort" && this.abortListeners) {
71
+ this.abortListeners.push(listener);
72
+ if (options && options.onDocChange)
73
+ this.abortOnDocChange = true;
74
+ }
75
+ }
76
+ };
77
+ function toSet(chars) {
78
+ let flat = Object.keys(chars).join("");
79
+ let words = /\w/.test(flat);
80
+ if (words)
81
+ flat = flat.replace(/\w/g, "");
82
+ return `[${words ? "\\w" : ""}${flat.replace(/[^\w\s]/g, "\\$&")}]`;
83
+ }
84
+ function prefixMatch(options) {
85
+ let first = /* @__PURE__ */ Object.create(null), rest = /* @__PURE__ */ Object.create(null);
86
+ for (let { label } of options) {
87
+ first[label[0]] = true;
88
+ for (let i = 1; i < label.length; i++)
89
+ rest[label[i]] = true;
90
+ }
91
+ let source = toSet(first) + toSet(rest) + "*$";
92
+ return [new RegExp("^" + source), new RegExp(source)];
93
+ }
94
+ function completeFromList(list) {
95
+ let options = list.map((o) => typeof o == "string" ? { label: o } : o);
96
+ let [validFor, match] = options.every((o) => /^\w+$/.test(o.label)) ? [/\w*$/, /\w+$/] : prefixMatch(options);
97
+ return (context) => {
98
+ let token = context.matchBefore(match);
99
+ return token || context.explicit ? { from: token ? token.from : context.pos, options, validFor } : null;
100
+ };
101
+ }
102
+ function ifNotIn(nodes, source) {
103
+ return (context) => {
104
+ for (let pos = syntaxTree(context.state).resolveInner(context.pos, -1); pos; pos = pos.parent) {
105
+ if (nodes.indexOf(pos.name) > -1)
106
+ return null;
107
+ if (pos.type.isTop)
108
+ break;
109
+ }
110
+ return source(context);
111
+ };
112
+ }
113
+ var Option = class {
114
+ constructor(completion, source, match, score2) {
115
+ this.completion = completion;
116
+ this.source = source;
117
+ this.match = match;
118
+ this.score = score2;
119
+ }
120
+ };
121
+ function cur(state) {
122
+ return state.selection.main.from;
123
+ }
124
+ function ensureAnchor(expr, start) {
125
+ var _a;
126
+ let { source } = expr;
127
+ let addStart = start && source[0] != "^", addEnd = source[source.length - 1] != "$";
128
+ if (!addStart && !addEnd)
129
+ return expr;
130
+ return new RegExp(`${addStart ? "^" : ""}(?:${source})${addEnd ? "$" : ""}`, (_a = expr.flags) !== null && _a !== void 0 ? _a : expr.ignoreCase ? "i" : "");
131
+ }
132
+ var pickedCompletion = /* @__PURE__ */ Annotation.define();
133
+ function insertCompletionText(state, text, from, to) {
134
+ let { main } = state.selection, fromOff = from - main.from, toOff = to - main.from;
135
+ return {
136
+ ...state.changeByRange((range) => {
137
+ if (range != main && from != to && state.sliceDoc(range.from + fromOff, range.from + toOff) != state.sliceDoc(from, to))
138
+ return { range };
139
+ let lines = state.toText(text);
140
+ return {
141
+ changes: { from: range.from + fromOff, to: to == main.from ? range.to : range.from + toOff, insert: lines },
142
+ range: EditorSelection.cursor(range.from + fromOff + lines.length)
143
+ };
144
+ }),
145
+ scrollIntoView: true,
146
+ userEvent: "input.complete"
147
+ };
148
+ }
149
+ var SourceCache = /* @__PURE__ */ new WeakMap();
150
+ function asSource(source) {
151
+ if (!Array.isArray(source))
152
+ return source;
153
+ let known = SourceCache.get(source);
154
+ if (!known)
155
+ SourceCache.set(source, known = completeFromList(source));
156
+ return known;
157
+ }
158
+ var startCompletionEffect = /* @__PURE__ */ StateEffect.define();
159
+ var closeCompletionEffect = /* @__PURE__ */ StateEffect.define();
160
+ var FuzzyMatcher = class {
161
+ constructor(pattern) {
162
+ this.pattern = pattern;
163
+ this.chars = [];
164
+ this.folded = [];
165
+ this.any = [];
166
+ this.precise = [];
167
+ this.byWord = [];
168
+ this.score = 0;
169
+ this.matched = [];
170
+ for (let p = 0; p < pattern.length; ) {
171
+ let char = codePointAt(pattern, p), size = codePointSize(char);
172
+ this.chars.push(char);
173
+ let part = pattern.slice(p, p + size), upper = part.toUpperCase();
174
+ this.folded.push(codePointAt(upper == part ? part.toLowerCase() : upper, 0));
175
+ p += size;
176
+ }
177
+ this.astral = pattern.length != this.chars.length;
178
+ }
179
+ ret(score2, matched) {
180
+ this.score = score2;
181
+ this.matched = matched;
182
+ return this;
183
+ }
184
+ // Matches a given word (completion) against the pattern (input).
185
+ // Will return a boolean indicating whether there was a match and,
186
+ // on success, set `this.score` to the score, `this.matched` to an
187
+ // array of `from, to` pairs indicating the matched parts of `word`.
188
+ //
189
+ // The score is a number that is more negative the worse the match
190
+ // is. See `Penalty` above.
191
+ match(word) {
192
+ if (this.pattern.length == 0)
193
+ return this.ret(-100, []);
194
+ if (word.length < this.pattern.length)
195
+ return null;
196
+ let { chars, folded, any, precise, byWord } = this;
197
+ if (chars.length == 1) {
198
+ let first = codePointAt(word, 0), firstSize = codePointSize(first);
199
+ let score2 = firstSize == word.length ? 0 : -100;
200
+ if (first == chars[0]) ;
201
+ else if (first == folded[0])
202
+ score2 += -200;
203
+ else
204
+ return null;
205
+ return this.ret(score2, [0, firstSize]);
206
+ }
207
+ let direct = word.indexOf(this.pattern);
208
+ if (direct == 0)
209
+ return this.ret(word.length == this.pattern.length ? 0 : -100, [0, this.pattern.length]);
210
+ let len = chars.length, anyTo = 0;
211
+ if (direct < 0) {
212
+ for (let i = 0, e = Math.min(word.length, 200); i < e && anyTo < len; ) {
213
+ let next = codePointAt(word, i);
214
+ if (next == chars[anyTo] || next == folded[anyTo])
215
+ any[anyTo++] = i;
216
+ i += codePointSize(next);
217
+ }
218
+ if (anyTo < len)
219
+ return null;
220
+ }
221
+ let preciseTo = 0;
222
+ let byWordTo = 0, byWordFolded = false;
223
+ let adjacentTo = 0, adjacentStart = -1, adjacentEnd = -1;
224
+ let hasLower = /[a-z]/.test(word), wordAdjacent = true;
225
+ for (let i = 0, e = Math.min(word.length, 200), prevType = 0; i < e && byWordTo < len; ) {
226
+ let next = codePointAt(word, i);
227
+ if (direct < 0) {
228
+ if (preciseTo < len && next == chars[preciseTo])
229
+ precise[preciseTo++] = i;
230
+ if (adjacentTo < len) {
231
+ if (next == chars[adjacentTo] || next == folded[adjacentTo]) {
232
+ if (adjacentTo == 0)
233
+ adjacentStart = i;
234
+ adjacentEnd = i + 1;
235
+ adjacentTo++;
236
+ } else {
237
+ adjacentTo = 0;
238
+ }
239
+ }
240
+ }
241
+ let ch, type = next < 255 ? next >= 48 && next <= 57 || next >= 97 && next <= 122 ? 2 : next >= 65 && next <= 90 ? 1 : 0 : (ch = fromCodePoint(next)) != ch.toLowerCase() ? 1 : ch != ch.toUpperCase() ? 2 : 0;
242
+ if (!i || type == 1 && hasLower || prevType == 0 && type != 0) {
243
+ if (chars[byWordTo] == next || folded[byWordTo] == next && (byWordFolded = true))
244
+ byWord[byWordTo++] = i;
245
+ else if (byWord.length)
246
+ wordAdjacent = false;
247
+ }
248
+ prevType = type;
249
+ i += codePointSize(next);
250
+ }
251
+ if (byWordTo == len && byWord[0] == 0 && wordAdjacent)
252
+ return this.result(-100 + (byWordFolded ? -200 : 0), byWord, word);
253
+ if (adjacentTo == len && adjacentStart == 0)
254
+ return this.ret(-200 - word.length + (adjacentEnd == word.length ? 0 : -100), [0, adjacentEnd]);
255
+ if (direct > -1)
256
+ return this.ret(-700 - word.length, [direct, direct + this.pattern.length]);
257
+ if (adjacentTo == len)
258
+ return this.ret(-200 + -700 - word.length, [adjacentStart, adjacentEnd]);
259
+ if (byWordTo == len)
260
+ return this.result(-100 + (byWordFolded ? -200 : 0) + -700 + (wordAdjacent ? 0 : -1100), byWord, word);
261
+ return chars.length == 2 ? null : this.result((any[0] ? -700 : 0) + -200 + -1100, any, word);
262
+ }
263
+ result(score2, positions, word) {
264
+ let result = [], i = 0;
265
+ for (let pos of positions) {
266
+ let to = pos + (this.astral ? codePointSize(codePointAt(word, pos)) : 1);
267
+ if (i && result[i - 1] == pos)
268
+ result[i - 1] = to;
269
+ else {
270
+ result[i++] = pos;
271
+ result[i++] = to;
272
+ }
273
+ }
274
+ return this.ret(score2 - word.length, result);
275
+ }
276
+ };
277
+ var StrictMatcher = class {
278
+ constructor(pattern) {
279
+ this.pattern = pattern;
280
+ this.matched = [];
281
+ this.score = 0;
282
+ this.folded = pattern.toLowerCase();
283
+ }
284
+ match(word) {
285
+ if (word.length < this.pattern.length)
286
+ return null;
287
+ let start = word.slice(0, this.pattern.length);
288
+ let match = start == this.pattern ? 0 : start.toLowerCase() == this.folded ? -200 : null;
289
+ if (match == null)
290
+ return null;
291
+ this.matched = [0, start.length];
292
+ this.score = match + (word.length == this.pattern.length ? 0 : -100);
293
+ return this;
294
+ }
295
+ };
296
+ var completionConfig = /* @__PURE__ */ Facet.define({
297
+ combine(configs) {
298
+ return combineConfig(configs, {
299
+ activateOnTyping: true,
300
+ activateOnCompletion: () => false,
301
+ activateOnTypingDelay: 100,
302
+ selectOnOpen: true,
303
+ override: null,
304
+ closeOnBlur: true,
305
+ maxRenderedOptions: 100,
306
+ defaultKeymap: true,
307
+ tooltipClass: () => "",
308
+ optionClass: () => "",
309
+ aboveCursor: false,
310
+ icons: true,
311
+ addToOptions: [],
312
+ positionInfo: defaultPositionInfo,
313
+ filterStrict: false,
314
+ compareCompletions: (a, b) => (a.sortText || a.label).localeCompare(b.sortText || b.label),
315
+ interactionDelay: 75,
316
+ updateSyncTime: 100
317
+ }, {
318
+ defaultKeymap: (a, b) => a && b,
319
+ closeOnBlur: (a, b) => a && b,
320
+ icons: (a, b) => a && b,
321
+ tooltipClass: (a, b) => (c) => joinClass(a(c), b(c)),
322
+ optionClass: (a, b) => (c) => joinClass(a(c), b(c)),
323
+ addToOptions: (a, b) => a.concat(b),
324
+ filterStrict: (a, b) => a || b
325
+ });
326
+ }
327
+ });
328
+ function joinClass(a, b) {
329
+ return a ? b ? a + " " + b : a : b;
330
+ }
331
+ function defaultPositionInfo(view, list, option, info, space, tooltip) {
332
+ let rtl = view.textDirection == Direction.RTL, left = rtl, narrow = false;
333
+ let side = "top", offset, maxWidth;
334
+ let spaceLeft = list.left - space.left, spaceRight = space.right - list.right;
335
+ let infoWidth = info.right - info.left, infoHeight = info.bottom - info.top;
336
+ if (left && spaceLeft < Math.min(infoWidth, spaceRight))
337
+ left = false;
338
+ else if (!left && spaceRight < Math.min(infoWidth, spaceLeft))
339
+ left = true;
340
+ if (infoWidth <= (left ? spaceLeft : spaceRight)) {
341
+ offset = Math.max(space.top, Math.min(option.top, space.bottom - infoHeight)) - list.top;
342
+ maxWidth = Math.min(400, left ? spaceLeft : spaceRight);
343
+ } else {
344
+ narrow = true;
345
+ maxWidth = Math.min(
346
+ 400,
347
+ (rtl ? list.right : space.right - list.left) - 30
348
+ /* Info.Margin */
349
+ );
350
+ let spaceBelow = space.bottom - list.bottom;
351
+ if (spaceBelow >= infoHeight || spaceBelow > list.top) {
352
+ offset = option.bottom - list.top;
353
+ } else {
354
+ side = "bottom";
355
+ offset = list.bottom - option.top;
356
+ }
357
+ }
358
+ let scaleY = (list.bottom - list.top) / tooltip.offsetHeight;
359
+ let scaleX = (list.right - list.left) / tooltip.offsetWidth;
360
+ return {
361
+ style: `${side}: ${offset / scaleY}px; max-width: ${maxWidth / scaleX}px`,
362
+ class: "cm-completionInfo-" + (narrow ? rtl ? "left-narrow" : "right-narrow" : left ? "left" : "right")
363
+ };
364
+ }
365
+ var setSelectedEffect = /* @__PURE__ */ StateEffect.define();
366
+ function optionContent(config) {
367
+ let content = config.addToOptions.slice();
368
+ if (config.icons)
369
+ content.push({
370
+ render(completion) {
371
+ let icon = document.createElement("div");
372
+ icon.classList.add("cm-completionIcon");
373
+ if (completion.type)
374
+ icon.classList.add(...completion.type.split(/\s+/g).map((cls) => "cm-completionIcon-" + cls));
375
+ icon.setAttribute("aria-hidden", "true");
376
+ return icon;
377
+ },
378
+ position: 20
379
+ });
380
+ content.push({
381
+ render(completion, _s, _v, match) {
382
+ let labelElt = document.createElement("span");
383
+ labelElt.className = "cm-completionLabel";
384
+ let label = completion.displayLabel || completion.label, off = 0;
385
+ for (let j = 0; j < match.length; ) {
386
+ let from = match[j++], to = match[j++];
387
+ if (from > off)
388
+ labelElt.appendChild(document.createTextNode(label.slice(off, from)));
389
+ let span = labelElt.appendChild(document.createElement("span"));
390
+ span.appendChild(document.createTextNode(label.slice(from, to)));
391
+ span.className = "cm-completionMatchedText";
392
+ off = to;
393
+ }
394
+ if (off < label.length)
395
+ labelElt.appendChild(document.createTextNode(label.slice(off)));
396
+ return labelElt;
397
+ },
398
+ position: 50
399
+ }, {
400
+ render(completion) {
401
+ if (!completion.detail)
402
+ return null;
403
+ let detailElt = document.createElement("span");
404
+ detailElt.className = "cm-completionDetail";
405
+ detailElt.textContent = completion.detail;
406
+ return detailElt;
407
+ },
408
+ position: 80
409
+ });
410
+ return content.sort((a, b) => a.position - b.position).map((a) => a.render);
411
+ }
412
+ function rangeAroundSelected(total, selected, max) {
413
+ if (total <= max)
414
+ return { from: 0, to: total };
415
+ if (selected < 0)
416
+ selected = 0;
417
+ if (selected <= total >> 1) {
418
+ let off2 = Math.floor(selected / max);
419
+ return { from: off2 * max, to: (off2 + 1) * max };
420
+ }
421
+ let off = Math.ceil((total - selected) / max);
422
+ return { from: total - off * max, to: total - (off - 1) * max };
423
+ }
424
+ var CompletionTooltip = class {
425
+ constructor(view, stateField, applyCompletion2) {
426
+ this.view = view;
427
+ this.stateField = stateField;
428
+ this.applyCompletion = applyCompletion2;
429
+ this.info = null;
430
+ this.infoDestroy = null;
431
+ this.placeInfoReq = {
432
+ read: () => this.measureInfo(),
433
+ write: (pos) => this.placeInfo(pos),
434
+ key: this
435
+ };
436
+ this.space = null;
437
+ this.currentClass = "";
438
+ let cState = view.state.field(stateField);
439
+ let { options, selected } = cState.open;
440
+ let config = view.state.facet(completionConfig);
441
+ this.optionContent = optionContent(config);
442
+ this.optionClass = config.optionClass;
443
+ this.tooltipClass = config.tooltipClass;
444
+ this.range = rangeAroundSelected(options.length, selected, config.maxRenderedOptions);
445
+ this.dom = document.createElement("div");
446
+ this.dom.className = "cm-tooltip-autocomplete";
447
+ this.updateTooltipClass(view.state);
448
+ this.dom.addEventListener("mousedown", (e) => {
449
+ let { options: options2 } = view.state.field(stateField).open;
450
+ for (let dom = e.target, match; dom && dom != this.dom; dom = dom.parentNode) {
451
+ if (dom.nodeName == "LI" && (match = /-(\d+)$/.exec(dom.id)) && +match[1] < options2.length) {
452
+ this.applyCompletion(view, options2[+match[1]]);
453
+ e.preventDefault();
454
+ return;
455
+ }
456
+ }
457
+ if (e.target == this.list) {
458
+ let move = this.list.classList.contains("cm-completionListIncompleteTop") && e.clientY < this.list.firstChild.getBoundingClientRect().top ? this.range.from - 1 : this.list.classList.contains("cm-completionListIncompleteBottom") && e.clientY > this.list.lastChild.getBoundingClientRect().bottom ? this.range.to : null;
459
+ if (move != null) {
460
+ view.dispatch({ effects: setSelectedEffect.of(move) });
461
+ e.preventDefault();
462
+ }
463
+ }
464
+ });
465
+ this.dom.addEventListener("focusout", (e) => {
466
+ let state = view.state.field(this.stateField, false);
467
+ if (state && state.tooltip && view.state.facet(completionConfig).closeOnBlur && e.relatedTarget != view.contentDOM)
468
+ view.dispatch({ effects: closeCompletionEffect.of(null) });
469
+ });
470
+ this.showOptions(options, cState.id);
471
+ }
472
+ mount() {
473
+ this.updateSel();
474
+ }
475
+ showOptions(options, id) {
476
+ if (this.list)
477
+ this.list.remove();
478
+ this.list = this.dom.appendChild(this.createListBox(options, id, this.range));
479
+ this.list.addEventListener("scroll", () => {
480
+ if (this.info)
481
+ this.view.requestMeasure(this.placeInfoReq);
482
+ });
483
+ }
484
+ update(update) {
485
+ var _a;
486
+ let cState = update.state.field(this.stateField);
487
+ let prevState = update.startState.field(this.stateField);
488
+ this.updateTooltipClass(update.state);
489
+ if (cState != prevState) {
490
+ let { options, selected, disabled } = cState.open;
491
+ if (!prevState.open || prevState.open.options != options) {
492
+ this.range = rangeAroundSelected(options.length, selected, update.state.facet(completionConfig).maxRenderedOptions);
493
+ this.showOptions(options, cState.id);
494
+ }
495
+ this.updateSel();
496
+ if (disabled != ((_a = prevState.open) === null || _a === void 0 ? void 0 : _a.disabled))
497
+ this.dom.classList.toggle("cm-tooltip-autocomplete-disabled", !!disabled);
498
+ }
499
+ }
500
+ updateTooltipClass(state) {
501
+ let cls = this.tooltipClass(state);
502
+ if (cls != this.currentClass) {
503
+ for (let c of this.currentClass.split(" "))
504
+ if (c)
505
+ this.dom.classList.remove(c);
506
+ for (let c of cls.split(" "))
507
+ if (c)
508
+ this.dom.classList.add(c);
509
+ this.currentClass = cls;
510
+ }
511
+ }
512
+ positioned(space) {
513
+ this.space = space;
514
+ if (this.info)
515
+ this.view.requestMeasure(this.placeInfoReq);
516
+ }
517
+ updateSel() {
518
+ let cState = this.view.state.field(this.stateField), open = cState.open;
519
+ if (open.selected > -1 && open.selected < this.range.from || open.selected >= this.range.to) {
520
+ this.range = rangeAroundSelected(open.options.length, open.selected, this.view.state.facet(completionConfig).maxRenderedOptions);
521
+ this.showOptions(open.options, cState.id);
522
+ }
523
+ let newSel = this.updateSelectedOption(open.selected);
524
+ if (newSel) {
525
+ this.destroyInfo();
526
+ let { completion } = open.options[open.selected];
527
+ let { info } = completion;
528
+ if (!info)
529
+ return;
530
+ let infoResult = typeof info === "string" ? document.createTextNode(info) : info(completion);
531
+ if (!infoResult)
532
+ return;
533
+ if ("then" in infoResult) {
534
+ infoResult.then((obj) => {
535
+ if (obj && this.view.state.field(this.stateField, false) == cState)
536
+ this.addInfoPane(obj, completion);
537
+ }).catch((e) => logException(this.view.state, e, "completion info"));
538
+ } else {
539
+ this.addInfoPane(infoResult, completion);
540
+ newSel.setAttribute("aria-describedby", this.info.id);
541
+ }
542
+ }
543
+ }
544
+ addInfoPane(content, completion) {
545
+ this.destroyInfo();
546
+ let wrap = this.info = document.createElement("div");
547
+ wrap.className = "cm-tooltip cm-completionInfo";
548
+ wrap.id = "cm-completionInfo-" + Math.floor(Math.random() * 65535).toString(16);
549
+ if (content.nodeType != null) {
550
+ wrap.appendChild(content);
551
+ this.infoDestroy = null;
552
+ } else {
553
+ let { dom, destroy } = content;
554
+ wrap.appendChild(dom);
555
+ this.infoDestroy = destroy || null;
556
+ }
557
+ this.dom.appendChild(wrap);
558
+ this.view.requestMeasure(this.placeInfoReq);
559
+ }
560
+ updateSelectedOption(selected) {
561
+ let set = null;
562
+ for (let opt = this.list.firstChild, i = this.range.from; opt; opt = opt.nextSibling, i++) {
563
+ if (opt.nodeName != "LI" || !opt.id) {
564
+ i--;
565
+ } else if (i == selected) {
566
+ if (!opt.hasAttribute("aria-selected")) {
567
+ opt.setAttribute("aria-selected", "true");
568
+ set = opt;
569
+ }
570
+ } else {
571
+ if (opt.hasAttribute("aria-selected")) {
572
+ opt.removeAttribute("aria-selected");
573
+ opt.removeAttribute("aria-describedby");
574
+ }
575
+ }
576
+ }
577
+ if (set)
578
+ scrollIntoView(this.list, set);
579
+ return set;
580
+ }
581
+ measureInfo() {
582
+ let sel = this.dom.querySelector("[aria-selected]");
583
+ if (!sel || !this.info)
584
+ return null;
585
+ let listRect = this.dom.getBoundingClientRect();
586
+ let infoRect = this.info.getBoundingClientRect();
587
+ let selRect = sel.getBoundingClientRect();
588
+ let space = this.space;
589
+ if (!space) {
590
+ let docElt = this.dom.ownerDocument.documentElement;
591
+ space = { left: 0, top: 0, right: docElt.clientWidth, bottom: docElt.clientHeight };
592
+ }
593
+ if (selRect.top > Math.min(space.bottom, listRect.bottom) - 10 || selRect.bottom < Math.max(space.top, listRect.top) + 10)
594
+ return null;
595
+ return this.view.state.facet(completionConfig).positionInfo(this.view, listRect, selRect, infoRect, space, this.dom);
596
+ }
597
+ placeInfo(pos) {
598
+ if (this.info) {
599
+ if (pos) {
600
+ if (pos.style)
601
+ this.info.style.cssText = pos.style;
602
+ this.info.className = "cm-tooltip cm-completionInfo " + (pos.class || "");
603
+ } else {
604
+ this.info.style.cssText = "top: -1e6px";
605
+ }
606
+ }
607
+ }
608
+ createListBox(options, id, range) {
609
+ const ul = document.createElement("ul");
610
+ ul.id = id;
611
+ ul.setAttribute("role", "listbox");
612
+ ul.setAttribute("aria-expanded", "true");
613
+ ul.setAttribute("aria-label", this.view.state.phrase("Completions"));
614
+ ul.addEventListener("mousedown", (e) => {
615
+ if (e.target == ul)
616
+ e.preventDefault();
617
+ });
618
+ let curSection = null;
619
+ for (let i = range.from; i < range.to; i++) {
620
+ let { completion, match } = options[i], { section } = completion;
621
+ if (section) {
622
+ let name = typeof section == "string" ? section : section.name;
623
+ if (name != curSection && (i > range.from || range.from == 0)) {
624
+ curSection = name;
625
+ if (typeof section != "string" && section.header) {
626
+ ul.appendChild(section.header(section));
627
+ } else {
628
+ let header = ul.appendChild(document.createElement("completion-section"));
629
+ header.textContent = name;
630
+ }
631
+ }
632
+ }
633
+ const li = ul.appendChild(document.createElement("li"));
634
+ li.id = id + "-" + i;
635
+ li.setAttribute("role", "option");
636
+ let cls = this.optionClass(completion);
637
+ if (cls)
638
+ li.className = cls;
639
+ for (let source of this.optionContent) {
640
+ let node = source(completion, this.view.state, this.view, match);
641
+ if (node)
642
+ li.appendChild(node);
643
+ }
644
+ }
645
+ if (range.from)
646
+ ul.classList.add("cm-completionListIncompleteTop");
647
+ if (range.to < options.length)
648
+ ul.classList.add("cm-completionListIncompleteBottom");
649
+ return ul;
650
+ }
651
+ destroyInfo() {
652
+ if (this.info) {
653
+ if (this.infoDestroy)
654
+ this.infoDestroy();
655
+ this.info.remove();
656
+ this.info = null;
657
+ }
658
+ }
659
+ destroy() {
660
+ this.destroyInfo();
661
+ }
662
+ };
663
+ function completionTooltip(stateField, applyCompletion2) {
664
+ return (view) => new CompletionTooltip(view, stateField, applyCompletion2);
665
+ }
666
+ function scrollIntoView(container, element) {
667
+ let parent = container.getBoundingClientRect();
668
+ let self = element.getBoundingClientRect();
669
+ let scaleY = parent.height / container.offsetHeight;
670
+ if (self.top < parent.top)
671
+ container.scrollTop -= (parent.top - self.top) / scaleY;
672
+ else if (self.bottom > parent.bottom)
673
+ container.scrollTop += (self.bottom - parent.bottom) / scaleY;
674
+ }
675
+ function score(option) {
676
+ return (option.boost || 0) * 100 + (option.apply ? 10 : 0) + (option.info ? 5 : 0) + (option.type ? 1 : 0);
677
+ }
678
+ function sortOptions(active, state) {
679
+ let options = [];
680
+ let sections = null, dynamicSectionScore = null;
681
+ let addOption = (option) => {
682
+ options.push(option);
683
+ let { section } = option.completion;
684
+ if (section) {
685
+ if (!sections)
686
+ sections = [];
687
+ let name = typeof section == "string" ? section : section.name;
688
+ if (!sections.some((s) => s.name == name))
689
+ sections.push(typeof section == "string" ? { name } : section);
690
+ }
691
+ };
692
+ let conf = state.facet(completionConfig);
693
+ for (let a of active)
694
+ if (a.hasResult()) {
695
+ let getMatch = a.result.getMatch;
696
+ if (a.result.filter === false) {
697
+ for (let option of a.result.options) {
698
+ addOption(new Option(option, a.source, getMatch ? getMatch(option) : [], 1e9 - options.length));
699
+ }
700
+ } else {
701
+ let pattern = state.sliceDoc(a.from, a.to), match;
702
+ let matcher = conf.filterStrict ? new StrictMatcher(pattern) : new FuzzyMatcher(pattern);
703
+ for (let option of a.result.options)
704
+ if (match = matcher.match(option.label)) {
705
+ let matched = !option.displayLabel ? match.matched : getMatch ? getMatch(option, match.matched) : [];
706
+ let score2 = match.score + (option.boost || 0);
707
+ addOption(new Option(option, a.source, matched, score2));
708
+ if (typeof option.section == "object" && option.section.rank === "dynamic") {
709
+ let { name } = option.section;
710
+ if (!dynamicSectionScore)
711
+ dynamicSectionScore = /* @__PURE__ */ Object.create(null);
712
+ dynamicSectionScore[name] = Math.max(score2, dynamicSectionScore[name] || -1e9);
713
+ }
714
+ }
715
+ }
716
+ }
717
+ if (sections) {
718
+ let sectionOrder = /* @__PURE__ */ Object.create(null), pos = 0;
719
+ let cmp = (a, b) => {
720
+ return (a.rank === "dynamic" && b.rank === "dynamic" ? dynamicSectionScore[b.name] - dynamicSectionScore[a.name] : 0) || (typeof a.rank == "number" ? a.rank : 1e9) - (typeof b.rank == "number" ? b.rank : 1e9) || (a.name < b.name ? -1 : 1);
721
+ };
722
+ for (let s of sections.sort(cmp)) {
723
+ pos -= 1e5;
724
+ sectionOrder[s.name] = pos;
725
+ }
726
+ for (let option of options) {
727
+ let { section } = option.completion;
728
+ if (section)
729
+ option.score += sectionOrder[typeof section == "string" ? section : section.name];
730
+ }
731
+ }
732
+ let result = [], prev = null;
733
+ let compare = conf.compareCompletions;
734
+ for (let opt of options.sort((a, b) => b.score - a.score || compare(a.completion, b.completion))) {
735
+ let cur2 = opt.completion;
736
+ if (!prev || prev.label != cur2.label || prev.detail != cur2.detail || prev.type != null && cur2.type != null && prev.type != cur2.type || prev.apply != cur2.apply || prev.boost != cur2.boost)
737
+ result.push(opt);
738
+ else if (score(opt.completion) > score(prev))
739
+ result[result.length - 1] = opt;
740
+ prev = opt.completion;
741
+ }
742
+ return result;
743
+ }
744
+ var CompletionDialog = class _CompletionDialog {
745
+ constructor(options, attrs, tooltip, timestamp, selected, disabled) {
746
+ this.options = options;
747
+ this.attrs = attrs;
748
+ this.tooltip = tooltip;
749
+ this.timestamp = timestamp;
750
+ this.selected = selected;
751
+ this.disabled = disabled;
752
+ }
753
+ setSelected(selected, id) {
754
+ return selected == this.selected || selected >= this.options.length ? this : new _CompletionDialog(this.options, makeAttrs(id, selected), this.tooltip, this.timestamp, selected, this.disabled);
755
+ }
756
+ static build(active, state, id, prev, conf, didSetActive) {
757
+ if (prev && !didSetActive && active.some((s) => s.isPending))
758
+ return prev.setDisabled();
759
+ let options = sortOptions(active, state);
760
+ if (!options.length)
761
+ return prev && active.some((a) => a.isPending) ? prev.setDisabled() : null;
762
+ let selected = state.facet(completionConfig).selectOnOpen ? 0 : -1;
763
+ if (prev && prev.selected != selected && prev.selected != -1) {
764
+ let selectedValue = prev.options[prev.selected].completion;
765
+ for (let i = 0; i < options.length; i++)
766
+ if (options[i].completion == selectedValue) {
767
+ selected = i;
768
+ break;
769
+ }
770
+ }
771
+ return new _CompletionDialog(options, makeAttrs(id, selected), {
772
+ pos: active.reduce((a, b) => b.hasResult() ? Math.min(a, b.from) : a, 1e8),
773
+ create: createTooltip,
774
+ above: conf.aboveCursor
775
+ }, prev ? prev.timestamp : Date.now(), selected, false);
776
+ }
777
+ map(changes) {
778
+ return new _CompletionDialog(this.options, this.attrs, { ...this.tooltip, pos: changes.mapPos(this.tooltip.pos) }, this.timestamp, this.selected, this.disabled);
779
+ }
780
+ setDisabled() {
781
+ return new _CompletionDialog(this.options, this.attrs, this.tooltip, this.timestamp, this.selected, true);
782
+ }
783
+ };
784
+ var CompletionState = class _CompletionState {
785
+ constructor(active, id, open) {
786
+ this.active = active;
787
+ this.id = id;
788
+ this.open = open;
789
+ }
790
+ static start() {
791
+ return new _CompletionState(none, "cm-ac-" + Math.floor(Math.random() * 2e6).toString(36), null);
792
+ }
793
+ update(tr) {
794
+ let { state } = tr, conf = state.facet(completionConfig);
795
+ let sources = conf.override || state.languageDataAt("autocomplete", cur(state)).map(asSource);
796
+ let active = sources.map((source) => {
797
+ let value = this.active.find((s) => s.source == source) || new ActiveSource(
798
+ source,
799
+ this.active.some(
800
+ (a) => a.state != 0
801
+ /* State.Inactive */
802
+ ) ? 1 : 0
803
+ /* State.Inactive */
804
+ );
805
+ return value.update(tr, conf);
806
+ });
807
+ if (active.length == this.active.length && active.every((a, i) => a == this.active[i]))
808
+ active = this.active;
809
+ let open = this.open, didSet = tr.effects.some((e) => e.is(setActiveEffect));
810
+ if (open && tr.docChanged)
811
+ open = open.map(tr.changes);
812
+ if (tr.selection || active.some((a) => a.hasResult() && tr.changes.touchesRange(a.from, a.to)) || !sameResults(active, this.active) || didSet)
813
+ open = CompletionDialog.build(active, state, this.id, open, conf, didSet);
814
+ else if (open && open.disabled && !active.some((a) => a.isPending))
815
+ open = null;
816
+ if (!open && active.every((a) => !a.isPending) && active.some((a) => a.hasResult()))
817
+ active = active.map((a) => a.hasResult() ? new ActiveSource(
818
+ a.source,
819
+ 0
820
+ /* State.Inactive */
821
+ ) : a);
822
+ for (let effect of tr.effects)
823
+ if (effect.is(setSelectedEffect))
824
+ open = open && open.setSelected(effect.value, this.id);
825
+ return active == this.active && open == this.open ? this : new _CompletionState(active, this.id, open);
826
+ }
827
+ get tooltip() {
828
+ return this.open ? this.open.tooltip : null;
829
+ }
830
+ get attrs() {
831
+ return this.open ? this.open.attrs : this.active.length ? baseAttrs : noAttrs;
832
+ }
833
+ };
834
+ function sameResults(a, b) {
835
+ if (a == b)
836
+ return true;
837
+ for (let iA = 0, iB = 0; ; ) {
838
+ while (iA < a.length && !a[iA].hasResult())
839
+ iA++;
840
+ while (iB < b.length && !b[iB].hasResult())
841
+ iB++;
842
+ let endA = iA == a.length, endB = iB == b.length;
843
+ if (endA || endB)
844
+ return endA == endB;
845
+ if (a[iA++].result != b[iB++].result)
846
+ return false;
847
+ }
848
+ }
849
+ var baseAttrs = {
850
+ "aria-autocomplete": "list"
851
+ };
852
+ var noAttrs = {};
853
+ function makeAttrs(id, selected) {
854
+ let result = {
855
+ "aria-autocomplete": "list",
856
+ "aria-haspopup": "listbox",
857
+ "aria-controls": id
858
+ };
859
+ if (selected > -1)
860
+ result["aria-activedescendant"] = id + "-" + selected;
861
+ return result;
862
+ }
863
+ var none = [];
864
+ function getUpdateType(tr, conf) {
865
+ if (tr.isUserEvent("input.complete")) {
866
+ let completion = tr.annotation(pickedCompletion);
867
+ if (completion && conf.activateOnCompletion(completion))
868
+ return 4 | 8;
869
+ }
870
+ let typing = tr.isUserEvent("input.type");
871
+ return typing && conf.activateOnTyping ? 4 | 1 : typing ? 1 : tr.isUserEvent("delete.backward") ? 2 : tr.selection ? 8 : tr.docChanged ? 16 : 0;
872
+ }
873
+ var ActiveSource = class _ActiveSource {
874
+ constructor(source, state, explicit = false) {
875
+ this.source = source;
876
+ this.state = state;
877
+ this.explicit = explicit;
878
+ }
879
+ hasResult() {
880
+ return false;
881
+ }
882
+ get isPending() {
883
+ return this.state == 1;
884
+ }
885
+ update(tr, conf) {
886
+ let type = getUpdateType(tr, conf), value = this;
887
+ if (type & 8 || type & 16 && this.touches(tr))
888
+ value = new _ActiveSource(
889
+ value.source,
890
+ 0
891
+ /* State.Inactive */
892
+ );
893
+ if (type & 4 && value.state == 0)
894
+ value = new _ActiveSource(
895
+ this.source,
896
+ 1
897
+ /* State.Pending */
898
+ );
899
+ value = value.updateFor(tr, type);
900
+ for (let effect of tr.effects) {
901
+ if (effect.is(startCompletionEffect))
902
+ value = new _ActiveSource(value.source, 1, effect.value);
903
+ else if (effect.is(closeCompletionEffect))
904
+ value = new _ActiveSource(
905
+ value.source,
906
+ 0
907
+ /* State.Inactive */
908
+ );
909
+ else if (effect.is(setActiveEffect)) {
910
+ for (let active of effect.value)
911
+ if (active.source == value.source)
912
+ value = active;
913
+ }
914
+ }
915
+ return value;
916
+ }
917
+ updateFor(tr, type) {
918
+ return this.map(tr.changes);
919
+ }
920
+ map(changes) {
921
+ return this;
922
+ }
923
+ touches(tr) {
924
+ return tr.changes.touchesRange(cur(tr.state));
925
+ }
926
+ };
927
+ var ActiveResult = class _ActiveResult extends ActiveSource {
928
+ constructor(source, explicit, limit, result, from, to) {
929
+ super(source, 3, explicit);
930
+ this.limit = limit;
931
+ this.result = result;
932
+ this.from = from;
933
+ this.to = to;
934
+ }
935
+ hasResult() {
936
+ return true;
937
+ }
938
+ updateFor(tr, type) {
939
+ var _a;
940
+ if (!(type & 3))
941
+ return this.map(tr.changes);
942
+ let result = this.result;
943
+ if (result.map && !tr.changes.empty)
944
+ result = result.map(result, tr.changes);
945
+ let from = tr.changes.mapPos(this.from), to = tr.changes.mapPos(this.to, 1);
946
+ let pos = cur(tr.state);
947
+ if (pos > to || !result || type & 2 && (cur(tr.startState) == this.from || pos < this.limit))
948
+ return new ActiveSource(
949
+ this.source,
950
+ type & 4 ? 1 : 0
951
+ /* State.Inactive */
952
+ );
953
+ let limit = tr.changes.mapPos(this.limit);
954
+ if (checkValid(result.validFor, tr.state, from, to))
955
+ return new _ActiveResult(this.source, this.explicit, limit, result, from, to);
956
+ if (result.update && (result = result.update(result, from, to, new CompletionContext(tr.state, pos, false))))
957
+ return new _ActiveResult(this.source, this.explicit, limit, result, result.from, (_a = result.to) !== null && _a !== void 0 ? _a : cur(tr.state));
958
+ return new ActiveSource(this.source, 1, this.explicit);
959
+ }
960
+ map(mapping) {
961
+ if (mapping.empty)
962
+ return this;
963
+ let result = this.result.map ? this.result.map(this.result, mapping) : this.result;
964
+ if (!result)
965
+ return new ActiveSource(
966
+ this.source,
967
+ 0
968
+ /* State.Inactive */
969
+ );
970
+ return new _ActiveResult(this.source, this.explicit, mapping.mapPos(this.limit), result, mapping.mapPos(this.from), mapping.mapPos(this.to, 1));
971
+ }
972
+ touches(tr) {
973
+ return tr.changes.touchesRange(this.from, this.to);
974
+ }
975
+ };
976
+ function checkValid(validFor, state, from, to) {
977
+ if (!validFor)
978
+ return false;
979
+ let text = state.sliceDoc(from, to);
980
+ return typeof validFor == "function" ? validFor(text, from, to, state) : ensureAnchor(validFor, true).test(text);
981
+ }
982
+ var setActiveEffect = /* @__PURE__ */ StateEffect.define({
983
+ map(sources, mapping) {
984
+ return sources.map((s) => s.map(mapping));
985
+ }
986
+ });
987
+ var completionState = /* @__PURE__ */ StateField.define({
988
+ create() {
989
+ return CompletionState.start();
990
+ },
991
+ update(value, tr) {
992
+ return value.update(tr);
993
+ },
994
+ provide: (f) => [
995
+ showTooltip.from(f, (val) => val.tooltip),
996
+ EditorView.contentAttributes.from(f, (state) => state.attrs)
997
+ ]
998
+ });
999
+ function applyCompletion(view, option) {
1000
+ const apply = option.completion.apply || option.completion.label;
1001
+ let result = view.state.field(completionState).active.find((a) => a.source == option.source);
1002
+ if (!(result instanceof ActiveResult))
1003
+ return false;
1004
+ if (typeof apply == "string")
1005
+ view.dispatch({
1006
+ ...insertCompletionText(view.state, apply, result.from, result.to),
1007
+ annotations: pickedCompletion.of(option.completion)
1008
+ });
1009
+ else
1010
+ apply(view, option.completion, result.from, result.to);
1011
+ return true;
1012
+ }
1013
+ var createTooltip = /* @__PURE__ */ completionTooltip(completionState, applyCompletion);
1014
+ function moveCompletionSelection(forward, by = "option") {
1015
+ return (view) => {
1016
+ let cState = view.state.field(completionState, false);
1017
+ if (!cState || !cState.open || cState.open.disabled || Date.now() - cState.open.timestamp < view.state.facet(completionConfig).interactionDelay)
1018
+ return false;
1019
+ let step = 1, tooltip;
1020
+ if (by == "page" && (tooltip = getTooltip(view, cState.open.tooltip)))
1021
+ step = Math.max(2, Math.floor(tooltip.dom.offsetHeight / tooltip.dom.querySelector("li").offsetHeight) - 1);
1022
+ let { length } = cState.open.options;
1023
+ let selected = cState.open.selected > -1 ? cState.open.selected + step * (forward ? 1 : -1) : forward ? 0 : length - 1;
1024
+ if (selected < 0)
1025
+ selected = by == "page" ? 0 : length - 1;
1026
+ else if (selected >= length)
1027
+ selected = by == "page" ? length - 1 : 0;
1028
+ view.dispatch({ effects: setSelectedEffect.of(selected) });
1029
+ return true;
1030
+ };
1031
+ }
1032
+ var acceptCompletion = (view) => {
1033
+ let cState = view.state.field(completionState, false);
1034
+ if (view.state.readOnly || !cState || !cState.open || cState.open.selected < 0 || cState.open.disabled || Date.now() - cState.open.timestamp < view.state.facet(completionConfig).interactionDelay)
1035
+ return false;
1036
+ return applyCompletion(view, cState.open.options[cState.open.selected]);
1037
+ };
1038
+ var startCompletion = (view) => {
1039
+ let cState = view.state.field(completionState, false);
1040
+ if (!cState)
1041
+ return false;
1042
+ view.dispatch({ effects: startCompletionEffect.of(true) });
1043
+ return true;
1044
+ };
1045
+ var closeCompletion = (view) => {
1046
+ let cState = view.state.field(completionState, false);
1047
+ if (!cState || !cState.active.some(
1048
+ (a) => a.state != 0
1049
+ /* State.Inactive */
1050
+ ))
1051
+ return false;
1052
+ view.dispatch({ effects: closeCompletionEffect.of(null) });
1053
+ return true;
1054
+ };
1055
+ var windows = typeof navigator == "object" && /* @__PURE__ */ /Win/.test(navigator.platform);
1056
+ var baseTheme = /* @__PURE__ */ EditorView.baseTheme({
1057
+ ".cm-tooltip.cm-tooltip-autocomplete": {
1058
+ "& > ul": {
1059
+ fontFamily: "monospace",
1060
+ whiteSpace: "nowrap",
1061
+ overflow: "hidden auto",
1062
+ maxWidth_fallback: "700px",
1063
+ maxWidth: "min(700px, 95vw)",
1064
+ minWidth: "250px",
1065
+ maxHeight: "10em",
1066
+ height: "100%",
1067
+ listStyle: "none",
1068
+ margin: 0,
1069
+ padding: 0,
1070
+ "& > li, & > completion-section": {
1071
+ padding: "1px 3px",
1072
+ lineHeight: 1.2
1073
+ },
1074
+ "& > li": {
1075
+ overflowX: "hidden",
1076
+ textOverflow: "ellipsis",
1077
+ cursor: "pointer"
1078
+ },
1079
+ "& > completion-section": {
1080
+ display: "list-item",
1081
+ borderBottom: "1px solid silver",
1082
+ paddingLeft: "0.5em",
1083
+ opacity: 0.7
1084
+ }
1085
+ }
1086
+ },
1087
+ "&light .cm-tooltip-autocomplete ul li[aria-selected]": {
1088
+ background: "#17c",
1089
+ color: "white"
1090
+ },
1091
+ "&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]": {
1092
+ background: "#777"
1093
+ },
1094
+ "&dark .cm-tooltip-autocomplete ul li[aria-selected]": {
1095
+ background: "#347",
1096
+ color: "white"
1097
+ },
1098
+ "&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]": {
1099
+ background: "#444"
1100
+ },
1101
+ ".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after": {
1102
+ content: '"\xB7\xB7\xB7"',
1103
+ opacity: 0.5,
1104
+ display: "block",
1105
+ textAlign: "center",
1106
+ cursor: "pointer"
1107
+ },
1108
+ ".cm-tooltip.cm-completionInfo": {
1109
+ position: "absolute",
1110
+ padding: "3px 9px",
1111
+ width: "max-content",
1112
+ maxWidth: `${400}px`,
1113
+ boxSizing: "border-box",
1114
+ whiteSpace: "pre-line"
1115
+ },
1116
+ ".cm-completionInfo.cm-completionInfo-left": { right: "100%" },
1117
+ ".cm-completionInfo.cm-completionInfo-right": { left: "100%" },
1118
+ ".cm-completionInfo.cm-completionInfo-left-narrow": { right: `${30}px` },
1119
+ ".cm-completionInfo.cm-completionInfo-right-narrow": { left: `${30}px` },
1120
+ "&light .cm-snippetField": { backgroundColor: "#00000022" },
1121
+ "&dark .cm-snippetField": { backgroundColor: "#ffffff22" },
1122
+ ".cm-snippetFieldPosition": {
1123
+ verticalAlign: "text-top",
1124
+ width: 0,
1125
+ height: "1.15em",
1126
+ display: "inline-block",
1127
+ margin: "0 -0.7px -.7em",
1128
+ borderLeft: "1.4px dotted #888"
1129
+ },
1130
+ ".cm-completionMatchedText": {
1131
+ textDecoration: "underline"
1132
+ },
1133
+ ".cm-completionDetail": {
1134
+ marginLeft: "0.5em",
1135
+ fontStyle: "italic"
1136
+ },
1137
+ ".cm-completionIcon": {
1138
+ fontSize: "90%",
1139
+ width: ".8em",
1140
+ display: "inline-block",
1141
+ textAlign: "center",
1142
+ paddingRight: ".6em",
1143
+ opacity: "0.6",
1144
+ boxSizing: "content-box"
1145
+ },
1146
+ ".cm-completionIcon-function, .cm-completionIcon-method": {
1147
+ "&:after": { content: "'\u0192'" }
1148
+ },
1149
+ ".cm-completionIcon-class": {
1150
+ "&:after": { content: "'\u25CB'" }
1151
+ },
1152
+ ".cm-completionIcon-interface": {
1153
+ "&:after": { content: "'\u25CC'" }
1154
+ },
1155
+ ".cm-completionIcon-variable": {
1156
+ "&:after": { content: "'\u{1D465}'" }
1157
+ },
1158
+ ".cm-completionIcon-constant": {
1159
+ "&:after": { content: "'\u{1D436}'" }
1160
+ },
1161
+ ".cm-completionIcon-type": {
1162
+ "&:after": { content: "'\u{1D461}'" }
1163
+ },
1164
+ ".cm-completionIcon-enum": {
1165
+ "&:after": { content: "'\u222A'" }
1166
+ },
1167
+ ".cm-completionIcon-property": {
1168
+ "&:after": { content: "'\u25A1'" }
1169
+ },
1170
+ ".cm-completionIcon-keyword": {
1171
+ "&:after": { content: "'\u{1F511}\uFE0E'" }
1172
+ // Disable emoji rendering
1173
+ },
1174
+ ".cm-completionIcon-namespace": {
1175
+ "&:after": { content: "'\u25A2'" }
1176
+ },
1177
+ ".cm-completionIcon-text": {
1178
+ "&:after": { content: "'abc'", fontSize: "50%", verticalAlign: "middle" }
1179
+ }
1180
+ });
1181
+ var FieldPos = class {
1182
+ constructor(field, line, from, to) {
1183
+ this.field = field;
1184
+ this.line = line;
1185
+ this.from = from;
1186
+ this.to = to;
1187
+ }
1188
+ };
1189
+ var FieldRange = class _FieldRange {
1190
+ constructor(field, from, to) {
1191
+ this.field = field;
1192
+ this.from = from;
1193
+ this.to = to;
1194
+ }
1195
+ map(changes) {
1196
+ let from = changes.mapPos(this.from, -1, MapMode.TrackDel);
1197
+ let to = changes.mapPos(this.to, 1, MapMode.TrackDel);
1198
+ return from == null || to == null ? null : new _FieldRange(this.field, from, to);
1199
+ }
1200
+ };
1201
+ var Snippet = class _Snippet {
1202
+ constructor(lines, fieldPositions) {
1203
+ this.lines = lines;
1204
+ this.fieldPositions = fieldPositions;
1205
+ }
1206
+ instantiate(state, pos) {
1207
+ let text = [], lineStart = [pos];
1208
+ let lineObj = state.doc.lineAt(pos), baseIndent = /^\s*/.exec(lineObj.text)[0];
1209
+ for (let line of this.lines) {
1210
+ if (text.length) {
1211
+ let indent = baseIndent, tabs = /^\t*/.exec(line)[0].length;
1212
+ for (let i = 0; i < tabs; i++)
1213
+ indent += state.facet(indentUnit);
1214
+ lineStart.push(pos + indent.length - tabs);
1215
+ line = indent + line.slice(tabs);
1216
+ }
1217
+ text.push(line);
1218
+ pos += line.length + 1;
1219
+ }
1220
+ let ranges = this.fieldPositions.map((pos2) => new FieldRange(pos2.field, lineStart[pos2.line] + pos2.from, lineStart[pos2.line] + pos2.to));
1221
+ return { text, ranges };
1222
+ }
1223
+ static parse(template) {
1224
+ let fields = [];
1225
+ let lines = [], positions = [], m;
1226
+ for (let line of template.split(/\r\n?|\n/)) {
1227
+ while (m = /[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(line)) {
1228
+ let seq = m[1] ? +m[1] : null, rawName = m[2] || m[3] || "", found = -1;
1229
+ if (seq === 0)
1230
+ seq = 1e9;
1231
+ let name = rawName.replace(/\\[{}]/g, (m2) => m2[1]);
1232
+ for (let i = 0; i < fields.length; i++) {
1233
+ if (seq != null ? fields[i].seq == seq : name ? fields[i].name == name : false)
1234
+ found = i;
1235
+ }
1236
+ if (found < 0) {
1237
+ let i = 0;
1238
+ while (i < fields.length && (seq == null || fields[i].seq != null && fields[i].seq < seq))
1239
+ i++;
1240
+ fields.splice(i, 0, { seq, name });
1241
+ found = i;
1242
+ for (let pos of positions)
1243
+ if (pos.field >= found)
1244
+ pos.field++;
1245
+ }
1246
+ for (let pos of positions)
1247
+ if (pos.line == lines.length && pos.from > m.index) {
1248
+ let snip = m[2] ? 3 + (m[1] || "").length : 2;
1249
+ pos.from -= snip;
1250
+ pos.to -= snip;
1251
+ }
1252
+ positions.push(new FieldPos(found, lines.length, m.index, m.index + name.length));
1253
+ line = line.slice(0, m.index) + rawName + line.slice(m.index + m[0].length);
1254
+ }
1255
+ line = line.replace(/\\([{}])/g, (_, brace, index) => {
1256
+ for (let pos of positions)
1257
+ if (pos.line == lines.length && pos.from > index) {
1258
+ pos.from--;
1259
+ pos.to--;
1260
+ }
1261
+ return brace;
1262
+ });
1263
+ lines.push(line);
1264
+ }
1265
+ return new _Snippet(lines, positions);
1266
+ }
1267
+ };
1268
+ var fieldMarker = /* @__PURE__ */ Decoration.widget({ widget: /* @__PURE__ */ new class extends WidgetType {
1269
+ toDOM() {
1270
+ let span = document.createElement("span");
1271
+ span.className = "cm-snippetFieldPosition";
1272
+ return span;
1273
+ }
1274
+ ignoreEvent() {
1275
+ return false;
1276
+ }
1277
+ }() });
1278
+ var fieldRange = /* @__PURE__ */ Decoration.mark({ class: "cm-snippetField" });
1279
+ var ActiveSnippet = class _ActiveSnippet {
1280
+ constructor(ranges, active) {
1281
+ this.ranges = ranges;
1282
+ this.active = active;
1283
+ this.deco = Decoration.set(ranges.map((r) => (r.from == r.to ? fieldMarker : fieldRange).range(r.from, r.to)), true);
1284
+ }
1285
+ map(changes) {
1286
+ let ranges = [];
1287
+ for (let r of this.ranges) {
1288
+ let mapped = r.map(changes);
1289
+ if (!mapped)
1290
+ return null;
1291
+ ranges.push(mapped);
1292
+ }
1293
+ return new _ActiveSnippet(ranges, this.active);
1294
+ }
1295
+ selectionInsideField(sel) {
1296
+ return sel.ranges.every((range) => this.ranges.some((r) => r.field == this.active && r.from <= range.from && r.to >= range.to));
1297
+ }
1298
+ };
1299
+ var setActive = /* @__PURE__ */ StateEffect.define({
1300
+ map(value, changes) {
1301
+ return value && value.map(changes);
1302
+ }
1303
+ });
1304
+ var moveToField = /* @__PURE__ */ StateEffect.define();
1305
+ var snippetState = /* @__PURE__ */ StateField.define({
1306
+ create() {
1307
+ return null;
1308
+ },
1309
+ update(value, tr) {
1310
+ for (let effect of tr.effects) {
1311
+ if (effect.is(setActive))
1312
+ return effect.value;
1313
+ if (effect.is(moveToField) && value)
1314
+ return new ActiveSnippet(value.ranges, effect.value);
1315
+ }
1316
+ if (value && tr.docChanged)
1317
+ value = value.map(tr.changes);
1318
+ if (value && tr.selection && !value.selectionInsideField(tr.selection))
1319
+ value = null;
1320
+ return value;
1321
+ },
1322
+ provide: (f) => EditorView.decorations.from(f, (val) => val ? val.deco : Decoration.none)
1323
+ });
1324
+ function fieldSelection(ranges, field) {
1325
+ return EditorSelection.create(ranges.filter((r) => r.field == field).map((r) => EditorSelection.range(r.from, r.to)));
1326
+ }
1327
+ function snippet(template) {
1328
+ let snippet2 = Snippet.parse(template);
1329
+ return (editor, completion, from, to) => {
1330
+ let { text, ranges } = snippet2.instantiate(editor.state, from);
1331
+ let { main } = editor.state.selection;
1332
+ let spec = {
1333
+ changes: { from, to: to == main.from ? main.to : to, insert: Text.of(text) },
1334
+ scrollIntoView: true,
1335
+ annotations: completion ? [pickedCompletion.of(completion), Transaction.userEvent.of("input.complete")] : void 0
1336
+ };
1337
+ if (ranges.length)
1338
+ spec.selection = fieldSelection(ranges, 0);
1339
+ if (ranges.some((r) => r.field > 0)) {
1340
+ let active = new ActiveSnippet(ranges, 0);
1341
+ let effects = spec.effects = [setActive.of(active)];
1342
+ if (editor.state.field(snippetState, false) === void 0)
1343
+ effects.push(StateEffect.appendConfig.of([snippetState, addSnippetKeymap, snippetPointerHandler, baseTheme]));
1344
+ }
1345
+ editor.dispatch(editor.state.update(spec));
1346
+ };
1347
+ }
1348
+ function moveField(dir) {
1349
+ return ({ state, dispatch }) => {
1350
+ let active = state.field(snippetState, false);
1351
+ if (!active || dir < 0 && active.active == 0)
1352
+ return false;
1353
+ let next = active.active + dir, last = dir > 0 && !active.ranges.some((r) => r.field == next + dir);
1354
+ dispatch(state.update({
1355
+ selection: fieldSelection(active.ranges, next),
1356
+ effects: setActive.of(last ? null : new ActiveSnippet(active.ranges, next)),
1357
+ scrollIntoView: true
1358
+ }));
1359
+ return true;
1360
+ };
1361
+ }
1362
+ var clearSnippet = ({ state, dispatch }) => {
1363
+ let active = state.field(snippetState, false);
1364
+ if (!active)
1365
+ return false;
1366
+ dispatch(state.update({ effects: setActive.of(null) }));
1367
+ return true;
1368
+ };
1369
+ var nextSnippetField = /* @__PURE__ */ moveField(1);
1370
+ var prevSnippetField = /* @__PURE__ */ moveField(-1);
1371
+ var defaultSnippetKeymap = [
1372
+ { key: "Tab", run: nextSnippetField, shift: prevSnippetField },
1373
+ { key: "Escape", run: clearSnippet }
1374
+ ];
1375
+ var snippetKeymap = /* @__PURE__ */ Facet.define({
1376
+ combine(maps) {
1377
+ return maps.length ? maps[0] : defaultSnippetKeymap;
1378
+ }
1379
+ });
1380
+ var addSnippetKeymap = /* @__PURE__ */ Prec.highest(/* @__PURE__ */ keymap.compute([snippetKeymap], (state) => state.facet(snippetKeymap)));
1381
+ function snippetCompletion(template, completion) {
1382
+ return { ...completion, apply: snippet(template) };
1383
+ }
1384
+ var snippetPointerHandler = /* @__PURE__ */ EditorView.domEventHandlers({
1385
+ mousedown(event, view) {
1386
+ let active = view.state.field(snippetState, false), pos;
1387
+ if (!active || (pos = view.posAtCoords({ x: event.clientX, y: event.clientY })) == null)
1388
+ return false;
1389
+ let match = active.ranges.find((r) => r.from <= pos && r.to >= pos);
1390
+ if (!match || match.field == active.active)
1391
+ return false;
1392
+ view.dispatch({
1393
+ selection: fieldSelection(active.ranges, match.field),
1394
+ effects: setActive.of(active.ranges.some((r) => r.field > match.field) ? new ActiveSnippet(active.ranges, match.field) : null),
1395
+ scrollIntoView: true
1396
+ });
1397
+ return true;
1398
+ }
1399
+ });
1400
+ var closedBracket = /* @__PURE__ */ new class extends RangeValue {
1401
+ }();
1402
+ closedBracket.startSide = 1;
1403
+ closedBracket.endSide = -1;
1404
+ var android = typeof navigator == "object" && /* @__PURE__ */ /Android\b/.test(navigator.userAgent);
1405
+ var completionKeymap = [
1406
+ { key: "Ctrl-Space", run: startCompletion },
1407
+ { mac: "Alt-`", run: startCompletion },
1408
+ { mac: "Alt-i", run: startCompletion },
1409
+ { key: "Escape", run: closeCompletion },
1410
+ { key: "ArrowDown", run: /* @__PURE__ */ moveCompletionSelection(true) },
1411
+ { key: "ArrowUp", run: /* @__PURE__ */ moveCompletionSelection(false) },
1412
+ { key: "PageDown", run: /* @__PURE__ */ moveCompletionSelection(true, "page") },
1413
+ { key: "PageUp", run: /* @__PURE__ */ moveCompletionSelection(false, "page") },
1414
+ { key: "Enter", run: acceptCompletion }
1415
+ ];
1416
+
1417
+ export {
1418
+ CompletionContext,
1419
+ completeFromList,
1420
+ ifNotIn,
1421
+ snippetCompletion,
1422
+ completionKeymap
1423
+ };
1424
+ //# sourceMappingURL=chunk-CSJO4DNL.js.map