repl-sdk 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/package.json +12 -20
  2. package/dist/apl-fqmucPXA.js +0 -141
  3. package/dist/apl-fqmucPXA.js.map +0 -1
  4. package/dist/asciiarmor-DucZyvP0.js +0 -57
  5. package/dist/asciiarmor-DucZyvP0.js.map +0 -1
  6. package/dist/asn1-BnOEsgAm.js +0 -145
  7. package/dist/asn1-BnOEsgAm.js.map +0 -1
  8. package/dist/assets/tar-worker-CxTcoQcr.js +0 -593
  9. package/dist/assets/tar-worker-CxTcoQcr.js.map +0 -1
  10. package/dist/asterisk-QAlztEwS.js +0 -346
  11. package/dist/asterisk-QAlztEwS.js.map +0 -1
  12. package/dist/brainfuck-DZVCuF_t.js +0 -54
  13. package/dist/brainfuck-DZVCuF_t.js.map +0 -1
  14. package/dist/clike-CTYGlS6x.js +0 -800
  15. package/dist/clike-CTYGlS6x.js.map +0 -1
  16. package/dist/clojure-BhXMqnxz.js +0 -850
  17. package/dist/clojure-BhXMqnxz.js.map +0 -1
  18. package/dist/cmake-BGaNd9E7.js +0 -72
  19. package/dist/cmake-BGaNd9E7.js.map +0 -1
  20. package/dist/cobol-4yqQntpt.js +0 -121
  21. package/dist/cobol-4yqQntpt.js.map +0 -1
  22. package/dist/codemirror-De3S70Np.js +0 -2912
  23. package/dist/codemirror-De3S70Np.js.map +0 -1
  24. package/dist/coffeescript-D2dXvhEc.js +0 -309
  25. package/dist/coffeescript-D2dXvhEc.js.map +0 -1
  26. package/dist/commonlisp-CF_VNHQR.js +0 -131
  27. package/dist/commonlisp-CF_VNHQR.js.map +0 -1
  28. package/dist/crystal-DyuLTqLs.js +0 -399
  29. package/dist/crystal-DyuLTqLs.js.map +0 -1
  30. package/dist/css-DkSyTW67.js +0 -1773
  31. package/dist/css-DkSyTW67.js.map +0 -1
  32. package/dist/cypher-Dlu_3r4V.js +0 -122
  33. package/dist/cypher-Dlu_3r4V.js.map +0 -1
  34. package/dist/d-UURgV0Ux.js +0 -180
  35. package/dist/d-UURgV0Ux.js.map +0 -1
  36. package/dist/diff-B_Bi2Crb.js +0 -26
  37. package/dist/diff-B_Bi2Crb.js.map +0 -1
  38. package/dist/dockerfile-Bvk733Ga.js +0 -202
  39. package/dist/dockerfile-Bvk733Ga.js.map +0 -1
  40. package/dist/dtd-Dy74G54E.js +0 -115
  41. package/dist/dtd-Dy74G54E.js.map +0 -1
  42. package/dist/dylan-TSb-Nfix.js +0 -315
  43. package/dist/dylan-TSb-Nfix.js.map +0 -1
  44. package/dist/ebnf-4fKAGW3a.js +0 -141
  45. package/dist/ebnf-4fKAGW3a.js.map +0 -1
  46. package/dist/ecl-B59qGGVg.js +0 -179
  47. package/dist/ecl-B59qGGVg.js.map +0 -1
  48. package/dist/eiffel-Dze7nlu3.js +0 -135
  49. package/dist/eiffel-Dze7nlu3.js.map +0 -1
  50. package/dist/elm-DG7jkhNZ.js +0 -177
  51. package/dist/elm-DG7jkhNZ.js.map +0 -1
  52. package/dist/erlang-BO6gOnGA.js +0 -675
  53. package/dist/erlang-BO6gOnGA.js.map +0 -1
  54. package/dist/factor-CMxFHDqz.js +0 -66
  55. package/dist/factor-CMxFHDqz.js.map +0 -1
  56. package/dist/fcl-CDDUNjTj.js +0 -142
  57. package/dist/fcl-CDDUNjTj.js.map +0 -1
  58. package/dist/forth-B9D2JCeE.js +0 -117
  59. package/dist/forth-B9D2JCeE.js.map +0 -1
  60. package/dist/fortran-CAG2BFbe.js +0 -468
  61. package/dist/fortran-CAG2BFbe.js.map +0 -1
  62. package/dist/gas-0Aw8zDr5.js +0 -294
  63. package/dist/gas-0Aw8zDr5.js.map +0 -1
  64. package/dist/gherkin-DhZlEZiy.js +0 -116
  65. package/dist/gherkin-DhZlEZiy.js.map +0 -1
  66. package/dist/gjs-DfguZDLq.js +0 -173
  67. package/dist/gjs-DfguZDLq.js.map +0 -1
  68. package/dist/gmd-Yas-Oo8k.js +0 -163
  69. package/dist/gmd-Yas-Oo8k.js.map +0 -1
  70. package/dist/groovy-CpwJiBl7.js +0 -224
  71. package/dist/groovy-CpwJiBl7.js.map +0 -1
  72. package/dist/haskell-ySd-OUo8.js +0 -460
  73. package/dist/haskell-ySd-OUo8.js.map +0 -1
  74. package/dist/haxe-7MlzfeYV.js +0 -515
  75. package/dist/haxe-7MlzfeYV.js.map +0 -1
  76. package/dist/hbs-CxcmWxSJ.js +0 -62
  77. package/dist/hbs-CxcmWxSJ.js.map +0 -1
  78. package/dist/http-BqypyemW.js +0 -80
  79. package/dist/http-BqypyemW.js.map +0 -1
  80. package/dist/idl-4HIGJlDI.js +0 -986
  81. package/dist/idl-4HIGJlDI.js.map +0 -1
  82. package/dist/index-B3Meoznj.js +0 -118
  83. package/dist/index-B3Meoznj.js.map +0 -1
  84. package/dist/index-BQyfDUUx.js +0 -692
  85. package/dist/index-BQyfDUUx.js.map +0 -1
  86. package/dist/index-BRDroAD8.js +0 -305
  87. package/dist/index-BRDroAD8.js.map +0 -1
  88. package/dist/index-BRMAzRyM.js +0 -179
  89. package/dist/index-BRMAzRyM.js.map +0 -1
  90. package/dist/index-Bb8uYQgv.js +0 -927
  91. package/dist/index-Bb8uYQgv.js.map +0 -1
  92. package/dist/index-BlOjO66K.js +0 -17618
  93. package/dist/index-BlOjO66K.js.map +0 -1
  94. package/dist/index-BoGWnSNL.js +0 -706
  95. package/dist/index-BoGWnSNL.js.map +0 -1
  96. package/dist/index-BsRrEiOu.js +0 -98
  97. package/dist/index-BsRrEiOu.js.map +0 -1
  98. package/dist/index-C2sFZMth.js +0 -391
  99. package/dist/index-C2sFZMth.js.map +0 -1
  100. package/dist/index-C7xwOjmS.js +0 -291
  101. package/dist/index-C7xwOjmS.js.map +0 -1
  102. package/dist/index-CA3lFUx6.js +0 -315
  103. package/dist/index-CA3lFUx6.js.map +0 -1
  104. package/dist/index-CB-pPTIf.js +0 -98
  105. package/dist/index-CB-pPTIf.js.map +0 -1
  106. package/dist/index-CCa6x1FE.js +0 -386
  107. package/dist/index-CCa6x1FE.js.map +0 -1
  108. package/dist/index-CD4DINI1.js +0 -158
  109. package/dist/index-CD4DINI1.js.map +0 -1
  110. package/dist/index-CE0B_fcG.js +0 -328
  111. package/dist/index-CE0B_fcG.js.map +0 -1
  112. package/dist/index-CVGAEPMV.js +0 -2139
  113. package/dist/index-CVGAEPMV.js.map +0 -1
  114. package/dist/index-CmaT2afn.js +0 -332
  115. package/dist/index-CmaT2afn.js.map +0 -1
  116. package/dist/index-D8sUxXp5.js +0 -83
  117. package/dist/index-D8sUxXp5.js.map +0 -1
  118. package/dist/index-DIz8Vpn-.js +0 -737
  119. package/dist/index-DIz8Vpn-.js.map +0 -1
  120. package/dist/index-DNP1xT-S.js +0 -408
  121. package/dist/index-DNP1xT-S.js.map +0 -1
  122. package/dist/index-DOAqdvnQ.js +0 -862
  123. package/dist/index-DOAqdvnQ.js.map +0 -1
  124. package/dist/index-DVUMFbgi.js +0 -152
  125. package/dist/index-DVUMFbgi.js.map +0 -1
  126. package/dist/index-VeTBKRVd.js +0 -83
  127. package/dist/index-VeTBKRVd.js.map +0 -1
  128. package/dist/index-dXZeR7Bx.js +0 -1767
  129. package/dist/index-dXZeR7Bx.js.map +0 -1
  130. package/dist/index-gtqbIb6T.js +0 -62
  131. package/dist/index-gtqbIb6T.js.map +0 -1
  132. package/dist/index-pN_pUAQ7.js +0 -2426
  133. package/dist/index-pN_pUAQ7.js.map +0 -1
  134. package/dist/index-wasu5VX0.js +0 -1150
  135. package/dist/index-wasu5VX0.js.map +0 -1
  136. package/dist/javascript-Bt8B7yTi.js +0 -993
  137. package/dist/javascript-Bt8B7yTi.js.map +0 -1
  138. package/dist/julia-Bs6JJhYG.js +0 -408
  139. package/dist/julia-Bs6JJhYG.js.map +0 -1
  140. package/dist/livescript-DmzgM3Yt.js +0 -297
  141. package/dist/livescript-DmzgM3Yt.js.map +0 -1
  142. package/dist/lua-8cJgIlqe.js +0 -257
  143. package/dist/lua-8cJgIlqe.js.map +0 -1
  144. package/dist/mathematica-DNLOL9PQ.js +0 -111
  145. package/dist/mathematica-DNLOL9PQ.js.map +0 -1
  146. package/dist/mbox-Ga7d4MMN.js +0 -118
  147. package/dist/mbox-Ga7d4MMN.js.map +0 -1
  148. package/dist/mirc-Dma3B8rS.js +0 -108
  149. package/dist/mirc-Dma3B8rS.js.map +0 -1
  150. package/dist/mllike-DHn7xckP.js +0 -335
  151. package/dist/mllike-DHn7xckP.js.map +0 -1
  152. package/dist/modelica-0d55jYY0.js +0 -148
  153. package/dist/modelica-0d55jYY0.js.map +0 -1
  154. package/dist/mscgen-DdqZYINH.js +0 -136
  155. package/dist/mscgen-DdqZYINH.js.map +0 -1
  156. package/dist/mumps-Btr8VblO.js +0 -94
  157. package/dist/mumps-Btr8VblO.js.map +0 -1
  158. package/dist/nginx-DTDtBDVN.js +0 -142
  159. package/dist/nginx-DTDtBDVN.js.map +0 -1
  160. package/dist/nsis-3zG7tgur.js +0 -63
  161. package/dist/nsis-3zG7tgur.js.map +0 -1
  162. package/dist/ntriples-CvgOYMpL.js +0 -154
  163. package/dist/ntriples-CvgOYMpL.js.map +0 -1
  164. package/dist/octave-DYBj3-tl.js +0 -201
  165. package/dist/octave-DYBj3-tl.js.map +0 -1
  166. package/dist/oz-R_e8WMIi.js +0 -232
  167. package/dist/oz-R_e8WMIi.js.map +0 -1
  168. package/dist/parse-CAqQaKsh.js +0 -21685
  169. package/dist/parse-CAqQaKsh.js.map +0 -1
  170. package/dist/pascal-GD8iposT.js +0 -106
  171. package/dist/pascal-GD8iposT.js.map +0 -1
  172. package/dist/perl-DL9mHpoi.js +0 -1106
  173. package/dist/perl-DL9mHpoi.js.map +0 -1
  174. package/dist/pig-C_4T4YIV.js +0 -102
  175. package/dist/pig-C_4T4YIV.js.map +0 -1
  176. package/dist/powershell-B0suO7Vd.js +0 -329
  177. package/dist/powershell-B0suO7Vd.js.map +0 -1
  178. package/dist/properties-BR-vP1aU.js +0 -59
  179. package/dist/properties-BR-vP1aU.js.map +0 -1
  180. package/dist/protobuf-BxgpyhoW.js +0 -78
  181. package/dist/protobuf-BxgpyhoW.js.map +0 -1
  182. package/dist/pug-vHnWR0UE.js +0 -406
  183. package/dist/pug-vHnWR0UE.js.map +0 -1
  184. package/dist/puppet-Bdao66PW.js +0 -138
  185. package/dist/puppet-Bdao66PW.js.map +0 -1
  186. package/dist/python-BFGRmuZ9.js +0 -427
  187. package/dist/python-BFGRmuZ9.js.map +0 -1
  188. package/dist/q-CrbCVq4a.js +0 -132
  189. package/dist/q-CrbCVq4a.js.map +0 -1
  190. package/dist/r-V7nswm59.js +0 -171
  191. package/dist/r-V7nswm59.js.map +0 -1
  192. package/dist/render-app-island-B-i8rvGi.js +0 -61
  193. package/dist/render-app-island-B-i8rvGi.js.map +0 -1
  194. package/dist/repl-sdk.js +0 -7
  195. package/dist/repl-sdk.js.map +0 -1
  196. package/dist/rpm-C-DLY-If.js +0 -110
  197. package/dist/rpm-C-DLY-If.js.map +0 -1
  198. package/dist/ruby-JDKLJNK0.js +0 -331
  199. package/dist/ruby-JDKLJNK0.js.map +0 -1
  200. package/dist/sas-D2UG-yhZ.js +0 -208
  201. package/dist/sas-D2UG-yhZ.js.map +0 -1
  202. package/dist/scheme-BKzrkGJD.js +0 -223
  203. package/dist/scheme-BKzrkGJD.js.map +0 -1
  204. package/dist/shell-BlsXDxCn.js +0 -223
  205. package/dist/shell-BlsXDxCn.js.map +0 -1
  206. package/dist/sieve-CjwBwOY5.js +0 -136
  207. package/dist/sieve-CjwBwOY5.js.map +0 -1
  208. package/dist/simple-mode-DMneyfDu.js +0 -131
  209. package/dist/simple-mode-DMneyfDu.js.map +0 -1
  210. package/dist/smalltalk-BOIGQuhN.js +0 -122
  211. package/dist/smalltalk-BOIGQuhN.js.map +0 -1
  212. package/dist/solr-CwD7U71z.js +0 -70
  213. package/dist/solr-CwD7U71z.js.map +0 -1
  214. package/dist/sparql-DYskk2vE.js +0 -250
  215. package/dist/sparql-DYskk2vE.js.map +0 -1
  216. package/dist/spreadsheet-Bgtt3oLP.js +0 -88
  217. package/dist/spreadsheet-Bgtt3oLP.js.map +0 -1
  218. package/dist/sql-Cei9CMfk.js +0 -343
  219. package/dist/sql-Cei9CMfk.js.map +0 -1
  220. package/dist/stex-C1nZSzAw.js +0 -231
  221. package/dist/stex-C1nZSzAw.js.map +0 -1
  222. package/dist/stylus-BkS-boTH.js +0 -566
  223. package/dist/stylus-BkS-boTH.js.map +0 -1
  224. package/dist/swift-FRZi1uvB.js +0 -292
  225. package/dist/swift-FRZi1uvB.js.map +0 -1
  226. package/dist/tcl-CUcaCdmq.js +0 -115
  227. package/dist/tcl-CUcaCdmq.js.map +0 -1
  228. package/dist/textile-BnFpjsrl.js +0 -415
  229. package/dist/textile-BnFpjsrl.js.map +0 -1
  230. package/dist/tiddlywiki-CjprD-Qp.js +0 -219
  231. package/dist/tiddlywiki-CjprD-Qp.js.map +0 -1
  232. package/dist/tiki-DK9DOeWn.js +0 -269
  233. package/dist/tiki-DK9DOeWn.js.map +0 -1
  234. package/dist/toml-BOuWGMcf.js +0 -77
  235. package/dist/toml-BOuWGMcf.js.map +0 -1
  236. package/dist/troff-E1bJ0PPL.js +0 -62
  237. package/dist/troff-E1bJ0PPL.js.map +0 -1
  238. package/dist/ttcn-cfg-Dc39-fIP.js +0 -134
  239. package/dist/ttcn-cfg-Dc39-fIP.js.map +0 -1
  240. package/dist/ttcn-tKd4HLu4.js +0 -193
  241. package/dist/ttcn-tKd4HLu4.js.map +0 -1
  242. package/dist/turtle-Dq7-1WAf.js +0 -125
  243. package/dist/turtle-Dq7-1WAf.js.map +0 -1
  244. package/dist/vb-Dp90gtsv.js +0 -197
  245. package/dist/vb-Dp90gtsv.js.map +0 -1
  246. package/dist/vbscript-Bfn8O8I7.js +0 -479
  247. package/dist/vbscript-Bfn8O8I7.js.map +0 -1
  248. package/dist/velocity-BwIZK1TH.js +0 -150
  249. package/dist/velocity-BwIZK1TH.js.map +0 -1
  250. package/dist/verilog-CnT9bMk0.js +0 -430
  251. package/dist/verilog-CnT9bMk0.js.map +0 -1
  252. package/dist/vhdl-DCkMIyT9.js +0 -159
  253. package/dist/vhdl-DCkMIyT9.js.map +0 -1
  254. package/dist/webidl-BTLTThCm.js +0 -205
  255. package/dist/webidl-BTLTThCm.js.map +0 -1
  256. package/dist/xquery-BrBUuxMR.js +0 -526
  257. package/dist/xquery-BrBUuxMR.js.map +0 -1
  258. package/dist/yacas-b5lAVEIl.js +0 -131
  259. package/dist/yacas-b5lAVEIl.js.map +0 -1
  260. package/dist/z80-ClgwfNdB.js +0 -93
  261. package/dist/z80-ClgwfNdB.js.map +0 -1
@@ -1,1767 +0,0 @@
1
- import { configureNesting, parser as parser$1 } from "@lezer/html";
2
- import { $ as LRParser, a0 as ExternalTokenizer, ab as LocalTokenGroup, _ as LRLanguage, Z as LanguageSupport, a2 as indentNodeProp, a3 as foldNodeProp, ac as continuedIndent, ad as foldInside, s as syntaxTree, E as EditorView, ae as bracketMatchingHandle, a as EditorSelection } from "./index-BlOjO66K.js";
3
- import { styleTags, tags as tags$1 } from "@lezer/highlight";
4
- import { NodeWeakMap, IterMode } from "@lezer/common";
5
- import { t as typescriptLanguage, f as jsxLanguage, g as tsxLanguage, j as javascriptLanguage, e as javascript } from "./index-pN_pUAQ7.js";
6
- const descendantOp = 122, Unit = 1, identifier$2 = 123, callee = 124, VariableName = 2, queryIdentifier = 125, queryVariableName = 3, QueryCallee = 4;
7
- const space = [
8
- 9,
9
- 10,
10
- 11,
11
- 12,
12
- 13,
13
- 32,
14
- 133,
15
- 160,
16
- 5760,
17
- 8192,
18
- 8193,
19
- 8194,
20
- 8195,
21
- 8196,
22
- 8197,
23
- 8198,
24
- 8199,
25
- 8200,
26
- 8201,
27
- 8202,
28
- 8232,
29
- 8233,
30
- 8239,
31
- 8287,
32
- 12288
33
- ];
34
- const colon = 58, parenL = 40, underscore = 95, bracketL = 91, dash = 45, period = 46, hash = 35, percent = 37, ampersand = 38, backslash = 92, newline = 10, asterisk = 42;
35
- function isAlpha(ch) {
36
- return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 161;
37
- }
38
- function isDigit(ch) {
39
- return ch >= 48 && ch <= 57;
40
- }
41
- function isHex(ch) {
42
- return isDigit(ch) || ch >= 97 && ch <= 102 || ch >= 65 && ch <= 70;
43
- }
44
- const identifierTokens = (id, varName, callee2) => (input, stack) => {
45
- for (let inside = false, dashes = 0, i = 0; ; i++) {
46
- let { next } = input;
47
- if (isAlpha(next) || next == dash || next == underscore || inside && isDigit(next)) {
48
- if (!inside && (next != dash || i > 0)) inside = true;
49
- if (dashes === i && next == dash) dashes++;
50
- input.advance();
51
- } else if (next == backslash && input.peek(1) != newline) {
52
- input.advance();
53
- if (isHex(input.next)) {
54
- do {
55
- input.advance();
56
- } while (isHex(input.next));
57
- if (input.next == 32) input.advance();
58
- } else if (input.next > -1) {
59
- input.advance();
60
- }
61
- inside = true;
62
- } else {
63
- if (inside) input.acceptToken(
64
- dashes == 2 && stack.canShift(VariableName) ? varName : next == parenL ? callee2 : id
65
- );
66
- break;
67
- }
68
- }
69
- };
70
- const identifiers = new ExternalTokenizer(
71
- identifierTokens(identifier$2, VariableName, callee)
72
- );
73
- const queryIdentifiers = new ExternalTokenizer(
74
- identifierTokens(queryIdentifier, queryVariableName, QueryCallee)
75
- );
76
- const descendant = new ExternalTokenizer((input) => {
77
- if (space.includes(input.peek(-1))) {
78
- let { next } = input;
79
- if (isAlpha(next) || next == underscore || next == hash || next == period || next == asterisk || next == bracketL || next == colon && isAlpha(input.peek(1)) || next == dash || next == ampersand)
80
- input.acceptToken(descendantOp);
81
- }
82
- });
83
- const unitToken = new ExternalTokenizer((input) => {
84
- if (!space.includes(input.peek(-1))) {
85
- let { next } = input;
86
- if (next == percent) {
87
- input.advance();
88
- input.acceptToken(Unit);
89
- }
90
- if (isAlpha(next)) {
91
- do {
92
- input.advance();
93
- } while (isAlpha(input.next) || isDigit(input.next));
94
- input.acceptToken(Unit);
95
- }
96
- }
97
- });
98
- const cssHighlighting = styleTags({
99
- "AtKeyword import charset namespace keyframes media supports": tags$1.definitionKeyword,
100
- "from to selector": tags$1.keyword,
101
- NamespaceName: tags$1.namespace,
102
- KeyframeName: tags$1.labelName,
103
- KeyframeRangeName: tags$1.operatorKeyword,
104
- TagName: tags$1.tagName,
105
- ClassName: tags$1.className,
106
- PseudoClassName: tags$1.constant(tags$1.className),
107
- IdName: tags$1.labelName,
108
- "FeatureName PropertyName": tags$1.propertyName,
109
- AttributeName: tags$1.attributeName,
110
- NumberLiteral: tags$1.number,
111
- KeywordQuery: tags$1.keyword,
112
- UnaryQueryOp: tags$1.operatorKeyword,
113
- "CallTag ValueName": tags$1.atom,
114
- VariableName: tags$1.variableName,
115
- Callee: tags$1.operatorKeyword,
116
- Unit: tags$1.unit,
117
- "UniversalSelector NestingSelector": tags$1.definitionOperator,
118
- "MatchOp CompareOp": tags$1.compareOperator,
119
- "ChildOp SiblingOp, LogicOp": tags$1.logicOperator,
120
- BinOp: tags$1.arithmeticOperator,
121
- Important: tags$1.modifier,
122
- Comment: tags$1.blockComment,
123
- ColorLiteral: tags$1.color,
124
- "ParenthesizedContent StringLiteral": tags$1.string,
125
- ":": tags$1.punctuation,
126
- "PseudoOp #": tags$1.derefOperator,
127
- "; ,": tags$1.separator,
128
- "( )": tags$1.paren,
129
- "[ ]": tags$1.squareBracket,
130
- "{ }": tags$1.brace
131
- });
132
- const spec_callee = { __proto__: null, lang: 38, "nth-child": 38, "nth-last-child": 38, "nth-of-type": 38, "nth-last-of-type": 38, dir: 38, "host-context": 38, if: 84, url: 124, "url-prefix": 124, domain: 124, regexp: 124 };
133
- const spec_queryIdentifier = { __proto__: null, or: 98, and: 98, not: 106, only: 106, layer: 170 };
134
- const spec_QueryCallee = { __proto__: null, selector: 112, layer: 166 };
135
- const spec_AtKeyword = { __proto__: null, "@import": 162, "@media": 174, "@charset": 178, "@namespace": 182, "@keyframes": 188, "@supports": 200, "@scope": 204 };
136
- const spec_identifier = { __proto__: null, to: 207 };
137
- const parser = LRParser.deserialize({
138
- version: 14,
139
- states: "EbQYQdOOO#qQdOOP#xO`OOOOQP'#Cf'#CfOOQP'#Ce'#CeO#}QdO'#ChO$nQaO'#CcO$xQdO'#CkO%TQdO'#DpO%YQdO'#DrO%_QdO'#DuO%_QdO'#DxOOQP'#FV'#FVO&eQhO'#EhOOQS'#FU'#FUOOQS'#Ek'#EkQYQdOOO&lQdO'#EOO&PQhO'#EUO&lQdO'#EWO'aQdO'#EYO'lQdO'#E]O'tQhO'#EcO(VQdO'#EeO(bQaO'#CfO)VQ`O'#D{O)[Q`O'#F`O)gQdO'#F`QOQ`OOP)qO&jO'#CaPOOO)C@t)C@tOOQP'#Cj'#CjOOQP,59S,59SO#}QdO,59SO)|QdO,59VO%TQdO,5:[O%YQdO,5:^O%_QdO,5:aO%_QdO,5:cO%_QdO,5:dO%_QdO'#ErO*XQ`O,58}O*aQdO'#DzOOQS,58},58}OOQP'#Cn'#CnOOQO'#Dn'#DnOOQP,59V,59VO*hQ`O,59VO*mQ`O,59VOOQP'#Dq'#DqOOQP,5:[,5:[OOQO'#Ds'#DsO*rQpO,5:^O+]QaO,5:aO+sQaO,5:dOOQW'#DZ'#DZO,ZQhO'#DdO,xQhO'#FaO'tQhO'#DbO-WQ`O'#DhOOQW'#F['#F[O-]Q`O,5;SO-eQ`O'#DeOOQS-E8i-E8iOOQ['#Cs'#CsO-jQdO'#CtO.QQdO'#CzO.hQdO'#C}O/OQ!pO'#DPO1RQ!jO,5:jOOQO'#DU'#DUO*mQ`O'#DTO1cQ!nO'#FXO3`Q`O'#DVO3eQ`O'#DkOOQ['#FX'#FXO-`Q`O,5:pO3jQ!bO,5:rOOQS'#E['#E[O3rQ`O,5:tO3wQdO,5:tOOQO'#E_'#E_O4PQ`O,5:wO4UQhO,5:}O%_QdO'#DgOOQS,5;P,5;PO-eQ`O,5;PO4^QdO,5;PO4fQdO,5:gO4vQdO'#EtO5TQ`O,5;zO5TQ`O,5;zPOOO'#Ej'#EjP5`O&jO,58{POOO,58{,58{OOQP1G.n1G.nOOQP1G.q1G.qO*hQ`O1G.qO*mQ`O1G.qOOQP1G/v1G/vO5kQpO1G/xO5sQaO1G/{O6ZQaO1G/}O6qQaO1G0OO7XQaO,5;^OOQO-E8p-E8pOOQS1G.i1G.iO7cQ`O,5:fO7hQdO'#DoO7oQdO'#CrOOQP1G/x1G/xO&lQdO1G/xO7vQ!jO'#DZO8UQ!bO,59vO8^QhO,5:OOOQO'#F]'#F]O8XQ!bO,59zO'tQhO,59xO8fQhO'#EvO8sQ`O,5;{O9OQhO,59|O9uQhO'#DiOOQW,5:S,5:SOOQS1G0n1G0nOOQW,5:P,5:PO9|Q!fO'#FYOOQS'#FY'#FYOOQS'#Em'#EmO;^QdO,59`OOQ[,59`,59`O;tQdO,59fOOQ[,59f,59fO<[QdO,59iOOQ[,59i,59iOOQ[,59k,59kO&lQdO,59mO<rQhO'#EQOOQW'#EQ'#EQO=WQ`O1G0UO1[QhO1G0UOOQ[,59o,59oO'tQhO'#DXOOQ[,59q,59qO=]Q#tO,5:VOOQS1G0[1G0[OOQS1G0^1G0^OOQS1G0`1G0`O=hQ`O1G0`O=mQdO'#E`OOQS1G0c1G0cOOQS1G0i1G0iO=xQaO,5:RO-`Q`O1G0kOOQS1G0k1G0kO-eQ`O1G0kO>PQ!fO1G0ROOQO1G0R1G0ROOQO,5;`,5;`O>gQdO,5;`OOQO-E8r-E8rO>tQ`O1G1fPOOO-E8h-E8hPOOO1G.g1G.gOOQP7+$]7+$]OOQP7+%d7+%dO&lQdO7+%dOOQS1G0Q1G0QO?PQaO'#F_O?ZQ`O,5:ZO?`Q!fO'#ElO@^QdO'#FWO@hQ`O,59^O@mQ!bO7+%dO&lQdO1G/bO@uQhO1G/fOOQW1G/j1G/jOOQW1G/d1G/dOAWQhO,5;bOOQO-E8t-E8tOAfQhO'#DZOAtQhO'#F^OBPQ`O'#F^OBUQ`O,5:TOOQS-E8k-E8kOOQ[1G.z1G.zOOQ[1G/Q1G/QOOQ[1G/T1G/TOOQ[1G/X1G/XOBZQdO,5:lOOQS7+%p7+%pOB`Q`O7+%pOBeQhO'#DYOBmQ`O,59sO'tQhO,59sOOQ[1G/q1G/qOBuQ`O1G/qOOQS7+%z7+%zOBzQbO'#DPOOQO'#Eb'#EbOCYQ`O'#EaOOQO'#Ea'#EaOCeQ`O'#EwOCmQdO,5:zOOQS,5:z,5:zOOQ[1G/m1G/mOOQS7+&V7+&VO-`Q`O7+&VOCxQ!fO'#EsO&lQdO'#EsOEPQdO7+%mOOQO7+%m7+%mOOQO1G0z1G0zOEdQ!bO<<IOOElQdO'#EqOEvQ`O,5;yOOQP1G/u1G/uOOQS-E8j-E8jOFOQdO'#EpOFYQ`O,5;rOOQ]1G.x1G.xOOQP<<IO<<IOOFbQdO7+$|OOQO'#D]'#D]OFiQ!bO7+%QOFqQhO'#EoOF{Q`O,5;xO&lQdO,5;xOOQW1G/o1G/oOOQO'#ES'#ESOGTQ`O1G0WOOQS<<I[<<I[O&lQdO,59tOGnQhO1G/_OOQ[1G/_1G/_OGuQ`O1G/_OOQW-E8l-E8lOOQ[7+%]7+%]OOQO,5:{,5:{O=pQdO'#ExOCeQ`O,5;cOOQS,5;c,5;cOOQS-E8u-E8uOOQS1G0f1G0fOOQS<<Iq<<IqOG}Q!fO,5;_OOQS-E8q-E8qOOQO<<IX<<IXOOQPAN>jAN>jOIUQaO,5;]OOQO-E8o-E8oOI`QdO,5;[OOQO-E8n-E8nOOQW<<Hh<<HhOOQW<<Hl<<HlOIjQhO<<HlOI{QhO,5;ZOJWQ`O,5;ZOOQO-E8m-E8mOJ]QdO1G1dOBZQdO'#EuOJgQ`O7+%rOOQW7+%r7+%rOJoQ!bO1G/`OOQ[7+$y7+$yOJzQhO7+$yPKRQ`O'#EnOOQO,5;d,5;dOOQO-E8v-E8vOOQS1G0}1G0}OKWQ`OAN>WO&lQdO1G0uOK]Q`O7+'OOOQO,5;a,5;aOOQO-E8s-E8sOOQW<<I^<<I^OOQ[<<He<<HePOQW,5;Y,5;YOOQWG23rG23rOKeQdO7+&a",
140
- stateData: "Kx~O#sOS#tQQ~OW[OZ[O]TO`VOaVOi]OjWOmXO!jYO!mZO!saO!ybO!{cO!}dO#QeO#WfO#YgO#oRO~OQiOW[OZ[O]TO`VOaVOi]OjWOmXO!jYO!mZO!saO!ybO!{cO!}dO#QeO#WfO#YgO#ohO~O#m$SP~P!dO#tmO~O#ooO~O]qO`rOarOjsOmtO!juO!mwO#nvO~OpzO!^xO~P$SOc!QO#o|O#p}O~O#o!RO~O#o!TO~OW[OZ[O]TO`VOaVOjWOmXO!jYO!mZO#oRO~OS!]Oe!YO!V![O!Y!`O#q!XOp$TP~Ok$TP~P&POQ!jOe!cOm!dOp!eOr!mOt!mOz!kO!`!lO#o!bO#p!hO#}!fO~Ot!qO!`!lO#o!pO~Ot!sO#o!sO~OS!]Oe!YO!V![O!Y!`O#q!XO~Oe!vOpzO#Z!xO~O]YX`YX`!pXaYXjYXmYXpYX!^YX!jYX!mYX#nYX~O`!zO~Ok!{O#m$SXo$SX~O#m$SXo$SX~P!dO#u#OO#v#OO#w#QO~Oc#UO#o|O#p}O~OpzO!^xO~Oo$SP~P!dOe#`O~Oe#aO~Ol#bO!h#cO~O]qO`rOarOjsOmtO~Op!ia!^!ia!j!ia!m!ia#n!iad!ia~P*zOp!la!^!la!j!la!m!la#n!lad!la~P*zOR#gOS!]Oe!YOr#gOt#gO!V![O!Y!`O#q#dO#}!fO~O!R#iO!^#jOk$TXp$TX~Oe#mO~Ok#oOpzO~Oe!vO~O]#rO`#rOd#uOi#rOj#rOk#rO~P&lO]#rO`#rOi#rOj#rOk#rOl#wO~P&lO]#rO`#rOi#rOj#rOk#rOo#yO~P&lOP#zOSsXesXksXvsX!VsX!YsX!usX!wsX#qsX!TsXQsX]sX`sXdsXisXjsXmsXpsXrsXtsXzsX!`sX#osX#psX#}sXlsXosX!^sX!qsX#msX~Ov#{O!u#|O!w#}Ok$TP~P'tOe#aOS#{Xk#{Xv#{X!V#{X!Y#{X!u#{X!w#{X#q#{XQ#{X]#{X`#{Xd#{Xi#{Xj#{Xm#{Xp#{Xr#{Xt#{Xz#{X!`#{X#o#{X#p#{X#}#{Xl#{Xo#{X!^#{X!q#{X#m#{X~Oe$RO~Oe$TO~Ok$VOv#{O~Ok$WO~Ot$XO!`!lO~Op$YO~OpzO!R#iO~OpzO#Z$`O~O!q$bOk!oa#m!oao!oa~P&lOk#hX#m#hXo#hX~P!dOk!{O#m$Sao$Sa~O#u#OO#v#OO#w$hO~Ol$jO!h$kO~Op!ii!^!ii!j!ii!m!ii#n!iid!ii~P*zOp!ki!^!ki!j!ki!m!ki#n!kid!ki~P*zOp!li!^!li!j!li!m!li#n!lid!li~P*zOp#fa!^#fa~P$SOo$lO~Od$RP~P%_Od#zP~P&lO`!PXd}X!R}X!T!PX~O`$sO!T$tO~Od$uO!R#iO~Ok#jXp#jX!^#jX~P'tO!^#jOk$Tap$Ta~O!R#iOk!Uap!Ua!^!Uad!Ua`!Ua~OS!]Oe!YO!V![O!Y!`O#q$yO~Od$QP~P9dOv#{OQ#|X]#|X`#|Xd#|Xe#|Xi#|Xj#|Xk#|Xm#|Xp#|Xr#|Xt#|Xz#|X!`#|X#o#|X#p#|X#}#|Xl#|Xo#|X~O]#rO`#rOd%OOi#rOj#rOk#rO~P&lO]#rO`#rOi#rOj#rOk#rOl%PO~P&lO]#rO`#rOi#rOj#rOk#rOo%QO~P&lOe%SOS!tXk!tX!V!tX!Y!tX#q!tX~Ok%TO~Od%YOt%ZO!a%ZO~Ok%[O~Oo%cO#o%^O#}%]O~Od%dO~P$SOv#{O!^%hO!q%jOk!oi#m!oio!oi~P&lOk#ha#m#hao#ha~P!dOk!{O#m$Sio$Si~O!^%mOd$RX~P$SOd%oO~Ov#{OQ#`Xd#`Xe#`Xm#`Xp#`Xr#`Xt#`Xz#`X!^#`X!`#`X#o#`X#p#`X#}#`X~O!^%qOd#zX~P&lOd%sO~Ol%tOv#{O~OR#gOr#gOt#gO#q%vO#}!fO~O!R#iOk#jap#ja!^#ja~O`!PXd}X!R}X!^}X~O!R#iO!^%xOd$QX~O`%zO~Od%{O~O#o%|O~Ok&OO~O`&PO!R#iO~Od&ROk&QO~Od&UO~OP#zOpsX!^sXdsX~O#}%]Op#TX!^#TX~OpzO!^&WO~Oo&[O#o%^O#}%]O~Ov#{OQ#gXe#gXk#gXm#gXp#gXr#gXt#gXz#gX!^#gX!`#gX!q#gX#m#gX#o#gX#p#gX#}#gXo#gX~O!^%hO!q&`Ok!oq#m!oqo!oq~P&lOl&aOv#{O~Od#eX!^#eX~P%_O!^%mOd$Ra~Od#dX!^#dX~P&lO!^%qOd#za~Od&fO~P&lOd&gO!T&hO~Od#cX!^#cX~P9dO!^%xOd$Qa~O]&mOd&oO~OS#bae#ba!V#ba!Y#ba#q#ba~Od&qO~PG]Od&qOk&rO~Ov#{OQ#gae#gak#gam#gap#gar#gat#gaz#ga!^#ga!`#ga!q#ga#m#ga#o#ga#p#ga#}#gao#ga~Od#ea!^#ea~P$SOd#da!^#da~P&lOR#gOr#gOt#gO#q%vO#}%]O~O!R#iOd#ca!^#ca~O`&xO~O!^%xOd$Qi~P&lO]&mOd&|O~Ov#{Od|ik|i~Od&}O~PG]Ok'OO~Od'PO~O!^%xOd$Qq~Od#cq!^#cq~P&lO#s!a#t#}]#}v!m~",
141
- goto: "2h$UPPPPP$VP$YP$c$uP$cP%X$cPP%_PPP%e%o%oPPPPP%oPP%oP&]P%oP%o'W%oP't'w'}'}(^'}P'}P'}P'}'}P(m'}(yP(|PP)p)v$c)|$c*SP$cP$c$cP*Y*{+YP$YP+aP+dP$YP$YP$YP+j$YP+m+p+s+z$YP$YPP$YP,P,V,f,|-[-b-l-r-x.O.U.`.f.l.rPPPPPPPPPPP.x/R/w/z0|P1U1u2O2R2U2[RnQ_^OP`kz!{$dq[OPYZ`kuvwxz!v!{#`$d%mqSOPYZ`kuvwxz!v!{#`$d%mQpTR#RqQ!OVR#SrQ#S!QS$Q!i!jR$i#U!V!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'Q!U!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QU#g!Y$t&hU%`$Y%b&WR&V%_!V!iac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QR$S!kQ%W$RR&S%Xk!^]bf!Y![!g#i#j#m$P$R%X%xQ#e!YQ${#mQ%w$tQ&j%xR&w&hQ!ygQ#p!`Q$^!xR%f$`R#n!]!U!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QQ!qdR$X!rQ!PVR#TrQ#S!PR$i#TQ!SWR#VsQ!UXR#WtQ{UQ!wgQ#^yQ#o!_Q$U!nQ$[!uQ$_!yQ%e$^Q&Y%aQ&]%fR&v&XSjPzQ!}kQ$c!{R%k$dZiPkz!{$dR$P!gQ%}%SR&z&mR!rdR!teR$Z!tS%a$Y%bR&t&WV%_$Y%b&WQ#PmR$g#PQ`OSkPzU!a`k$dR$d!{Q$p#aY%p$p%u&d&l'QQ%u$sQ&d%qQ&l%zR'Q&xQ#t!cQ#v!dQ#x!eV$}#t#v#xQ%X$RR&T%XQ%y$zS&k%y&yR&y&lQ%r$pR&e%rQ%n$mR&c%nQyUR#]yQ%i$aR&_%iQ!|jS$e!|$fR$f!}Q&n%}R&{&nQ#k!ZR$x#kQ%b$YR&Z%bQ&X%aR&u&X__OP`kz!{$d^UOP`kz!{$dQ!VYQ!WZQ#XuQ#YvQ#ZwQ#[xQ$]!vQ$m#`R&b%mR$q#aQ!gaQ!oc[#q!c!d!e#t#v#xQ$a!zd$o#a$p$s%q%u%z&d&l&x'QQ$r#cQ%R#{S%g$a%iQ%l$kQ&^%hR&p&P]#s!c!d!e#t#v#xW!Z]b!g$PQ!ufQ#f!YQ#l![Q$v#iQ$w#jQ$z#mS%V$R%XR&i%xQ#h!YQ%w$tR&w&hR$|#mR$n#`QlPR#_zQ!_]Q!nbQ$O!gR%U$P",
142
- nodeNames: "⚠ Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector CallQuery ArgList , CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to AtRule Styles",
143
- maxTerm: 143,
144
- nodeProps: [
145
- ["isolate", -2, 5, 36, ""],
146
- ["openedBy", 20, "(", 28, "[", 31, "{"],
147
- ["closedBy", 21, ")", 29, "]", 32, "}"]
148
- ],
149
- propSources: [cssHighlighting],
150
- skippedNodes: [0, 5, 106],
151
- repeatNodeCount: 15,
152
- tokenData: "JQ~R!YOX$qX^%i^p$qpq%iqr({rs-ust/itu6Wuv$qvw7Qwx7cxy9Qyz9cz{9h{|:R|}>t}!O?V!O!P?t!P!Q@]!Q![AU![!]BP!]!^B{!^!_C^!_!`DY!`!aDm!a!b$q!b!cEn!c!}$q!}#OG{#O#P$q#P#QH^#Q#R6W#R#o$q#o#pHo#p#q6W#q#rIQ#r#sIc#s#y$q#y#z%i#z$f$q$f$g%i$g#BY$q#BY#BZ%i#BZ$IS$q$IS$I_%i$I_$I|$q$I|$JO%i$JO$JT$q$JT$JU%i$JU$KV$q$KV$KW%i$KW&FU$q&FU&FV%i&FV;'S$q;'S;=`Iz<%lO$q`$tSOy%Qz;'S%Q;'S;=`%c<%lO%Q`%VS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q`%fP;=`<%l%Q~%nh#s~OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Q~'ah#s~!a`OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Qj)OUOy%Qz#]%Q#]#^)b#^;'S%Q;'S;=`%c<%lO%Qj)gU!a`Oy%Qz#a%Q#a#b)y#b;'S%Q;'S;=`%c<%lO%Qj*OU!a`Oy%Qz#d%Q#d#e*b#e;'S%Q;'S;=`%c<%lO%Qj*gU!a`Oy%Qz#c%Q#c#d*y#d;'S%Q;'S;=`%c<%lO%Qj+OU!a`Oy%Qz#f%Q#f#g+b#g;'S%Q;'S;=`%c<%lO%Qj+gU!a`Oy%Qz#h%Q#h#i+y#i;'S%Q;'S;=`%c<%lO%Qj,OU!a`Oy%Qz#T%Q#T#U,b#U;'S%Q;'S;=`%c<%lO%Qj,gU!a`Oy%Qz#b%Q#b#c,y#c;'S%Q;'S;=`%c<%lO%Qj-OU!a`Oy%Qz#h%Q#h#i-b#i;'S%Q;'S;=`%c<%lO%Qj-iS!qY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q~-xWOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c<%lO-u~.gOt~~.jRO;'S-u;'S;=`.s;=`O-u~.vXOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c;=`<%l-u<%lO-u~/fP;=`<%l-uj/nYjYOy%Qz!Q%Q!Q![0^![!c%Q!c!i0^!i#T%Q#T#Z0^#Z;'S%Q;'S;=`%c<%lO%Qj0cY!a`Oy%Qz!Q%Q!Q![1R![!c%Q!c!i1R!i#T%Q#T#Z1R#Z;'S%Q;'S;=`%c<%lO%Qj1WY!a`Oy%Qz!Q%Q!Q![1v![!c%Q!c!i1v!i#T%Q#T#Z1v#Z;'S%Q;'S;=`%c<%lO%Qj1}YrY!a`Oy%Qz!Q%Q!Q![2m![!c%Q!c!i2m!i#T%Q#T#Z2m#Z;'S%Q;'S;=`%c<%lO%Qj2tYrY!a`Oy%Qz!Q%Q!Q![3d![!c%Q!c!i3d!i#T%Q#T#Z3d#Z;'S%Q;'S;=`%c<%lO%Qj3iY!a`Oy%Qz!Q%Q!Q![4X![!c%Q!c!i4X!i#T%Q#T#Z4X#Z;'S%Q;'S;=`%c<%lO%Qj4`YrY!a`Oy%Qz!Q%Q!Q![5O![!c%Q!c!i5O!i#T%Q#T#Z5O#Z;'S%Q;'S;=`%c<%lO%Qj5TY!a`Oy%Qz!Q%Q!Q![5s![!c%Q!c!i5s!i#T%Q#T#Z5s#Z;'S%Q;'S;=`%c<%lO%Qj5zSrY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qd6ZUOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qd6tS!hS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qb7VSZQOy%Qz;'S%Q;'S;=`%c<%lO%Q~7fWOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z<%lO7c~8RRO;'S7c;'S;=`8[;=`O7c~8_XOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z;=`<%l7c<%lO7c~8}P;=`<%l7cj9VSeYOy%Qz;'S%Q;'S;=`%c<%lO%Q~9hOd~n9oUWQvWOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qj:YWvW!mQOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj:wU!a`Oy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Qj;bY!a`#}YOy%Qz!Q%Q!Q![;Z![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%Qj<VY!a`Oy%Qz{%Q{|<u|}%Q}!O<u!O!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj<zU!a`Oy%Qz!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj=eU!a`#}YOy%Qz!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj>O[!a`#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%Qj>yS!^YOy%Qz;'S%Q;'S;=`%c<%lO%Qj?[WvWOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj?yU]YOy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Q~@bTvWOy%Qz{@q{;'S%Q;'S;=`%c<%lO%Q~@xS!a`#t~Oy%Qz;'S%Q;'S;=`%c<%lO%QjAZ[#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%QjBUU`YOy%Qz![%Q![!]Bh!];'S%Q;'S;=`%c<%lO%QbBoSaQ!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QjCQSkYOy%Qz;'S%Q;'S;=`%c<%lO%QhCcU!TWOy%Qz!_%Q!_!`Cu!`;'S%Q;'S;=`%c<%lO%QhC|S!TW!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QlDaS!TW!hSOy%Qz;'S%Q;'S;=`%c<%lO%QjDtV!jQ!TWOy%Qz!_%Q!_!`Cu!`!aEZ!a;'S%Q;'S;=`%c<%lO%QbEbS!jQ!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QjEqYOy%Qz}%Q}!OFa!O!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjFfW!a`Oy%Qz!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjGV[iY!a`Oy%Qz}%Q}!OGO!O!Q%Q!Q![GO![!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjHQSmYOy%Qz;'S%Q;'S;=`%c<%lO%QnHcSl^Oy%Qz;'S%Q;'S;=`%c<%lO%QjHtSpYOy%Qz;'S%Q;'S;=`%c<%lO%QjIVSoYOy%Qz;'S%Q;'S;=`%c<%lO%QfIhU!mQOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Q`I}P;=`<%l$q",
153
- tokenizers: [descendant, unitToken, identifiers, queryIdentifiers, 1, 2, 3, 4, new LocalTokenGroup("m~RRYZ[z{a~~g~aO#v~~dP!P!Qg~lO#w~~", 28, 129)],
154
- topRules: { "StyleSheet": [0, 6], "Styles": [1, 105] },
155
- specialized: [{ term: 124, get: (value) => spec_callee[value] || -1 }, { term: 125, get: (value) => spec_queryIdentifier[value] || -1 }, { term: 4, get: (value) => spec_QueryCallee[value] || -1 }, { term: 25, get: (value) => spec_AtKeyword[value] || -1 }, { term: 123, get: (value) => spec_identifier[value] || -1 }],
156
- tokenPrec: 1963
157
- });
158
- let _properties = null;
159
- function properties() {
160
- if (!_properties && typeof document == "object" && document.body) {
161
- let { style } = document.body, names = [], seen = /* @__PURE__ */ new Set();
162
- for (let prop in style)
163
- if (prop != "cssText" && prop != "cssFloat") {
164
- if (typeof style[prop] == "string") {
165
- if (/[A-Z]/.test(prop))
166
- prop = prop.replace(/[A-Z]/g, (ch) => "-" + ch.toLowerCase());
167
- if (!seen.has(prop)) {
168
- names.push(prop);
169
- seen.add(prop);
170
- }
171
- }
172
- }
173
- _properties = names.sort().map((name) => ({ type: "property", label: name, apply: name + ": " }));
174
- }
175
- return _properties || [];
176
- }
177
- const pseudoClasses = /* @__PURE__ */ [
178
- "active",
179
- "after",
180
- "any-link",
181
- "autofill",
182
- "backdrop",
183
- "before",
184
- "checked",
185
- "cue",
186
- "default",
187
- "defined",
188
- "disabled",
189
- "empty",
190
- "enabled",
191
- "file-selector-button",
192
- "first",
193
- "first-child",
194
- "first-letter",
195
- "first-line",
196
- "first-of-type",
197
- "focus",
198
- "focus-visible",
199
- "focus-within",
200
- "fullscreen",
201
- "has",
202
- "host",
203
- "host-context",
204
- "hover",
205
- "in-range",
206
- "indeterminate",
207
- "invalid",
208
- "is",
209
- "lang",
210
- "last-child",
211
- "last-of-type",
212
- "left",
213
- "link",
214
- "marker",
215
- "modal",
216
- "not",
217
- "nth-child",
218
- "nth-last-child",
219
- "nth-last-of-type",
220
- "nth-of-type",
221
- "only-child",
222
- "only-of-type",
223
- "optional",
224
- "out-of-range",
225
- "part",
226
- "placeholder",
227
- "placeholder-shown",
228
- "read-only",
229
- "read-write",
230
- "required",
231
- "right",
232
- "root",
233
- "scope",
234
- "selection",
235
- "slotted",
236
- "target",
237
- "target-text",
238
- "valid",
239
- "visited",
240
- "where"
241
- ].map((name) => ({ type: "class", label: name }));
242
- const values = /* @__PURE__ */ [
243
- "above",
244
- "absolute",
245
- "activeborder",
246
- "additive",
247
- "activecaption",
248
- "after-white-space",
249
- "ahead",
250
- "alias",
251
- "all",
252
- "all-scroll",
253
- "alphabetic",
254
- "alternate",
255
- "always",
256
- "antialiased",
257
- "appworkspace",
258
- "asterisks",
259
- "attr",
260
- "auto",
261
- "auto-flow",
262
- "avoid",
263
- "avoid-column",
264
- "avoid-page",
265
- "avoid-region",
266
- "axis-pan",
267
- "background",
268
- "backwards",
269
- "baseline",
270
- "below",
271
- "bidi-override",
272
- "blink",
273
- "block",
274
- "block-axis",
275
- "bold",
276
- "bolder",
277
- "border",
278
- "border-box",
279
- "both",
280
- "bottom",
281
- "break",
282
- "break-all",
283
- "break-word",
284
- "bullets",
285
- "button",
286
- "button-bevel",
287
- "buttonface",
288
- "buttonhighlight",
289
- "buttonshadow",
290
- "buttontext",
291
- "calc",
292
- "capitalize",
293
- "caps-lock-indicator",
294
- "caption",
295
- "captiontext",
296
- "caret",
297
- "cell",
298
- "center",
299
- "checkbox",
300
- "circle",
301
- "cjk-decimal",
302
- "clear",
303
- "clip",
304
- "close-quote",
305
- "col-resize",
306
- "collapse",
307
- "color",
308
- "color-burn",
309
- "color-dodge",
310
- "column",
311
- "column-reverse",
312
- "compact",
313
- "condensed",
314
- "contain",
315
- "content",
316
- "contents",
317
- "content-box",
318
- "context-menu",
319
- "continuous",
320
- "copy",
321
- "counter",
322
- "counters",
323
- "cover",
324
- "crop",
325
- "cross",
326
- "crosshair",
327
- "currentcolor",
328
- "cursive",
329
- "cyclic",
330
- "darken",
331
- "dashed",
332
- "decimal",
333
- "decimal-leading-zero",
334
- "default",
335
- "default-button",
336
- "dense",
337
- "destination-atop",
338
- "destination-in",
339
- "destination-out",
340
- "destination-over",
341
- "difference",
342
- "disc",
343
- "discard",
344
- "disclosure-closed",
345
- "disclosure-open",
346
- "document",
347
- "dot-dash",
348
- "dot-dot-dash",
349
- "dotted",
350
- "double",
351
- "down",
352
- "e-resize",
353
- "ease",
354
- "ease-in",
355
- "ease-in-out",
356
- "ease-out",
357
- "element",
358
- "ellipse",
359
- "ellipsis",
360
- "embed",
361
- "end",
362
- "ethiopic-abegede-gez",
363
- "ethiopic-halehame-aa-er",
364
- "ethiopic-halehame-gez",
365
- "ew-resize",
366
- "exclusion",
367
- "expanded",
368
- "extends",
369
- "extra-condensed",
370
- "extra-expanded",
371
- "fantasy",
372
- "fast",
373
- "fill",
374
- "fill-box",
375
- "fixed",
376
- "flat",
377
- "flex",
378
- "flex-end",
379
- "flex-start",
380
- "footnotes",
381
- "forwards",
382
- "from",
383
- "geometricPrecision",
384
- "graytext",
385
- "grid",
386
- "groove",
387
- "hand",
388
- "hard-light",
389
- "help",
390
- "hidden",
391
- "hide",
392
- "higher",
393
- "highlight",
394
- "highlighttext",
395
- "horizontal",
396
- "hsl",
397
- "hsla",
398
- "hue",
399
- "icon",
400
- "ignore",
401
- "inactiveborder",
402
- "inactivecaption",
403
- "inactivecaptiontext",
404
- "infinite",
405
- "infobackground",
406
- "infotext",
407
- "inherit",
408
- "initial",
409
- "inline",
410
- "inline-axis",
411
- "inline-block",
412
- "inline-flex",
413
- "inline-grid",
414
- "inline-table",
415
- "inset",
416
- "inside",
417
- "intrinsic",
418
- "invert",
419
- "italic",
420
- "justify",
421
- "keep-all",
422
- "landscape",
423
- "large",
424
- "larger",
425
- "left",
426
- "level",
427
- "lighter",
428
- "lighten",
429
- "line-through",
430
- "linear",
431
- "linear-gradient",
432
- "lines",
433
- "list-item",
434
- "listbox",
435
- "listitem",
436
- "local",
437
- "logical",
438
- "loud",
439
- "lower",
440
- "lower-hexadecimal",
441
- "lower-latin",
442
- "lower-norwegian",
443
- "lowercase",
444
- "ltr",
445
- "luminosity",
446
- "manipulation",
447
- "match",
448
- "matrix",
449
- "matrix3d",
450
- "medium",
451
- "menu",
452
- "menutext",
453
- "message-box",
454
- "middle",
455
- "min-intrinsic",
456
- "mix",
457
- "monospace",
458
- "move",
459
- "multiple",
460
- "multiple_mask_images",
461
- "multiply",
462
- "n-resize",
463
- "narrower",
464
- "ne-resize",
465
- "nesw-resize",
466
- "no-close-quote",
467
- "no-drop",
468
- "no-open-quote",
469
- "no-repeat",
470
- "none",
471
- "normal",
472
- "not-allowed",
473
- "nowrap",
474
- "ns-resize",
475
- "numbers",
476
- "numeric",
477
- "nw-resize",
478
- "nwse-resize",
479
- "oblique",
480
- "opacity",
481
- "open-quote",
482
- "optimizeLegibility",
483
- "optimizeSpeed",
484
- "outset",
485
- "outside",
486
- "outside-shape",
487
- "overlay",
488
- "overline",
489
- "padding",
490
- "padding-box",
491
- "painted",
492
- "page",
493
- "paused",
494
- "perspective",
495
- "pinch-zoom",
496
- "plus-darker",
497
- "plus-lighter",
498
- "pointer",
499
- "polygon",
500
- "portrait",
501
- "pre",
502
- "pre-line",
503
- "pre-wrap",
504
- "preserve-3d",
505
- "progress",
506
- "push-button",
507
- "radial-gradient",
508
- "radio",
509
- "read-only",
510
- "read-write",
511
- "read-write-plaintext-only",
512
- "rectangle",
513
- "region",
514
- "relative",
515
- "repeat",
516
- "repeating-linear-gradient",
517
- "repeating-radial-gradient",
518
- "repeat-x",
519
- "repeat-y",
520
- "reset",
521
- "reverse",
522
- "rgb",
523
- "rgba",
524
- "ridge",
525
- "right",
526
- "rotate",
527
- "rotate3d",
528
- "rotateX",
529
- "rotateY",
530
- "rotateZ",
531
- "round",
532
- "row",
533
- "row-resize",
534
- "row-reverse",
535
- "rtl",
536
- "run-in",
537
- "running",
538
- "s-resize",
539
- "sans-serif",
540
- "saturation",
541
- "scale",
542
- "scale3d",
543
- "scaleX",
544
- "scaleY",
545
- "scaleZ",
546
- "screen",
547
- "scroll",
548
- "scrollbar",
549
- "scroll-position",
550
- "se-resize",
551
- "self-start",
552
- "self-end",
553
- "semi-condensed",
554
- "semi-expanded",
555
- "separate",
556
- "serif",
557
- "show",
558
- "single",
559
- "skew",
560
- "skewX",
561
- "skewY",
562
- "skip-white-space",
563
- "slide",
564
- "slider-horizontal",
565
- "slider-vertical",
566
- "sliderthumb-horizontal",
567
- "sliderthumb-vertical",
568
- "slow",
569
- "small",
570
- "small-caps",
571
- "small-caption",
572
- "smaller",
573
- "soft-light",
574
- "solid",
575
- "source-atop",
576
- "source-in",
577
- "source-out",
578
- "source-over",
579
- "space",
580
- "space-around",
581
- "space-between",
582
- "space-evenly",
583
- "spell-out",
584
- "square",
585
- "start",
586
- "static",
587
- "status-bar",
588
- "stretch",
589
- "stroke",
590
- "stroke-box",
591
- "sub",
592
- "subpixel-antialiased",
593
- "svg_masks",
594
- "super",
595
- "sw-resize",
596
- "symbolic",
597
- "symbols",
598
- "system-ui",
599
- "table",
600
- "table-caption",
601
- "table-cell",
602
- "table-column",
603
- "table-column-group",
604
- "table-footer-group",
605
- "table-header-group",
606
- "table-row",
607
- "table-row-group",
608
- "text",
609
- "text-bottom",
610
- "text-top",
611
- "textarea",
612
- "textfield",
613
- "thick",
614
- "thin",
615
- "threeddarkshadow",
616
- "threedface",
617
- "threedhighlight",
618
- "threedlightshadow",
619
- "threedshadow",
620
- "to",
621
- "top",
622
- "transform",
623
- "translate",
624
- "translate3d",
625
- "translateX",
626
- "translateY",
627
- "translateZ",
628
- "transparent",
629
- "ultra-condensed",
630
- "ultra-expanded",
631
- "underline",
632
- "unidirectional-pan",
633
- "unset",
634
- "up",
635
- "upper-latin",
636
- "uppercase",
637
- "url",
638
- "var",
639
- "vertical",
640
- "vertical-text",
641
- "view-box",
642
- "visible",
643
- "visibleFill",
644
- "visiblePainted",
645
- "visibleStroke",
646
- "visual",
647
- "w-resize",
648
- "wait",
649
- "wave",
650
- "wider",
651
- "window",
652
- "windowframe",
653
- "windowtext",
654
- "words",
655
- "wrap",
656
- "wrap-reverse",
657
- "x-large",
658
- "x-small",
659
- "xor",
660
- "xx-large",
661
- "xx-small"
662
- ].map((name) => ({ type: "keyword", label: name })).concat(/* @__PURE__ */ [
663
- "aliceblue",
664
- "antiquewhite",
665
- "aqua",
666
- "aquamarine",
667
- "azure",
668
- "beige",
669
- "bisque",
670
- "black",
671
- "blanchedalmond",
672
- "blue",
673
- "blueviolet",
674
- "brown",
675
- "burlywood",
676
- "cadetblue",
677
- "chartreuse",
678
- "chocolate",
679
- "coral",
680
- "cornflowerblue",
681
- "cornsilk",
682
- "crimson",
683
- "cyan",
684
- "darkblue",
685
- "darkcyan",
686
- "darkgoldenrod",
687
- "darkgray",
688
- "darkgreen",
689
- "darkkhaki",
690
- "darkmagenta",
691
- "darkolivegreen",
692
- "darkorange",
693
- "darkorchid",
694
- "darkred",
695
- "darksalmon",
696
- "darkseagreen",
697
- "darkslateblue",
698
- "darkslategray",
699
- "darkturquoise",
700
- "darkviolet",
701
- "deeppink",
702
- "deepskyblue",
703
- "dimgray",
704
- "dodgerblue",
705
- "firebrick",
706
- "floralwhite",
707
- "forestgreen",
708
- "fuchsia",
709
- "gainsboro",
710
- "ghostwhite",
711
- "gold",
712
- "goldenrod",
713
- "gray",
714
- "grey",
715
- "green",
716
- "greenyellow",
717
- "honeydew",
718
- "hotpink",
719
- "indianred",
720
- "indigo",
721
- "ivory",
722
- "khaki",
723
- "lavender",
724
- "lavenderblush",
725
- "lawngreen",
726
- "lemonchiffon",
727
- "lightblue",
728
- "lightcoral",
729
- "lightcyan",
730
- "lightgoldenrodyellow",
731
- "lightgray",
732
- "lightgreen",
733
- "lightpink",
734
- "lightsalmon",
735
- "lightseagreen",
736
- "lightskyblue",
737
- "lightslategray",
738
- "lightsteelblue",
739
- "lightyellow",
740
- "lime",
741
- "limegreen",
742
- "linen",
743
- "magenta",
744
- "maroon",
745
- "mediumaquamarine",
746
- "mediumblue",
747
- "mediumorchid",
748
- "mediumpurple",
749
- "mediumseagreen",
750
- "mediumslateblue",
751
- "mediumspringgreen",
752
- "mediumturquoise",
753
- "mediumvioletred",
754
- "midnightblue",
755
- "mintcream",
756
- "mistyrose",
757
- "moccasin",
758
- "navajowhite",
759
- "navy",
760
- "oldlace",
761
- "olive",
762
- "olivedrab",
763
- "orange",
764
- "orangered",
765
- "orchid",
766
- "palegoldenrod",
767
- "palegreen",
768
- "paleturquoise",
769
- "palevioletred",
770
- "papayawhip",
771
- "peachpuff",
772
- "peru",
773
- "pink",
774
- "plum",
775
- "powderblue",
776
- "purple",
777
- "rebeccapurple",
778
- "red",
779
- "rosybrown",
780
- "royalblue",
781
- "saddlebrown",
782
- "salmon",
783
- "sandybrown",
784
- "seagreen",
785
- "seashell",
786
- "sienna",
787
- "silver",
788
- "skyblue",
789
- "slateblue",
790
- "slategray",
791
- "snow",
792
- "springgreen",
793
- "steelblue",
794
- "tan",
795
- "teal",
796
- "thistle",
797
- "tomato",
798
- "turquoise",
799
- "violet",
800
- "wheat",
801
- "white",
802
- "whitesmoke",
803
- "yellow",
804
- "yellowgreen"
805
- ].map((name) => ({ type: "constant", label: name })));
806
- const tags = /* @__PURE__ */ [
807
- "a",
808
- "abbr",
809
- "address",
810
- "article",
811
- "aside",
812
- "b",
813
- "bdi",
814
- "bdo",
815
- "blockquote",
816
- "body",
817
- "br",
818
- "button",
819
- "canvas",
820
- "caption",
821
- "cite",
822
- "code",
823
- "col",
824
- "colgroup",
825
- "dd",
826
- "del",
827
- "details",
828
- "dfn",
829
- "dialog",
830
- "div",
831
- "dl",
832
- "dt",
833
- "em",
834
- "figcaption",
835
- "figure",
836
- "footer",
837
- "form",
838
- "header",
839
- "hgroup",
840
- "h1",
841
- "h2",
842
- "h3",
843
- "h4",
844
- "h5",
845
- "h6",
846
- "hr",
847
- "html",
848
- "i",
849
- "iframe",
850
- "img",
851
- "input",
852
- "ins",
853
- "kbd",
854
- "label",
855
- "legend",
856
- "li",
857
- "main",
858
- "meter",
859
- "nav",
860
- "ol",
861
- "output",
862
- "p",
863
- "pre",
864
- "ruby",
865
- "section",
866
- "select",
867
- "small",
868
- "source",
869
- "span",
870
- "strong",
871
- "sub",
872
- "summary",
873
- "sup",
874
- "table",
875
- "tbody",
876
- "td",
877
- "template",
878
- "textarea",
879
- "tfoot",
880
- "th",
881
- "thead",
882
- "tr",
883
- "u",
884
- "ul"
885
- ].map((name) => ({ type: "type", label: name }));
886
- const atRules = /* @__PURE__ */ [
887
- "@charset",
888
- "@color-profile",
889
- "@container",
890
- "@counter-style",
891
- "@font-face",
892
- "@font-feature-values",
893
- "@font-palette-values",
894
- "@import",
895
- "@keyframes",
896
- "@layer",
897
- "@media",
898
- "@namespace",
899
- "@page",
900
- "@position-try",
901
- "@property",
902
- "@scope",
903
- "@starting-style",
904
- "@supports",
905
- "@view-transition"
906
- ].map((label) => ({ type: "keyword", label }));
907
- const identifier$1 = /^(\w[\w-]*|-\w[\w-]*|)$/, variable = /^-(-[\w-]*)?$/;
908
- function isVarArg(node, doc) {
909
- var _a;
910
- if (node.name == "(" || node.type.isError)
911
- node = node.parent || node;
912
- if (node.name != "ArgList")
913
- return false;
914
- let callee2 = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.firstChild;
915
- if ((callee2 === null || callee2 === void 0 ? void 0 : callee2.name) != "Callee")
916
- return false;
917
- return doc.sliceString(callee2.from, callee2.to) == "var";
918
- }
919
- const VariablesByNode = /* @__PURE__ */ new NodeWeakMap();
920
- const declSelector = ["Declaration"];
921
- function astTop(node) {
922
- for (let cur = node; ; ) {
923
- if (cur.type.isTop)
924
- return cur;
925
- if (!(cur = cur.parent))
926
- return node;
927
- }
928
- }
929
- function variableNames(doc, node, isVariable) {
930
- if (node.to - node.from > 4096) {
931
- let known = VariablesByNode.get(node);
932
- if (known)
933
- return known;
934
- let result = [], seen = /* @__PURE__ */ new Set(), cursor = node.cursor(IterMode.IncludeAnonymous);
935
- if (cursor.firstChild())
936
- do {
937
- for (let option of variableNames(doc, cursor.node, isVariable))
938
- if (!seen.has(option.label)) {
939
- seen.add(option.label);
940
- result.push(option);
941
- }
942
- } while (cursor.nextSibling());
943
- VariablesByNode.set(node, result);
944
- return result;
945
- } else {
946
- let result = [], seen = /* @__PURE__ */ new Set();
947
- node.cursor().iterate((node2) => {
948
- var _a;
949
- if (isVariable(node2) && node2.matchContext(declSelector) && ((_a = node2.node.nextSibling) === null || _a === void 0 ? void 0 : _a.name) == ":") {
950
- let name = doc.sliceString(node2.from, node2.to);
951
- if (!seen.has(name)) {
952
- seen.add(name);
953
- result.push({ label: name, type: "variable" });
954
- }
955
- }
956
- });
957
- return result;
958
- }
959
- }
960
- const defineCSSCompletionSource = (isVariable) => (context) => {
961
- let { state, pos } = context, node = syntaxTree(state).resolveInner(pos, -1);
962
- let isDash = node.type.isError && node.from == node.to - 1 && state.doc.sliceString(node.from, node.to) == "-";
963
- if (node.name == "PropertyName" || (isDash || node.name == "TagName") && /^(Block|Styles)$/.test(node.resolve(node.to).name))
964
- return { from: node.from, options: properties(), validFor: identifier$1 };
965
- if (node.name == "ValueName")
966
- return { from: node.from, options: values, validFor: identifier$1 };
967
- if (node.name == "PseudoClassName")
968
- return { from: node.from, options: pseudoClasses, validFor: identifier$1 };
969
- if (isVariable(node) || (context.explicit || isDash) && isVarArg(node, state.doc))
970
- return {
971
- from: isVariable(node) || isDash ? node.from : pos,
972
- options: variableNames(state.doc, astTop(node), isVariable),
973
- validFor: variable
974
- };
975
- if (node.name == "TagName") {
976
- for (let { parent } = node; parent; parent = parent.parent)
977
- if (parent.name == "Block")
978
- return { from: node.from, options: properties(), validFor: identifier$1 };
979
- return { from: node.from, options: tags, validFor: identifier$1 };
980
- }
981
- if (node.name == "AtKeyword")
982
- return { from: node.from, options: atRules, validFor: identifier$1 };
983
- if (!context.explicit)
984
- return null;
985
- let above = node.resolve(pos), before = above.childBefore(pos);
986
- if (before && before.name == ":" && above.name == "PseudoClassSelector")
987
- return { from: pos, options: pseudoClasses, validFor: identifier$1 };
988
- if (before && before.name == ":" && above.name == "Declaration" || above.name == "ArgList")
989
- return { from: pos, options: values, validFor: identifier$1 };
990
- if (above.name == "Block" || above.name == "Styles")
991
- return { from: pos, options: properties(), validFor: identifier$1 };
992
- return null;
993
- };
994
- const cssCompletionSource = /* @__PURE__ */ defineCSSCompletionSource((n) => n.name == "VariableName");
995
- const cssLanguage = /* @__PURE__ */ LRLanguage.define({
996
- name: "css",
997
- parser: /* @__PURE__ */ parser.configure({
998
- props: [
999
- /* @__PURE__ */ indentNodeProp.add({
1000
- Declaration: /* @__PURE__ */ continuedIndent()
1001
- }),
1002
- /* @__PURE__ */ foldNodeProp.add({
1003
- "Block KeyframeList": foldInside
1004
- })
1005
- ]
1006
- }),
1007
- languageData: {
1008
- commentTokens: { block: { open: "/*", close: "*/" } },
1009
- indentOnInput: /^\s*\}$/,
1010
- wordChars: "-"
1011
- }
1012
- });
1013
- function css() {
1014
- return new LanguageSupport(cssLanguage, cssLanguage.data.of({ autocomplete: cssCompletionSource }));
1015
- }
1016
- const index$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1017
- __proto__: null,
1018
- css,
1019
- cssCompletionSource,
1020
- cssLanguage,
1021
- defineCSSCompletionSource
1022
- }, Symbol.toStringTag, { value: "Module" }));
1023
- const Targets = ["_blank", "_self", "_top", "_parent"];
1024
- const Charsets = ["ascii", "utf-8", "utf-16", "latin1", "latin1"];
1025
- const Methods = ["get", "post", "put", "delete"];
1026
- const Encs = ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"];
1027
- const Bool = ["true", "false"];
1028
- const S = {};
1029
- const Tags = {
1030
- a: {
1031
- attrs: {
1032
- href: null,
1033
- ping: null,
1034
- type: null,
1035
- media: null,
1036
- target: Targets,
1037
- hreflang: null
1038
- }
1039
- },
1040
- abbr: S,
1041
- address: S,
1042
- area: {
1043
- attrs: {
1044
- alt: null,
1045
- coords: null,
1046
- href: null,
1047
- target: null,
1048
- ping: null,
1049
- media: null,
1050
- hreflang: null,
1051
- type: null,
1052
- shape: ["default", "rect", "circle", "poly"]
1053
- }
1054
- },
1055
- article: S,
1056
- aside: S,
1057
- audio: {
1058
- attrs: {
1059
- src: null,
1060
- mediagroup: null,
1061
- crossorigin: ["anonymous", "use-credentials"],
1062
- preload: ["none", "metadata", "auto"],
1063
- autoplay: ["autoplay"],
1064
- loop: ["loop"],
1065
- controls: ["controls"]
1066
- }
1067
- },
1068
- b: S,
1069
- base: { attrs: { href: null, target: Targets } },
1070
- bdi: S,
1071
- bdo: S,
1072
- blockquote: { attrs: { cite: null } },
1073
- body: S,
1074
- br: S,
1075
- button: {
1076
- attrs: {
1077
- form: null,
1078
- formaction: null,
1079
- name: null,
1080
- value: null,
1081
- autofocus: ["autofocus"],
1082
- disabled: ["autofocus"],
1083
- formenctype: Encs,
1084
- formmethod: Methods,
1085
- formnovalidate: ["novalidate"],
1086
- formtarget: Targets,
1087
- type: ["submit", "reset", "button"]
1088
- }
1089
- },
1090
- canvas: { attrs: { width: null, height: null } },
1091
- caption: S,
1092
- center: S,
1093
- cite: S,
1094
- code: S,
1095
- col: { attrs: { span: null } },
1096
- colgroup: { attrs: { span: null } },
1097
- command: {
1098
- attrs: {
1099
- type: ["command", "checkbox", "radio"],
1100
- label: null,
1101
- icon: null,
1102
- radiogroup: null,
1103
- command: null,
1104
- title: null,
1105
- disabled: ["disabled"],
1106
- checked: ["checked"]
1107
- }
1108
- },
1109
- data: { attrs: { value: null } },
1110
- datagrid: { attrs: { disabled: ["disabled"], multiple: ["multiple"] } },
1111
- datalist: { attrs: { data: null } },
1112
- dd: S,
1113
- del: { attrs: { cite: null, datetime: null } },
1114
- details: { attrs: { open: ["open"] } },
1115
- dfn: S,
1116
- div: S,
1117
- dl: S,
1118
- dt: S,
1119
- em: S,
1120
- embed: { attrs: { src: null, type: null, width: null, height: null } },
1121
- eventsource: { attrs: { src: null } },
1122
- fieldset: { attrs: { disabled: ["disabled"], form: null, name: null } },
1123
- figcaption: S,
1124
- figure: S,
1125
- footer: S,
1126
- form: {
1127
- attrs: {
1128
- action: null,
1129
- name: null,
1130
- "accept-charset": Charsets,
1131
- autocomplete: ["on", "off"],
1132
- enctype: Encs,
1133
- method: Methods,
1134
- novalidate: ["novalidate"],
1135
- target: Targets
1136
- }
1137
- },
1138
- h1: S,
1139
- h2: S,
1140
- h3: S,
1141
- h4: S,
1142
- h5: S,
1143
- h6: S,
1144
- head: {
1145
- children: ["title", "base", "link", "style", "meta", "script", "noscript", "command"]
1146
- },
1147
- header: S,
1148
- hgroup: S,
1149
- hr: S,
1150
- html: {
1151
- attrs: { manifest: null }
1152
- },
1153
- i: S,
1154
- iframe: {
1155
- attrs: {
1156
- src: null,
1157
- srcdoc: null,
1158
- name: null,
1159
- width: null,
1160
- height: null,
1161
- sandbox: ["allow-top-navigation", "allow-same-origin", "allow-forms", "allow-scripts"],
1162
- seamless: ["seamless"]
1163
- }
1164
- },
1165
- img: {
1166
- attrs: {
1167
- alt: null,
1168
- src: null,
1169
- ismap: null,
1170
- usemap: null,
1171
- width: null,
1172
- height: null,
1173
- crossorigin: ["anonymous", "use-credentials"]
1174
- }
1175
- },
1176
- input: {
1177
- attrs: {
1178
- alt: null,
1179
- dirname: null,
1180
- form: null,
1181
- formaction: null,
1182
- height: null,
1183
- list: null,
1184
- max: null,
1185
- maxlength: null,
1186
- min: null,
1187
- name: null,
1188
- pattern: null,
1189
- placeholder: null,
1190
- size: null,
1191
- src: null,
1192
- step: null,
1193
- value: null,
1194
- width: null,
1195
- accept: ["audio/*", "video/*", "image/*"],
1196
- autocomplete: ["on", "off"],
1197
- autofocus: ["autofocus"],
1198
- checked: ["checked"],
1199
- disabled: ["disabled"],
1200
- formenctype: Encs,
1201
- formmethod: Methods,
1202
- formnovalidate: ["novalidate"],
1203
- formtarget: Targets,
1204
- multiple: ["multiple"],
1205
- readonly: ["readonly"],
1206
- required: ["required"],
1207
- type: [
1208
- "hidden",
1209
- "text",
1210
- "search",
1211
- "tel",
1212
- "url",
1213
- "email",
1214
- "password",
1215
- "datetime",
1216
- "date",
1217
- "month",
1218
- "week",
1219
- "time",
1220
- "datetime-local",
1221
- "number",
1222
- "range",
1223
- "color",
1224
- "checkbox",
1225
- "radio",
1226
- "file",
1227
- "submit",
1228
- "image",
1229
- "reset",
1230
- "button"
1231
- ]
1232
- }
1233
- },
1234
- ins: { attrs: { cite: null, datetime: null } },
1235
- kbd: S,
1236
- keygen: {
1237
- attrs: {
1238
- challenge: null,
1239
- form: null,
1240
- name: null,
1241
- autofocus: ["autofocus"],
1242
- disabled: ["disabled"],
1243
- keytype: ["RSA"]
1244
- }
1245
- },
1246
- label: { attrs: { for: null, form: null } },
1247
- legend: S,
1248
- li: { attrs: { value: null } },
1249
- link: {
1250
- attrs: {
1251
- href: null,
1252
- type: null,
1253
- hreflang: null,
1254
- media: null,
1255
- sizes: ["all", "16x16", "16x16 32x32", "16x16 32x32 64x64"]
1256
- }
1257
- },
1258
- map: { attrs: { name: null } },
1259
- mark: S,
1260
- menu: { attrs: { label: null, type: ["list", "context", "toolbar"] } },
1261
- meta: {
1262
- attrs: {
1263
- content: null,
1264
- charset: Charsets,
1265
- name: ["viewport", "application-name", "author", "description", "generator", "keywords"],
1266
- "http-equiv": ["content-language", "content-type", "default-style", "refresh"]
1267
- }
1268
- },
1269
- meter: { attrs: { value: null, min: null, low: null, high: null, max: null, optimum: null } },
1270
- nav: S,
1271
- noscript: S,
1272
- object: {
1273
- attrs: {
1274
- data: null,
1275
- type: null,
1276
- name: null,
1277
- usemap: null,
1278
- form: null,
1279
- width: null,
1280
- height: null,
1281
- typemustmatch: ["typemustmatch"]
1282
- }
1283
- },
1284
- ol: {
1285
- attrs: { reversed: ["reversed"], start: null, type: ["1", "a", "A", "i", "I"] },
1286
- children: ["li", "script", "template", "ul", "ol"]
1287
- },
1288
- optgroup: { attrs: { disabled: ["disabled"], label: null } },
1289
- option: { attrs: { disabled: ["disabled"], label: null, selected: ["selected"], value: null } },
1290
- output: { attrs: { for: null, form: null, name: null } },
1291
- p: S,
1292
- param: { attrs: { name: null, value: null } },
1293
- pre: S,
1294
- progress: { attrs: { value: null, max: null } },
1295
- q: { attrs: { cite: null } },
1296
- rp: S,
1297
- rt: S,
1298
- ruby: S,
1299
- samp: S,
1300
- script: {
1301
- attrs: {
1302
- type: ["text/javascript"],
1303
- src: null,
1304
- async: ["async"],
1305
- defer: ["defer"],
1306
- charset: Charsets
1307
- }
1308
- },
1309
- section: S,
1310
- select: {
1311
- attrs: {
1312
- form: null,
1313
- name: null,
1314
- size: null,
1315
- autofocus: ["autofocus"],
1316
- disabled: ["disabled"],
1317
- multiple: ["multiple"]
1318
- }
1319
- },
1320
- slot: { attrs: { name: null } },
1321
- small: S,
1322
- source: { attrs: { src: null, type: null, media: null } },
1323
- span: S,
1324
- strong: S,
1325
- style: {
1326
- attrs: {
1327
- type: ["text/css"],
1328
- media: null,
1329
- scoped: null
1330
- }
1331
- },
1332
- sub: S,
1333
- summary: S,
1334
- sup: S,
1335
- table: S,
1336
- tbody: S,
1337
- td: { attrs: { colspan: null, rowspan: null, headers: null } },
1338
- template: S,
1339
- textarea: {
1340
- attrs: {
1341
- dirname: null,
1342
- form: null,
1343
- maxlength: null,
1344
- name: null,
1345
- placeholder: null,
1346
- rows: null,
1347
- cols: null,
1348
- autofocus: ["autofocus"],
1349
- disabled: ["disabled"],
1350
- readonly: ["readonly"],
1351
- required: ["required"],
1352
- wrap: ["soft", "hard"]
1353
- }
1354
- },
1355
- tfoot: S,
1356
- th: { attrs: { colspan: null, rowspan: null, headers: null, scope: ["row", "col", "rowgroup", "colgroup"] } },
1357
- thead: S,
1358
- time: { attrs: { datetime: null } },
1359
- title: S,
1360
- tr: S,
1361
- track: {
1362
- attrs: {
1363
- src: null,
1364
- label: null,
1365
- default: null,
1366
- kind: ["subtitles", "captions", "descriptions", "chapters", "metadata"],
1367
- srclang: null
1368
- }
1369
- },
1370
- ul: { children: ["li", "script", "template", "ul", "ol"] },
1371
- var: S,
1372
- video: {
1373
- attrs: {
1374
- src: null,
1375
- poster: null,
1376
- width: null,
1377
- height: null,
1378
- crossorigin: ["anonymous", "use-credentials"],
1379
- preload: ["auto", "metadata", "none"],
1380
- autoplay: ["autoplay"],
1381
- mediagroup: ["movie"],
1382
- muted: ["muted"],
1383
- controls: ["controls"]
1384
- }
1385
- },
1386
- wbr: S
1387
- };
1388
- const GlobalAttrs = {
1389
- accesskey: null,
1390
- class: null,
1391
- contenteditable: Bool,
1392
- contextmenu: null,
1393
- dir: ["ltr", "rtl", "auto"],
1394
- draggable: ["true", "false", "auto"],
1395
- dropzone: ["copy", "move", "link", "string:", "file:"],
1396
- hidden: ["hidden"],
1397
- id: null,
1398
- inert: ["inert"],
1399
- itemid: null,
1400
- itemprop: null,
1401
- itemref: null,
1402
- itemscope: ["itemscope"],
1403
- itemtype: null,
1404
- lang: ["ar", "bn", "de", "en-GB", "en-US", "es", "fr", "hi", "id", "ja", "pa", "pt", "ru", "tr", "zh"],
1405
- spellcheck: Bool,
1406
- autocorrect: Bool,
1407
- autocapitalize: Bool,
1408
- style: null,
1409
- tabindex: null,
1410
- title: null,
1411
- translate: ["yes", "no"],
1412
- rel: ["stylesheet", "alternate", "author", "bookmark", "help", "license", "next", "nofollow", "noreferrer", "prefetch", "prev", "search", "tag"],
1413
- role: /* @__PURE__ */ "alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),
1414
- "aria-activedescendant": null,
1415
- "aria-atomic": Bool,
1416
- "aria-autocomplete": ["inline", "list", "both", "none"],
1417
- "aria-busy": Bool,
1418
- "aria-checked": ["true", "false", "mixed", "undefined"],
1419
- "aria-controls": null,
1420
- "aria-describedby": null,
1421
- "aria-disabled": Bool,
1422
- "aria-dropeffect": null,
1423
- "aria-expanded": ["true", "false", "undefined"],
1424
- "aria-flowto": null,
1425
- "aria-grabbed": ["true", "false", "undefined"],
1426
- "aria-haspopup": Bool,
1427
- "aria-hidden": Bool,
1428
- "aria-invalid": ["true", "false", "grammar", "spelling"],
1429
- "aria-label": null,
1430
- "aria-labelledby": null,
1431
- "aria-level": null,
1432
- "aria-live": ["off", "polite", "assertive"],
1433
- "aria-multiline": Bool,
1434
- "aria-multiselectable": Bool,
1435
- "aria-owns": null,
1436
- "aria-posinset": null,
1437
- "aria-pressed": ["true", "false", "mixed", "undefined"],
1438
- "aria-readonly": Bool,
1439
- "aria-relevant": null,
1440
- "aria-required": Bool,
1441
- "aria-selected": ["true", "false", "undefined"],
1442
- "aria-setsize": null,
1443
- "aria-sort": ["ascending", "descending", "none", "other"],
1444
- "aria-valuemax": null,
1445
- "aria-valuemin": null,
1446
- "aria-valuenow": null,
1447
- "aria-valuetext": null
1448
- };
1449
- const eventAttributes = /* @__PURE__ */ "beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map((n) => "on" + n);
1450
- for (let a of eventAttributes)
1451
- GlobalAttrs[a] = null;
1452
- class Schema {
1453
- constructor(extraTags, extraAttrs) {
1454
- this.tags = { ...Tags, ...extraTags };
1455
- this.globalAttrs = { ...GlobalAttrs, ...extraAttrs };
1456
- this.allTags = Object.keys(this.tags);
1457
- this.globalAttrNames = Object.keys(this.globalAttrs);
1458
- }
1459
- }
1460
- Schema.default = /* @__PURE__ */ new Schema();
1461
- function elementName(doc, tree, max = doc.length) {
1462
- if (!tree)
1463
- return "";
1464
- let tag = tree.firstChild;
1465
- let name = tag && tag.getChild("TagName");
1466
- return name ? doc.sliceString(name.from, Math.min(name.to, max)) : "";
1467
- }
1468
- function findParentElement(tree, skip = false) {
1469
- for (; tree; tree = tree.parent)
1470
- if (tree.name == "Element") {
1471
- if (skip)
1472
- skip = false;
1473
- else
1474
- return tree;
1475
- }
1476
- return null;
1477
- }
1478
- function allowedChildren(doc, tree, schema) {
1479
- let parentInfo = schema.tags[elementName(doc, findParentElement(tree))];
1480
- return (parentInfo === null || parentInfo === void 0 ? void 0 : parentInfo.children) || schema.allTags;
1481
- }
1482
- function openTags(doc, tree) {
1483
- let open = [];
1484
- for (let parent = findParentElement(tree); parent && !parent.type.isTop; parent = findParentElement(parent.parent)) {
1485
- let tagName = elementName(doc, parent);
1486
- if (tagName && parent.lastChild.name == "CloseTag")
1487
- break;
1488
- if (tagName && open.indexOf(tagName) < 0 && (tree.name == "EndTag" || tree.from >= parent.firstChild.to))
1489
- open.push(tagName);
1490
- }
1491
- return open;
1492
- }
1493
- const identifier = /^[:\-\.\w\u00b7-\uffff]*$/;
1494
- function completeTag(state, schema, tree, from, to) {
1495
- let end = /\s*>/.test(state.sliceDoc(to, to + 5)) ? "" : ">";
1496
- let parent = findParentElement(tree, tree.name == "StartTag" || tree.name == "TagName");
1497
- return {
1498
- from,
1499
- to,
1500
- options: allowedChildren(state.doc, parent, schema).map((tagName) => ({ label: tagName, type: "type" })).concat(openTags(state.doc, tree).map((tag, i) => ({
1501
- label: "/" + tag,
1502
- apply: "/" + tag + end,
1503
- type: "type",
1504
- boost: 99 - i
1505
- }))),
1506
- validFor: /^\/?[:\-\.\w\u00b7-\uffff]*$/
1507
- };
1508
- }
1509
- function completeCloseTag(state, tree, from, to) {
1510
- let end = /\s*>/.test(state.sliceDoc(to, to + 5)) ? "" : ">";
1511
- return {
1512
- from,
1513
- to,
1514
- options: openTags(state.doc, tree).map((tag, i) => ({ label: tag, apply: tag + end, type: "type", boost: 99 - i })),
1515
- validFor: identifier
1516
- };
1517
- }
1518
- function completeStartTag(state, schema, tree, pos) {
1519
- let options = [], level = 0;
1520
- for (let tagName of allowedChildren(state.doc, tree, schema))
1521
- options.push({ label: "<" + tagName, type: "type" });
1522
- for (let open of openTags(state.doc, tree))
1523
- options.push({ label: "</" + open + ">", type: "type", boost: 99 - level++ });
1524
- return { from: pos, to: pos, options, validFor: /^<\/?[:\-\.\w\u00b7-\uffff]*$/ };
1525
- }
1526
- function completeAttrName(state, schema, tree, from, to) {
1527
- let elt = findParentElement(tree), info = elt ? schema.tags[elementName(state.doc, elt)] : null;
1528
- let localAttrs = info && info.attrs ? Object.keys(info.attrs) : [];
1529
- let names = info && info.globalAttrs === false ? localAttrs : localAttrs.length ? localAttrs.concat(schema.globalAttrNames) : schema.globalAttrNames;
1530
- return {
1531
- from,
1532
- to,
1533
- options: names.map((attrName) => ({ label: attrName, type: "property" })),
1534
- validFor: identifier
1535
- };
1536
- }
1537
- function completeAttrValue(state, schema, tree, from, to) {
1538
- var _a;
1539
- let nameNode = (_a = tree.parent) === null || _a === void 0 ? void 0 : _a.getChild("AttributeName");
1540
- let options = [], token = void 0;
1541
- if (nameNode) {
1542
- let attrName = state.sliceDoc(nameNode.from, nameNode.to);
1543
- let attrs = schema.globalAttrs[attrName];
1544
- if (!attrs) {
1545
- let elt = findParentElement(tree), info = elt ? schema.tags[elementName(state.doc, elt)] : null;
1546
- attrs = (info === null || info === void 0 ? void 0 : info.attrs) && info.attrs[attrName];
1547
- }
1548
- if (attrs) {
1549
- let base = state.sliceDoc(from, to).toLowerCase(), quoteStart = '"', quoteEnd = '"';
1550
- if (/^['"]/.test(base)) {
1551
- token = base[0] == '"' ? /^[^"]*$/ : /^[^']*$/;
1552
- quoteStart = "";
1553
- quoteEnd = state.sliceDoc(to, to + 1) == base[0] ? "" : base[0];
1554
- base = base.slice(1);
1555
- from++;
1556
- } else {
1557
- token = /^[^\s<>='"]*$/;
1558
- }
1559
- for (let value of attrs)
1560
- options.push({ label: value, apply: quoteStart + value + quoteEnd, type: "constant" });
1561
- }
1562
- }
1563
- return { from, to, options, validFor: token };
1564
- }
1565
- function htmlCompletionFor(schema, context) {
1566
- let { state, pos } = context, tree = syntaxTree(state).resolveInner(pos, -1), around = tree.resolve(pos);
1567
- for (let scan = pos, before; around == tree && (before = tree.childBefore(scan)); ) {
1568
- let last = before.lastChild;
1569
- if (!last || !last.type.isError || last.from < last.to)
1570
- break;
1571
- around = tree = before;
1572
- scan = last.from;
1573
- }
1574
- if (tree.name == "TagName") {
1575
- return tree.parent && /CloseTag$/.test(tree.parent.name) ? completeCloseTag(state, tree, tree.from, pos) : completeTag(state, schema, tree, tree.from, pos);
1576
- } else if (tree.name == "StartTag" || tree.name == "IncompleteTag") {
1577
- return completeTag(state, schema, tree, pos, pos);
1578
- } else if (tree.name == "StartCloseTag" || tree.name == "IncompleteCloseTag") {
1579
- return completeCloseTag(state, tree, pos, pos);
1580
- } else if (tree.name == "OpenTag" || tree.name == "SelfClosingTag" || tree.name == "AttributeName") {
1581
- return completeAttrName(state, schema, tree, tree.name == "AttributeName" ? tree.from : pos, pos);
1582
- } else if (tree.name == "Is" || tree.name == "AttributeValue" || tree.name == "UnquotedAttributeValue") {
1583
- return completeAttrValue(state, schema, tree, tree.name == "Is" ? pos : tree.from, pos);
1584
- } else if (context.explicit && (around.name == "Element" || around.name == "Text" || around.name == "Document")) {
1585
- return completeStartTag(state, schema, tree, pos);
1586
- } else {
1587
- return null;
1588
- }
1589
- }
1590
- function htmlCompletionSource(context) {
1591
- return htmlCompletionFor(Schema.default, context);
1592
- }
1593
- function htmlCompletionSourceWith(config) {
1594
- let { extraTags, extraGlobalAttributes: extraAttrs } = config;
1595
- let schema = extraAttrs || extraTags ? new Schema(extraTags, extraAttrs) : Schema.default;
1596
- return (context) => htmlCompletionFor(schema, context);
1597
- }
1598
- const jsonParser = /* @__PURE__ */ javascriptLanguage.parser.configure({ top: "SingleExpression" });
1599
- const defaultNesting = [
1600
- {
1601
- tag: "script",
1602
- attrs: (attrs) => attrs.type == "text/typescript" || attrs.lang == "ts",
1603
- parser: typescriptLanguage.parser
1604
- },
1605
- {
1606
- tag: "script",
1607
- attrs: (attrs) => attrs.type == "text/babel" || attrs.type == "text/jsx",
1608
- parser: jsxLanguage.parser
1609
- },
1610
- {
1611
- tag: "script",
1612
- attrs: (attrs) => attrs.type == "text/typescript-jsx",
1613
- parser: tsxLanguage.parser
1614
- },
1615
- {
1616
- tag: "script",
1617
- attrs(attrs) {
1618
- return /^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(attrs.type);
1619
- },
1620
- parser: jsonParser
1621
- },
1622
- {
1623
- tag: "script",
1624
- attrs(attrs) {
1625
- return !attrs.type || /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(attrs.type);
1626
- },
1627
- parser: javascriptLanguage.parser
1628
- },
1629
- {
1630
- tag: "style",
1631
- attrs(attrs) {
1632
- return (!attrs.lang || attrs.lang == "css") && (!attrs.type || /^(text\/)?(x-)?(stylesheet|css)$/i.test(attrs.type));
1633
- },
1634
- parser: cssLanguage.parser
1635
- }
1636
- ];
1637
- const defaultAttrs = /* @__PURE__ */ [
1638
- {
1639
- name: "style",
1640
- parser: /* @__PURE__ */ cssLanguage.parser.configure({ top: "Styles" })
1641
- }
1642
- ].concat(/* @__PURE__ */ eventAttributes.map((name) => ({ name, parser: javascriptLanguage.parser })));
1643
- const htmlPlain = /* @__PURE__ */ LRLanguage.define({
1644
- name: "html",
1645
- parser: /* @__PURE__ */ parser$1.configure({
1646
- props: [
1647
- /* @__PURE__ */ indentNodeProp.add({
1648
- Element(context) {
1649
- let after = /^(\s*)(<\/)?/.exec(context.textAfter);
1650
- if (context.node.to <= context.pos + after[0].length)
1651
- return context.continue();
1652
- return context.lineIndent(context.node.from) + (after[2] ? 0 : context.unit);
1653
- },
1654
- "OpenTag CloseTag SelfClosingTag"(context) {
1655
- return context.column(context.node.from) + context.unit;
1656
- },
1657
- Document(context) {
1658
- if (context.pos + /\s*/.exec(context.textAfter)[0].length < context.node.to)
1659
- return context.continue();
1660
- let endElt = null, close;
1661
- for (let cur = context.node; ; ) {
1662
- let last = cur.lastChild;
1663
- if (!last || last.name != "Element" || last.to != cur.to)
1664
- break;
1665
- endElt = cur = last;
1666
- }
1667
- if (endElt && !((close = endElt.lastChild) && (close.name == "CloseTag" || close.name == "SelfClosingTag")))
1668
- return context.lineIndent(endElt.from) + context.unit;
1669
- return null;
1670
- }
1671
- }),
1672
- /* @__PURE__ */ foldNodeProp.add({
1673
- Element(node) {
1674
- let first = node.firstChild, last = node.lastChild;
1675
- if (!first || first.name != "OpenTag")
1676
- return null;
1677
- return { from: first.to, to: last.name == "CloseTag" ? last.from : node.to };
1678
- }
1679
- }),
1680
- /* @__PURE__ */ bracketMatchingHandle.add({
1681
- "OpenTag CloseTag": (node) => node.getChild("TagName")
1682
- })
1683
- ]
1684
- }),
1685
- languageData: {
1686
- commentTokens: { block: { open: "<!--", close: "-->" } },
1687
- indentOnInput: /^\s*<\/\w+\W$/,
1688
- wordChars: "-_"
1689
- }
1690
- });
1691
- const htmlLanguage = /* @__PURE__ */ htmlPlain.configure({
1692
- wrap: /* @__PURE__ */ configureNesting(defaultNesting, defaultAttrs)
1693
- });
1694
- function html(config = {}) {
1695
- let dialect = "", wrap;
1696
- if (config.matchClosingTags === false)
1697
- dialect = "noMatch";
1698
- if (config.selfClosingTags === true)
1699
- dialect = (dialect ? dialect + " " : "") + "selfClosing";
1700
- if (config.nestedLanguages && config.nestedLanguages.length || config.nestedAttributes && config.nestedAttributes.length)
1701
- wrap = configureNesting((config.nestedLanguages || []).concat(defaultNesting), (config.nestedAttributes || []).concat(defaultAttrs));
1702
- let lang = wrap ? htmlPlain.configure({ wrap, dialect }) : dialect ? htmlLanguage.configure({ dialect }) : htmlLanguage;
1703
- return new LanguageSupport(lang, [
1704
- htmlLanguage.data.of({ autocomplete: htmlCompletionSourceWith(config) }),
1705
- config.autoCloseTags !== false ? autoCloseTags : [],
1706
- javascript().support,
1707
- css().support
1708
- ]);
1709
- }
1710
- const selfClosers = /* @__PURE__ */ new Set(/* @__PURE__ */ "area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" "));
1711
- const autoCloseTags = /* @__PURE__ */ EditorView.inputHandler.of((view, from, to, text, insertTransaction) => {
1712
- if (view.composing || view.state.readOnly || from != to || text != ">" && text != "/" || !htmlLanguage.isActiveAt(view.state, from, -1))
1713
- return false;
1714
- let base = insertTransaction(), { state } = base;
1715
- let closeTags = state.changeByRange((range) => {
1716
- var _a, _b, _c;
1717
- let didType = state.doc.sliceString(range.from - 1, range.to) == text;
1718
- let { head } = range, after = syntaxTree(state).resolveInner(head, -1), name;
1719
- if (didType && text == ">" && after.name == "EndTag") {
1720
- let tag = after.parent;
1721
- if (((_b = (_a = tag.parent) === null || _a === void 0 ? void 0 : _a.lastChild) === null || _b === void 0 ? void 0 : _b.name) != "CloseTag" && (name = elementName(state.doc, tag.parent, head)) && !selfClosers.has(name)) {
1722
- let to2 = head + (state.doc.sliceString(head, head + 1) === ">" ? 1 : 0);
1723
- let insert = `</${name}>`;
1724
- return { range, changes: { from: head, to: to2, insert } };
1725
- }
1726
- } else if (didType && text == "/" && after.name == "IncompleteCloseTag") {
1727
- let tag = after.parent;
1728
- if (after.from == head - 2 && ((_c = tag.lastChild) === null || _c === void 0 ? void 0 : _c.name) != "CloseTag" && (name = elementName(state.doc, tag, head)) && !selfClosers.has(name)) {
1729
- let to2 = head + (state.doc.sliceString(head, head + 1) === ">" ? 1 : 0);
1730
- let insert = `${name}>`;
1731
- return {
1732
- range: EditorSelection.cursor(head + insert.length, -1),
1733
- changes: { from: head, to: to2, insert }
1734
- };
1735
- }
1736
- }
1737
- return { range };
1738
- });
1739
- if (closeTags.changes.empty)
1740
- return false;
1741
- view.dispatch([
1742
- base,
1743
- state.update(closeTags, {
1744
- userEvent: "input.complete",
1745
- scrollIntoView: true
1746
- })
1747
- ]);
1748
- return true;
1749
- });
1750
- const index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1751
- __proto__: null,
1752
- autoCloseTags,
1753
- html,
1754
- htmlCompletionSource,
1755
- htmlCompletionSourceWith,
1756
- htmlLanguage
1757
- }, Symbol.toStringTag, { value: "Module" }));
1758
- export {
1759
- html as a,
1760
- cssLanguage as b,
1761
- css as c,
1762
- defineCSSCompletionSource as d,
1763
- index as e,
1764
- htmlCompletionSource as h,
1765
- index$1 as i
1766
- };
1767
- //# sourceMappingURL=index-dXZeR7Bx.js.map