@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,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeType = void 0;
4
+ exports.getIdClassCompletion = getIdClassCompletion;
5
+ exports.collectSelectors = collectSelectors;
6
+ const vscode_languageserver_1 = require("vscode-languageserver");
7
+ function getIdClassCompletion(cssDoc, attributeContext) {
8
+ const collectingType = getCollectingType(attributeContext);
9
+ if (!collectingType) {
10
+ return null;
11
+ }
12
+ const items = collectSelectors(cssDoc.stylesheet, collectingType);
13
+ return vscode_languageserver_1.CompletionList.create(items);
14
+ }
15
+ function getCollectingType(attributeContext) {
16
+ if (attributeContext.inValue) {
17
+ if (attributeContext.name === 'class') {
18
+ return NodeType.ClassSelector;
19
+ }
20
+ if (attributeContext.name === 'id') {
21
+ return NodeType.IdentifierSelector;
22
+ }
23
+ }
24
+ else if (attributeContext.name.startsWith('class:')) {
25
+ return NodeType.ClassSelector;
26
+ }
27
+ }
28
+ /**
29
+ * incomplete see
30
+ * https://github.com/microsoft/vscode-css-languageservice/blob/master/src/parser/cssNodes.ts#L14
31
+ * The enum is not exported. we have to update this whenever it changes
32
+ */
33
+ var NodeType;
34
+ (function (NodeType) {
35
+ NodeType[NodeType["ClassSelector"] = 14] = "ClassSelector";
36
+ NodeType[NodeType["IdentifierSelector"] = 15] = "IdentifierSelector";
37
+ })(NodeType || (exports.NodeType = NodeType = {}));
38
+ function collectSelectors(stylesheet, type) {
39
+ const result = [];
40
+ walk(stylesheet, (node) => {
41
+ if (node.type === type) {
42
+ result.push(node);
43
+ }
44
+ });
45
+ return result.map((node) => ({
46
+ label: node.getText().substring(1),
47
+ kind: vscode_languageserver_1.CompletionItemKind.Keyword
48
+ }));
49
+ }
50
+ function walk(node, callback) {
51
+ callback(node);
52
+ if (node.children) {
53
+ node.children.forEach((node) => walk(node, callback));
54
+ }
55
+ }
56
+ //# sourceMappingURL=getIdClassCompletion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getIdClassCompletion.js","sourceRoot":"","sources":["../../../../../src/plugins/css/features/getIdClassCompletion.ts"],"names":[],"mappings":";;;AAIA,oDAYC;AA+BD,4CAcC;AA7DD,iEAA2F;AAI3F,SAAgB,oBAAoB,CAChC,MAAmB,EACnB,gBAAkC;IAElC,MAAM,cAAc,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAE3D,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAqB,EAAE,cAAc,CAAC,CAAC;IAE7E,OAAO,sCAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,iBAAiB,CAAC,gBAAkC;IACzD,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,gBAAgB,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACpC,OAAO,QAAQ,CAAC,aAAa,CAAC;QAClC,CAAC;QACD,IAAI,gBAAgB,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC,kBAAkB,CAAC;QACvC,CAAC;IACL,CAAC;SAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,OAAO,QAAQ,CAAC,aAAa,CAAC;IAClC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,IAAY,QAGX;AAHD,WAAY,QAAQ;IAChB,0DAAkB,CAAA;IAClB,oEAAuB,CAAA;AAC3B,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAQD,SAAgB,gBAAgB,CAAC,UAAmB,EAAE,IAAY;IAC9D,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,GAAG,CACb,CAAC,IAAI,EAAkB,EAAE,CAAC,CAAC;QACvB,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAClC,IAAI,EAAE,0CAAkB,CAAC,OAAO;KACnC,CAAC,CACL,CAAC;AACN,CAAC;AAED,SAAS,IAAI,CAAC,IAAa,EAAE,QAAiC;IAC1D,QAAQ,CAAC,IAAI,CAAC,CAAC;IACf,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1D,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { IPseudoClassData } from 'vscode-css-languageservice';
2
+ export declare const pseudoClass: IPseudoClassData[];
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pseudoClass = void 0;
4
+ exports.pseudoClass = [
5
+ {
6
+ name: ':global()',
7
+ description: `[svelte] :global modifier
8
+
9
+ Applying styles to a selector globally`,
10
+ references: [
11
+ {
12
+ name: 'Svelte.dev Reference',
13
+ url: 'https://svelte.dev/docs/svelte/global-styles'
14
+ }
15
+ ]
16
+ }
17
+ ];
18
+ //# sourceMappingURL=svelte-selectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte-selectors.js","sourceRoot":"","sources":["../../../../../src/plugins/css/features/svelte-selectors.ts"],"names":[],"mappings":";;;AAEa,QAAA,WAAW,GAAuB;IAC3C;QACI,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE;;uCAEkB;QAC/B,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,sBAAsB;gBAC5B,GAAG,EAAE,8CAA8C;aACtD;SACJ;KACJ;CACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ export interface GlobalVar {
2
+ name: string;
3
+ filename: string;
4
+ value: string;
5
+ }
6
+ export declare class GlobalVars {
7
+ private fsWatcher?;
8
+ private watchedFiles;
9
+ private globalVars;
10
+ private readonly workspaceRoot;
11
+ constructor(workspaceRoot: string[]);
12
+ watchFiles(filesToWatch: string): void;
13
+ private createIgnoreMatcher;
14
+ private updateForFile;
15
+ getGlobalVars(): GlobalVar[];
16
+ }
@@ -0,0 +1,82 @@
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.GlobalVars = void 0;
7
+ const chokidar_1 = require("chokidar");
8
+ const fs_1 = require("fs");
9
+ const globrex_1 = __importDefault(require("globrex"));
10
+ const path_1 = require("path");
11
+ const utils_1 = require("../../utils");
12
+ const varRegex = /^\s*(--\w+.*?):\s*?([^;]*)/;
13
+ class GlobalVars {
14
+ constructor(workspaceRoot) {
15
+ this.globalVars = new Map();
16
+ this.workspaceRoot = workspaceRoot;
17
+ }
18
+ watchFiles(filesToWatch) {
19
+ if (!filesToWatch || this.watchedFiles === filesToWatch) {
20
+ return;
21
+ }
22
+ this.watchedFiles = filesToWatch;
23
+ if (this.fsWatcher) {
24
+ this.fsWatcher.close();
25
+ this.globalVars.clear();
26
+ }
27
+ const paths = new Set();
28
+ const includePatterns = new Set();
29
+ for (const root of this.workspaceRoot) {
30
+ for (const filePath of filesToWatch.split(',')) {
31
+ if (!filePath.includes('*')) {
32
+ paths.add(filePath);
33
+ continue;
34
+ }
35
+ const normalizedPath = (0, utils_1.normalizePath)((0, path_1.join)(root, filePath));
36
+ includePatterns.add(normalizedPath);
37
+ const pathSegments = normalizedPath.split('**');
38
+ let directory = pathSegments[0] || '.';
39
+ paths.add(directory);
40
+ }
41
+ }
42
+ this.fsWatcher = (0, chokidar_1.watch)(Array.from(paths), {
43
+ ignored: this.createIgnoreMatcher(includePatterns)
44
+ })
45
+ .addListener('add', (file) => this.updateForFile(file))
46
+ .addListener('change', (file) => {
47
+ this.updateForFile(file);
48
+ })
49
+ .addListener('unlink', (file) => this.globalVars.delete(file));
50
+ }
51
+ createIgnoreMatcher(includePatterns) {
52
+ if (includePatterns.size === 0) {
53
+ return undefined;
54
+ }
55
+ const regexList = Array.from(includePatterns).map((pattern) => (0, globrex_1.default)(pattern, { globstar: true }).regex);
56
+ return (path) => {
57
+ return !regexList.some((regex) => regex.test(path));
58
+ };
59
+ }
60
+ updateForFile(filename) {
61
+ // Inside a small timeout because it seems chikidar is "too fast"
62
+ // and reading the file will then return empty content
63
+ setTimeout(() => {
64
+ (0, fs_1.readFile)(filename, 'utf-8', (error, contents) => {
65
+ if (error) {
66
+ return;
67
+ }
68
+ const globalVarsForFile = contents
69
+ .split('\n')
70
+ .map((line) => line.match(varRegex))
71
+ .filter(utils_1.isNotNullOrUndefined)
72
+ .map((line) => ({ filename, name: line[1], value: line[2] }));
73
+ this.globalVars.set(filename, globalVarsForFile);
74
+ });
75
+ }, 1000);
76
+ }
77
+ getGlobalVars() {
78
+ return (0, utils_1.flatten)([...this.globalVars.values()]);
79
+ }
80
+ }
81
+ exports.GlobalVars = GlobalVars;
82
+ //# sourceMappingURL=global-vars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-vars.js","sourceRoot":"","sources":["../../../../src/plugins/css/global-vars.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { LanguageService, LanguageServiceOptions } from 'vscode-css-languageservice';
2
+ export declare function getLanguage(kind?: string): "css" | "scss" | "less";
3
+ export type CSSLanguageServices = Record<'css' | 'less' | 'scss', LanguageService>;
4
+ export declare function getLanguageService(langs: CSSLanguageServices, kind?: string): LanguageService;
5
+ export declare function createLanguageServices(options?: LanguageServiceOptions): CSSLanguageServices;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLanguage = getLanguage;
4
+ exports.getLanguageService = getLanguageService;
5
+ exports.createLanguageServices = createLanguageServices;
6
+ const vscode_css_languageservice_1 = require("vscode-css-languageservice");
7
+ const svelte_selectors_1 = require("./features/svelte-selectors");
8
+ const customDataProvider = {
9
+ providePseudoClasses() {
10
+ return svelte_selectors_1.pseudoClass;
11
+ },
12
+ provideProperties() {
13
+ return [
14
+ {
15
+ name: 'vector-effect',
16
+ values: [{ name: 'non-scaling-stroke' }, { name: 'none' }],
17
+ status: 'experimental'
18
+ },
19
+ {
20
+ name: 'print-color-adjust',
21
+ values: [{ name: 'economy' }, { name: 'exact' }],
22
+ status: 'experimental'
23
+ }
24
+ ];
25
+ },
26
+ provideAtDirectives() {
27
+ return [];
28
+ },
29
+ providePseudoElements() {
30
+ return [];
31
+ }
32
+ };
33
+ function getLanguage(kind) {
34
+ switch (kind) {
35
+ case 'scss':
36
+ case 'text/scss':
37
+ return 'scss';
38
+ case 'less':
39
+ case 'text/less':
40
+ return 'less';
41
+ case 'css':
42
+ case 'text/css':
43
+ default:
44
+ return 'css';
45
+ }
46
+ }
47
+ function getLanguageService(langs, kind) {
48
+ const lang = getLanguage(kind);
49
+ return langs[lang];
50
+ }
51
+ function createLanguageServices(options) {
52
+ const [css, less, scss] = [
53
+ vscode_css_languageservice_1.getCSSLanguageService,
54
+ vscode_css_languageservice_1.getLESSLanguageService,
55
+ vscode_css_languageservice_1.getSCSSLanguageService
56
+ ].map((getService) => getService({
57
+ customDataProviders: [customDataProvider],
58
+ ...(options ?? {})
59
+ }));
60
+ return {
61
+ css,
62
+ less,
63
+ scss
64
+ };
65
+ }
66
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/plugins/css/service.ts"],"names":[],"mappings":";;AAoCA,kCAaC;AAID,gDAGC;AAED,wDAiBC;AA3ED,2EAOoC;AACpC,kEAA0D;AAE1D,MAAM,kBAAkB,GAAqB;IACzC,oBAAoB;QAChB,OAAO,8BAAW,CAAC;IACvB,CAAC;IACD,iBAAiB;QACb,OAAO;YACH;gBACI,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBAC1D,MAAM,EAAE,cAAc;aACzB;YACD;gBACI,IAAI,EAAE,oBAAoB;gBAC1B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBAChD,MAAM,EAAE,cAAc;aACzB;SACJ,CAAC;IACN,CAAC;IACD,mBAAmB;QACf,OAAO,EAAE,CAAC;IACd,CAAC;IACD,qBAAqB;QACjB,OAAO,EAAE,CAAC;IACd,CAAC;CACJ,CAAC;AAEF,SAAgB,WAAW,CAAC,IAAa;IACrC,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW;YACZ,OAAO,MAAe,CAAC;QAC3B,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW;YACZ,OAAO,MAAe,CAAC;QAC3B,KAAK,KAAK,CAAC;QACX,KAAK,UAAU,CAAC;QAChB;YACI,OAAO,KAAc,CAAC;IAC9B,CAAC;AACL,CAAC;AAID,SAAgB,kBAAkB,CAAC,KAA0B,EAAE,IAAa;IACxE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAgC;IACnE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG;QACtB,kDAAqB;QACrB,mDAAsB;QACtB,mDAAsB;KACzB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CACjB,UAAU,CAAC;QACP,mBAAmB,EAAE,CAAC,kBAAkB,CAAC;QACzC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;KACrB,CAAC,CACL,CAAC;IAEF,OAAO;QACH,GAAG;QACH,IAAI;QACJ,IAAI;KACP,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { DocumentContext } from 'vscode-css-languageservice';
2
+ import { WorkspaceFolder } from 'vscode-languageserver';
3
+ export declare function getDocumentContext(documentUri: string, workspaceFolders: WorkspaceFolder[]): DocumentContext;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getDocumentContext = getDocumentContext;
8
+ const vscode_uri_1 = require("vscode-uri");
9
+ function getDocumentContext(documentUri, workspaceFolders) {
10
+ function getRootFolder() {
11
+ for (const folder of workspaceFolders) {
12
+ let folderURI = folder.uri;
13
+ if (!folderURI.endsWith('/')) {
14
+ folderURI = folderURI + '/';
15
+ }
16
+ if (documentUri.startsWith(folderURI)) {
17
+ return folderURI;
18
+ }
19
+ }
20
+ return undefined;
21
+ }
22
+ return {
23
+ resolveReference: (ref, base = documentUri) => {
24
+ if (ref[0] === '/') {
25
+ // resolve absolute path against the current workspace folder
26
+ const folderUri = getRootFolder();
27
+ if (folderUri) {
28
+ return folderUri + ref.substr(1);
29
+ }
30
+ }
31
+ base = base.substr(0, base.lastIndexOf('/') + 1);
32
+ return vscode_uri_1.Utils.resolvePath(vscode_uri_1.URI.parse(base), ref).toString();
33
+ }
34
+ };
35
+ }
36
+ //# sourceMappingURL=documentContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentContext.js","sourceRoot":"","sources":["../../../src/plugins/documentContext.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAQhG,gDA8BC;AAhCD,2CAAwC;AAExC,SAAgB,kBAAkB,CAC9B,WAAmB,EACnB,gBAAmC;IAEnC,SAAS,aAAa;QAClB,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACpC,IAAI,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,SAAS,GAAG,SAAS,GAAG,GAAG,CAAC;YAChC,CAAC;YACD,IAAI,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpC,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO;QACH,gBAAgB,EAAE,CAAC,GAAW,EAAE,IAAI,GAAG,WAAW,EAAE,EAAE;YAClD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjB,6DAA6D;gBAC7D,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;gBAClC,IAAI,SAAS,EAAE,CAAC;oBACZ,OAAO,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrC,CAAC;YACL,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACjD,OAAO,kBAAK,CAAC,WAAW,CAAC,gBAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9D,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { CompletionList, Hover, Position, SymbolInformation, Range, WorkspaceEdit, LinkedEditingRanges, CompletionContext, FoldingRange, DocumentHighlight } from 'vscode-languageserver';
2
+ import { DocumentManager, Document } from '../../lib/documents';
3
+ import { LSConfigManager } from '../../ls-config';
4
+ import { HoverProvider, CompletionsProvider, RenameProvider, LinkedEditingRangesProvider, FoldingRangeProvider, DocumentHighlightProvider } from '../interfaces';
5
+ export declare class HTMLPlugin implements HoverProvider, CompletionsProvider, RenameProvider, LinkedEditingRangesProvider, FoldingRangeProvider, DocumentHighlightProvider {
6
+ private configManager;
7
+ __name: string;
8
+ private lang;
9
+ private documents;
10
+ private styleScriptTemplate;
11
+ private htmlTriggerCharacters;
12
+ constructor(docManager: DocumentManager, configManager: LSConfigManager);
13
+ doHover(document: Document, position: Position): Hover | null;
14
+ getCompletions(document: Document, position: Position, completionContext?: CompletionContext): Promise<CompletionList | null>;
15
+ /**
16
+ * The HTML language service uses newer types which clash
17
+ * without the stable ones. Transform to the stable types.
18
+ */
19
+ private toCompletionItems;
20
+ private isInComponentTag;
21
+ private getLangCompletions;
22
+ doTagComplete(document: Document, position: Position): string | null;
23
+ private isInsideMoustacheTag;
24
+ getDocumentSymbols(document: Document): SymbolInformation[];
25
+ rename(document: Document, position: Position, newName: string): WorkspaceEdit | null;
26
+ prepareRename(document: Document, position: Position): Range | null;
27
+ getLinkedEditingRanges(document: Document, position: Position): LinkedEditingRanges | null;
28
+ getFoldingRanges(document: Document): FoldingRange[];
29
+ findDocumentHighlight(document: Document, position: Position): DocumentHighlight[] | null;
30
+ /**
31
+ * Returns true if rename happens at the tag name, not anywhere inbetween.
32
+ */
33
+ private isRenameAtTag;
34
+ private getCustomDataProviders;
35
+ private featureEnabled;
36
+ }