@canonical/terrazzo-lsp-extension 0.4.0

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 (346) hide show
  1. package/README.md +45 -0
  2. package/dist/esm/cli/expandGlobs.js +21 -0
  3. package/dist/esm/cli/expandGlobs.js.map +1 -0
  4. package/dist/esm/cli/index.js +61 -0
  5. package/dist/esm/cli/index.js.map +1 -0
  6. package/dist/esm/cli/loadArtifactFiles.js +21 -0
  7. package/dist/esm/cli/loadArtifactFiles.js.map +1 -0
  8. package/dist/esm/cli/printHelp.js +19 -0
  9. package/dist/esm/cli/printHelp.js.map +1 -0
  10. package/dist/esm/cli/runCheck.js +52 -0
  11. package/dist/esm/cli/runCheck.js.map +1 -0
  12. package/dist/esm/cli/runGraph.js +41 -0
  13. package/dist/esm/cli/runGraph.js.map +1 -0
  14. package/dist/esm/cli/runInspect.js +27 -0
  15. package/dist/esm/cli/runInspect.js.map +1 -0
  16. package/dist/esm/cli/runInstall.js +126 -0
  17. package/dist/esm/cli/runInstall.js.map +1 -0
  18. package/dist/esm/cli/runResolve.js +17 -0
  19. package/dist/esm/cli/runResolve.js.map +1 -0
  20. package/dist/esm/cli/runStatus.js +18 -0
  21. package/dist/esm/cli/runStatus.js.map +1 -0
  22. package/dist/esm/cli.js +4 -0
  23. package/dist/esm/cli.js.map +1 -0
  24. package/dist/esm/css/colorSetup.js +13 -0
  25. package/dist/esm/css/colorSetup.js.map +1 -0
  26. package/dist/esm/css/createDocumentIndex.js +43 -0
  27. package/dist/esm/css/createDocumentIndex.js.map +1 -0
  28. package/dist/esm/css/imports/extractCssImports.js +41 -0
  29. package/dist/esm/css/imports/extractCssImports.js.map +1 -0
  30. package/dist/esm/css/imports/extractJsImports.js +14 -0
  31. package/dist/esm/css/imports/extractJsImports.js.map +1 -0
  32. package/dist/esm/css/imports/extractPackageName.js +20 -0
  33. package/dist/esm/css/imports/extractPackageName.js.map +1 -0
  34. package/dist/esm/css/imports/formatFileUri.js +6 -0
  35. package/dist/esm/css/imports/formatFileUri.js.map +1 -0
  36. package/dist/esm/css/imports/index.js +9 -0
  37. package/dist/esm/css/imports/index.js.map +1 -0
  38. package/dist/esm/css/imports/isBareSpecifier.js +13 -0
  39. package/dist/esm/css/imports/isBareSpecifier.js.map +1 -0
  40. package/dist/esm/css/imports/isExternalPath.js +5 -0
  41. package/dist/esm/css/imports/isExternalPath.js.map +1 -0
  42. package/dist/esm/css/imports/parseFileUri.js +6 -0
  43. package/dist/esm/css/imports/parseFileUri.js.map +1 -0
  44. package/dist/esm/css/imports/resolveImportSpecifier.js +27 -0
  45. package/dist/esm/css/imports/resolveImportSpecifier.js.map +1 -0
  46. package/dist/esm/css/index.js +7 -0
  47. package/dist/esm/css/index.js.map +1 -0
  48. package/dist/esm/css/lezer/applyTreeChanges.js +5 -0
  49. package/dist/esm/css/lezer/applyTreeChanges.js.map +1 -0
  50. package/dist/esm/css/lezer/computeChangedRange.js +23 -0
  51. package/dist/esm/css/lezer/computeChangedRange.js.map +1 -0
  52. package/dist/esm/css/lezer/createTreeFragments.js +5 -0
  53. package/dist/esm/css/lezer/createTreeFragments.js.map +1 -0
  54. package/dist/esm/css/lezer/index.js +6 -0
  55. package/dist/esm/css/lezer/index.js.map +1 -0
  56. package/dist/esm/css/lezer/nodeText.js +4 -0
  57. package/dist/esm/css/lezer/nodeText.js.map +1 -0
  58. package/dist/esm/css/lezer/parseCSS.js +5 -0
  59. package/dist/esm/css/lezer/parseCSS.js.map +1 -0
  60. package/dist/esm/css/lezer/types.js +2 -0
  61. package/dist/esm/css/lezer/types.js.map +1 -0
  62. package/dist/esm/css/scanners/extractPropertyAtPosition.js +23 -0
  63. package/dist/esm/css/scanners/extractPropertyAtPosition.js.map +1 -0
  64. package/dist/esm/css/scanners/index.js +6 -0
  65. package/dist/esm/css/scanners/index.js.map +1 -0
  66. package/dist/esm/css/scanners/parseSuppressionDirectives.js +88 -0
  67. package/dist/esm/css/scanners/parseSuppressionDirectives.js.map +1 -0
  68. package/dist/esm/css/scanners/scanDeclarations.js +38 -0
  69. package/dist/esm/css/scanners/scanDeclarations.js.map +1 -0
  70. package/dist/esm/css/scanners/scanProperties.js +49 -0
  71. package/dist/esm/css/scanners/scanProperties.js.map +1 -0
  72. package/dist/esm/css/scanners/scanUsages.js +64 -0
  73. package/dist/esm/css/scanners/scanUsages.js.map +1 -0
  74. package/dist/esm/css/selectors/buildSelectorContext.js +9 -0
  75. package/dist/esm/css/selectors/buildSelectorContext.js.map +1 -0
  76. package/dist/esm/css/selectors/classifySelectorScope.js +32 -0
  77. package/dist/esm/css/selectors/classifySelectorScope.js.map +1 -0
  78. package/dist/esm/css/selectors/index.js +3 -0
  79. package/dist/esm/css/selectors/index.js.map +1 -0
  80. package/dist/esm/css/tree/ancestors.js +74 -0
  81. package/dist/esm/css/tree/ancestors.js.map +1 -0
  82. package/dist/esm/css/tree/declarations.js +6 -0
  83. package/dist/esm/css/tree/declarations.js.map +1 -0
  84. package/dist/esm/css/tree/index.js +5 -0
  85. package/dist/esm/css/tree/index.js.map +1 -0
  86. package/dist/esm/css/tree/lineage.js +10 -0
  87. package/dist/esm/css/tree/lineage.js.map +1 -0
  88. package/dist/esm/css/tree/lines.js +25 -0
  89. package/dist/esm/css/tree/lines.js.map +1 -0
  90. package/dist/esm/css/values/compareFallbackStaleness.js +34 -0
  91. package/dist/esm/css/values/compareFallbackStaleness.js.map +1 -0
  92. package/dist/esm/css/values/constants.js +33 -0
  93. package/dist/esm/css/values/constants.js.map +1 -0
  94. package/dist/esm/css/values/expectedTypeForProperty.js +117 -0
  95. package/dist/esm/css/values/expectedTypeForProperty.js.map +1 -0
  96. package/dist/esm/css/values/extractUnit.js +6 -0
  97. package/dist/esm/css/values/extractUnit.js.map +1 -0
  98. package/dist/esm/css/values/index.js +11 -0
  99. package/dist/esm/css/values/index.js.map +1 -0
  100. package/dist/esm/css/values/inferValueType.js +104 -0
  101. package/dist/esm/css/values/inferValueType.js.map +1 -0
  102. package/dist/esm/css/values/isAssignable.js +13 -0
  103. package/dist/esm/css/values/isAssignable.js.map +1 -0
  104. package/dist/esm/css/values/isSuppressed.js +47 -0
  105. package/dist/esm/css/values/isSuppressed.js.map +1 -0
  106. package/dist/esm/css/values/mapDtcgType.js +20 -0
  107. package/dist/esm/css/values/mapDtcgType.js.map +1 -0
  108. package/dist/esm/css/values/parseSyntaxType.js +50 -0
  109. package/dist/esm/css/values/parseSyntaxType.js.map +1 -0
  110. package/dist/esm/css/values/resolveDimensionValue.js +62 -0
  111. package/dist/esm/css/values/resolveDimensionValue.js.map +1 -0
  112. package/dist/esm/diagnosticCodes.js +18 -0
  113. package/dist/esm/diagnosticCodes.js.map +1 -0
  114. package/dist/esm/extension/findBundledVsixPath.js +20 -0
  115. package/dist/esm/extension/findBundledVsixPath.js.map +1 -0
  116. package/dist/esm/extension/index.js +4 -0
  117. package/dist/esm/extension/index.js.map +1 -0
  118. package/dist/esm/extension/installBundledVscodeExtension.js +25 -0
  119. package/dist/esm/extension/installBundledVscodeExtension.js.map +1 -0
  120. package/dist/esm/extension/updateVscodeSettings.js +8 -0
  121. package/dist/esm/extension/updateVscodeSettings.js.map +1 -0
  122. package/dist/esm/graph/ReachabilityCache.js +91 -0
  123. package/dist/esm/graph/ReachabilityCache.js.map +1 -0
  124. package/dist/esm/graph/TokenGraph.js +370 -0
  125. package/dist/esm/graph/TokenGraph.js.map +1 -0
  126. package/dist/esm/graph/index.js +5 -0
  127. package/dist/esm/graph/index.js.map +1 -0
  128. package/dist/esm/graph/loadArtifact.js +157 -0
  129. package/dist/esm/graph/loadArtifact.js.map +1 -0
  130. package/dist/esm/graph/parseArtifactToken.js +113 -0
  131. package/dist/esm/graph/parseArtifactToken.js.map +1 -0
  132. package/dist/esm/index.js +14 -0
  133. package/dist/esm/index.js.map +1 -0
  134. package/dist/esm/protocol/createRequest.js +10 -0
  135. package/dist/esm/protocol/createRequest.js.map +1 -0
  136. package/dist/esm/protocol/index.js +5 -0
  137. package/dist/esm/protocol/index.js.map +1 -0
  138. package/dist/esm/protocol/matchResponse.js +5 -0
  139. package/dist/esm/protocol/matchResponse.js.map +1 -0
  140. package/dist/esm/protocol/resolveConfig.js +222 -0
  141. package/dist/esm/protocol/resolveConfig.js.map +1 -0
  142. package/dist/esm/protocol/typeGuards.js +16 -0
  143. package/dist/esm/protocol/typeGuards.js.map +1 -0
  144. package/dist/esm/providers/artifactDiagnostics/checkBrokenAlias.js +15 -0
  145. package/dist/esm/providers/artifactDiagnostics/checkBrokenAlias.js.map +1 -0
  146. package/dist/esm/providers/artifactDiagnostics/checkCircularAlias.js +22 -0
  147. package/dist/esm/providers/artifactDiagnostics/checkCircularAlias.js.map +1 -0
  148. package/dist/esm/providers/artifactDiagnostics/checkDraftSyntax.js +15 -0
  149. package/dist/esm/providers/artifactDiagnostics/checkDraftSyntax.js.map +1 -0
  150. package/dist/esm/providers/artifactDiagnostics/checkMissingType.js +10 -0
  151. package/dist/esm/providers/artifactDiagnostics/checkMissingType.js.map +1 -0
  152. package/dist/esm/providers/artifactDiagnostics/checkSchemaViolation.js +15 -0
  153. package/dist/esm/providers/artifactDiagnostics/checkSchemaViolation.js.map +1 -0
  154. package/dist/esm/providers/artifactDiagnostics/index.js +28 -0
  155. package/dist/esm/providers/artifactDiagnostics/index.js.map +1 -0
  156. package/dist/esm/providers/classifyProvenance.js +19 -0
  157. package/dist/esm/providers/classifyProvenance.js.map +1 -0
  158. package/dist/esm/providers/completions/buildCompletionItem.js +132 -0
  159. package/dist/esm/providers/completions/buildCompletionItem.js.map +1 -0
  160. package/dist/esm/providers/completions/buildSortText.js +39 -0
  161. package/dist/esm/providers/completions/buildSortText.js.map +1 -0
  162. package/dist/esm/providers/completions/index.js +6 -0
  163. package/dist/esm/providers/completions/index.js.map +1 -0
  164. package/dist/esm/providers/completions/provideCompletions.js +64 -0
  165. package/dist/esm/providers/completions/provideCompletions.js.map +1 -0
  166. package/dist/esm/providers/completions/resolveCompletionItem.js +26 -0
  167. package/dist/esm/providers/completions/resolveCompletionItem.js.map +1 -0
  168. package/dist/esm/providers/completions/resolveExpectedType.js +17 -0
  169. package/dist/esm/providers/completions/resolveExpectedType.js.map +1 -0
  170. package/dist/esm/providers/constants.js +53 -0
  171. package/dist/esm/providers/constants.js.map +1 -0
  172. package/dist/esm/providers/diagnostics/checkMissingFallback.js +20 -0
  173. package/dist/esm/providers/diagnostics/checkMissingFallback.js.map +1 -0
  174. package/dist/esm/providers/diagnostics/checkNoColorScheme.js +27 -0
  175. package/dist/esm/providers/diagnostics/checkNoColorScheme.js.map +1 -0
  176. package/dist/esm/providers/diagnostics/checkPrimitiveToken.js +20 -0
  177. package/dist/esm/providers/diagnostics/checkPrimitiveToken.js.map +1 -0
  178. package/dist/esm/providers/diagnostics/checkScopedUsage.js +28 -0
  179. package/dist/esm/providers/diagnostics/checkScopedUsage.js.map +1 -0
  180. package/dist/esm/providers/diagnostics/checkStaleFallback.js +22 -0
  181. package/dist/esm/providers/diagnostics/checkStaleFallback.js.map +1 -0
  182. package/dist/esm/providers/diagnostics/checkTypeMismatch.js +24 -0
  183. package/dist/esm/providers/diagnostics/checkTypeMismatch.js.map +1 -0
  184. package/dist/esm/providers/diagnostics/checkTypeUncertain.js +19 -0
  185. package/dist/esm/providers/diagnostics/checkTypeUncertain.js.map +1 -0
  186. package/dist/esm/providers/diagnostics/checkUnknownVar.js +18 -0
  187. package/dist/esm/providers/diagnostics/checkUnknownVar.js.map +1 -0
  188. package/dist/esm/providers/diagnostics/checkUnreachableToken.js +25 -0
  189. package/dist/esm/providers/diagnostics/checkUnreachableToken.js.map +1 -0
  190. package/dist/esm/providers/diagnostics/index.js +2 -0
  191. package/dist/esm/providers/diagnostics/index.js.map +1 -0
  192. package/dist/esm/providers/diagnostics/orchestrateDiagnostics.js +90 -0
  193. package/dist/esm/providers/diagnostics/orchestrateDiagnostics.js.map +1 -0
  194. package/dist/esm/providers/diagnostics/types.js +2 -0
  195. package/dist/esm/providers/diagnostics/types.js.map +1 -0
  196. package/dist/esm/providers/formatCheckReport.js +90 -0
  197. package/dist/esm/providers/formatCheckReport.js.map +1 -0
  198. package/dist/esm/providers/index.js +20 -0
  199. package/dist/esm/providers/index.js.map +1 -0
  200. package/dist/esm/providers/makeDiagnostic.js +13 -0
  201. package/dist/esm/providers/makeDiagnostic.js.map +1 -0
  202. package/dist/esm/providers/prepareRename.js +36 -0
  203. package/dist/esm/providers/prepareRename.js.map +1 -0
  204. package/dist/esm/providers/provideCodeActions.js +154 -0
  205. package/dist/esm/providers/provideCodeActions.js.map +1 -0
  206. package/dist/esm/providers/provideDocumentColors.js +90 -0
  207. package/dist/esm/providers/provideDocumentColors.js.map +1 -0
  208. package/dist/esm/providers/provideDocumentLinks.js +55 -0
  209. package/dist/esm/providers/provideDocumentLinks.js.map +1 -0
  210. package/dist/esm/providers/provideHover.js +20 -0
  211. package/dist/esm/providers/provideHover.js.map +1 -0
  212. package/dist/esm/providers/provideInlayHints.js +82 -0
  213. package/dist/esm/providers/provideInlayHints.js.map +1 -0
  214. package/dist/esm/providers/provideReferences.js +39 -0
  215. package/dist/esm/providers/provideReferences.js.map +1 -0
  216. package/dist/esm/providers/provideRename.js +63 -0
  217. package/dist/esm/providers/provideRename.js.map +1 -0
  218. package/dist/esm/providers/provideSemanticTokens.js +74 -0
  219. package/dist/esm/providers/provideSemanticTokens.js.map +1 -0
  220. package/dist/esm/providers/provideWorkspaceSymbols.js +175 -0
  221. package/dist/esm/providers/provideWorkspaceSymbols.js.map +1 -0
  222. package/dist/esm/providers/resolveDefinition.js +42 -0
  223. package/dist/esm/providers/resolveDefinition.js.map +1 -0
  224. package/dist/esm/providers/tokenTooltip/buildResolutionTable.js +121 -0
  225. package/dist/esm/providers/tokenTooltip/buildResolutionTable.js.map +1 -0
  226. package/dist/esm/providers/tokenTooltip/buildTokenTooltip.js +60 -0
  227. package/dist/esm/providers/tokenTooltip/buildTokenTooltip.js.map +1 -0
  228. package/dist/esm/providers/tokenTooltip/constants.js +14 -0
  229. package/dist/esm/providers/tokenTooltip/constants.js.map +1 -0
  230. package/dist/esm/providers/tokenTooltip/formatDeclarationSites.js +53 -0
  231. package/dist/esm/providers/tokenTooltip/formatDeclarationSites.js.map +1 -0
  232. package/dist/esm/providers/tokenTooltip/formatProvenanceLine.js +86 -0
  233. package/dist/esm/providers/tokenTooltip/formatProvenanceLine.js.map +1 -0
  234. package/dist/esm/providers/tokenTooltip/index.js +6 -0
  235. package/dist/esm/providers/tokenTooltip/index.js.map +1 -0
  236. package/dist/esm/providers/tokenTooltip/resolveToLiteral.js +19 -0
  237. package/dist/esm/providers/tokenTooltip/resolveToLiteral.js.map +1 -0
  238. package/dist/esm/providers/truncate.js +6 -0
  239. package/dist/esm/providers/truncate.js.map +1 -0
  240. package/dist/esm/providers/types.js +38 -0
  241. package/dist/esm/providers/types.js.map +1 -0
  242. package/dist/esm/runtime/ConfigNotFoundError.js +21 -0
  243. package/dist/esm/runtime/ConfigNotFoundError.js.map +1 -0
  244. package/dist/esm/runtime/artifacts/index.js +2 -0
  245. package/dist/esm/runtime/artifacts/index.js.map +1 -0
  246. package/dist/esm/runtime/artifacts/loadConfiguredArtifacts.js +32 -0
  247. package/dist/esm/runtime/artifacts/loadConfiguredArtifacts.js.map +1 -0
  248. package/dist/esm/runtime/buildImportGraph.js +61 -0
  249. package/dist/esm/runtime/buildImportGraph.js.map +1 -0
  250. package/dist/esm/runtime/config/ensureServerConfig.js +64 -0
  251. package/dist/esm/runtime/config/ensureServerConfig.js.map +1 -0
  252. package/dist/esm/runtime/config/index.js +2 -0
  253. package/dist/esm/runtime/config/index.js.map +1 -0
  254. package/dist/esm/runtime/createConfigCandidatePath.js +7 -0
  255. package/dist/esm/runtime/createConfigCandidatePath.js.map +1 -0
  256. package/dist/esm/runtime/createGraphWorker.js +23 -0
  257. package/dist/esm/runtime/createGraphWorker.js.map +1 -0
  258. package/dist/esm/runtime/createServerState.js +39 -0
  259. package/dist/esm/runtime/createServerState.js.map +1 -0
  260. package/dist/esm/runtime/detectRuntime.js +40 -0
  261. package/dist/esm/runtime/detectRuntime.js.map +1 -0
  262. package/dist/esm/runtime/dispatch/LogMessageType.js +8 -0
  263. package/dist/esm/runtime/dispatch/LogMessageType.js.map +1 -0
  264. package/dist/esm/runtime/dispatch/handleWorkerResponse.js +58 -0
  265. package/dist/esm/runtime/dispatch/handleWorkerResponse.js.map +1 -0
  266. package/dist/esm/runtime/dispatch/index.js +5 -0
  267. package/dist/esm/runtime/dispatch/index.js.map +1 -0
  268. package/dist/esm/runtime/dispatch/routeLspRequest.js +233 -0
  269. package/dist/esm/runtime/dispatch/routeLspRequest.js.map +1 -0
  270. package/dist/esm/runtime/dispatch/routeWorkerRequest.js +162 -0
  271. package/dist/esm/runtime/dispatch/routeWorkerRequest.js.map +1 -0
  272. package/dist/esm/runtime/dispatch/types.js +2 -0
  273. package/dist/esm/runtime/dispatch/types.js.map +1 -0
  274. package/dist/esm/runtime/documents/handleArtifactChanged.js +18 -0
  275. package/dist/esm/runtime/documents/handleArtifactChanged.js.map +1 -0
  276. package/dist/esm/runtime/documents/handleChangeDocument.js +41 -0
  277. package/dist/esm/runtime/documents/handleChangeDocument.js.map +1 -0
  278. package/dist/esm/runtime/documents/handleCloseDocument.js +10 -0
  279. package/dist/esm/runtime/documents/handleCloseDocument.js.map +1 -0
  280. package/dist/esm/runtime/documents/handleFileChanged.js +14 -0
  281. package/dist/esm/runtime/documents/handleFileChanged.js.map +1 -0
  282. package/dist/esm/runtime/documents/handleOpenDocument.js +37 -0
  283. package/dist/esm/runtime/documents/handleOpenDocument.js.map +1 -0
  284. package/dist/esm/runtime/documents/index.js +6 -0
  285. package/dist/esm/runtime/documents/index.js.map +1 -0
  286. package/dist/esm/runtime/getServerCapabilities.js +35 -0
  287. package/dist/esm/runtime/getServerCapabilities.js.map +1 -0
  288. package/dist/esm/runtime/index.js +14 -0
  289. package/dist/esm/runtime/index.js.map +1 -0
  290. package/dist/esm/runtime/indexing/index.js +5 -0
  291. package/dist/esm/runtime/indexing/index.js.map +1 -0
  292. package/dist/esm/runtime/indexing/indexDocument.js +32 -0
  293. package/dist/esm/runtime/indexing/indexDocument.js.map +1 -0
  294. package/dist/esm/runtime/indexing/indexGlobalStylesheets.js +12 -0
  295. package/dist/esm/runtime/indexing/indexGlobalStylesheets.js.map +1 -0
  296. package/dist/esm/runtime/indexing/reindexDocument.js +16 -0
  297. package/dist/esm/runtime/indexing/reindexDocument.js.map +1 -0
  298. package/dist/esm/runtime/indexing/updateImportEdges.js +5 -0
  299. package/dist/esm/runtime/indexing/updateImportEdges.js.map +1 -0
  300. package/dist/esm/runtime/scheduleBufferUpdate.js +39 -0
  301. package/dist/esm/runtime/scheduleBufferUpdate.js.map +1 -0
  302. package/dist/esm/runtime/startLspServer.js +66 -0
  303. package/dist/esm/runtime/startLspServer.js.map +1 -0
  304. package/dist/esm/runtime/types.js +2 -0
  305. package/dist/esm/runtime/types.js.map +1 -0
  306. package/dist/esm/testing/index.js +8 -0
  307. package/dist/esm/testing/index.js.map +1 -0
  308. package/dist/esm/testing/makeArtifactToken.js +31 -0
  309. package/dist/esm/testing/makeArtifactToken.js.map +1 -0
  310. package/dist/esm/testing/makeConfig.js +40 -0
  311. package/dist/esm/testing/makeConfig.js.map +1 -0
  312. package/dist/esm/testing/makeDeclarationNode.js +18 -0
  313. package/dist/esm/testing/makeDeclarationNode.js.map +1 -0
  314. package/dist/esm/testing/makePropertyNode.js +12 -0
  315. package/dist/esm/testing/makePropertyNode.js.map +1 -0
  316. package/dist/esm/testing/makeServerState.js +21 -0
  317. package/dist/esm/testing/makeServerState.js.map +1 -0
  318. package/dist/esm/testing/makeTokenNode.js +34 -0
  319. package/dist/esm/testing/makeTokenNode.js.map +1 -0
  320. package/dist/esm/testing/makeTransport.js +9 -0
  321. package/dist/esm/testing/makeTransport.js.map +1 -0
  322. package/dist/esm/transport/index.js +2 -0
  323. package/dist/esm/transport/index.js.map +1 -0
  324. package/dist/esm/transport/stdio/createMessageStream.js +50 -0
  325. package/dist/esm/transport/stdio/createMessageStream.js.map +1 -0
  326. package/dist/esm/transport/stdio/index.js +2 -0
  327. package/dist/esm/transport/stdio/index.js.map +1 -0
  328. package/dist/esm/types/config.js +6 -0
  329. package/dist/esm/types/config.js.map +1 -0
  330. package/dist/esm/types/css.js +6 -0
  331. package/dist/esm/types/css.js.map +1 -0
  332. package/dist/esm/types/graph.js +6 -0
  333. package/dist/esm/types/graph.js.map +1 -0
  334. package/dist/esm/types/index.js +16 -0
  335. package/dist/esm/types/index.js.map +1 -0
  336. package/dist/esm/types/lsp.js +10 -0
  337. package/dist/esm/types/lsp.js.map +1 -0
  338. package/dist/esm/types/protocol.js +35 -0
  339. package/dist/esm/types/protocol.js.map +1 -0
  340. package/dist/esm/types/worker.js +6 -0
  341. package/dist/esm/types/worker.js.map +1 -0
  342. package/dist/esm/version.js +21 -0
  343. package/dist/esm/version.js.map +1 -0
  344. package/dist/extension.js +17910 -0
  345. package/install.sh +29 -0
  346. package/package.json +94 -0
@@ -0,0 +1,233 @@
1
+ /**
2
+ * @note impure — reads process.pid, accesses process.version, creates graph worker.
3
+ */
4
+ import { VERSION } from "../../version.js";
5
+ import createGraphWorker from "../createGraphWorker.js";
6
+ import getServerCapabilities from "../getServerCapabilities.js";
7
+ import handleWorkerResponse from "./handleWorkerResponse.js";
8
+ import { LogMessageType } from "./LogMessageType.js";
9
+ export default async function routeLspRequest(state, message, transport) {
10
+ const { id, method, params } = message;
11
+ if (method === "initialize") {
12
+ const rootDir = resolveRootDir(state.fallbackRootDir, params);
13
+ const debug = isVerbose(params)
14
+ ? (entry) => transport.sendNotification("window/logMessage", {
15
+ type: LogMessageType.Info,
16
+ message: entry,
17
+ })
18
+ : () => { };
19
+ state.worker = createGraphWorker({
20
+ allowDegraded: state.allowDegraded,
21
+ debug,
22
+ log: (entry) => transport.sendNotification("window/logMessage", {
23
+ type: LogMessageType.Info,
24
+ message: entry,
25
+ }),
26
+ postMessage: (response) => handleWorkerResponse(response, state.pendingRequests, transport),
27
+ rootDir,
28
+ });
29
+ state.initialized = true;
30
+ transport.sendResponse(id, {
31
+ capabilities: getServerCapabilities(state.allowDegraded),
32
+ serverInfo: { name: "terrazzo-lsp", version: VERSION },
33
+ });
34
+ return;
35
+ }
36
+ if (method === "initialized")
37
+ return;
38
+ if (method === "shutdown") {
39
+ state.shutdownRequested = true;
40
+ transport.sendResponse(id, null);
41
+ return;
42
+ }
43
+ if (method === "exit") {
44
+ process.exit(state.shutdownRequested ? 0 : 1);
45
+ }
46
+ if (!state.initialized || !state.worker || !method)
47
+ return;
48
+ switch (method) {
49
+ case "textDocument/completion":
50
+ await dispatchRequest(state, id, method, {
51
+ type: "COMPLETION",
52
+ uri: readDocumentUri(params),
53
+ position: readPosition(params),
54
+ });
55
+ return;
56
+ case "textDocument/hover":
57
+ await dispatchRequest(state, id, method, {
58
+ type: "HOVER",
59
+ uri: readDocumentUri(params),
60
+ position: readPosition(params),
61
+ });
62
+ return;
63
+ case "textDocument/definition":
64
+ await dispatchRequest(state, id, method, {
65
+ type: "DEFINITION",
66
+ uri: readDocumentUri(params),
67
+ position: readPosition(params),
68
+ });
69
+ return;
70
+ case "textDocument/references":
71
+ await dispatchRequest(state, id, method, {
72
+ type: "REFERENCES",
73
+ uri: readDocumentUri(params),
74
+ position: readPosition(params),
75
+ });
76
+ return;
77
+ case "textDocument/rename":
78
+ await dispatchRequest(state, id, method, {
79
+ type: "RENAME",
80
+ uri: readDocumentUri(params),
81
+ position: readPosition(params),
82
+ newName: params?.newName ?? "",
83
+ });
84
+ return;
85
+ case "textDocument/semanticTokens/full":
86
+ await dispatchRequest(state, id, method, {
87
+ type: "SEMANTIC_TOKENS",
88
+ uri: readDocumentUri(params),
89
+ });
90
+ return;
91
+ case "workspace/symbol":
92
+ await dispatchRequest(state, id, method, {
93
+ type: "WORKSPACE_SYMBOL",
94
+ query: params?.query ?? "",
95
+ });
96
+ return;
97
+ case "textDocument/documentColor":
98
+ await dispatchRequest(state, id, method, {
99
+ type: "DOCUMENT_COLOR",
100
+ uri: readDocumentUri(params),
101
+ });
102
+ return;
103
+ case "textDocument/colorPresentation":
104
+ transport.sendResponse(id, [{ label: "var()" }]);
105
+ return;
106
+ case "textDocument/prepareRename":
107
+ await dispatchRequest(state, id, method, {
108
+ type: "PREPARE_RENAME",
109
+ uri: readDocumentUri(params),
110
+ position: readPosition(params),
111
+ });
112
+ return;
113
+ case "textDocument/documentLink":
114
+ await dispatchRequest(state, id, method, {
115
+ type: "DOCUMENT_LINK",
116
+ uri: readDocumentUri(params),
117
+ });
118
+ return;
119
+ case "textDocument/inlayHint":
120
+ await dispatchRequest(state, id, method, {
121
+ type: "INLAY_HINT",
122
+ uri: readDocumentUri(params),
123
+ range: params?.range ?? {
124
+ start: { line: 0, character: 0 },
125
+ end: { line: 0, character: 0 },
126
+ },
127
+ });
128
+ return;
129
+ case "textDocument/codeAction": {
130
+ const context = params?.context;
131
+ // LSP guarantees diagnostics shape; we trust the client payload here
132
+ const diagnostics = context?.diagnostics ?? [];
133
+ await dispatchRequest(state, id, method, {
134
+ type: "CODE_ACTION",
135
+ uri: readDocumentUri(params),
136
+ diagnostics,
137
+ });
138
+ return;
139
+ }
140
+ case "completionItem/resolve": {
141
+ const data = params?.data;
142
+ const item = {
143
+ label: params?.label ?? "",
144
+ kind: params?.kind ?? 6,
145
+ ...(params?.detail ? { detail: params.detail } : {}),
146
+ ...(params?.documentation
147
+ ? {
148
+ documentation: params.documentation,
149
+ }
150
+ : {}),
151
+ };
152
+ await dispatchRequest(state, id, method, {
153
+ type: "COMPLETION_RESOLVE",
154
+ uri: data?.uri ?? "",
155
+ item,
156
+ });
157
+ return;
158
+ }
159
+ case "textDocument/didOpen": {
160
+ const textDocument = params?.textDocument;
161
+ if (!textDocument)
162
+ return;
163
+ await dispatchRequest(state, id, method, {
164
+ type: "OPEN_DOC",
165
+ uri: textDocument.uri,
166
+ text: textDocument.text,
167
+ });
168
+ return;
169
+ }
170
+ case "textDocument/didChange": {
171
+ const changeParams = params;
172
+ if (!changeParams)
173
+ return;
174
+ await dispatchRequest(state, id, method, {
175
+ type: "CHANGE_DOC",
176
+ uri: changeParams.textDocument.uri,
177
+ changes: changeParams.contentChanges,
178
+ });
179
+ return;
180
+ }
181
+ case "textDocument/didClose": {
182
+ const textDocument = params?.textDocument;
183
+ if (!textDocument)
184
+ return;
185
+ await state.worker.handleRequest({
186
+ id: nextRequestId(state),
187
+ type: "CLOSE_DOC",
188
+ uri: textDocument.uri,
189
+ });
190
+ return;
191
+ }
192
+ }
193
+ }
194
+ async function dispatchRequest(state, id, method, request) {
195
+ const worker = state.worker;
196
+ if (!worker)
197
+ return;
198
+ const workerId = nextRequestId(state);
199
+ state.pendingRequests.set(workerId, { id: id ?? workerId, method });
200
+ await worker.handleRequest({
201
+ id: workerId,
202
+ ...request,
203
+ });
204
+ }
205
+ function isVerbose(params) {
206
+ const initializationOptions = params?.initializationOptions;
207
+ return (initializationOptions?.verbose === true ||
208
+ process.env.TERRAZZO_LSP_DEBUG === "1");
209
+ }
210
+ function nextRequestId(state) {
211
+ state.requestSeq += 1;
212
+ return state.requestSeq;
213
+ }
214
+ function readDocumentUri(params) {
215
+ return params?.textDocument?.uri ?? "";
216
+ }
217
+ function readPosition(params) {
218
+ return (params?.position ?? {
219
+ line: 0,
220
+ character: 0,
221
+ });
222
+ }
223
+ function resolveRootDir(fallbackRootDir, params) {
224
+ const rootUri = params?.rootUri;
225
+ const rootPath = params?.rootPath;
226
+ if (rootUri) {
227
+ return rootUri.startsWith("file://")
228
+ ? decodeURIComponent(rootUri.slice(7))
229
+ : rootUri;
230
+ }
231
+ return rootPath ?? fallbackRootDir;
232
+ }
233
+ //# sourceMappingURL=routeLspRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routeLspRequest.js","sourceRoot":"","sources":["../../../../src/runtime/dispatch/routeLspRequest.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,qBAAqB,MAAM,6BAA6B,CAAC;AAChE,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AASrD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,eAAe,CAC3C,KAAqB,EACrB,OAAmB,EACnB,SAAuB;IAEvB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;YAC7B,CAAC,CAAC,CAAC,KAAa,EAAE,EAAE,CAChB,SAAS,CAAC,gBAAgB,CAAC,mBAAmB,EAAE;gBAC9C,IAAI,EAAE,cAAc,CAAC,IAAI;gBACzB,OAAO,EAAE,KAAK;aACf,CAAC;YACN,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;QAEb,KAAK,CAAC,MAAM,GAAG,iBAAiB,CAAC;YAC/B,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,KAAK;YACL,GAAG,EAAE,CAAC,KAAa,EAAE,EAAE,CACrB,SAAS,CAAC,gBAAgB,CAAC,mBAAmB,EAAE;gBAC9C,IAAI,EAAE,cAAc,CAAC,IAAI;gBACzB,OAAO,EAAE,KAAK;aACf,CAAC;YACJ,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CACxB,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,eAAe,EAAE,SAAS,CAAC;YAClE,OAAO;SACR,CAAC,CAAC;QACH,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QACzB,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE;YACzB,YAAY,EAAE,qBAAqB,CAAC,KAAK,CAAC,aAAa,CAAC;YACxD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE;SACvD,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO;IAErC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC/B,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO;IAE3D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,yBAAyB;YAC5B,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,YAAY;gBAClB,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC;gBAC5B,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC;aAC/B,CAAC,CAAC;YACH,OAAO;QACT,KAAK,oBAAoB;YACvB,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC;gBAC5B,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC;aAC/B,CAAC,CAAC;YACH,OAAO;QACT,KAAK,yBAAyB;YAC5B,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,YAAY;gBAClB,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC;gBAC5B,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC;aAC/B,CAAC,CAAC;YACH,OAAO;QACT,KAAK,yBAAyB;YAC5B,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,YAAY;gBAClB,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC;gBAC5B,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC;aAC/B,CAAC,CAAC;YACH,OAAO;QACT,KAAK,qBAAqB;YACxB,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC;gBAC5B,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC;gBAC9B,OAAO,EAAG,MAAM,EAAE,OAAkB,IAAI,EAAE;aAC3C,CAAC,CAAC;YACH,OAAO;QACT,KAAK,kCAAkC;YACrC,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,iBAAiB;gBACvB,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC;aAC7B,CAAC,CAAC;YACH,OAAO;QACT,KAAK,kBAAkB;YACrB,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAG,MAAM,EAAE,KAAgB,IAAI,EAAE;aACvC,CAAC,CAAC;YACH,OAAO;QACT,KAAK,4BAA4B;YAC/B,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC;aAC7B,CAAC,CAAC;YACH,OAAO;QACT,KAAK,gCAAgC;YACnC,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACjD,OAAO;QACT,KAAK,4BAA4B;YAC/B,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC;gBAC5B,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC;aAC/B,CAAC,CAAC;YACH,OAAO;QACT,KAAK,2BAA2B;YAC9B,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC;aAC7B,CAAC,CAAC;YACH,OAAO;QACT,KAAK,wBAAwB;YAC3B,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,YAAY;gBAClB,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC;gBAC5B,KAAK,EAAG,MAAM,EAAE,KAGd,IAAI;oBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;oBAChC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;iBAC/B;aACF,CAAC,CAAC;YACH,OAAO;QACT,KAAK,yBAAyB,CAAC,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,EAAE,OAEX,CAAC;YACd,qEAAqE;YACrE,MAAM,WAAW,GACd,OAAO,EAAE,WAEI,IAAI,EAAE,CAAC;YACvB,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,aAAa;gBACnB,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC;gBAC5B,WAAW;aACZ,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,EAAE,IAAoC,CAAC;YAC1D,MAAM,IAAI,GAAkD;gBAC1D,KAAK,EAAG,MAAM,EAAE,KAAgB,IAAI,EAAE;gBACtC,IAAI,EAAG,MAAM,EAAE,IAAe,IAAI,CAAC;gBACnC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,GAAG,CAAC,MAAM,EAAE,aAAa;oBACvB,CAAC,CAAC;wBACE,aAAa,EACX,MAAM,CAAC,aAA6D;qBACvE;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;YACF,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,oBAAoB;gBAC1B,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;gBACpB,IAAI;aACL,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,MAAM,YAAY,GAAG,MAAM,EAAE,YAEhB,CAAC;YACd,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC1B,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,YAAY,CAAC,GAAG;gBACrB,IAAI,EAAE,YAAY,CAAC,IAAI;aACxB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,MAAM,YAAY,GAAG,MAKR,CAAC;YACd,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC1B,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,YAAY;gBAClB,GAAG,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG;gBAClC,OAAO,EAAE,YAAY,CAAC,cAAc;aACrC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC7B,MAAM,YAAY,GAAG,MAAM,EAAE,YAA2C,CAAC;YACzE,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC1B,MAAM,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC/B,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC;gBACxB,IAAI,EAAE,WAAW;gBACjB,GAAG,EAAE,YAAY,CAAC,GAAG;aACtB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,KAAqB,EACrB,EAA+B,EAC/B,MAAc,EACd,OAA0C;IAE1C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,MAAM,MAAM,CAAC,aAAa,CAAC;QACzB,EAAE,EAAE,QAAQ;QACZ,GAAG,OAAO;KACe,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,SAAS,CAAC,MAA2C;IAC5D,MAAM,qBAAqB,GAAG,MAAM,EAAE,qBAEzB,CAAC;IACd,OAAO,CACL,qBAAqB,EAAE,OAAO,KAAK,IAAI;QACvC,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,CACvC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAqB;IAC1C,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;IACtB,OAAO,KAAK,CAAC,UAAU,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,MAA2C;IAClE,OAAQ,MAAM,EAAE,YAA4C,EAAE,GAAG,IAAI,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,YAAY,CAAC,MAA2C;IAI/D,OAAO,CACJ,MAAM,EAAE,QAA4D,IAAI;QACvE,IAAI,EAAE,CAAC;QACP,SAAS,EAAE,CAAC;KACb,CACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,eAAuB,EACvB,MAA2C;IAE3C,MAAM,OAAO,GAAG,MAAM,EAAE,OAA6B,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,EAAE,QAA8B,CAAC;IACxD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;YAClC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IACD,OAAO,QAAQ,IAAI,eAAe,CAAC;AACrC,CAAC"}
@@ -0,0 +1,162 @@
1
+ /**
2
+ * Route incoming WorkerRequest messages to the appropriate provider or handler.
3
+ *
4
+ * @note impure — dispatches to I/O-bound providers, mutates server state.
5
+ */
6
+ import { prepareRename, produceDiagnostics, provideCodeActions, provideCompletions, provideDocumentColors, provideDocumentLinks, provideHover, provideInlayHints, provideReferences, provideRename, provideSemanticTokens, provideWorkspaceSymbols, resolveCompletionItem, resolveDefinition, } from "../../providers/index.js";
7
+ import { ensureServerConfig } from "../config/index.js";
8
+ import { handleArtifactChanged, handleChangeDocument, handleCloseDocument, handleFileChanged, handleOpenDocument, } from "../documents/index.js";
9
+ export default async function routeWorkerRequest(state, request) {
10
+ const uri = "uri" in request ? request.uri : undefined;
11
+ await ensureServerConfig(state, uri);
12
+ state.debug(`[${request.type}] tokens=${state.graph.tokenCount} docs=${state.openDocuments.size}`);
13
+ switch (request.type) {
14
+ case "COMPLETION":
15
+ return handleCompletion(state, request);
16
+ case "HOVER":
17
+ return handleHover(state, request);
18
+ case "DEFINITION":
19
+ return handleDefinition(state, request);
20
+ case "DIAGNOSTICS":
21
+ return handleDiagnostics(state, request);
22
+ case "REFERENCES":
23
+ return handleReferences(state, request);
24
+ case "RENAME":
25
+ return handleRename(state, request);
26
+ case "SEMANTIC_TOKENS":
27
+ return handleSemanticTokens(state, request);
28
+ case "WORKSPACE_SYMBOL":
29
+ return handleWorkspaceSymbol(state, request);
30
+ case "DOCUMENT_COLOR":
31
+ return handleDocumentColor(state, request);
32
+ case "OPEN_DOC":
33
+ return handleOpenDocument(state, request);
34
+ case "CHANGE_DOC":
35
+ return handleChangeDocument(state, request);
36
+ case "CLOSE_DOC":
37
+ return handleCloseDocument(state, request);
38
+ case "FILE_CHANGED":
39
+ return handleFileChanged(state, request);
40
+ case "ARTIFACT_CHANGED":
41
+ return handleArtifactChanged(state, request);
42
+ case "PREPARE_RENAME":
43
+ return handlePrepareRename(state, request);
44
+ case "DOCUMENT_LINK":
45
+ return handleDocumentLink(state, request);
46
+ case "INLAY_HINT":
47
+ return handleInlayHint(state, request);
48
+ case "CODE_ACTION":
49
+ return handleCodeAction(state, request);
50
+ case "COMPLETION_RESOLVE":
51
+ return handleCompletionResolve(state, request);
52
+ }
53
+ }
54
+ function handleCompletion(state, request) {
55
+ const source = state.openDocuments.get(request.uri) ?? "";
56
+ state.debug(`[COMPLETION] uri=${request.uri} source=${source.length}B pos=${request.position.line}:${request.position.character}`);
57
+ const items = provideCompletions(request.uri, state.graph, state.cache, state.config, source, request.position);
58
+ state.debug(`[COMPLETION] → ${items.length} items`);
59
+ state.postMessage({ id: request.id, type: "COMPLETION_RESULT", items });
60
+ }
61
+ function handleHover(state, request) {
62
+ const source = state.openDocuments.get(request.uri) ?? "";
63
+ const cssVar = findCssVarAtPosition(source, request.position);
64
+ state.debug(`[HOVER] source=${source.length}B pos=${request.position.line}:${request.position.character} var=${cssVar ?? "(none)"} inGraph=${cssVar ? state.graph.hasToken(cssVar) : false}`);
65
+ const content = cssVar
66
+ ? provideHover(cssVar, request.uri, state.graph, state.config)
67
+ : null;
68
+ state.debug(`[HOVER] → ${content ? `hit (${content.value.length}B)` : "miss"}`);
69
+ state.postMessage({ id: request.id, type: "HOVER_RESULT", content });
70
+ }
71
+ function handleDefinition(state, request) {
72
+ const source = state.openDocuments.get(request.uri) ?? "";
73
+ const cssVar = findCssVarAtPosition(source, request.position);
74
+ const locations = cssVar ? resolveDefinition(cssVar, state.graph) : [];
75
+ state.postMessage({ id: request.id, type: "DEFINITION_RESULT", locations });
76
+ }
77
+ function handleDiagnostics(state, request) {
78
+ const diagnostics = produceDiagnostics(request.uri, request.text, state.graph, state.cache, state.config);
79
+ state.postMessage({
80
+ id: request.id,
81
+ type: "DIAGNOSTICS_RESULT",
82
+ uri: request.uri,
83
+ diagnostics,
84
+ });
85
+ }
86
+ function handleReferences(state, request) {
87
+ const source = state.openDocuments.get(request.uri) ?? "";
88
+ const cssVar = findCssVarAtPosition(source, request.position);
89
+ const locations = cssVar ? provideReferences(cssVar, state.graph) : [];
90
+ state.postMessage({ id: request.id, type: "REFERENCES_RESULT", locations });
91
+ }
92
+ function handleRename(state, request) {
93
+ const source = state.openDocuments.get(request.uri) ?? "";
94
+ const cssVar = findCssVarAtPosition(source, request.position);
95
+ const result = cssVar
96
+ ? provideRename(cssVar, request.newName, state.graph)
97
+ : null;
98
+ state.postMessage({ id: request.id, type: "RENAME_RESULT", result });
99
+ }
100
+ function handleSemanticTokens(state, request) {
101
+ const source = state.openDocuments.get(request.uri) ?? "";
102
+ const data = provideSemanticTokens(request.uri, source, state.graph);
103
+ state.postMessage({ id: request.id, type: "SEMANTIC_TOKENS_RESULT", data });
104
+ }
105
+ function handleWorkspaceSymbol(state, request) {
106
+ const symbols = provideWorkspaceSymbols(request.query, state.graph);
107
+ state.postMessage({
108
+ id: request.id,
109
+ type: "WORKSPACE_SYMBOL_RESULT",
110
+ symbols,
111
+ });
112
+ }
113
+ function handleDocumentColor(state, request) {
114
+ const source = state.openDocuments.get(request.uri) ?? "";
115
+ const colors = provideDocumentColors(source, state.graph);
116
+ state.postMessage({ id: request.id, type: "DOCUMENT_COLOR_RESULT", colors });
117
+ }
118
+ function findCssVarAtPosition(source, position) {
119
+ const line = source.split("\n")[position.line];
120
+ if (!line)
121
+ return null;
122
+ const pattern = /--([\w-]+)/g;
123
+ let match = pattern.exec(line);
124
+ while (match) {
125
+ const start = match.index;
126
+ const end = start + match[0].length;
127
+ if (position.character >= start && position.character <= end) {
128
+ return match[0];
129
+ }
130
+ match = pattern.exec(line);
131
+ }
132
+ return null;
133
+ }
134
+ function handlePrepareRename(state, request) {
135
+ const source = state.openDocuments.get(request.uri) ?? "";
136
+ const result = prepareRename(source, request.position, state.graph);
137
+ state.postMessage({ id: request.id, type: "PREPARE_RENAME_RESULT", result });
138
+ }
139
+ function handleDocumentLink(state, request) {
140
+ const source = state.openDocuments.get(request.uri) ?? "";
141
+ const links = provideDocumentLinks(source, request.uri);
142
+ state.postMessage({ id: request.id, type: "DOCUMENT_LINK_RESULT", links });
143
+ }
144
+ function handleInlayHint(state, request) {
145
+ const source = state.openDocuments.get(request.uri) ?? "";
146
+ const hints = provideInlayHints(source, request.uri, state.graph, state.config, request.range);
147
+ state.postMessage({ id: request.id, type: "INLAY_HINT_RESULT", hints });
148
+ }
149
+ function handleCodeAction(state, request) {
150
+ const source = state.openDocuments.get(request.uri) ?? "";
151
+ const actions = provideCodeActions(request.uri, source, request.diagnostics, state.graph);
152
+ state.postMessage({ id: request.id, type: "CODE_ACTION_RESULT", actions });
153
+ }
154
+ function handleCompletionResolve(state, request) {
155
+ const item = resolveCompletionItem(request.item, request.uri, state.graph, state.config);
156
+ state.postMessage({
157
+ id: request.id,
158
+ type: "COMPLETION_RESOLVE_RESULT",
159
+ item,
160
+ });
161
+ }
162
+ //# sourceMappingURL=routeWorkerRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routeWorkerRequest.js","sourceRoot":"","sources":["../../../../src/runtime/dispatch/routeWorkerRequest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/runtime/dispatch/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { produceArtifactDiagnostics } from "../../providers/index.js";
2
+ import { loadConfiguredArtifacts } from "../artifacts/index.js";
3
+ /** @note impure: clears graph state, reloads artifacts, and may post diagnostics. */
4
+ export default async function handleArtifactChanged(state, request) {
5
+ state.cache.invalidateAll();
6
+ state.graph.clearTokens();
7
+ await loadConfiguredArtifacts(state);
8
+ const diagnostics = produceArtifactDiagnostics(state.graph, state.config);
9
+ if (diagnostics.length === 0)
10
+ return;
11
+ state.postMessage({
12
+ id: request.id,
13
+ type: "PUSH_DIAGNOSTICS",
14
+ uri: request.path,
15
+ diagnostics,
16
+ });
17
+ }
18
+ //# sourceMappingURL=handleArtifactChanged.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleArtifactChanged.js","sourceRoot":"","sources":["../../../../src/runtime/documents/handleArtifactChanged.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,qFAAqF;AACrF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,qBAAqB,CACjD,KAAkB,EAClB,OAA6D;IAE7D,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IAC5B,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC1B,MAAM,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,0BAA0B,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACrC,KAAK,CAAC,WAAW,CAAC;QAChB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,kBAAkB;QACxB,GAAG,EAAE,OAAO,CAAC,IAAI;QACjB,WAAW;KACZ,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Handle textDocument/didChange — incremental re-parse and scheduled re-scan.
3
+ *
4
+ * @note impure — mutates ServerState, schedules debounced timeout.
5
+ */
6
+ import * as lezer from "../../css/lezer/index.js";
7
+ import { produceDiagnostics } from "../../providers/index.js";
8
+ import reindexDocument from "../indexing/reindexDocument.js";
9
+ import { scheduleBufferUpdate } from "../scheduleBufferUpdate.js";
10
+ export default function handleChangeDocument(state, request) {
11
+ const previousText = state.openDocuments.get(request.uri) ?? "";
12
+ const previousTree = state.openTrees.get(request.uri) ?? null;
13
+ const text = request.changes[request.changes.length - 1]?.text ?? "";
14
+ state.openDocuments.set(request.uri, text);
15
+ const change = lezer.computeChangedRange(previousText, text);
16
+ const tree = previousTree && change
17
+ ? lezer.parseCSS(text, lezer.applyTreeChanges(previousTree, [change]))
18
+ : lezer.parseCSS(text);
19
+ state.openTrees.set(request.uri, tree);
20
+ scheduleBufferUpdate(request.uri, text, state.graph, state.cache, state.pendingUpdates, () => {
21
+ void (async () => {
22
+ await reindexDocument({
23
+ cache: state.cache,
24
+ fs: state.fs,
25
+ globalStylesheets: state.config.globalStylesheets ?? undefined,
26
+ graph: state.graph,
27
+ invalidateUri: request.uri,
28
+ openDocuments: state.openDocuments,
29
+ openTrees: state.openTrees,
30
+ });
31
+ const diagnostics = produceDiagnostics(request.uri, text, state.graph, state.cache, state.config);
32
+ state.postMessage({
33
+ id: request.id,
34
+ type: "PUSH_DIAGNOSTICS",
35
+ uri: request.uri,
36
+ diagnostics,
37
+ });
38
+ })();
39
+ }, tree);
40
+ }
41
+ //# sourceMappingURL=handleChangeDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleChangeDocument.js","sourceRoot":"","sources":["../../../../src/runtime/documents/handleChangeDocument.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAkB,EAClB,OAAuD;IAEvD,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAChE,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;IAErE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC7D,MAAM,IAAI,GACR,YAAY,IAAI,MAAM;QACpB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAEvC,oBAAoB,CAClB,OAAO,CAAC,GAAG,EACX,IAAI,EACJ,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,cAAc,EACpB,GAAG,EAAE;QACH,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,eAAe,CAAC;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,IAAI,SAAS;gBAC9D,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,aAAa,EAAE,OAAO,CAAC,GAAG;gBAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,kBAAkB,CACpC,OAAO,CAAC,GAAG,EACX,IAAI,EACJ,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,MAAM,CACb,CAAC;YACF,KAAK,CAAC,WAAW,CAAC;gBAChB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,IAAI,EAAE,kBAAkB;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,WAAW;aACZ,CAAC,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EACD,IAAI,CACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ export default function handleCloseDocument(state, request) {
2
+ state.openDocuments.delete(request.uri);
3
+ state.openTrees.delete(request.uri);
4
+ const pendingUpdate = state.pendingUpdates.get(request.uri);
5
+ if (!pendingUpdate)
6
+ return;
7
+ clearTimeout(pendingUpdate.timer);
8
+ state.pendingUpdates.delete(request.uri);
9
+ }
10
+ //# sourceMappingURL=handleCloseDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleCloseDocument.js","sourceRoot":"","sources":["../../../../src/runtime/documents/handleCloseDocument.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,KAAkB,EAClB,OAAsD;IAEtD,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5D,IAAI,CAAC,aAAa;QAAE,OAAO;IAC3B,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,14 @@
1
+ import reindexDocument from "../indexing/reindexDocument.js";
2
+ /** @note impure: mutates server caches by reindexing the changed document. */
3
+ export default async function handleFileChanged(state, request) {
4
+ await reindexDocument({
5
+ cache: state.cache,
6
+ fs: state.fs,
7
+ globalStylesheets: state.config.globalStylesheets ?? undefined,
8
+ graph: state.graph,
9
+ invalidateUri: request.uri,
10
+ openDocuments: state.openDocuments,
11
+ openTrees: state.openTrees,
12
+ });
13
+ }
14
+ //# sourceMappingURL=handleFileChanged.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleFileChanged.js","sourceRoot":"","sources":["../../../../src/runtime/documents/handleFileChanged.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAG7D,8EAA8E;AAC9E,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,iBAAiB,CAC7C,KAAkB,EAClB,OAAyD;IAEzD,MAAM,eAAe,CAAC;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,IAAI,SAAS;QAC9D,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,aAAa,EAAE,OAAO,CAAC,GAAG;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Handle textDocument/didOpen — parse, index, and diagnose a newly opened file.
3
+ *
4
+ * @note impure — mutates ServerState, reads file system via import graph.
5
+ */
6
+ import * as lezer from "../../css/lezer/index.js";
7
+ import { produceDiagnostics } from "../../providers/index.js";
8
+ import reindexDocument from "../indexing/reindexDocument.js";
9
+ export default async function handleOpenDocument(state, request) {
10
+ state.openDocuments.set(request.uri, request.text);
11
+ const tree = lezer.parseCSS(request.text);
12
+ state.openTrees.set(request.uri, tree);
13
+ const filesBefore = state.graph.fileCount;
14
+ await reindexDocument({
15
+ cache: state.cache,
16
+ fs: state.fs,
17
+ globalStylesheets: state.config.globalStylesheets ?? undefined,
18
+ graph: state.graph,
19
+ invalidateUri: request.uri,
20
+ openDocuments: state.openDocuments,
21
+ openTrees: state.openTrees,
22
+ });
23
+ const declarationCount = state.graph.getDeclarationsByFile(request.uri).length;
24
+ const usageCount = state.graph.getUsagesByFile(request.uri).length;
25
+ state.debug(`[OPEN_DOC] ${request.uri} (${request.text.length}B) → ${declarationCount} declarations, ${usageCount} usages from buffer`);
26
+ const importedFiles = state.graph.fileCount - filesBefore;
27
+ state.debug(`[OPEN_DOC] import graph: ${importedFiles} new files discovered, ${state.graph.declarationVarCount} total declarations, ${state.graph.usageVarCount} total usages`);
28
+ const diagnostics = produceDiagnostics(request.uri, request.text, state.graph, state.cache, state.config);
29
+ state.debug(`[OPEN_DOC] → ${diagnostics.length} diagnostics`);
30
+ state.postMessage({
31
+ id: request.id,
32
+ type: "DIAGNOSTICS_RESULT",
33
+ uri: request.uri,
34
+ diagnostics,
35
+ });
36
+ }
37
+ //# sourceMappingURL=handleOpenDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleOpenDocument.js","sourceRoot":"","sources":["../../../../src/runtime/documents/handleOpenDocument.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAG7D,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,kBAAkB,CAC9C,KAAkB,EAClB,OAAqD;IAErD,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;IAE1C,MAAM,eAAe,CAAC;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,IAAI,SAAS;QAC9D,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,aAAa,EAAE,OAAO,CAAC,GAAG;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,CACxD,OAAO,CAAC,GAAG,CACZ,CAAC,MAAM,CAAC;IACT,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnE,KAAK,CAAC,KAAK,CACT,cAAc,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,MAAM,QAAQ,gBAAgB,kBAAkB,UAAU,qBAAqB,CAC3H,CAAC;IACF,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC;IAC1D,KAAK,CAAC,KAAK,CACT,4BAA4B,aAAa,0BAA0B,KAAK,CAAC,KAAK,CAAC,mBAAmB,wBAAwB,KAAK,CAAC,KAAK,CAAC,aAAa,eAAe,CACnK,CAAC;IAEF,MAAM,WAAW,GAAG,kBAAkB,CACpC,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,IAAI,EACZ,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,MAAM,CACb,CAAC;IACF,KAAK,CAAC,KAAK,CAAC,gBAAgB,WAAW,CAAC,MAAM,cAAc,CAAC,CAAC;IAC9D,KAAK,CAAC,WAAW,CAAC;QAChB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,oBAAoB;QAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,WAAW;KACZ,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { default as handleArtifactChanged } from "./handleArtifactChanged.js";
2
+ export { default as handleChangeDocument } from "./handleChangeDocument.js";
3
+ export { default as handleCloseDocument } from "./handleCloseDocument.js";
4
+ export { default as handleFileChanged } from "./handleFileChanged.js";
5
+ export { default as handleOpenDocument } from "./handleOpenDocument.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/documents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { SEMANTIC_TOKEN_MODIFIERS, SEMANTIC_TOKEN_TYPES, } from "../providers/types.js";
2
+ /** Return the advertised LSP capabilities for the chosen startup mode. */
3
+ export default function getServerCapabilities(allowDegraded) {
4
+ if (allowDegraded) {
5
+ return {
6
+ textDocumentSync: 1,
7
+ };
8
+ }
9
+ return {
10
+ textDocumentSync: 1,
11
+ completionProvider: {
12
+ triggerCharacters: ["-", "("],
13
+ resolveProvider: false,
14
+ },
15
+ hoverProvider: true,
16
+ definitionProvider: true,
17
+ referencesProvider: true,
18
+ renameProvider: { prepareProvider: true },
19
+ semanticTokensProvider: {
20
+ legend: {
21
+ tokenTypes: [...SEMANTIC_TOKEN_TYPES],
22
+ tokenModifiers: [...SEMANTIC_TOKEN_MODIFIERS],
23
+ },
24
+ full: true,
25
+ },
26
+ workspaceSymbolProvider: true,
27
+ colorProvider: true,
28
+ documentLinkProvider: {},
29
+ inlayHintProvider: true,
30
+ codeActionProvider: {
31
+ codeActionKinds: ["quickfix"],
32
+ },
33
+ };
34
+ }
35
+ //# sourceMappingURL=getServerCapabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getServerCapabilities.js","sourceRoot":"","sources":["../../../src/runtime/getServerCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,0EAA0E;AAC1E,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,aAAsB;IAClE,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO;YACL,gBAAgB,EAAE,CAAC;SACX,CAAC;IACb,CAAC;IAED,OAAO;QACL,gBAAgB,EAAE,CAAC;QACnB,kBAAkB,EAAE;YAClB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;YAC7B,eAAe,EAAE,KAAK;SACvB;QACD,aAAa,EAAE,IAAI;QACnB,kBAAkB,EAAE,IAAI;QACxB,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;QACzC,sBAAsB,EAAE;YACtB,MAAM,EAAE;gBACN,UAAU,EAAE,CAAC,GAAG,oBAAoB,CAAC;gBACrC,cAAc,EAAE,CAAC,GAAG,wBAAwB,CAAC;aAC9C;YACD,IAAI,EAAE,IAAI;SACX;QACD,uBAAuB,EAAE,IAAI;QAC7B,aAAa,EAAE,IAAI;QACnB,oBAAoB,EAAE,EAAE;QACxB,iBAAiB,EAAE,IAAI;QACvB,kBAAkB,EAAE;YAClB,eAAe,EAAE,CAAC,UAAU,CAAC;SAC9B;KACO,CAAC;AACb,CAAC"}