@macroforge/svelte-language-server 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/README.md +331 -0
  2. package/bin/server.js +5 -0
  3. package/dist/src/importPackage.d.ts +16 -0
  4. package/dist/src/importPackage.js +76 -0
  5. package/dist/src/importPackage.js.map +1 -0
  6. package/dist/src/index.d.ts +3 -0
  7. package/dist/src/index.js +23 -0
  8. package/dist/src/index.js.map +1 -0
  9. package/dist/src/lib/DiagnosticsManager.d.ts +20 -0
  10. package/dist/src/lib/DiagnosticsManager.js +71 -0
  11. package/dist/src/lib/DiagnosticsManager.js.map +1 -0
  12. package/dist/src/lib/FallbackWatcher.d.ts +15 -0
  13. package/dist/src/lib/FallbackWatcher.js +66 -0
  14. package/dist/src/lib/FallbackWatcher.js.map +1 -0
  15. package/dist/src/lib/documentHighlight/wordHighlight.d.ts +3 -0
  16. package/dist/src/lib/documentHighlight/wordHighlight.js +62 -0
  17. package/dist/src/lib/documentHighlight/wordHighlight.js.map +1 -0
  18. package/dist/src/lib/documents/Document.d.ts +63 -0
  19. package/dist/src/lib/documents/Document.js +138 -0
  20. package/dist/src/lib/documents/Document.js.map +1 -0
  21. package/dist/src/lib/documents/DocumentBase.d.ts +65 -0
  22. package/dist/src/lib/documents/DocumentBase.js +69 -0
  23. package/dist/src/lib/documents/DocumentBase.js.map +1 -0
  24. package/dist/src/lib/documents/DocumentManager.d.ts +28 -0
  25. package/dist/src/lib/documents/DocumentManager.js +122 -0
  26. package/dist/src/lib/documents/DocumentManager.js.map +1 -0
  27. package/dist/src/lib/documents/DocumentMapper.d.ts +88 -0
  28. package/dist/src/lib/documents/DocumentMapper.js +258 -0
  29. package/dist/src/lib/documents/DocumentMapper.js.map +1 -0
  30. package/dist/src/lib/documents/configLoader.d.ts +80 -0
  31. package/dist/src/lib/documents/configLoader.js +265 -0
  32. package/dist/src/lib/documents/configLoader.js.map +1 -0
  33. package/dist/src/lib/documents/fileCollection.d.ts +41 -0
  34. package/dist/src/lib/documents/fileCollection.js +87 -0
  35. package/dist/src/lib/documents/fileCollection.js.map +1 -0
  36. package/dist/src/lib/documents/index.d.ts +5 -0
  37. package/dist/src/lib/documents/index.js +22 -0
  38. package/dist/src/lib/documents/index.js.map +1 -0
  39. package/dist/src/lib/documents/parseHtml.d.ts +13 -0
  40. package/dist/src/lib/documents/parseHtml.js +160 -0
  41. package/dist/src/lib/documents/parseHtml.js.map +1 -0
  42. package/dist/src/lib/documents/utils.d.ts +105 -0
  43. package/dist/src/lib/documents/utils.js +410 -0
  44. package/dist/src/lib/documents/utils.js.map +1 -0
  45. package/dist/src/lib/foldingRange/indentFolding.d.ts +26 -0
  46. package/dist/src/lib/foldingRange/indentFolding.js +142 -0
  47. package/dist/src/lib/foldingRange/indentFolding.js.map +1 -0
  48. package/dist/src/lib/semanticToken/semanticTokenLegend.d.ts +33 -0
  49. package/dist/src/lib/semanticToken/semanticTokenLegend.js +37 -0
  50. package/dist/src/lib/semanticToken/semanticTokenLegend.js.map +1 -0
  51. package/dist/src/logger.d.ts +9 -0
  52. package/dist/src/logger.js +28 -0
  53. package/dist/src/logger.js.map +1 -0
  54. package/dist/src/ls-config.d.ts +326 -0
  55. package/dist/src/ls-config.js +386 -0
  56. package/dist/src/ls-config.js.map +1 -0
  57. package/dist/src/plugins/PluginHost.d.ts +68 -0
  58. package/dist/src/plugins/PluginHost.js +447 -0
  59. package/dist/src/plugins/PluginHost.js.map +1 -0
  60. package/dist/src/plugins/css/CSSDocument.d.ts +46 -0
  61. package/dist/src/plugins/css/CSSDocument.js +78 -0
  62. package/dist/src/plugins/css/CSSDocument.js.map +1 -0
  63. package/dist/src/plugins/css/CSSPlugin.d.ts +35 -0
  64. package/dist/src/plugins/css/CSSPlugin.js +407 -0
  65. package/dist/src/plugins/css/CSSPlugin.js.map +1 -0
  66. package/dist/src/plugins/css/FileSystemProvider.d.ts +10 -0
  67. package/dist/src/plugins/css/FileSystemProvider.js +75 -0
  68. package/dist/src/plugins/css/FileSystemProvider.js.map +1 -0
  69. package/dist/src/plugins/css/StyleAttributeDocument.d.ts +41 -0
  70. package/dist/src/plugins/css/StyleAttributeDocument.js +65 -0
  71. package/dist/src/plugins/css/StyleAttributeDocument.js.map +1 -0
  72. package/dist/src/plugins/css/features/getIdClassCompletion.d.ts +19 -0
  73. package/dist/src/plugins/css/features/getIdClassCompletion.js +56 -0
  74. package/dist/src/plugins/css/features/getIdClassCompletion.js.map +1 -0
  75. package/dist/src/plugins/css/features/svelte-selectors.d.ts +2 -0
  76. package/dist/src/plugins/css/features/svelte-selectors.js +18 -0
  77. package/dist/src/plugins/css/features/svelte-selectors.js.map +1 -0
  78. package/dist/src/plugins/css/global-vars.d.ts +16 -0
  79. package/dist/src/plugins/css/global-vars.js +82 -0
  80. package/dist/src/plugins/css/global-vars.js.map +1 -0
  81. package/dist/src/plugins/css/service.d.ts +5 -0
  82. package/dist/src/plugins/css/service.js +66 -0
  83. package/dist/src/plugins/css/service.js.map +1 -0
  84. package/dist/src/plugins/documentContext.d.ts +3 -0
  85. package/dist/src/plugins/documentContext.js +36 -0
  86. package/dist/src/plugins/documentContext.js.map +1 -0
  87. package/dist/src/plugins/html/HTMLPlugin.d.ts +36 -0
  88. package/dist/src/plugins/html/HTMLPlugin.js +363 -0
  89. package/dist/src/plugins/html/HTMLPlugin.js.map +1 -0
  90. package/dist/src/plugins/html/dataProvider.d.ts +1 -0
  91. package/dist/src/plugins/html/dataProvider.js +481 -0
  92. package/dist/src/plugins/html/dataProvider.js.map +1 -0
  93. package/dist/src/plugins/index.d.ts +7 -0
  94. package/dist/src/plugins/index.js +24 -0
  95. package/dist/src/plugins/index.js.map +1 -0
  96. package/dist/src/plugins/interfaces.d.ts +132 -0
  97. package/dist/src/plugins/interfaces.js +3 -0
  98. package/dist/src/plugins/interfaces.js.map +1 -0
  99. package/dist/src/plugins/svelte/SvelteDocument.d.ts +98 -0
  100. package/dist/src/plugins/svelte/SvelteDocument.js +318 -0
  101. package/dist/src/plugins/svelte/SvelteDocument.js.map +1 -0
  102. package/dist/src/plugins/svelte/SveltePlugin.d.ts +24 -0
  103. package/dist/src/plugins/svelte/SveltePlugin.js +306 -0
  104. package/dist/src/plugins/svelte/SveltePlugin.js.map +1 -0
  105. package/dist/src/plugins/svelte/features/SvelteTags.d.ts +28 -0
  106. package/dist/src/plugins/svelte/features/SvelteTags.js +136 -0
  107. package/dist/src/plugins/svelte/features/SvelteTags.js.map +1 -0
  108. package/dist/src/plugins/svelte/features/getCodeActions/getQuickfixes.d.ts +11 -0
  109. package/dist/src/plugins/svelte/features/getCodeActions/getQuickfixes.js +140 -0
  110. package/dist/src/plugins/svelte/features/getCodeActions/getQuickfixes.js.map +1 -0
  111. package/dist/src/plugins/svelte/features/getCodeActions/getRefactorings.d.ts +9 -0
  112. package/dist/src/plugins/svelte/features/getCodeActions/getRefactorings.js +140 -0
  113. package/dist/src/plugins/svelte/features/getCodeActions/getRefactorings.js.map +1 -0
  114. package/dist/src/plugins/svelte/features/getCodeActions/index.d.ts +4 -0
  115. package/dist/src/plugins/svelte/features/getCodeActions/index.js +19 -0
  116. package/dist/src/plugins/svelte/features/getCodeActions/index.js.map +1 -0
  117. package/dist/src/plugins/svelte/features/getCompletions.d.ts +4 -0
  118. package/dist/src/plugins/svelte/features/getCompletions.js +184 -0
  119. package/dist/src/plugins/svelte/features/getCompletions.js.map +1 -0
  120. package/dist/src/plugins/svelte/features/getDiagnostics.d.ts +9 -0
  121. package/dist/src/plugins/svelte/features/getDiagnostics.js +284 -0
  122. package/dist/src/plugins/svelte/features/getDiagnostics.js.map +1 -0
  123. package/dist/src/plugins/svelte/features/getHoverInfo.d.ts +7 -0
  124. package/dist/src/plugins/svelte/features/getHoverInfo.js +93 -0
  125. package/dist/src/plugins/svelte/features/getHoverInfo.js.map +1 -0
  126. package/dist/src/plugins/svelte/features/getModifierData.d.ts +7 -0
  127. package/dist/src/plugins/svelte/features/getModifierData.js +56 -0
  128. package/dist/src/plugins/svelte/features/getModifierData.js.map +1 -0
  129. package/dist/src/plugins/svelte/features/getSelectionRanges.d.ts +3 -0
  130. package/dist/src/plugins/svelte/features/getSelectionRanges.js +46 -0
  131. package/dist/src/plugins/svelte/features/getSelectionRanges.js.map +1 -0
  132. package/dist/src/plugins/svelte/features/utils.d.ts +5 -0
  133. package/dist/src/plugins/svelte/features/utils.js +18 -0
  134. package/dist/src/plugins/svelte/features/utils.js.map +1 -0
  135. package/dist/src/plugins/typescript/ComponentInfoProvider.d.ts +27 -0
  136. package/dist/src/plugins/typescript/ComponentInfoProvider.js +116 -0
  137. package/dist/src/plugins/typescript/ComponentInfoProvider.js.map +1 -0
  138. package/dist/src/plugins/typescript/DocumentMapper.d.ts +10 -0
  139. package/dist/src/plugins/typescript/DocumentMapper.js +25 -0
  140. package/dist/src/plugins/typescript/DocumentMapper.js.map +1 -0
  141. package/dist/src/plugins/typescript/DocumentSnapshot.d.ts +173 -0
  142. package/dist/src/plugins/typescript/DocumentSnapshot.js +623 -0
  143. package/dist/src/plugins/typescript/DocumentSnapshot.js.map +1 -0
  144. package/dist/src/plugins/typescript/LSAndTSDocResolver.d.ts +100 -0
  145. package/dist/src/plugins/typescript/LSAndTSDocResolver.js +301 -0
  146. package/dist/src/plugins/typescript/LSAndTSDocResolver.js.map +1 -0
  147. package/dist/src/plugins/typescript/SnapshotManager.d.ts +59 -0
  148. package/dist/src/plugins/typescript/SnapshotManager.js +238 -0
  149. package/dist/src/plugins/typescript/SnapshotManager.js.map +1 -0
  150. package/dist/src/plugins/typescript/TypeScriptPlugin.d.ts +65 -0
  151. package/dist/src/plugins/typescript/TypeScriptPlugin.js +332 -0
  152. package/dist/src/plugins/typescript/TypeScriptPlugin.js.map +1 -0
  153. package/dist/src/plugins/typescript/features/CallHierarchyProvider.d.ts +24 -0
  154. package/dist/src/plugins/typescript/features/CallHierarchyProvider.js +325 -0
  155. package/dist/src/plugins/typescript/features/CallHierarchyProvider.js.map +1 -0
  156. package/dist/src/plugins/typescript/features/CodeActionsProvider.d.ts +72 -0
  157. package/dist/src/plugins/typescript/features/CodeActionsProvider.js +1030 -0
  158. package/dist/src/plugins/typescript/features/CodeActionsProvider.js.map +1 -0
  159. package/dist/src/plugins/typescript/features/CodeLensProvider.d.ts +28 -0
  160. package/dist/src/plugins/typescript/features/CodeLensProvider.js +205 -0
  161. package/dist/src/plugins/typescript/features/CodeLensProvider.js.map +1 -0
  162. package/dist/src/plugins/typescript/features/CompletionProvider.d.ts +57 -0
  163. package/dist/src/plugins/typescript/features/CompletionProvider.js +791 -0
  164. package/dist/src/plugins/typescript/features/CompletionProvider.js.map +1 -0
  165. package/dist/src/plugins/typescript/features/DiagnosticsProvider.d.ts +36 -0
  166. package/dist/src/plugins/typescript/features/DiagnosticsProvider.js +497 -0
  167. package/dist/src/plugins/typescript/features/DiagnosticsProvider.js.map +1 -0
  168. package/dist/src/plugins/typescript/features/DocumentHighlightProvider.d.ts +17 -0
  169. package/dist/src/plugins/typescript/features/DocumentHighlightProvider.js +211 -0
  170. package/dist/src/plugins/typescript/features/DocumentHighlightProvider.js.map +1 -0
  171. package/dist/src/plugins/typescript/features/FindComponentReferencesProvider.d.ts +9 -0
  172. package/dist/src/plugins/typescript/features/FindComponentReferencesProvider.js +66 -0
  173. package/dist/src/plugins/typescript/features/FindComponentReferencesProvider.js.map +1 -0
  174. package/dist/src/plugins/typescript/features/FindFileReferencesProvider.d.ts +9 -0
  175. package/dist/src/plugins/typescript/features/FindFileReferencesProvider.js +38 -0
  176. package/dist/src/plugins/typescript/features/FindFileReferencesProvider.js.map +1 -0
  177. package/dist/src/plugins/typescript/features/FindReferencesProvider.d.ts +20 -0
  178. package/dist/src/plugins/typescript/features/FindReferencesProvider.js +149 -0
  179. package/dist/src/plugins/typescript/features/FindReferencesProvider.js.map +1 -0
  180. package/dist/src/plugins/typescript/features/FoldingRangeProvider.d.ts +28 -0
  181. package/dist/src/plugins/typescript/features/FoldingRangeProvider.js +247 -0
  182. package/dist/src/plugins/typescript/features/FoldingRangeProvider.js.map +1 -0
  183. package/dist/src/plugins/typescript/features/HoverProvider.d.ts +11 -0
  184. package/dist/src/plugins/typescript/features/HoverProvider.js +75 -0
  185. package/dist/src/plugins/typescript/features/HoverProvider.js.map +1 -0
  186. package/dist/src/plugins/typescript/features/ImplementationProvider.d.ts +9 -0
  187. package/dist/src/plugins/typescript/features/ImplementationProvider.js +47 -0
  188. package/dist/src/plugins/typescript/features/ImplementationProvider.js.map +1 -0
  189. package/dist/src/plugins/typescript/features/InlayHintProvider.d.ts +22 -0
  190. package/dist/src/plugins/typescript/features/InlayHintProvider.js +225 -0
  191. package/dist/src/plugins/typescript/features/InlayHintProvider.js.map +1 -0
  192. package/dist/src/plugins/typescript/features/RenameProvider.d.ts +53 -0
  193. package/dist/src/plugins/typescript/features/RenameProvider.js +423 -0
  194. package/dist/src/plugins/typescript/features/RenameProvider.js.map +1 -0
  195. package/dist/src/plugins/typescript/features/SelectionRangeProvider.d.ts +18 -0
  196. package/dist/src/plugins/typescript/features/SelectionRangeProvider.js +62 -0
  197. package/dist/src/plugins/typescript/features/SelectionRangeProvider.js.map +1 -0
  198. package/dist/src/plugins/typescript/features/SemanticTokensProvider.d.ts +15 -0
  199. package/dist/src/plugins/typescript/features/SemanticTokensProvider.js +116 -0
  200. package/dist/src/plugins/typescript/features/SemanticTokensProvider.js.map +1 -0
  201. package/dist/src/plugins/typescript/features/SignatureHelpProvider.d.ts +22 -0
  202. package/dist/src/plugins/typescript/features/SignatureHelpProvider.js +110 -0
  203. package/dist/src/plugins/typescript/features/SignatureHelpProvider.js.map +1 -0
  204. package/dist/src/plugins/typescript/features/TypeDefinitionProvider.d.ts +9 -0
  205. package/dist/src/plugins/typescript/features/TypeDefinitionProvider.js +35 -0
  206. package/dist/src/plugins/typescript/features/TypeDefinitionProvider.js.map +1 -0
  207. package/dist/src/plugins/typescript/features/UpdateImportsProvider.d.ts +11 -0
  208. package/dist/src/plugins/typescript/features/UpdateImportsProvider.js +109 -0
  209. package/dist/src/plugins/typescript/features/UpdateImportsProvider.js.map +1 -0
  210. package/dist/src/plugins/typescript/features/WorkspaceSymbolProvider.d.ts +25 -0
  211. package/dist/src/plugins/typescript/features/WorkspaceSymbolProvider.js +176 -0
  212. package/dist/src/plugins/typescript/features/WorkspaceSymbolProvider.js.map +1 -0
  213. package/dist/src/plugins/typescript/features/getDirectiveCommentCompletions.d.ts +13 -0
  214. package/dist/src/plugins/typescript/features/getDirectiveCommentCompletions.js +58 -0
  215. package/dist/src/plugins/typescript/features/getDirectiveCommentCompletions.js.map +1 -0
  216. package/dist/src/plugins/typescript/features/getJsDocTemplateCompletion.d.ts +4 -0
  217. package/dist/src/plugins/typescript/features/getJsDocTemplateCompletion.js +57 -0
  218. package/dist/src/plugins/typescript/features/getJsDocTemplateCompletion.js.map +1 -0
  219. package/dist/src/plugins/typescript/features/utils.d.ts +81 -0
  220. package/dist/src/plugins/typescript/features/utils.js +331 -0
  221. package/dist/src/plugins/typescript/features/utils.js.map +1 -0
  222. package/dist/src/plugins/typescript/macroforgeAugmenter.d.ts +23 -0
  223. package/dist/src/plugins/typescript/macroforgeAugmenter.js +41 -0
  224. package/dist/src/plugins/typescript/macroforgeAugmenter.js.map +1 -0
  225. package/dist/src/plugins/typescript/module-loader.d.ts +28 -0
  226. package/dist/src/plugins/typescript/module-loader.js +254 -0
  227. package/dist/src/plugins/typescript/module-loader.js.map +1 -0
  228. package/dist/src/plugins/typescript/previewer.d.ts +7 -0
  229. package/dist/src/plugins/typescript/previewer.js +120 -0
  230. package/dist/src/plugins/typescript/previewer.js.map +1 -0
  231. package/dist/src/plugins/typescript/service.d.ts +105 -0
  232. package/dist/src/plugins/typescript/service.js +1073 -0
  233. package/dist/src/plugins/typescript/service.js.map +1 -0
  234. package/dist/src/plugins/typescript/serviceCache.d.ts +90 -0
  235. package/dist/src/plugins/typescript/serviceCache.js +50 -0
  236. package/dist/src/plugins/typescript/serviceCache.js.map +1 -0
  237. package/dist/src/plugins/typescript/svelte-ast-utils.d.ts +77 -0
  238. package/dist/src/plugins/typescript/svelte-ast-utils.js +100 -0
  239. package/dist/src/plugins/typescript/svelte-ast-utils.js.map +1 -0
  240. package/dist/src/plugins/typescript/svelte-sys.d.ts +9 -0
  241. package/dist/src/plugins/typescript/svelte-sys.js +79 -0
  242. package/dist/src/plugins/typescript/svelte-sys.js.map +1 -0
  243. package/dist/src/plugins/typescript/utils.d.ts +48 -0
  244. package/dist/src/plugins/typescript/utils.js +334 -0
  245. package/dist/src/plugins/typescript/utils.js.map +1 -0
  246. package/dist/src/server.d.ts +19 -0
  247. package/dist/src/server.js +434 -0
  248. package/dist/src/server.js.map +1 -0
  249. package/dist/src/svelte-check.d.ts +65 -0
  250. package/dist/src/svelte-check.js +288 -0
  251. package/dist/src/svelte-check.js.map +1 -0
  252. package/dist/src/utils.d.ts +111 -0
  253. package/dist/src/utils.js +337 -0
  254. package/dist/src/utils.js.map +1 -0
  255. package/dist/tsconfig.tsbuildinfo +1 -0
  256. package/package.json +79 -0
@@ -0,0 +1,363 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.HTMLPlugin = void 0;
7
+ const emmet_helper_1 = require("@vscode/emmet-helper");
8
+ const vscode_html_languageservice_1 = require("vscode-html-languageservice");
9
+ const vscode_languageserver_1 = require("vscode-languageserver");
10
+ const documents_1 = require("../../lib/documents");
11
+ const dataProvider_1 = require("./dataProvider");
12
+ const utils_1 = require("../../lib/documents/utils");
13
+ const utils_2 = require("../../utils");
14
+ const importPackage_1 = require("../../importPackage");
15
+ const path_1 = __importDefault(require("path"));
16
+ const logger_1 = require("../../logger");
17
+ const indentFolding_1 = require("../../lib/foldingRange/indentFolding");
18
+ const wordHighlight_1 = require("../../lib/documentHighlight/wordHighlight");
19
+ // https://github.com/microsoft/vscode/blob/c6f507deeb99925e713271b1048f21dbaab4bd54/extensions/html/language-configuration.json#L34
20
+ const wordPattern = /(-?\d*\.\d\w*)|([^`~!@$^&*()=+[{\]}\|;:'",.<>\/\s]+)/g;
21
+ const attributeValuePlaceHolder = '="$1"';
22
+ class HTMLPlugin {
23
+ constructor(docManager, configManager) {
24
+ this.configManager = configManager;
25
+ this.__name = 'html';
26
+ this.lang = (0, vscode_html_languageservice_1.getLanguageService)({
27
+ customDataProviders: this.getCustomDataProviders(),
28
+ useDefaultDataProvider: false,
29
+ clientCapabilities: this.configManager.getClientCapabilities()
30
+ });
31
+ this.documents = new WeakMap();
32
+ this.styleScriptTemplate = new Set(['template', 'style', 'script']);
33
+ this.htmlTriggerCharacters = ['.', ':', '<', '"', '=', '/'];
34
+ configManager.onChange(() => this.lang.setDataProviders(false, this.getCustomDataProviders()));
35
+ const sync = (document) => {
36
+ this.documents.set(document, document.html);
37
+ };
38
+ docManager.on('documentChange', sync);
39
+ docManager.on('documentOpen', sync);
40
+ }
41
+ doHover(document, position) {
42
+ if (!this.featureEnabled('hover')) {
43
+ return null;
44
+ }
45
+ const html = this.documents.get(document);
46
+ if (!html) {
47
+ return null;
48
+ }
49
+ const node = html.findNodeAt(document.offsetAt(position));
50
+ if (!node || (0, utils_2.possiblyComponent)(node)) {
51
+ return null;
52
+ }
53
+ return this.lang.doHover(document, position, html);
54
+ }
55
+ async getCompletions(document, position, completionContext) {
56
+ if (!this.featureEnabled('completions')) {
57
+ return null;
58
+ }
59
+ const html = this.documents.get(document);
60
+ if (!html) {
61
+ return null;
62
+ }
63
+ if (this.isInsideMoustacheTag(html, document, position) ||
64
+ (0, documents_1.isInTag)(position, document.scriptInfo) ||
65
+ (0, documents_1.isInTag)(position, document.moduleScriptInfo)) {
66
+ return null;
67
+ }
68
+ let emmetResults = {
69
+ isIncomplete: false,
70
+ items: []
71
+ };
72
+ let doEmmetCompleteInner = () => null;
73
+ if (this.configManager.getConfig().html.completions.emmet &&
74
+ this.configManager.getEmmetConfig().showExpandedAbbreviation !== 'never') {
75
+ doEmmetCompleteInner = () => (0, emmet_helper_1.doComplete)(document, position, 'html', this.configManager.getEmmetConfig());
76
+ this.lang.setCompletionParticipants([
77
+ {
78
+ onHtmlContent: () => (emmetResults = doEmmetCompleteInner() || emmetResults)
79
+ }
80
+ ]);
81
+ }
82
+ if (completionContext?.triggerCharacter &&
83
+ !this.htmlTriggerCharacters.includes(completionContext?.triggerCharacter)) {
84
+ const node = html.findNodeAt(document.offsetAt(position));
85
+ const offset = document.offsetAt(position);
86
+ if (!node?.tag ||
87
+ (offset > (node.startTagEnd ?? node.end) &&
88
+ (node.endTagStart == null || offset <= node.endTagStart))) {
89
+ return doEmmetCompleteInner() ?? null;
90
+ }
91
+ return null;
92
+ }
93
+ const results = this.isInComponentTag(html, document, position)
94
+ ? // Only allow emmet inside component element tags.
95
+ // Other attributes/events would be false positives.
96
+ vscode_languageserver_1.CompletionList.create([])
97
+ : this.lang.doComplete(document, position, html);
98
+ const items = this.toCompletionItems(results.items);
99
+ const filePath = document.getFilePath();
100
+ const prettierConfig = filePath &&
101
+ items.some((item) => item.label.startsWith('on:') || item.label.startsWith('bind:'))
102
+ ? this.configManager.getMergedPrettierConfig(await (0, importPackage_1.importPrettier)(filePath).resolveConfig(filePath, {
103
+ editorconfig: true
104
+ }))
105
+ : null;
106
+ const svelteStrictMode = prettierConfig?.svelteStrictMode;
107
+ const startQuote = svelteStrictMode ? '"{' : '{';
108
+ const endQuote = svelteStrictMode ? '}"' : '}';
109
+ items.forEach((item) => {
110
+ if (item.label.endsWith(':')) {
111
+ item.kind = vscode_languageserver_1.CompletionItemKind.Keyword;
112
+ if (item.textEdit) {
113
+ item.textEdit.newText = item.textEdit.newText.replace(attributeValuePlaceHolder, '');
114
+ }
115
+ }
116
+ if (!item.textEdit) {
117
+ return;
118
+ }
119
+ if (item.label.startsWith('on')) {
120
+ const isLegacyDirective = item.label.startsWith('on:');
121
+ const modifierTabStop = isLegacyDirective ? '$2' : '';
122
+ item.textEdit = {
123
+ ...item.textEdit,
124
+ newText: item.textEdit.newText.replace(attributeValuePlaceHolder, `${modifierTabStop}=${startQuote}$1${endQuote}`)
125
+ };
126
+ // In Svelte 5, people should use `onclick` instead of `on:click`
127
+ if (isLegacyDirective && document.isSvelte5) {
128
+ item.sortText = 'z' + (item.sortText ?? item.label);
129
+ }
130
+ }
131
+ if (item.label.startsWith('bind:')) {
132
+ item.textEdit = {
133
+ ...item.textEdit,
134
+ newText: item.textEdit.newText.replace(attributeValuePlaceHolder, `=${startQuote}$1${endQuote}`)
135
+ };
136
+ }
137
+ });
138
+ return vscode_languageserver_1.CompletionList.create([...items, ...this.getLangCompletions(items), ...emmetResults.items],
139
+ // Emmet completions change on every keystroke, so they are never complete
140
+ emmetResults.items.length > 0);
141
+ }
142
+ /**
143
+ * The HTML language service uses newer types which clash
144
+ * without the stable ones. Transform to the stable types.
145
+ */
146
+ toCompletionItems(items) {
147
+ return items.map((item) => {
148
+ if (!item.textEdit || vscode_languageserver_1.TextEdit.is(item.textEdit)) {
149
+ return item;
150
+ }
151
+ return {
152
+ ...item,
153
+ textEdit: vscode_languageserver_1.TextEdit.replace(item.textEdit.replace, item.textEdit.newText)
154
+ };
155
+ });
156
+ }
157
+ isInComponentTag(html, document, position) {
158
+ return !!(0, documents_1.getNodeIfIsInComponentStartTag)(html, document, document.offsetAt(position));
159
+ }
160
+ getLangCompletions(completions) {
161
+ const styleScriptTemplateCompletions = completions.filter((completion) => completion.kind === vscode_languageserver_1.CompletionItemKind.Property &&
162
+ this.styleScriptTemplate.has(completion.label));
163
+ const langCompletions = [];
164
+ addLangCompletion('script', ['ts']);
165
+ addLangCompletion('style', ['less', 'scss']);
166
+ addLangCompletion('template', ['pug']);
167
+ return langCompletions;
168
+ function addLangCompletion(tag, languages) {
169
+ const existingCompletion = styleScriptTemplateCompletions.find((completion) => completion.label === tag);
170
+ if (!existingCompletion) {
171
+ return;
172
+ }
173
+ languages.forEach((lang) => langCompletions.push({
174
+ ...existingCompletion,
175
+ label: `${tag} (lang="${lang}")`,
176
+ insertText: existingCompletion.insertText &&
177
+ `${existingCompletion.insertText} lang="${lang}"`,
178
+ textEdit: existingCompletion.textEdit && vscode_languageserver_1.TextEdit.is(existingCompletion.textEdit)
179
+ ? {
180
+ range: existingCompletion.textEdit.range,
181
+ newText: `${existingCompletion.textEdit.newText} lang="${lang}"`
182
+ }
183
+ : undefined
184
+ }));
185
+ }
186
+ }
187
+ doTagComplete(document, position) {
188
+ if (!this.featureEnabled('tagComplete')) {
189
+ return null;
190
+ }
191
+ const html = this.documents.get(document);
192
+ if (!html) {
193
+ return null;
194
+ }
195
+ if (this.isInsideMoustacheTag(html, document, position)) {
196
+ return null;
197
+ }
198
+ return this.lang.doTagComplete(document, position, html);
199
+ }
200
+ isInsideMoustacheTag(html, document, position) {
201
+ const offset = document.offsetAt(position);
202
+ const node = html.findNodeAt(offset);
203
+ return (0, utils_1.isInsideMoustacheTag)(document.getText(), node.start, offset);
204
+ }
205
+ getDocumentSymbols(document) {
206
+ if (!this.featureEnabled('documentSymbols')) {
207
+ return [];
208
+ }
209
+ const html = this.documents.get(document);
210
+ if (!html) {
211
+ return [];
212
+ }
213
+ return this.lang.findDocumentSymbols(document, html);
214
+ }
215
+ rename(document, position, newName) {
216
+ const html = this.documents.get(document);
217
+ if (!html) {
218
+ return null;
219
+ }
220
+ const node = html.findNodeAt(document.offsetAt(position));
221
+ if (!node || (0, utils_2.possiblyComponent)(node)) {
222
+ return null;
223
+ }
224
+ return this.lang.doRename(document, position, newName, html);
225
+ }
226
+ prepareRename(document, position) {
227
+ const html = this.documents.get(document);
228
+ if (!html) {
229
+ return null;
230
+ }
231
+ const offset = document.offsetAt(position);
232
+ const node = html.findNodeAt(offset);
233
+ if (!node || (0, utils_2.possiblyComponent)(node) || !node.tag || !this.isRenameAtTag(node, offset)) {
234
+ return null;
235
+ }
236
+ const tagNameStart = node.start + '<'.length;
237
+ return (0, utils_1.toRange)(document, tagNameStart, tagNameStart + node.tag.length);
238
+ }
239
+ getLinkedEditingRanges(document, position) {
240
+ if (!this.featureEnabled('linkedEditing')) {
241
+ return null;
242
+ }
243
+ const html = this.documents.get(document);
244
+ if (!html) {
245
+ return null;
246
+ }
247
+ const ranges = this.lang.findLinkedEditingRanges(document, position, html);
248
+ if (!ranges) {
249
+ return null;
250
+ }
251
+ // Note that `.` is excluded from the word pattern. This is intentional to support property access in Svelte component tags.
252
+ return {
253
+ ranges,
254
+ wordPattern: '(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\\'\\"\\,\\<\\>\\/\\s]+)'
255
+ };
256
+ }
257
+ getFoldingRanges(document) {
258
+ const result = this.lang.getFoldingRanges(document);
259
+ const templateRange = document.templateInfo
260
+ ? (0, indentFolding_1.indentBasedFoldingRangeForTag)(document, document.templateInfo)
261
+ : [];
262
+ const ARROW = '=>';
263
+ if (!document.getText().includes(ARROW)) {
264
+ return result.concat(templateRange);
265
+ }
266
+ const byEnd = new Map();
267
+ for (const fold of result) {
268
+ byEnd.set(fold.endLine, (byEnd.get(fold.endLine) ?? []).concat(fold));
269
+ }
270
+ let startIndex = 0;
271
+ while (startIndex < document.getTextLength()) {
272
+ const index = document.getText().indexOf(ARROW, startIndex);
273
+ startIndex = index + ARROW.length;
274
+ if (index === -1) {
275
+ break;
276
+ }
277
+ const position = document.positionAt(index);
278
+ const isInStyleOrScript = (0, documents_1.isInTag)(position, document.styleInfo) ||
279
+ (0, documents_1.isInTag)(position, document.scriptInfo) ||
280
+ (0, documents_1.isInTag)(position, document.moduleScriptInfo);
281
+ if (isInStyleOrScript) {
282
+ continue;
283
+ }
284
+ const tag = document.html.findNodeAt(index);
285
+ // our version of html document patched it so it's within the start tag
286
+ // but not the folding range returned by the language service
287
+ // which uses unpatched scanner
288
+ if (!tag.startTagEnd || index > tag.startTagEnd) {
289
+ continue;
290
+ }
291
+ const tagStartPosition = document.positionAt(tag.start);
292
+ const range = byEnd
293
+ .get(position.line)
294
+ ?.find((r) => r.startLine === tagStartPosition.line);
295
+ const newEndLine = document.positionAt(tag.end).line - 1;
296
+ if (newEndLine <= tagStartPosition.line) {
297
+ continue;
298
+ }
299
+ if (range) {
300
+ range.endLine = newEndLine;
301
+ }
302
+ else {
303
+ result.push({
304
+ startLine: tagStartPosition.line,
305
+ endLine: newEndLine
306
+ });
307
+ }
308
+ }
309
+ return result.concat(templateRange);
310
+ }
311
+ findDocumentHighlight(document, position) {
312
+ const html = this.documents.get(document);
313
+ if (!html) {
314
+ return null;
315
+ }
316
+ const templateResult = (0, wordHighlight_1.wordHighlightForTag)(document, position, document.templateInfo, wordPattern);
317
+ if (templateResult) {
318
+ return templateResult;
319
+ }
320
+ const node = html.findNodeAt(document.offsetAt(position));
321
+ if ((0, utils_2.possiblyComponent)(node)) {
322
+ return null;
323
+ }
324
+ const result = this.lang.findDocumentHighlights(document, position, html);
325
+ if (!result.length) {
326
+ return null;
327
+ }
328
+ return result;
329
+ }
330
+ /**
331
+ * Returns true if rename happens at the tag name, not anywhere inbetween.
332
+ */
333
+ isRenameAtTag(node, offset) {
334
+ if (!node.tag) {
335
+ return false;
336
+ }
337
+ const startTagNameEnd = node.start + `<${node.tag}`.length;
338
+ const isAtStartTag = offset > node.start && offset <= startTagNameEnd;
339
+ const isAtEndTag = node.endTagStart !== undefined && offset >= node.endTagStart && offset < node.end;
340
+ return isAtStartTag || isAtEndTag;
341
+ }
342
+ getCustomDataProviders() {
343
+ const providers = this.configManager
344
+ .getHTMLConfig()
345
+ ?.customData?.map((customDataPath) => {
346
+ try {
347
+ const jsonPath = path_1.default.resolve(customDataPath);
348
+ return (0, vscode_html_languageservice_1.newHTMLDataProvider)(customDataPath, require(jsonPath));
349
+ }
350
+ catch (error) {
351
+ logger_1.Logger.error(error);
352
+ }
353
+ })
354
+ .filter(utils_2.isNotNullOrUndefined) ?? [];
355
+ return [dataProvider_1.svelteHtmlDataProvider].concat(providers);
356
+ }
357
+ featureEnabled(feature) {
358
+ return (this.configManager.enabled('html.enable') &&
359
+ this.configManager.enabled(`html.${feature}.enable`));
360
+ }
361
+ }
362
+ exports.HTMLPlugin = HTMLPlugin;
363
+ //# sourceMappingURL=HTMLPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/html/HTMLPlugin.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAqE;AACrE,6EAMqC;AACrC,iEAc+B;AAC/B,mDAK6B;AAE7B,iDAAwD;AASxD,qDAA0E;AAC1E,uCAAsE;AACtE,uDAAqD;AACrD,gDAAwB;AACxB,yCAAsC;AACtC,wEAAqF;AACrF,6EAAgF;AAEhF,oIAAoI;AACpI,MAAM,WAAW,GAAG,uDAAuD,CAAC;AAC5E,MAAM,yBAAyB,GAAG,OAAO,CAAC;AAE1C,MAAa,UAAU;IAoBnB,YACI,UAA2B,EACnB,aAA8B;QAA9B,kBAAa,GAAb,aAAa,CAAiB;QAb1C,WAAM,GAAG,MAAM,CAAC;QACR,SAAI,GAAG,IAAA,gDAAkB,EAAC;YAC9B,mBAAmB,EAAE,IAAI,CAAC,sBAAsB,EAAE;YAClD,sBAAsB,EAAE,KAAK;YAC7B,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE;SACjE,CAAC,CAAC;QACK,cAAS,GAAG,IAAI,OAAO,EAA0B,CAAC;QAClD,wBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE/D,0BAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAM3D,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,CACxB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CACnE,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,QAAkB,EAAE,EAAE;YAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACtC,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,QAAkB,EAAE,QAAkB;QAC1C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,IAAI,IAAA,yBAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,QAAkB,EAClB,QAAkB,EAClB,iBAAqC;QAErC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IACI,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC;YACnD,IAAA,mBAAO,EAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;YACtC,IAAA,mBAAO,EAAC,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAC9C,CAAC;YACC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,YAAY,GAAmB;YAC/B,YAAY,EAAE,KAAK;YACnB,KAAK,EAAE,EAAE;SACZ,CAAC;QAEF,IAAI,oBAAoB,GAAG,GAAsC,EAAE,CAAC,IAAI,CAAC;QACzE,IACI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK;YACrD,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,wBAAwB,KAAK,OAAO,EAC1E,CAAC;YACC,oBAAoB,GAAG,GAAG,EAAE,CACxB,IAAA,yBAAe,EAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC;YAErF,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC;gBAChC;oBACI,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,YAAY,GAAG,oBAAoB,EAAE,IAAI,YAAY,CAAC;iBAC/E;aACJ,CAAC,CAAC;QACP,CAAC;QAED,IACI,iBAAiB,EAAE,gBAAgB;YACnC,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EAC3E,CAAC;YACC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC3C,IACI,CAAC,IAAI,EAAE,GAAG;gBACV,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC;oBACpC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,EAC/D,CAAC;gBACC,OAAO,oBAAoB,EAAE,IAAI,IAAI,CAAC;YAC1C,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC;YAC3D,CAAC,CAAC,kDAAkD;gBAClD,oDAAoD;gBACpD,sCAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAExC,MAAM,cAAc,GAChB,QAAQ;YACR,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAChF,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,CACtC,MAAM,IAAA,8BAAc,EAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE;gBACnD,YAAY,EAAE,IAAI;aACrB,CAAC,CACL;YACH,CAAC,CAAC,IAAI,CAAC;QAEf,MAAM,gBAAgB,GAAG,cAAc,EAAE,gBAAgB,CAAC;QAC1D,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QACjD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAE/C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,GAAG,0CAAkB,CAAC,OAAO,CAAC;gBAEvC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CACjD,yBAAyB,EACzB,EAAE,CACL,CAAC;gBACN,CAAC;YACL,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjB,OAAO;YACX,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvD,MAAM,eAAe,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,QAAQ,GAAG;oBACZ,GAAG,IAAI,CAAC,QAAQ;oBAChB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAClC,yBAAyB,EACzB,GAAG,eAAe,IAAI,UAAU,KAAK,QAAQ,EAAE,CAClD;iBACJ,CAAC;gBACF,iEAAiE;gBACjE,IAAI,iBAAiB,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;oBAC1C,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxD,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,QAAQ,GAAG;oBACZ,GAAG,IAAI,CAAC,QAAQ;oBAChB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAClC,yBAAyB,EACzB,IAAI,UAAU,KAAK,QAAQ,EAAE,CAChC;iBACJ,CAAC;YACN,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,sCAAc,CAAC,MAAM,CACxB,CAAC,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC;QACpE,0EAA0E;QAC1E,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAChC,CAAC;IACN,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,KAA2B;QACjD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,gCAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/C,OAAuB,IAAI,CAAC;YAChC,CAAC;YACD,OAAO;gBACH,GAAG,IAAI;gBACP,QAAQ,EAAE,gCAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;aAC3E,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,gBAAgB,CAAC,IAAkB,EAAE,QAAkB,EAAE,QAAkB;QAC/E,OAAO,CAAC,CAAC,IAAA,0CAA8B,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzF,CAAC;IAEO,kBAAkB,CAAC,WAA6B;QACpD,MAAM,8BAA8B,GAAG,WAAW,CAAC,MAAM,CACrD,CAAC,UAAU,EAAE,EAAE,CACX,UAAU,CAAC,IAAI,KAAK,0CAAkB,CAAC,QAAQ;YAC/C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CACrD,CAAC;QACF,MAAM,eAAe,GAAqB,EAAE,CAAC;QAC7C,iBAAiB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,iBAAiB,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7C,iBAAiB,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,OAAO,eAAe,CAAC;QAEvB,SAAS,iBAAiB,CAAC,GAAW,EAAE,SAAmB;YACvD,MAAM,kBAAkB,GAAG,8BAA8B,CAAC,IAAI,CAC1D,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,KAAK,GAAG,CAC3C,CAAC;YACF,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACtB,OAAO;YACX,CAAC;YAED,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,eAAe,CAAC,IAAI,CAAC;gBACjB,GAAG,kBAAkB;gBACrB,KAAK,EAAE,GAAG,GAAG,WAAW,IAAI,IAAI;gBAChC,UAAU,EACN,kBAAkB,CAAC,UAAU;oBAC7B,GAAG,kBAAkB,CAAC,UAAU,UAAU,IAAI,GAAG;gBACrD,QAAQ,EACJ,kBAAkB,CAAC,QAAQ,IAAI,gCAAQ,CAAC,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC;oBACnE,CAAC,CAAC;wBACI,KAAK,EAAE,kBAAkB,CAAC,QAAQ,CAAC,KAAK;wBACxC,OAAO,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,OAAO,UAAU,IAAI,GAAG;qBACnE;oBACH,CAAC,CAAC,SAAS;aACtB,CAAC,CACL,CAAC;QACN,CAAC;IACL,CAAC;IAED,aAAa,CAAC,QAAkB,EAAE,QAAkB;QAChD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEO,oBAAoB,CAAC,IAAkB,EAAE,QAAkB,EAAE,QAAkB;QACnF,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,IAAA,4BAAoB,EAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAED,kBAAkB,CAAC,QAAkB;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,QAAkB,EAAE,QAAkB,EAAE,OAAe;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,IAAI,IAAA,yBAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,aAAa,CAAC,QAAkB,EAAE,QAAkB;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,IAAI,IAAA,yBAAiB,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;QAE7C,OAAO,IAAA,eAAO,EAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,sBAAsB,CAAC,QAAkB,EAAE,QAAkB;QACzD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE3E,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,4HAA4H;QAC5H,OAAO;YACH,MAAM;YACN,WAAW,EACP,8GAA8G;SACrH,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,QAAkB;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY;YACvC,CAAC,CAAC,IAAA,6CAA6B,EAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC;YAChE,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,KAAK,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YACxB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,OAAO,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAC5D,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;YAElC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,MAAM;YACV,CAAC;YACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,iBAAiB,GACnB,IAAA,mBAAO,EAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC;gBACrC,IAAA,mBAAO,EAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;gBACtC,IAAA,mBAAO,EAAC,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAEjD,IAAI,iBAAiB,EAAE,CAAC;gBACpB,SAAS;YACb,CAAC;YAED,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAE5C,uEAAuE;YACvE,6DAA6D;YAC7D,+BAA+B;YAC/B,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;gBAC9C,SAAS;YACb,CAAC;YAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,KAAK;iBACd,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACnB,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAEzD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;YACzD,IAAI,UAAU,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC;gBACtC,SAAS;YACb,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACR,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC;oBACR,SAAS,EAAE,gBAAgB,CAAC,IAAI;oBAChC,OAAO,EAAE,UAAU;iBACtB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAED,qBAAqB,CAAC,QAAkB,EAAE,QAAkB;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,cAAc,GAAG,IAAA,mCAAmB,EACtC,QAAQ,EACR,QAAQ,EACR,QAAQ,CAAC,YAAY,EACrB,WAAW,CACd,CAAC;QAEF,IAAI,cAAc,EAAE,CAAC;YACjB,OAAO,cAAc,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,IAAI,IAAA,yBAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE1E,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAU,EAAE,MAAc;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;QAC3D,MAAM,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,IAAI,eAAe,CAAC;QACtE,MAAM,UAAU,GACZ,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACtF,OAAO,YAAY,IAAI,UAAU,CAAC;IACtC,CAAC;IAEO,sBAAsB;QAC1B,MAAM,SAAS,GACX,IAAI,CAAC,aAAa;aACb,aAAa,EAAE;YAChB,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;YACjC,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC9C,OAAO,IAAA,iDAAmB,EAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,eAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACL,CAAC,CAAC;aACD,MAAM,CAAC,4BAAoB,CAAC,IAAI,EAAE,CAAC;QAE5C,OAAO,CAAC,qCAAsB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAEO,cAAc,CAAC,OAA2B;QAC9C,OAAO,CACH,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC;YACzC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,OAAO,SAAS,CAAC,CACvD,CAAC;IACN,CAAC;CACJ;AAndD,gCAmdC"}
@@ -0,0 +1 @@
1
+ export declare const svelteHtmlDataProvider: import("vscode-html-languageservice").IHTMLDataProvider;