@canonical/terrazzo-lsp 0.0.2 → 0.2.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.
- package/README.md +158 -10
- package/dist/esm/cli/expandGlobs.js +21 -0
- package/dist/esm/cli/expandGlobs.js.map +1 -0
- package/dist/esm/cli/index.js +64 -0
- package/dist/esm/cli/index.js.map +1 -0
- package/dist/esm/cli/loadArtifactFiles.js +21 -0
- package/dist/esm/cli/loadArtifactFiles.js.map +1 -0
- package/dist/esm/cli/printHelp.js +20 -0
- package/dist/esm/cli/printHelp.js.map +1 -0
- package/dist/esm/cli/runCheck.js +52 -0
- package/dist/esm/cli/runCheck.js.map +1 -0
- package/dist/esm/cli/runGraph.js +41 -0
- package/dist/esm/cli/runGraph.js.map +1 -0
- package/dist/esm/cli/runInspect.js +27 -0
- package/dist/esm/cli/runInspect.js.map +1 -0
- package/dist/esm/cli/runInstall.js +126 -0
- package/dist/esm/cli/runInstall.js.map +1 -0
- package/dist/esm/cli/runResolve.js +17 -0
- package/dist/esm/cli/runResolve.js.map +1 -0
- package/dist/esm/cli/runStatus.js +18 -0
- package/dist/esm/cli/runStatus.js.map +1 -0
- package/dist/esm/cli.js +2 -361
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/css/colorSetup.js +13 -0
- package/dist/esm/css/colorSetup.js.map +1 -0
- package/dist/esm/css/createDocumentIndex.js +43 -0
- package/dist/esm/css/createDocumentIndex.js.map +1 -0
- package/dist/esm/css/imports/extractCssImports.js +41 -0
- package/dist/esm/css/imports/extractCssImports.js.map +1 -0
- package/dist/esm/css/{extractJsImports.js → imports/extractJsImports.js} +1 -4
- package/dist/esm/css/imports/extractJsImports.js.map +1 -0
- package/dist/esm/css/{extractPackageName.js → imports/extractPackageName.js} +1 -1
- package/dist/esm/css/imports/extractPackageName.js.map +1 -0
- package/dist/esm/css/imports/formatFileUri.js +6 -0
- package/dist/esm/css/imports/formatFileUri.js.map +1 -0
- package/dist/esm/css/imports/index.js +9 -0
- package/dist/esm/css/imports/index.js.map +1 -0
- package/dist/esm/css/{isBareSpecifier.js → imports/isBareSpecifier.js} +1 -1
- package/dist/esm/css/imports/isBareSpecifier.js.map +1 -0
- package/dist/esm/css/{isExternalPath.js → imports/isExternalPath.js} +1 -1
- package/dist/esm/css/imports/isExternalPath.js.map +1 -0
- package/dist/esm/css/imports/parseFileUri.js +6 -0
- package/dist/esm/css/imports/parseFileUri.js.map +1 -0
- package/dist/esm/css/{resolveImportSpecifier.js → imports/resolveImportSpecifier.js} +1 -4
- package/dist/esm/css/imports/resolveImportSpecifier.js.map +1 -0
- package/dist/esm/css/index.js +6 -24
- package/dist/esm/css/index.js.map +1 -1
- package/dist/esm/css/lezer/applyTreeChanges.js +5 -0
- package/dist/esm/css/lezer/applyTreeChanges.js.map +1 -0
- package/dist/esm/css/lezer/computeChangedRange.js +23 -0
- package/dist/esm/css/lezer/computeChangedRange.js.map +1 -0
- package/dist/esm/css/lezer/createTreeFragments.js +5 -0
- package/dist/esm/css/lezer/createTreeFragments.js.map +1 -0
- package/dist/esm/css/lezer/index.js +6 -0
- package/dist/esm/css/lezer/index.js.map +1 -0
- package/dist/esm/css/lezer/nodeText.js +4 -0
- package/dist/esm/css/lezer/nodeText.js.map +1 -0
- package/dist/esm/css/lezer/parseCSS.js +5 -0
- package/dist/esm/css/lezer/parseCSS.js.map +1 -0
- package/dist/esm/css/lezer/types.js +2 -0
- package/dist/esm/css/lezer/types.js.map +1 -0
- package/dist/esm/css/scanners/extractPropertyAtPosition.js +23 -0
- package/dist/esm/css/scanners/extractPropertyAtPosition.js.map +1 -0
- package/dist/esm/css/scanners/index.js +6 -0
- package/dist/esm/css/scanners/index.js.map +1 -0
- package/dist/esm/css/scanners/parseSuppressionDirectives.js +88 -0
- package/dist/esm/css/scanners/parseSuppressionDirectives.js.map +1 -0
- package/dist/esm/css/scanners/scanDeclarations.js +38 -0
- package/dist/esm/css/scanners/scanDeclarations.js.map +1 -0
- package/dist/esm/css/scanners/scanProperties.js +49 -0
- package/dist/esm/css/scanners/scanProperties.js.map +1 -0
- package/dist/esm/css/scanners/scanUsages.js +64 -0
- package/dist/esm/css/scanners/scanUsages.js.map +1 -0
- package/dist/esm/css/{buildSelectorContext.js → selectors/buildSelectorContext.js} +2 -2
- package/dist/esm/css/selectors/buildSelectorContext.js.map +1 -0
- package/dist/esm/css/{classifySelectorScope.js → selectors/classifySelectorScope.js} +1 -1
- package/dist/esm/css/selectors/classifySelectorScope.js.map +1 -0
- package/dist/esm/css/selectors/index.js +3 -0
- package/dist/esm/css/selectors/index.js.map +1 -0
- package/dist/esm/css/tree/ancestors.js +74 -0
- package/dist/esm/css/tree/ancestors.js.map +1 -0
- package/dist/esm/css/tree/declarations.js +6 -0
- package/dist/esm/css/tree/declarations.js.map +1 -0
- package/dist/esm/css/tree/index.js +5 -0
- package/dist/esm/css/tree/index.js.map +1 -0
- package/dist/esm/css/tree/lineage.js +10 -0
- package/dist/esm/css/tree/lineage.js.map +1 -0
- package/dist/esm/css/tree/lines.js +25 -0
- package/dist/esm/css/tree/lines.js.map +1 -0
- package/dist/esm/css/values/compareFallbackStaleness.js +34 -0
- package/dist/esm/css/values/compareFallbackStaleness.js.map +1 -0
- package/dist/esm/css/{constants.js → values/constants.js} +0 -2
- package/dist/esm/css/values/constants.js.map +1 -0
- package/dist/esm/css/{expectedTypeForProperty.js → values/expectedTypeForProperty.js} +0 -7
- package/dist/esm/css/values/expectedTypeForProperty.js.map +1 -0
- package/dist/esm/css/values/extractUnit.js +6 -0
- package/dist/esm/css/values/extractUnit.js.map +1 -0
- package/dist/esm/css/values/index.js +11 -0
- package/dist/esm/css/values/index.js.map +1 -0
- package/dist/esm/css/values/inferValueType.js +104 -0
- package/dist/esm/css/values/inferValueType.js.map +1 -0
- package/dist/esm/css/{isAssignable.js → values/isAssignable.js} +1 -2
- package/dist/esm/css/values/isAssignable.js.map +1 -0
- package/dist/esm/css/values/isSuppressed.js +47 -0
- package/dist/esm/css/values/isSuppressed.js.map +1 -0
- package/dist/esm/css/{mapDtcgType.js → values/mapDtcgType.js} +1 -2
- package/dist/esm/css/values/mapDtcgType.js.map +1 -0
- package/dist/esm/css/values/parseSyntaxType.js +50 -0
- package/dist/esm/css/values/parseSyntaxType.js.map +1 -0
- package/dist/esm/css/{resolveDimensionValue.js → values/resolveDimensionValue.js} +2 -3
- package/dist/esm/css/{resolveDimensionValue.js.map → values/resolveDimensionValue.js.map} +1 -1
- package/dist/esm/diagnosticCodes.js +18 -0
- package/dist/esm/diagnosticCodes.js.map +1 -0
- package/dist/esm/extension/findBundledVsixPath.js +20 -0
- package/dist/esm/extension/findBundledVsixPath.js.map +1 -0
- package/dist/esm/extension/index.js +4 -0
- package/dist/esm/extension/index.js.map +1 -0
- package/dist/esm/extension/installBundledVscodeExtension.js +25 -0
- package/dist/esm/extension/installBundledVscodeExtension.js.map +1 -0
- package/dist/esm/extension/updateVscodeSettings.js +8 -0
- package/dist/esm/extension/updateVscodeSettings.js.map +1 -0
- package/dist/esm/graph/ReachabilityCache.js +38 -22
- package/dist/esm/graph/ReachabilityCache.js.map +1 -1
- package/dist/esm/graph/TokenGraph.js +256 -7
- package/dist/esm/graph/TokenGraph.js.map +1 -1
- package/dist/esm/graph/index.js +4 -4
- package/dist/esm/graph/index.js.map +1 -1
- package/dist/esm/graph/loadArtifact.js +26 -31
- package/dist/esm/graph/loadArtifact.js.map +1 -1
- package/dist/esm/graph/parseArtifactToken.js +19 -18
- package/dist/esm/graph/parseArtifactToken.js.map +1 -1
- package/dist/esm/index.js +0 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/protocol/createRequest.js +5 -2
- package/dist/esm/protocol/createRequest.js.map +1 -1
- package/dist/esm/protocol/index.js +3 -7
- package/dist/esm/protocol/index.js.map +1 -1
- package/dist/esm/protocol/matchResponse.js +1 -1
- package/dist/esm/protocol/matchResponse.js.map +1 -1
- package/dist/esm/protocol/resolveConfig.js +41 -25
- package/dist/esm/protocol/resolveConfig.js.map +1 -1
- package/dist/esm/protocol/typeGuards.js +16 -0
- package/dist/esm/protocol/typeGuards.js.map +1 -0
- package/dist/esm/providers/artifactDiagnostics/checkBrokenAlias.js +15 -0
- package/dist/esm/providers/artifactDiagnostics/checkBrokenAlias.js.map +1 -0
- package/dist/esm/providers/artifactDiagnostics/checkCircularAlias.js +22 -0
- package/dist/esm/providers/artifactDiagnostics/checkCircularAlias.js.map +1 -0
- package/dist/esm/providers/artifactDiagnostics/checkDraftSyntax.js +15 -0
- package/dist/esm/providers/artifactDiagnostics/checkDraftSyntax.js.map +1 -0
- package/dist/esm/providers/artifactDiagnostics/checkMissingType.js +10 -0
- package/dist/esm/providers/artifactDiagnostics/checkMissingType.js.map +1 -0
- package/dist/esm/providers/artifactDiagnostics/checkSchemaViolation.js +15 -0
- package/dist/esm/providers/artifactDiagnostics/checkSchemaViolation.js.map +1 -0
- package/dist/esm/providers/artifactDiagnostics/index.js +28 -0
- package/dist/esm/providers/artifactDiagnostics/index.js.map +1 -0
- package/dist/esm/providers/classifyProvenance.js +5 -5
- package/dist/esm/providers/classifyProvenance.js.map +1 -1
- package/dist/esm/providers/completions/buildCompletionItem.js +132 -0
- package/dist/esm/providers/completions/buildCompletionItem.js.map +1 -0
- package/dist/esm/providers/completions/buildSortText.js +39 -0
- package/dist/esm/providers/completions/buildSortText.js.map +1 -0
- package/dist/esm/providers/completions/index.js +6 -0
- package/dist/esm/providers/completions/index.js.map +1 -0
- package/dist/esm/providers/completions/provideCompletions.js +64 -0
- package/dist/esm/providers/completions/provideCompletions.js.map +1 -0
- package/dist/esm/providers/completions/resolveCompletionItem.js +26 -0
- package/dist/esm/providers/completions/resolveCompletionItem.js.map +1 -0
- package/dist/esm/providers/completions/resolveExpectedType.js +17 -0
- package/dist/esm/providers/completions/resolveExpectedType.js.map +1 -0
- package/dist/esm/providers/constants.js +53 -0
- package/dist/esm/providers/constants.js.map +1 -0
- package/dist/esm/providers/diagnostics/checkMissingFallback.js +20 -0
- package/dist/esm/providers/diagnostics/checkMissingFallback.js.map +1 -0
- package/dist/esm/providers/diagnostics/checkNoColorScheme.js +27 -0
- package/dist/esm/providers/diagnostics/checkNoColorScheme.js.map +1 -0
- package/dist/esm/providers/diagnostics/checkPrimitiveToken.js +20 -0
- package/dist/esm/providers/diagnostics/checkPrimitiveToken.js.map +1 -0
- package/dist/esm/providers/diagnostics/checkScopedUsage.js +28 -0
- package/dist/esm/providers/diagnostics/checkScopedUsage.js.map +1 -0
- package/dist/esm/providers/diagnostics/checkStaleFallback.js +22 -0
- package/dist/esm/providers/diagnostics/checkStaleFallback.js.map +1 -0
- package/dist/esm/providers/diagnostics/checkTypeMismatch.js +24 -0
- package/dist/esm/providers/diagnostics/checkTypeMismatch.js.map +1 -0
- package/dist/esm/providers/diagnostics/checkTypeUncertain.js +19 -0
- package/dist/esm/providers/diagnostics/checkTypeUncertain.js.map +1 -0
- package/dist/esm/providers/diagnostics/checkUnknownVar.js +18 -0
- package/dist/esm/providers/diagnostics/checkUnknownVar.js.map +1 -0
- package/dist/esm/providers/diagnostics/checkUnreachableToken.js +25 -0
- package/dist/esm/providers/diagnostics/checkUnreachableToken.js.map +1 -0
- package/dist/esm/providers/diagnostics/index.js +2 -0
- package/dist/esm/providers/diagnostics/index.js.map +1 -0
- package/dist/esm/providers/diagnostics/orchestrateDiagnostics.js +90 -0
- package/dist/esm/providers/diagnostics/orchestrateDiagnostics.js.map +1 -0
- package/dist/esm/providers/diagnostics/types.js +2 -0
- package/dist/esm/providers/diagnostics/types.js.map +1 -0
- package/dist/esm/providers/formatCheckReport.js +4 -4
- package/dist/esm/providers/formatCheckReport.js.map +1 -1
- package/dist/esm/providers/index.js +18 -10
- package/dist/esm/providers/index.js.map +1 -1
- package/dist/esm/providers/makeDiagnostic.js +13 -0
- package/dist/esm/providers/makeDiagnostic.js.map +1 -0
- package/dist/esm/providers/prepareRename.js +36 -0
- package/dist/esm/providers/prepareRename.js.map +1 -0
- package/dist/esm/providers/provideCodeActions.js +154 -0
- package/dist/esm/providers/provideCodeActions.js.map +1 -0
- package/dist/esm/providers/provideDocumentColors.js +1 -1
- package/dist/esm/providers/provideDocumentColors.js.map +1 -1
- package/dist/esm/providers/provideDocumentLinks.js +55 -0
- package/dist/esm/providers/provideDocumentLinks.js.map +1 -0
- package/dist/esm/providers/provideHover.js +3 -6
- package/dist/esm/providers/provideHover.js.map +1 -1
- package/dist/esm/providers/provideInlayHints.js +82 -0
- package/dist/esm/providers/provideInlayHints.js.map +1 -0
- package/dist/esm/providers/provideReferences.js +39 -0
- package/dist/esm/providers/provideReferences.js.map +1 -0
- package/dist/esm/providers/provideRename.js +4 -4
- package/dist/esm/providers/provideRename.js.map +1 -1
- package/dist/esm/providers/provideSemanticTokens.js +6 -13
- package/dist/esm/providers/provideSemanticTokens.js.map +1 -1
- package/dist/esm/providers/provideWorkspaceSymbols.js +39 -13
- package/dist/esm/providers/provideWorkspaceSymbols.js.map +1 -1
- package/dist/esm/providers/resolveDefinition.js +4 -4
- package/dist/esm/providers/resolveDefinition.js.map +1 -1
- package/dist/esm/providers/tokenTooltip/buildResolutionTable.js +121 -0
- package/dist/esm/providers/tokenTooltip/buildResolutionTable.js.map +1 -0
- package/dist/esm/providers/tokenTooltip/buildTokenTooltip.js +60 -0
- package/dist/esm/providers/tokenTooltip/buildTokenTooltip.js.map +1 -0
- package/dist/esm/providers/tokenTooltip/constants.js +14 -0
- package/dist/esm/providers/tokenTooltip/constants.js.map +1 -0
- package/dist/esm/providers/tokenTooltip/formatDeclarationSites.js +53 -0
- package/dist/esm/providers/tokenTooltip/formatDeclarationSites.js.map +1 -0
- package/dist/esm/providers/tokenTooltip/formatProvenanceLine.js +86 -0
- package/dist/esm/providers/tokenTooltip/formatProvenanceLine.js.map +1 -0
- package/dist/esm/providers/tokenTooltip/index.js +6 -0
- package/dist/esm/providers/tokenTooltip/index.js.map +1 -0
- package/dist/esm/providers/tokenTooltip/resolveToLiteral.js +19 -0
- package/dist/esm/providers/tokenTooltip/resolveToLiteral.js.map +1 -0
- package/dist/esm/providers/truncate.js +6 -0
- package/dist/esm/providers/truncate.js.map +1 -0
- package/dist/esm/providers/types.js +38 -0
- package/dist/esm/providers/types.js.map +1 -0
- package/dist/esm/runtime/ConfigNotFoundError.js +21 -0
- package/dist/esm/runtime/ConfigNotFoundError.js.map +1 -0
- package/dist/esm/runtime/artifacts/index.js +2 -0
- package/dist/esm/runtime/artifacts/index.js.map +1 -0
- package/dist/esm/runtime/artifacts/loadConfiguredArtifacts.js +32 -0
- package/dist/esm/runtime/artifacts/loadConfiguredArtifacts.js.map +1 -0
- package/dist/esm/runtime/buildImportGraph.js +15 -55
- package/dist/esm/runtime/buildImportGraph.js.map +1 -1
- package/dist/esm/runtime/config/ensureServerConfig.js +64 -0
- package/dist/esm/runtime/config/ensureServerConfig.js.map +1 -0
- package/dist/esm/runtime/config/index.js +2 -0
- package/dist/esm/runtime/config/index.js.map +1 -0
- package/dist/esm/runtime/createConfigCandidatePath.js +7 -0
- package/dist/esm/runtime/createConfigCandidatePath.js.map +1 -0
- package/dist/esm/runtime/createGraphWorker.js +13 -319
- package/dist/esm/runtime/createGraphWorker.js.map +1 -1
- package/dist/esm/runtime/createServerState.js +39 -0
- package/dist/esm/runtime/createServerState.js.map +1 -0
- package/dist/esm/runtime/detectRuntime.js +40 -0
- package/dist/esm/runtime/detectRuntime.js.map +1 -0
- package/dist/esm/runtime/dispatch/LogMessageType.js +8 -0
- package/dist/esm/runtime/dispatch/LogMessageType.js.map +1 -0
- package/dist/esm/runtime/dispatch/handleWorkerResponse.js +58 -0
- package/dist/esm/runtime/dispatch/handleWorkerResponse.js.map +1 -0
- package/dist/esm/runtime/dispatch/index.js +5 -0
- package/dist/esm/runtime/dispatch/index.js.map +1 -0
- package/dist/esm/runtime/dispatch/routeLspRequest.js +232 -0
- package/dist/esm/runtime/dispatch/routeLspRequest.js.map +1 -0
- package/dist/esm/runtime/dispatch/routeWorkerRequest.js +162 -0
- package/dist/esm/runtime/dispatch/routeWorkerRequest.js.map +1 -0
- package/dist/esm/runtime/dispatch/types.js +2 -0
- package/dist/esm/runtime/dispatch/types.js.map +1 -0
- package/dist/esm/runtime/documents/handleArtifactChanged.js +18 -0
- package/dist/esm/runtime/documents/handleArtifactChanged.js.map +1 -0
- package/dist/esm/runtime/documents/handleChangeDocument.js +41 -0
- package/dist/esm/runtime/documents/handleChangeDocument.js.map +1 -0
- package/dist/esm/runtime/documents/handleCloseDocument.js +10 -0
- package/dist/esm/runtime/documents/handleCloseDocument.js.map +1 -0
- package/dist/esm/runtime/documents/handleFileChanged.js +14 -0
- package/dist/esm/runtime/documents/handleFileChanged.js.map +1 -0
- package/dist/esm/runtime/documents/handleOpenDocument.js +37 -0
- package/dist/esm/runtime/documents/handleOpenDocument.js.map +1 -0
- package/dist/esm/runtime/documents/index.js +6 -0
- package/dist/esm/runtime/documents/index.js.map +1 -0
- package/dist/esm/runtime/getServerCapabilities.js +35 -0
- package/dist/esm/runtime/getServerCapabilities.js.map +1 -0
- package/dist/esm/runtime/index.js +12 -3
- package/dist/esm/runtime/index.js.map +1 -1
- package/dist/esm/runtime/indexing/index.js +5 -0
- package/dist/esm/runtime/indexing/index.js.map +1 -0
- package/dist/esm/runtime/indexing/indexDocument.js +32 -0
- package/dist/esm/runtime/indexing/indexDocument.js.map +1 -0
- package/dist/esm/runtime/indexing/indexGlobalStylesheets.js +12 -0
- package/dist/esm/runtime/indexing/indexGlobalStylesheets.js.map +1 -0
- package/dist/esm/runtime/indexing/reindexDocument.js +16 -0
- package/dist/esm/runtime/indexing/reindexDocument.js.map +1 -0
- package/dist/esm/runtime/indexing/updateImportEdges.js +5 -0
- package/dist/esm/runtime/indexing/updateImportEdges.js.map +1 -0
- package/dist/esm/runtime/scheduleBufferUpdate.js +13 -35
- package/dist/esm/runtime/scheduleBufferUpdate.js.map +1 -1
- package/dist/esm/runtime/startLspServer.js +36 -335
- package/dist/esm/runtime/startLspServer.js.map +1 -1
- package/dist/esm/runtime/types.js +0 -6
- package/dist/esm/runtime/types.js.map +1 -1
- package/dist/esm/testing/index.js +8 -0
- package/dist/esm/testing/index.js.map +1 -0
- package/dist/esm/testing/makeArtifactToken.js +31 -0
- package/dist/esm/testing/makeArtifactToken.js.map +1 -0
- package/dist/esm/testing/makeConfig.js +40 -0
- package/dist/esm/testing/makeConfig.js.map +1 -0
- package/dist/esm/testing/makeDeclarationNode.js +18 -0
- package/dist/esm/testing/makeDeclarationNode.js.map +1 -0
- package/dist/esm/testing/makePropertyNode.js +12 -0
- package/dist/esm/testing/makePropertyNode.js.map +1 -0
- package/dist/esm/testing/makeServerState.js +21 -0
- package/dist/esm/testing/makeServerState.js.map +1 -0
- package/dist/esm/testing/makeTokenNode.js +34 -0
- package/dist/esm/testing/makeTokenNode.js.map +1 -0
- package/dist/esm/testing/makeTransport.js +9 -0
- package/dist/esm/testing/makeTransport.js.map +1 -0
- package/dist/esm/transport/index.js +2 -0
- package/dist/esm/transport/index.js.map +1 -0
- package/dist/esm/transport/stdio/createMessageStream.js +50 -0
- package/dist/esm/transport/stdio/createMessageStream.js.map +1 -0
- package/dist/esm/transport/stdio/index.js +2 -0
- package/dist/esm/transport/stdio/index.js.map +1 -0
- package/dist/esm/types/config.js +6 -0
- package/dist/esm/types/config.js.map +1 -0
- package/dist/esm/types/css.js +6 -0
- package/dist/esm/types/css.js.map +1 -0
- package/dist/esm/types/graph.js +6 -0
- package/dist/esm/types/graph.js.map +1 -0
- package/dist/esm/types/index.js +16 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/lsp.js +10 -0
- package/dist/esm/types/lsp.js.map +1 -0
- package/dist/esm/types/protocol.js +35 -0
- package/dist/esm/types/protocol.js.map +1 -0
- package/dist/esm/types/worker.js +6 -0
- package/dist/esm/types/worker.js.map +1 -0
- package/dist/types/cli/expandGlobs.d.ts +2 -0
- package/dist/types/cli/expandGlobs.d.ts.map +1 -0
- package/dist/types/cli/index.d.ts +2 -0
- package/dist/types/cli/index.d.ts.map +1 -0
- package/dist/types/cli/loadArtifactFiles.d.ts +3 -0
- package/dist/types/cli/loadArtifactFiles.d.ts.map +1 -0
- package/dist/types/cli/printHelp.d.ts +3 -0
- package/dist/types/cli/printHelp.d.ts.map +1 -0
- package/dist/types/cli/runCheck.d.ts +2 -0
- package/dist/types/cli/runCheck.d.ts.map +1 -0
- package/dist/types/cli/runGraph.d.ts +2 -0
- package/dist/types/cli/runGraph.d.ts.map +1 -0
- package/dist/types/cli/runInspect.d.ts +2 -0
- package/dist/types/cli/runInspect.d.ts.map +1 -0
- package/dist/types/cli/runInstall.d.ts +7 -0
- package/dist/types/cli/runInstall.d.ts.map +1 -0
- package/dist/types/cli/runResolve.d.ts +8 -0
- package/dist/types/cli/runResolve.d.ts.map +1 -0
- package/dist/types/cli/runStatus.d.ts +2 -0
- package/dist/types/cli/runStatus.d.ts.map +1 -0
- package/dist/types/cli.d.ts +2 -1
- package/dist/types/cli.d.ts.map +1 -1
- package/dist/types/css/colorSetup.d.ts +2 -0
- package/dist/types/css/colorSetup.d.ts.map +1 -0
- package/dist/types/css/createDocumentIndex.d.ts +21 -0
- package/dist/types/css/createDocumentIndex.d.ts.map +1 -0
- package/dist/types/css/imports/extractCssImports.d.ts +4 -0
- package/dist/types/css/imports/extractCssImports.d.ts.map +1 -0
- package/dist/types/css/imports/extractJsImports.d.ts +3 -0
- package/dist/types/css/imports/extractJsImports.d.ts.map +1 -0
- package/dist/types/css/{extractPackageName.d.ts → imports/extractPackageName.d.ts} +1 -1
- package/dist/types/css/imports/extractPackageName.d.ts.map +1 -0
- package/dist/types/css/imports/formatFileUri.d.ts +2 -0
- package/dist/types/css/imports/formatFileUri.d.ts.map +1 -0
- package/dist/types/css/imports/index.d.ts +9 -0
- package/dist/types/css/imports/index.d.ts.map +1 -0
- package/dist/types/css/imports/isBareSpecifier.d.ts +3 -0
- package/dist/types/css/imports/isBareSpecifier.d.ts.map +1 -0
- package/dist/types/css/imports/isExternalPath.d.ts +3 -0
- package/dist/types/css/imports/isExternalPath.d.ts.map +1 -0
- package/dist/types/css/imports/parseFileUri.d.ts +2 -0
- package/dist/types/css/imports/parseFileUri.d.ts.map +1 -0
- package/dist/types/css/{resolveImportSpecifier.d.ts → imports/resolveImportSpecifier.d.ts} +1 -1
- package/dist/types/css/imports/resolveImportSpecifier.d.ts.map +1 -0
- package/dist/types/css/index.d.ts +7 -24
- package/dist/types/css/index.d.ts.map +1 -1
- package/dist/types/css/lezer/applyTreeChanges.d.ts +4 -0
- package/dist/types/css/lezer/applyTreeChanges.d.ts.map +1 -0
- package/dist/types/css/lezer/computeChangedRange.d.ts +3 -0
- package/dist/types/css/lezer/computeChangedRange.d.ts.map +1 -0
- package/dist/types/css/lezer/createTreeFragments.d.ts +4 -0
- package/dist/types/css/lezer/createTreeFragments.d.ts.map +1 -0
- package/dist/types/css/lezer/index.d.ts +7 -0
- package/dist/types/css/lezer/index.d.ts.map +1 -0
- package/dist/types/css/lezer/nodeText.d.ts +3 -0
- package/dist/types/css/lezer/nodeText.d.ts.map +1 -0
- package/dist/types/css/lezer/parseCSS.d.ts +4 -0
- package/dist/types/css/lezer/parseCSS.d.ts.map +1 -0
- package/dist/types/css/lezer/types.d.ts +2 -0
- package/dist/types/css/lezer/types.d.ts.map +1 -0
- package/dist/types/css/scanners/extractPropertyAtPosition.d.ts +20 -0
- package/dist/types/css/scanners/extractPropertyAtPosition.d.ts.map +1 -0
- package/dist/types/css/scanners/index.d.ts +6 -0
- package/dist/types/css/scanners/index.d.ts.map +1 -0
- package/dist/types/css/scanners/parseSuppressionDirectives.d.ts +10 -0
- package/dist/types/css/scanners/parseSuppressionDirectives.d.ts.map +1 -0
- package/dist/types/css/scanners/scanDeclarations.d.ts +5 -0
- package/dist/types/css/scanners/scanDeclarations.d.ts.map +1 -0
- package/dist/types/css/scanners/scanProperties.d.ts +5 -0
- package/dist/types/css/scanners/scanProperties.d.ts.map +1 -0
- package/dist/types/css/scanners/scanUsages.d.ts +5 -0
- package/dist/types/css/scanners/scanUsages.d.ts.map +1 -0
- package/dist/types/css/selectors/buildSelectorContext.d.ts +4 -0
- package/dist/types/css/selectors/buildSelectorContext.d.ts.map +1 -0
- package/dist/types/css/selectors/classifySelectorScope.d.ts +4 -0
- package/dist/types/css/selectors/classifySelectorScope.d.ts.map +1 -0
- package/dist/types/css/selectors/index.d.ts +3 -0
- package/dist/types/css/selectors/index.d.ts.map +1 -0
- package/dist/types/css/tree/ancestors.d.ts +6 -0
- package/dist/types/css/tree/ancestors.d.ts.map +1 -0
- package/dist/types/css/tree/declarations.d.ts +2 -0
- package/dist/types/css/tree/declarations.d.ts.map +1 -0
- package/dist/types/css/tree/index.d.ts +5 -0
- package/dist/types/css/tree/index.d.ts.map +1 -0
- package/dist/types/css/tree/lineage.d.ts +5 -0
- package/dist/types/css/tree/lineage.d.ts.map +1 -0
- package/dist/types/css/tree/lines.d.ts +4 -0
- package/dist/types/css/tree/lines.d.ts.map +1 -0
- package/dist/types/css/values/compareFallbackStaleness.d.ts +2 -0
- package/dist/types/css/values/compareFallbackStaleness.d.ts.map +1 -0
- package/dist/types/css/values/constants.d.ts +5 -0
- package/dist/types/css/values/constants.d.ts.map +1 -0
- package/dist/types/css/values/expectedTypeForProperty.d.ts +7 -0
- package/dist/types/css/values/expectedTypeForProperty.d.ts.map +1 -0
- package/dist/types/css/values/extractUnit.d.ts +3 -0
- package/dist/types/css/values/extractUnit.d.ts.map +1 -0
- package/dist/types/css/values/index.d.ts +11 -0
- package/dist/types/css/values/index.d.ts.map +1 -0
- package/dist/types/css/values/inferValueType.d.ts +16 -0
- package/dist/types/css/values/inferValueType.d.ts.map +1 -0
- package/dist/types/css/values/isAssignable.d.ts +4 -0
- package/dist/types/css/values/isAssignable.d.ts.map +1 -0
- package/dist/types/css/values/isSuppressed.d.ts +4 -0
- package/dist/types/css/values/isSuppressed.d.ts.map +1 -0
- package/dist/types/css/values/mapDtcgType.d.ts +3 -0
- package/dist/types/css/values/mapDtcgType.d.ts.map +1 -0
- package/dist/types/css/values/parseSyntaxType.d.ts +13 -0
- package/dist/types/css/values/parseSyntaxType.d.ts.map +1 -0
- package/dist/types/css/values/resolveDimensionValue.d.ts +4 -0
- package/dist/types/css/values/resolveDimensionValue.d.ts.map +1 -0
- package/dist/types/diagnosticCodes.d.ts +4 -0
- package/dist/types/diagnosticCodes.d.ts.map +1 -0
- package/dist/types/extension/findBundledVsixPath.d.ts +3 -0
- package/dist/types/extension/findBundledVsixPath.d.ts.map +1 -0
- package/dist/types/extension/index.d.ts +4 -0
- package/dist/types/extension/index.d.ts.map +1 -0
- package/dist/types/extension/installBundledVscodeExtension.d.ts +12 -0
- package/dist/types/extension/installBundledVscodeExtension.d.ts.map +1 -0
- package/dist/types/extension/updateVscodeSettings.d.ts +3 -0
- package/dist/types/extension/updateVscodeSettings.d.ts.map +1 -0
- package/dist/types/graph/ReachabilityCache.d.ts +15 -5
- package/dist/types/graph/ReachabilityCache.d.ts.map +1 -1
- package/dist/types/graph/TokenGraph.d.ts +107 -5
- package/dist/types/graph/TokenGraph.d.ts.map +1 -1
- package/dist/types/graph/index.d.ts +4 -4
- package/dist/types/graph/index.d.ts.map +1 -1
- package/dist/types/graph/loadArtifact.d.ts +8 -4
- package/dist/types/graph/loadArtifact.d.ts.map +1 -1
- package/dist/types/graph/parseArtifactToken.d.ts +8 -4
- package/dist/types/graph/parseArtifactToken.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/protocol/createRequest.d.ts +6 -6
- package/dist/types/protocol/createRequest.d.ts.map +1 -1
- package/dist/types/protocol/index.d.ts +3 -7
- package/dist/types/protocol/index.d.ts.map +1 -1
- package/dist/types/protocol/matchResponse.d.ts +2 -2
- package/dist/types/protocol/matchResponse.d.ts.map +1 -1
- package/dist/types/protocol/resolveConfig.d.ts +10 -2
- package/dist/types/protocol/resolveConfig.d.ts.map +1 -1
- package/dist/types/protocol/typeGuards.d.ts +17 -0
- package/dist/types/protocol/typeGuards.d.ts.map +1 -0
- package/dist/types/providers/artifactDiagnostics/checkBrokenAlias.d.ts +4 -0
- package/dist/types/providers/artifactDiagnostics/checkBrokenAlias.d.ts.map +1 -0
- package/dist/types/providers/artifactDiagnostics/checkCircularAlias.d.ts +4 -0
- package/dist/types/providers/artifactDiagnostics/checkCircularAlias.d.ts.map +1 -0
- package/dist/types/providers/artifactDiagnostics/checkDraftSyntax.d.ts +4 -0
- package/dist/types/providers/artifactDiagnostics/checkDraftSyntax.d.ts.map +1 -0
- package/dist/types/providers/artifactDiagnostics/checkMissingType.d.ts +4 -0
- package/dist/types/providers/artifactDiagnostics/checkMissingType.d.ts.map +1 -0
- package/dist/types/providers/artifactDiagnostics/checkSchemaViolation.d.ts +4 -0
- package/dist/types/providers/artifactDiagnostics/checkSchemaViolation.d.ts.map +1 -0
- package/dist/types/providers/artifactDiagnostics/index.d.ts +13 -0
- package/dist/types/providers/artifactDiagnostics/index.d.ts.map +1 -0
- package/dist/types/providers/classifyProvenance.d.ts +8 -3
- package/dist/types/providers/classifyProvenance.d.ts.map +1 -1
- package/dist/types/providers/completions/buildCompletionItem.d.ts +5 -0
- package/dist/types/providers/completions/buildCompletionItem.d.ts.map +1 -0
- package/dist/types/providers/completions/buildSortText.d.ts +15 -0
- package/dist/types/providers/completions/buildSortText.d.ts.map +1 -0
- package/dist/types/providers/completions/index.d.ts +6 -0
- package/dist/types/providers/completions/index.d.ts.map +1 -0
- package/dist/types/providers/{provideCompletions.d.ts → completions/provideCompletions.d.ts} +3 -6
- package/dist/types/providers/completions/provideCompletions.d.ts.map +1 -0
- package/dist/types/providers/completions/resolveCompletionItem.d.ts +9 -0
- package/dist/types/providers/completions/resolveCompletionItem.d.ts.map +1 -0
- package/dist/types/providers/completions/resolveExpectedType.d.ts +9 -0
- package/dist/types/providers/completions/resolveExpectedType.d.ts.map +1 -0
- package/dist/types/providers/constants.d.ts +31 -0
- package/dist/types/providers/constants.d.ts.map +1 -0
- package/dist/types/providers/diagnostics/checkMissingFallback.d.ts +5 -0
- package/dist/types/providers/diagnostics/checkMissingFallback.d.ts.map +1 -0
- package/dist/types/providers/diagnostics/checkNoColorScheme.d.ts +5 -0
- package/dist/types/providers/diagnostics/checkNoColorScheme.d.ts.map +1 -0
- package/dist/types/providers/diagnostics/checkPrimitiveToken.d.ts +5 -0
- package/dist/types/providers/diagnostics/checkPrimitiveToken.d.ts.map +1 -0
- package/dist/types/providers/diagnostics/checkScopedUsage.d.ts +5 -0
- package/dist/types/providers/diagnostics/checkScopedUsage.d.ts.map +1 -0
- package/dist/types/providers/diagnostics/checkStaleFallback.d.ts +5 -0
- package/dist/types/providers/diagnostics/checkStaleFallback.d.ts.map +1 -0
- package/dist/types/providers/diagnostics/checkTypeMismatch.d.ts +5 -0
- package/dist/types/providers/diagnostics/checkTypeMismatch.d.ts.map +1 -0
- package/dist/types/providers/diagnostics/checkTypeUncertain.d.ts +5 -0
- package/dist/types/providers/diagnostics/checkTypeUncertain.d.ts.map +1 -0
- package/dist/types/providers/diagnostics/checkUnknownVar.d.ts +5 -0
- package/dist/types/providers/diagnostics/checkUnknownVar.d.ts.map +1 -0
- package/dist/types/providers/diagnostics/checkUnreachableToken.d.ts +5 -0
- package/dist/types/providers/diagnostics/checkUnreachableToken.d.ts.map +1 -0
- package/dist/types/providers/diagnostics/index.d.ts +3 -0
- package/dist/types/providers/diagnostics/index.d.ts.map +1 -0
- package/dist/types/providers/diagnostics/orchestrateDiagnostics.d.ts +6 -0
- package/dist/types/providers/diagnostics/orchestrateDiagnostics.d.ts.map +1 -0
- package/dist/types/providers/diagnostics/types.d.ts +30 -0
- package/dist/types/providers/diagnostics/types.d.ts.map +1 -0
- package/dist/types/providers/formatCheckReport.d.ts +4 -3
- package/dist/types/providers/formatCheckReport.d.ts.map +1 -1
- package/dist/types/providers/index.d.ts +18 -10
- package/dist/types/providers/index.d.ts.map +1 -1
- package/dist/types/providers/makeDiagnostic.d.ts +3 -0
- package/dist/types/providers/makeDiagnostic.d.ts.map +1 -0
- package/dist/types/providers/prepareRename.d.ts +15 -0
- package/dist/types/providers/prepareRename.d.ts.map +1 -0
- package/dist/types/providers/provideCodeActions.d.ts +9 -0
- package/dist/types/providers/provideCodeActions.d.ts.map +1 -0
- package/dist/types/providers/provideDocumentColors.d.ts +1 -14
- package/dist/types/providers/provideDocumentColors.d.ts.map +1 -1
- package/dist/types/providers/provideDocumentLinks.d.ts +13 -0
- package/dist/types/providers/provideDocumentLinks.d.ts.map +1 -0
- package/dist/types/providers/provideHover.d.ts +2 -5
- package/dist/types/providers/provideHover.d.ts.map +1 -1
- package/dist/types/providers/provideInlayHints.d.ts +21 -0
- package/dist/types/providers/provideInlayHints.d.ts.map +1 -0
- package/dist/types/providers/provideReferences.d.ts +10 -0
- package/dist/types/providers/provideReferences.d.ts.map +1 -0
- package/dist/types/providers/provideRename.d.ts +2 -3
- package/dist/types/providers/provideRename.d.ts.map +1 -1
- package/dist/types/providers/provideSemanticTokens.d.ts +2 -1
- package/dist/types/providers/provideSemanticTokens.d.ts.map +1 -1
- package/dist/types/providers/provideWorkspaceSymbols.d.ts +2 -10
- package/dist/types/providers/provideWorkspaceSymbols.d.ts.map +1 -1
- package/dist/types/providers/resolveDefinition.d.ts +2 -5
- package/dist/types/providers/resolveDefinition.d.ts.map +1 -1
- package/dist/types/providers/tokenTooltip/buildResolutionTable.d.ts +4 -0
- package/dist/types/providers/tokenTooltip/buildResolutionTable.d.ts.map +1 -0
- package/dist/types/providers/tokenTooltip/buildTokenTooltip.d.ts +22 -0
- package/dist/types/providers/tokenTooltip/buildTokenTooltip.d.ts.map +1 -0
- package/dist/types/providers/tokenTooltip/constants.d.ts +5 -0
- package/dist/types/providers/tokenTooltip/constants.d.ts.map +1 -0
- package/dist/types/providers/tokenTooltip/formatDeclarationSites.d.ts +3 -0
- package/dist/types/providers/tokenTooltip/formatDeclarationSites.d.ts.map +1 -0
- package/dist/types/providers/tokenTooltip/formatProvenanceLine.d.ts +4 -0
- package/dist/types/providers/tokenTooltip/formatProvenanceLine.d.ts.map +1 -0
- package/dist/types/providers/tokenTooltip/index.d.ts +6 -0
- package/dist/types/providers/tokenTooltip/index.d.ts.map +1 -0
- package/dist/types/providers/tokenTooltip/resolveToLiteral.d.ts +3 -0
- package/dist/types/providers/tokenTooltip/resolveToLiteral.d.ts.map +1 -0
- package/dist/types/providers/truncate.d.ts +4 -0
- package/dist/types/providers/truncate.d.ts.map +1 -0
- package/dist/types/providers/types.d.ts +101 -0
- package/dist/types/providers/types.d.ts.map +1 -0
- package/dist/types/runtime/ConfigNotFoundError.d.ts +8 -0
- package/dist/types/runtime/ConfigNotFoundError.d.ts.map +1 -0
- package/dist/types/runtime/artifacts/index.d.ts +2 -0
- package/dist/types/runtime/artifacts/index.d.ts.map +1 -0
- package/dist/types/runtime/artifacts/loadConfiguredArtifacts.d.ts +3 -0
- package/dist/types/runtime/artifacts/loadConfiguredArtifacts.d.ts.map +1 -0
- package/dist/types/runtime/buildImportGraph.d.ts +2 -1
- package/dist/types/runtime/buildImportGraph.d.ts.map +1 -1
- package/dist/types/runtime/config/ensureServerConfig.d.ts +3 -0
- package/dist/types/runtime/config/ensureServerConfig.d.ts.map +1 -0
- package/dist/types/runtime/config/index.d.ts +2 -0
- package/dist/types/runtime/config/index.d.ts.map +1 -0
- package/dist/types/runtime/createConfigCandidatePath.d.ts +3 -0
- package/dist/types/runtime/createConfigCandidatePath.d.ts.map +1 -0
- package/dist/types/runtime/createGraphWorker.d.ts +16 -3
- package/dist/types/runtime/createGraphWorker.d.ts.map +1 -1
- package/dist/types/runtime/createServerState.d.ts +3 -0
- package/dist/types/runtime/createServerState.d.ts.map +1 -0
- package/dist/types/runtime/detectRuntime.d.ts +10 -0
- package/dist/types/runtime/detectRuntime.d.ts.map +1 -0
- package/dist/types/runtime/dispatch/LogMessageType.d.ts +7 -0
- package/dist/types/runtime/dispatch/LogMessageType.d.ts.map +1 -0
- package/dist/types/runtime/dispatch/handleWorkerResponse.d.ts +9 -0
- package/dist/types/runtime/dispatch/handleWorkerResponse.d.ts.map +1 -0
- package/dist/types/runtime/dispatch/index.d.ts +6 -0
- package/dist/types/runtime/dispatch/index.d.ts.map +1 -0
- package/dist/types/runtime/dispatch/routeLspRequest.d.ts +3 -0
- package/dist/types/runtime/dispatch/routeLspRequest.d.ts.map +1 -0
- package/dist/types/runtime/dispatch/routeWorkerRequest.d.ts +4 -0
- package/dist/types/runtime/dispatch/routeWorkerRequest.d.ts.map +1 -0
- package/dist/types/runtime/dispatch/types.d.ts +29 -0
- package/dist/types/runtime/dispatch/types.d.ts.map +1 -0
- package/dist/types/runtime/documents/handleArtifactChanged.d.ts +7 -0
- package/dist/types/runtime/documents/handleArtifactChanged.d.ts.map +1 -0
- package/dist/types/runtime/documents/handleChangeDocument.d.ts +6 -0
- package/dist/types/runtime/documents/handleChangeDocument.d.ts.map +1 -0
- package/dist/types/runtime/documents/handleCloseDocument.d.ts +11 -0
- package/dist/types/runtime/documents/handleCloseDocument.d.ts.map +1 -0
- package/dist/types/runtime/documents/handleFileChanged.d.ts +7 -0
- package/dist/types/runtime/documents/handleFileChanged.d.ts.map +1 -0
- package/dist/types/runtime/documents/handleOpenDocument.d.ts +6 -0
- package/dist/types/runtime/documents/handleOpenDocument.d.ts.map +1 -0
- package/dist/types/runtime/documents/index.d.ts +6 -0
- package/dist/types/runtime/documents/index.d.ts.map +1 -0
- package/dist/types/runtime/getServerCapabilities.d.ts +42 -0
- package/dist/types/runtime/getServerCapabilities.d.ts.map +1 -0
- package/dist/types/runtime/index.d.ts +13 -4
- package/dist/types/runtime/index.d.ts.map +1 -1
- package/dist/types/runtime/indexing/index.d.ts +5 -0
- package/dist/types/runtime/indexing/index.d.ts.map +1 -0
- package/dist/types/runtime/indexing/indexDocument.d.ts +12 -0
- package/dist/types/runtime/indexing/indexDocument.d.ts.map +1 -0
- package/dist/types/runtime/indexing/indexGlobalStylesheets.d.ts +16 -0
- package/dist/types/runtime/indexing/indexGlobalStylesheets.d.ts.map +1 -0
- package/dist/types/runtime/indexing/reindexDocument.d.ts +18 -0
- package/dist/types/runtime/indexing/reindexDocument.d.ts.map +1 -0
- package/dist/types/runtime/indexing/updateImportEdges.d.ts +12 -0
- package/dist/types/runtime/indexing/updateImportEdges.d.ts.map +1 -0
- package/dist/types/runtime/scheduleBufferUpdate.d.ts +12 -2
- package/dist/types/runtime/scheduleBufferUpdate.d.ts.map +1 -1
- package/dist/types/runtime/startLspServer.d.ts +5 -4
- package/dist/types/runtime/startLspServer.d.ts.map +1 -1
- package/dist/types/runtime/types.d.ts +25 -2
- package/dist/types/runtime/types.d.ts.map +1 -1
- package/dist/types/testing/index.d.ts +8 -0
- package/dist/types/testing/index.d.ts.map +1 -0
- package/dist/types/testing/makeArtifactToken.d.ts +11 -0
- package/dist/types/testing/makeArtifactToken.d.ts.map +1 -0
- package/dist/types/testing/makeConfig.d.ts +4 -0
- package/dist/types/testing/makeConfig.d.ts.map +1 -0
- package/dist/types/testing/makeDeclarationNode.d.ts +7 -0
- package/dist/types/testing/makeDeclarationNode.d.ts.map +1 -0
- package/dist/types/testing/makePropertyNode.d.ts +7 -0
- package/dist/types/testing/makePropertyNode.d.ts.map +1 -0
- package/dist/types/testing/makeServerState.d.ts +12 -0
- package/dist/types/testing/makeServerState.d.ts.map +1 -0
- package/dist/types/testing/makeTokenNode.d.ts +6 -0
- package/dist/types/testing/makeTokenNode.d.ts.map +1 -0
- package/dist/types/testing/makeTransport.d.ts +4 -0
- package/dist/types/testing/makeTransport.d.ts.map +1 -0
- package/dist/types/transport/index.d.ts +2 -0
- package/dist/types/transport/index.d.ts.map +1 -0
- package/dist/types/transport/stdio/createMessageStream.d.ts +21 -0
- package/dist/types/transport/stdio/createMessageStream.d.ts.map +1 -0
- package/dist/types/transport/stdio/index.d.ts +2 -0
- package/dist/types/transport/stdio/index.d.ts.map +1 -0
- package/dist/types/types/config.d.ts +121 -0
- package/dist/types/types/config.d.ts.map +1 -0
- package/dist/types/types/css.d.ts +81 -0
- package/dist/types/types/css.d.ts.map +1 -0
- package/dist/types/types/graph.d.ts +220 -0
- package/dist/types/types/graph.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +17 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/lsp.d.ts +90 -0
- package/dist/types/types/lsp.d.ts.map +1 -0
- package/dist/types/types/protocol.d.ts +124 -0
- package/dist/types/types/protocol.d.ts.map +1 -0
- package/dist/types/types/worker.d.ts +231 -0
- package/dist/types/types/worker.d.ts.map +1 -0
- package/extension/terrazzo-lsp-0.1.0.vsix +0 -0
- package/package.json +37 -4
- package/dist/esm/css/buildSelectorContext.js.map +0 -1
- package/dist/esm/css/classifySelectorScope.js.map +0 -1
- package/dist/esm/css/compareFallbackStaleness.js +0 -61
- package/dist/esm/css/compareFallbackStaleness.js.map +0 -1
- package/dist/esm/css/constants.js.map +0 -1
- package/dist/esm/css/expectedTypeForProperty.js.map +0 -1
- package/dist/esm/css/extractCssImports.js +0 -20
- package/dist/esm/css/extractCssImports.js.map +0 -1
- package/dist/esm/css/extractJsImports.js.map +0 -1
- package/dist/esm/css/extractPackageName.js.map +0 -1
- package/dist/esm/css/extractPropertyAtPosition.js +0 -30
- package/dist/esm/css/extractPropertyAtPosition.js.map +0 -1
- package/dist/esm/css/extractUnit.js +0 -9
- package/dist/esm/css/extractUnit.js.map +0 -1
- package/dist/esm/css/formatFileUri.js +0 -5
- package/dist/esm/css/formatFileUri.js.map +0 -1
- package/dist/esm/css/isAssignable.js.map +0 -1
- package/dist/esm/css/isBareSpecifier.js.map +0 -1
- package/dist/esm/css/isExternalPath.js.map +0 -1
- package/dist/esm/css/isSuppressed.js +0 -49
- package/dist/esm/css/isSuppressed.js.map +0 -1
- package/dist/esm/css/mapDtcgType.js.map +0 -1
- package/dist/esm/css/parseFileUri.js +0 -5
- package/dist/esm/css/parseFileUri.js.map +0 -1
- package/dist/esm/css/parseSuppressionDirectives.js +0 -57
- package/dist/esm/css/parseSuppressionDirectives.js.map +0 -1
- package/dist/esm/css/parseSyntaxType.js +0 -27
- package/dist/esm/css/parseSyntaxType.js.map +0 -1
- package/dist/esm/css/resolveImportSpecifier.js.map +0 -1
- package/dist/esm/css/scanDeclarations.js +0 -107
- package/dist/esm/css/scanDeclarations.js.map +0 -1
- package/dist/esm/css/scanProperties.js +0 -40
- package/dist/esm/css/scanProperties.js.map +0 -1
- package/dist/esm/css/scanUsages.js +0 -81
- package/dist/esm/css/scanUsages.js.map +0 -1
- package/dist/esm/protocol/isCompletionRequest.js +0 -4
- package/dist/esm/protocol/isCompletionRequest.js.map +0 -1
- package/dist/esm/protocol/isDefinitionRequest.js +0 -4
- package/dist/esm/protocol/isDefinitionRequest.js.map +0 -1
- package/dist/esm/protocol/isDiagnosticsRequest.js +0 -4
- package/dist/esm/protocol/isDiagnosticsRequest.js.map +0 -1
- package/dist/esm/protocol/isHoverRequest.js +0 -4
- package/dist/esm/protocol/isHoverRequest.js.map +0 -1
- package/dist/esm/protocol/isReferencesRequest.js +0 -4
- package/dist/esm/protocol/isReferencesRequest.js.map +0 -1
- package/dist/esm/providers/buildTokenTooltip.js +0 -504
- package/dist/esm/providers/buildTokenTooltip.js.map +0 -1
- package/dist/esm/providers/produceArtifactDiagnostics.js +0 -101
- package/dist/esm/providers/produceArtifactDiagnostics.js.map +0 -1
- package/dist/esm/providers/produceDiagnostics.js +0 -245
- package/dist/esm/providers/produceDiagnostics.js.map +0 -1
- package/dist/esm/providers/provideCompletions.js +0 -286
- package/dist/esm/providers/provideCompletions.js.map +0 -1
- package/dist/esm/providers/tooltipOptions.js +0 -15
- package/dist/esm/providers/tooltipOptions.js.map +0 -1
- package/dist/esm/types.js +0 -74
- package/dist/esm/types.js.map +0 -1
- package/dist/types/css/buildSelectorContext.d.ts +0 -4
- package/dist/types/css/buildSelectorContext.d.ts.map +0 -1
- package/dist/types/css/classifySelectorScope.d.ts +0 -7
- package/dist/types/css/classifySelectorScope.d.ts.map +0 -1
- package/dist/types/css/compareFallbackStaleness.d.ts +0 -8
- package/dist/types/css/compareFallbackStaleness.d.ts.map +0 -1
- package/dist/types/css/constants.d.ts +0 -11
- package/dist/types/css/constants.d.ts.map +0 -1
- package/dist/types/css/expectedTypeForProperty.d.ts +0 -22
- package/dist/types/css/expectedTypeForProperty.d.ts.map +0 -1
- package/dist/types/css/extractCssImports.d.ts +0 -6
- package/dist/types/css/extractCssImports.d.ts.map +0 -1
- package/dist/types/css/extractJsImports.d.ts +0 -6
- package/dist/types/css/extractJsImports.d.ts.map +0 -1
- package/dist/types/css/extractPackageName.d.ts.map +0 -1
- package/dist/types/css/extractPropertyAtPosition.d.ts +0 -22
- package/dist/types/css/extractPropertyAtPosition.d.ts.map +0 -1
- package/dist/types/css/extractUnit.d.ts +0 -6
- package/dist/types/css/extractUnit.d.ts.map +0 -1
- package/dist/types/css/formatFileUri.d.ts +0 -3
- package/dist/types/css/formatFileUri.d.ts.map +0 -1
- package/dist/types/css/isAssignable.d.ts +0 -7
- package/dist/types/css/isAssignable.d.ts.map +0 -1
- package/dist/types/css/isBareSpecifier.d.ts +0 -3
- package/dist/types/css/isBareSpecifier.d.ts.map +0 -1
- package/dist/types/css/isExternalPath.d.ts +0 -3
- package/dist/types/css/isExternalPath.d.ts.map +0 -1
- package/dist/types/css/isSuppressed.d.ts +0 -7
- package/dist/types/css/isSuppressed.d.ts.map +0 -1
- package/dist/types/css/mapDtcgType.d.ts +0 -7
- package/dist/types/css/mapDtcgType.d.ts.map +0 -1
- package/dist/types/css/parseFileUri.d.ts +0 -3
- package/dist/types/css/parseFileUri.d.ts.map +0 -1
- package/dist/types/css/parseSuppressionDirectives.d.ts +0 -13
- package/dist/types/css/parseSuppressionDirectives.d.ts.map +0 -1
- package/dist/types/css/parseSyntaxType.d.ts +0 -4
- package/dist/types/css/parseSyntaxType.d.ts.map +0 -1
- package/dist/types/css/resolveDimensionValue.d.ts +0 -7
- package/dist/types/css/resolveDimensionValue.d.ts.map +0 -1
- package/dist/types/css/resolveImportSpecifier.d.ts.map +0 -1
- package/dist/types/css/scanDeclarations.d.ts +0 -8
- package/dist/types/css/scanDeclarations.d.ts.map +0 -1
- package/dist/types/css/scanProperties.d.ts +0 -7
- package/dist/types/css/scanProperties.d.ts.map +0 -1
- package/dist/types/css/scanUsages.d.ts +0 -7
- package/dist/types/css/scanUsages.d.ts.map +0 -1
- package/dist/types/protocol/isCompletionRequest.d.ts +0 -5
- package/dist/types/protocol/isCompletionRequest.d.ts.map +0 -1
- package/dist/types/protocol/isDefinitionRequest.d.ts +0 -5
- package/dist/types/protocol/isDefinitionRequest.d.ts.map +0 -1
- package/dist/types/protocol/isDiagnosticsRequest.d.ts +0 -5
- package/dist/types/protocol/isDiagnosticsRequest.d.ts.map +0 -1
- package/dist/types/protocol/isHoverRequest.d.ts +0 -5
- package/dist/types/protocol/isHoverRequest.d.ts.map +0 -1
- package/dist/types/protocol/isReferencesRequest.d.ts +0 -5
- package/dist/types/protocol/isReferencesRequest.d.ts.map +0 -1
- package/dist/types/providers/buildTokenTooltip.d.ts +0 -33
- package/dist/types/providers/buildTokenTooltip.d.ts.map +0 -1
- package/dist/types/providers/produceArtifactDiagnostics.d.ts +0 -14
- package/dist/types/providers/produceArtifactDiagnostics.d.ts.map +0 -1
- package/dist/types/providers/produceDiagnostics.d.ts +0 -5
- package/dist/types/providers/produceDiagnostics.d.ts.map +0 -1
- package/dist/types/providers/provideCompletions.d.ts.map +0 -1
- package/dist/types/providers/tooltipOptions.d.ts +0 -12
- package/dist/types/providers/tooltipOptions.d.ts.map +0 -1
- package/dist/types/types.d.ts +0 -927
- package/dist/types/types.d.ts.map +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export default function formatDeclarationSites(declarations) {
|
|
2
|
+
const deduplicated = deduplicateDeclarations(declarations);
|
|
3
|
+
const hasLayers = deduplicated.some((declaration) => extractLayer(declaration.selector.atRules) !== null);
|
|
4
|
+
const lines = hasLayers
|
|
5
|
+
? ["| | Selector | Layer | Source |", "|:--|:---------|:------|:-------|"]
|
|
6
|
+
: ["| | Selector | Source |", "|:--|:---------|:-------|"];
|
|
7
|
+
for (const declaration of deduplicated) {
|
|
8
|
+
const fileName = declaration.fileUri.split("/").pop() ?? declaration.fileUri;
|
|
9
|
+
const selector = declaration.selector.selector;
|
|
10
|
+
const status = declaration.selector.isGlobal ? "✓" : "";
|
|
11
|
+
const atRules = formatNonLayerAtRules(declaration.selector.atRules);
|
|
12
|
+
const selectorCell = atRules
|
|
13
|
+
? `\`${selector}\` \`${atRules}\``
|
|
14
|
+
: `\`${selector}\``;
|
|
15
|
+
if (hasLayers) {
|
|
16
|
+
const layer = extractLayer(declaration.selector.atRules);
|
|
17
|
+
const layerCell = layer ? `\`${layer}\`` : "";
|
|
18
|
+
lines.push(`| ${status} | ${selectorCell} | ${layerCell} | \`${fileName}:${declaration.line + 1}\` |`);
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
lines.push(`| ${status} | ${selectorCell} | \`${fileName}:${declaration.line + 1}\` |`);
|
|
22
|
+
}
|
|
23
|
+
return lines.join("\n");
|
|
24
|
+
}
|
|
25
|
+
function extractLayer(atRules) {
|
|
26
|
+
for (const atRule of atRules) {
|
|
27
|
+
if (atRule.name === "layer")
|
|
28
|
+
return atRule.prelude;
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
function formatNonLayerAtRules(atRules) {
|
|
33
|
+
const filtered = atRules.filter((atRule) => atRule.name !== "layer");
|
|
34
|
+
if (filtered.length === 0)
|
|
35
|
+
return "";
|
|
36
|
+
return [...filtered]
|
|
37
|
+
.reverse()
|
|
38
|
+
.map((atRule) => `@${atRule.name} ${atRule.prelude}`)
|
|
39
|
+
.join(" > ");
|
|
40
|
+
}
|
|
41
|
+
function deduplicateDeclarations(declarations) {
|
|
42
|
+
const byKey = new Map();
|
|
43
|
+
for (const declaration of declarations) {
|
|
44
|
+
const key = `${declaration.fileUri}:${declaration.line}`;
|
|
45
|
+
const existing = byKey.get(key);
|
|
46
|
+
if (!existing ||
|
|
47
|
+
declaration.selector.atRules.length > existing.selector.atRules.length) {
|
|
48
|
+
byKey.set(key, declaration);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return [...byKey.values()];
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=formatDeclarationSites.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatDeclarationSites.js","sourceRoot":"","sources":["../../../../src/providers/tokenTooltip/formatDeclarationSites.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import truncate from "../truncate.js";
|
|
2
|
+
import { DERIVATION_LABEL, PROVENANCE_BADGE, TIER_BADGE, TIER_BADGE_DEFAULT, TIER_LABEL, } from "./constants.js";
|
|
3
|
+
import resolveToLiteral from "./resolveToLiteral.js";
|
|
4
|
+
export default function formatProvenanceLine(provenance, token, prop, declarations, graph) {
|
|
5
|
+
const badge = PROVENANCE_BADGE[provenance.kind];
|
|
6
|
+
switch (provenance.kind) {
|
|
7
|
+
case "artifact": {
|
|
8
|
+
const tierBadge = token?.tier
|
|
9
|
+
? (TIER_BADGE[token.tier] ?? TIER_BADGE_DEFAULT)
|
|
10
|
+
: badge;
|
|
11
|
+
const parts = [];
|
|
12
|
+
if (token?.tier) {
|
|
13
|
+
const label = TIER_LABEL[token.tier] ?? titleCase(token.tier);
|
|
14
|
+
parts.push(`**${label}**`);
|
|
15
|
+
}
|
|
16
|
+
if (token?.type)
|
|
17
|
+
parts.push(`\`${token.type}\``);
|
|
18
|
+
const value = formatTokenValue(token, graph);
|
|
19
|
+
if (value)
|
|
20
|
+
parts.push(value);
|
|
21
|
+
if (token?.derivedFrom) {
|
|
22
|
+
const kindLabel = token.derivation
|
|
23
|
+
? (DERIVATION_LABEL[token.derivation] ?? null)
|
|
24
|
+
: null;
|
|
25
|
+
const derivationParts = [`from \`${token.derivedFrom}\``];
|
|
26
|
+
if (kindLabel)
|
|
27
|
+
derivationParts.push(kindLabel);
|
|
28
|
+
parts.push(derivationParts.join(" · "));
|
|
29
|
+
}
|
|
30
|
+
return `${tierBadge} ${parts.join(" · ")}`;
|
|
31
|
+
}
|
|
32
|
+
case "property": {
|
|
33
|
+
const file = provenance.fileUri.split("/").pop() ?? provenance.fileUri;
|
|
34
|
+
const parts = ["**Registered property**"];
|
|
35
|
+
if (prop?.syntax)
|
|
36
|
+
parts.push(`\`${prop.syntax}\``);
|
|
37
|
+
if (prop?.initialValue !== null && prop?.initialValue !== undefined) {
|
|
38
|
+
parts.push(`\`${prop.initialValue}\``);
|
|
39
|
+
}
|
|
40
|
+
parts.push(`\`${file}\``);
|
|
41
|
+
return `${badge} ${parts.join(" · ")}`;
|
|
42
|
+
}
|
|
43
|
+
case "local": {
|
|
44
|
+
const declaration = declarations[0];
|
|
45
|
+
const file = provenance.fileUri.split("/").pop() ?? provenance.fileUri;
|
|
46
|
+
const parts = [];
|
|
47
|
+
if (declaration) {
|
|
48
|
+
parts.push(`\`${declaration.rawValue}\``);
|
|
49
|
+
if (declaration.selector.isScoped) {
|
|
50
|
+
parts.push(`\`${declaration.selector.selector}\` ⚠`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
parts.push(`\`${file}:${declaration ? declaration.line + 1 : ""}\``);
|
|
54
|
+
return `${badge} ${parts.join(" · ")}`;
|
|
55
|
+
}
|
|
56
|
+
case "external": {
|
|
57
|
+
const declaration = declarations[0];
|
|
58
|
+
const parts = [];
|
|
59
|
+
if (declaration)
|
|
60
|
+
parts.push(`\`${truncate(declaration.rawValue, 30)}\``);
|
|
61
|
+
parts.push(`\`${provenance.packageName}\``);
|
|
62
|
+
return `${badge} ${parts.join(" · ")}`;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/** Capitalise the first letter of each word: `"derived"` → `"Derived"`. */
|
|
67
|
+
function titleCase(s) {
|
|
68
|
+
return s.replace(/\b\w/g, (c) => c.toUpperCase());
|
|
69
|
+
}
|
|
70
|
+
function formatTokenValue(token, graph) {
|
|
71
|
+
if (!token)
|
|
72
|
+
return null;
|
|
73
|
+
if (token.isPaired && token.valueLight && token.valueDark) {
|
|
74
|
+
const light = resolveToLiteral(token.valueLight, graph, "light");
|
|
75
|
+
const dark = resolveToLiteral(token.valueDark, graph, "dark");
|
|
76
|
+
if (light !== dark) {
|
|
77
|
+
return `\`light-dark(${light}, ${dark})\``;
|
|
78
|
+
}
|
|
79
|
+
return `\`${light}\``;
|
|
80
|
+
}
|
|
81
|
+
if (token.valueLight) {
|
|
82
|
+
return `\`${resolveToLiteral(token.valueLight, graph, "light")}\``;
|
|
83
|
+
}
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=formatProvenanceLine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatProvenanceLine.js","sourceRoot":"","sources":["../../../../src/providers/tokenTooltip/formatProvenanceLine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default as buildResolutionTable } from "./buildResolutionTable.js";
|
|
2
|
+
export { default as buildTokenTooltip } from "./buildTokenTooltip.js";
|
|
3
|
+
export { default as formatDeclarationSites } from "./formatDeclarationSites.js";
|
|
4
|
+
export { default as formatProvenanceLine } from "./formatProvenanceLine.js";
|
|
5
|
+
export { default as resolveToLiteral } from "./resolveToLiteral.js";
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/tokenTooltip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default function resolveToLiteral(value, graph, mode, visited = new Set()) {
|
|
2
|
+
if (!value)
|
|
3
|
+
return "?";
|
|
4
|
+
const match = value.match(/^var\((--[\w-]+)\)$/);
|
|
5
|
+
if (!match)
|
|
6
|
+
return value;
|
|
7
|
+
const reference = match[1];
|
|
8
|
+
if (visited.has(reference))
|
|
9
|
+
return value;
|
|
10
|
+
visited.add(reference);
|
|
11
|
+
const target = graph.resolveToken(reference);
|
|
12
|
+
if (!target)
|
|
13
|
+
return value;
|
|
14
|
+
const nextValue = mode === "dark"
|
|
15
|
+
? (target.valueDark ?? target.valueLight)
|
|
16
|
+
: target.valueLight;
|
|
17
|
+
return resolveToLiteral(nextValue, graph, mode, visited);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=resolveToLiteral.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveToLiteral.js","sourceRoot":"","sources":["../../../../src/providers/tokenTooltip/resolveToLiteral.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,KAAoB,EACpB,KAAiB,EACjB,IAAsB,EACtB,UAAuB,IAAI,GAAG,EAAE;IAEhC,IAAI,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC;IACvB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,SAAS,GACb,IAAI,KAAK,MAAM;QACb,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC;QACzC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../../src/providers/truncate.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,0EAA0E;AAC1E,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAS,EAAE,GAAW;IACrD,OAAO,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider-domain types — types used exclusively by the providers layer.
|
|
3
|
+
*
|
|
4
|
+
* Cross-domain types (TokenNode, DeclarationNode, Diagnostic, etc.) remain
|
|
5
|
+
* in `types/` for shared access. This file holds types that only the
|
|
6
|
+
* providers layer (and its tests) consume.
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
// Semantic tokens (§9.7)
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
/**
|
|
13
|
+
* Semantic token type registered with the server.
|
|
14
|
+
*/
|
|
15
|
+
export const SEMANTIC_TOKEN_TYPES = ["designToken"];
|
|
16
|
+
/**
|
|
17
|
+
* Semantic token modifiers.
|
|
18
|
+
*
|
|
19
|
+
* Applied to `var(--x)` occurrences based on provenance and scope.
|
|
20
|
+
*/
|
|
21
|
+
export const SEMANTIC_TOKEN_MODIFIERS = [
|
|
22
|
+
"artifact",
|
|
23
|
+
"registered",
|
|
24
|
+
"local",
|
|
25
|
+
"external",
|
|
26
|
+
"scoped",
|
|
27
|
+
];
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
// Workspace symbol (§9.9)
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
/** Symbol kind (subset for design tokens). */
|
|
32
|
+
export var SymbolKind;
|
|
33
|
+
(function (SymbolKind) {
|
|
34
|
+
SymbolKind[SymbolKind["Variable"] = 13] = "Variable";
|
|
35
|
+
SymbolKind[SymbolKind["Property"] = 7] = "Property";
|
|
36
|
+
SymbolKind[SymbolKind["Constant"] = 14] = "Constant";
|
|
37
|
+
})(SymbolKind || (SymbolKind = {}));
|
|
38
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/providers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoBH,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,aAAa,CAAU,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,UAAU;IACV,YAAY;IACZ,OAAO;IACP,UAAU;IACV,QAAQ;CACA,CAAC;AAsBX,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,8CAA8C;AAC9C,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,oDAAa,CAAA;IACb,mDAAY,CAAA;IACZ,oDAAa,CAAA;AACf,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const CONFIG_FILENAME = "terrazzo-lsp.config.json";
|
|
2
|
+
/** Error raised when no Terrazzo LSP config can be found. */
|
|
3
|
+
export default class ConfigNotFoundError extends Error {
|
|
4
|
+
searchStart;
|
|
5
|
+
searchedPaths;
|
|
6
|
+
constructor(searchStart, searchedPaths) {
|
|
7
|
+
super(`No ${CONFIG_FILENAME} found from ${searchStart}`);
|
|
8
|
+
this.name = "ConfigNotFoundError";
|
|
9
|
+
this.searchStart = searchStart;
|
|
10
|
+
this.searchedPaths = searchedPaths;
|
|
11
|
+
}
|
|
12
|
+
getLogLines() {
|
|
13
|
+
return [
|
|
14
|
+
`Config not found: ${CONFIG_FILENAME}`,
|
|
15
|
+
`Search start: ${this.searchStart}`,
|
|
16
|
+
...this.searchedPaths.map((filePath) => `Tried: ${filePath}`),
|
|
17
|
+
'Create one with: { "artifacts": ["path/to/tokens.json"] }',
|
|
18
|
+
];
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=ConfigNotFoundError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigNotFoundError.js","sourceRoot":"","sources":["../../../src/runtime/ConfigNotFoundError.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD,6DAA6D;AAC7D,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,KAAK;IAC3C,WAAW,CAAS;IACpB,aAAa,CAAW;IAEjC,YAAY,WAAmB,EAAE,aAAuB;QACtD,KAAK,CAAC,MAAM,eAAe,eAAe,WAAW,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,WAAW;QACT,OAAO;YACL,qBAAqB,eAAe,EAAE;YACtC,iBAAiB,IAAI,CAAC,WAAW,EAAE;YACnC,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,QAAQ,EAAE,CAAC;YAC7D,2DAA2D;SAC5D,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/artifacts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @note impure — reads artifact JSON files from disk.
|
|
3
|
+
*/
|
|
4
|
+
import * as fs from "node:fs/promises";
|
|
5
|
+
import * as path from "node:path";
|
|
6
|
+
import { loadArtifact } from "../../graph/index.js";
|
|
7
|
+
export default async function loadConfiguredArtifacts(state) {
|
|
8
|
+
for (const artifactPath of state.config.artifactPaths) {
|
|
9
|
+
try {
|
|
10
|
+
const raw = await fs.readFile(artifactPath, "utf-8");
|
|
11
|
+
const artifact = JSON.parse(raw);
|
|
12
|
+
const packageSource = derivePackageSource(artifactPath);
|
|
13
|
+
const artifactDir = path.dirname(artifactPath);
|
|
14
|
+
loadArtifact(artifact, state.graph, packageSource, artifactDir);
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
// Artifact not found or invalid — continue without it
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function derivePackageSource(artifactPath) {
|
|
22
|
+
const nodeModulesIndex = artifactPath.indexOf("node_modules/");
|
|
23
|
+
if (nodeModulesIndex < 0)
|
|
24
|
+
return "";
|
|
25
|
+
const afterNodeModules = artifactPath.substring(nodeModulesIndex + "node_modules/".length);
|
|
26
|
+
const parts = afterNodeModules.split(path.sep);
|
|
27
|
+
if (parts[0]?.startsWith("@") && parts.length >= 2) {
|
|
28
|
+
return `${parts[0]}/${parts[1]}`;
|
|
29
|
+
}
|
|
30
|
+
return parts[0] ?? "";
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=loadConfiguredArtifacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadConfiguredArtifacts.js","sourceRoot":"","sources":["../../../../src/runtime/artifacts/loadConfiguredArtifacts.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,uBAAuB,CACnD,KAAkB;IAElB,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,aAAa,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC/C,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAoB;IAC/C,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/D,IAAI,gBAAgB,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAC7C,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAC1C,CAAC;IACF,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC"}
|
|
@@ -7,16 +7,17 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @note This function is impure — it reads from the file system.
|
|
9
9
|
*
|
|
10
|
-
* @see session/G.TOKEN_LSP.md §7.4 — Import graph traversal
|
|
11
10
|
*/
|
|
12
|
-
import {
|
|
11
|
+
import { extractPackageName, isExternalPath, parseFileUri, } from "../css/imports/index.js";
|
|
12
|
+
import * as lezer from "../css/lezer/index.js";
|
|
13
|
+
import indexDocument from "./indexing/indexDocument.js";
|
|
13
14
|
/**
|
|
14
15
|
* Perform a BFS traversal from a root URI, building the import graph
|
|
15
16
|
* and scanning all reachable files for declarations, properties, and usages.
|
|
16
17
|
*
|
|
17
18
|
* @note This function is impure — it reads files via the `fs` abstraction.
|
|
18
19
|
*/
|
|
19
|
-
export async function buildImportGraph(rootUri, graph, fs) {
|
|
20
|
+
export default async function buildImportGraph(rootUri, graph, fs, sourceOverrides, treeOverrides) {
|
|
20
21
|
const visited = new Set();
|
|
21
22
|
const queue = [rootUri];
|
|
22
23
|
while (queue.length > 0) {
|
|
@@ -24,15 +25,19 @@ export async function buildImportGraph(rootUri, graph, fs) {
|
|
|
24
25
|
if (visited.has(uri))
|
|
25
26
|
continue;
|
|
26
27
|
visited.add(uri);
|
|
27
|
-
const source = await fs.readFile(uri);
|
|
28
|
+
const source = sourceOverrides?.get(uri) ?? (await fs.readFile(uri));
|
|
28
29
|
if (source === null)
|
|
29
30
|
continue;
|
|
31
|
+
const tree = treeOverrides?.get(uri) ?? lezer.parseCSS(source);
|
|
30
32
|
ensureFileNode(uri, graph);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
const imports = indexDocument({
|
|
34
|
+
fileUri: uri,
|
|
35
|
+
graph,
|
|
36
|
+
rootDir: fs.rootDir,
|
|
37
|
+
source,
|
|
38
|
+
tree,
|
|
39
|
+
});
|
|
34
40
|
for (const importedUri of imports) {
|
|
35
|
-
graph.addImport(uri, importedUri);
|
|
36
41
|
ensureFileNode(importedUri, graph);
|
|
37
42
|
if (!visited.has(importedUri)) {
|
|
38
43
|
queue.push(importedUri);
|
|
@@ -40,56 +45,11 @@ export async function buildImportGraph(rootUri, graph, fs) {
|
|
|
40
45
|
}
|
|
41
46
|
}
|
|
42
47
|
}
|
|
43
|
-
/**
|
|
44
|
-
* Scan a single file source and populate declarations, properties, and usages.
|
|
45
|
-
*
|
|
46
|
-
* Artifact output files (populated by loadArtifact) are skipped for
|
|
47
|
-
* declaration scanning — the artifact is the source of truth for those.
|
|
48
|
-
* Usages and properties are still scanned since those aren't in the artifact.
|
|
49
|
-
*/
|
|
50
|
-
function scanAndPopulate(fileUri, source, graph) {
|
|
51
|
-
// Skip declaration scanning for artifact output files — loadArtifact
|
|
52
|
-
// already injected their declarations with full at-rule context.
|
|
53
|
-
if (!graph.data.artifactFileUris.has(fileUri)) {
|
|
54
|
-
const declarations = scanDeclarations(source, fileUri);
|
|
55
|
-
for (const decl of declarations) {
|
|
56
|
-
graph.addDeclaration({
|
|
57
|
-
...decl,
|
|
58
|
-
selector: buildSelectorContext(decl.selector.selector, decl.selector.atRules),
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
const properties = scanProperties(source, fileUri);
|
|
63
|
-
for (const prop of properties) {
|
|
64
|
-
graph.addProperty(prop);
|
|
65
|
-
}
|
|
66
|
-
const usages = scanUsages(source, fileUri);
|
|
67
|
-
for (const usage of usages) {
|
|
68
|
-
graph.addUsage(usage);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
/** Resolve import specifiers from CSS/JS source to file URIs. */
|
|
72
|
-
function resolveImports(fileUri, source, fs) {
|
|
73
|
-
const results = [];
|
|
74
|
-
const cssImports = extractCssImports(source);
|
|
75
|
-
const jsImports = extractJsImports(source);
|
|
76
|
-
const allSpecifiers = [...cssImports, ...jsImports];
|
|
77
|
-
const importerPath = fileUri.startsWith("file://")
|
|
78
|
-
? fileUri.slice(7)
|
|
79
|
-
: fileUri;
|
|
80
|
-
for (const specifier of allSpecifiers) {
|
|
81
|
-
const resolved = resolveImportSpecifier(specifier, importerPath, fs.rootDir);
|
|
82
|
-
if (resolved) {
|
|
83
|
-
results.push(formatFileUri(resolved));
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return results;
|
|
87
|
-
}
|
|
88
48
|
/** Ensure a FileNode exists in the graph for a given URI. */
|
|
89
49
|
function ensureFileNode(uri, graph) {
|
|
90
|
-
if (graph.
|
|
50
|
+
if (graph.hasFile(uri))
|
|
91
51
|
return;
|
|
92
|
-
const path =
|
|
52
|
+
const path = parseFileUri(uri);
|
|
93
53
|
const external = isExternalPath(path);
|
|
94
54
|
graph.addFile({
|
|
95
55
|
uri,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildImportGraph.js","sourceRoot":"","sources":["../../../src/runtime/buildImportGraph.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"buildImportGraph.js","sourceRoot":"","sources":["../../../src/runtime/buildImportGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAC;AAE/C,OAAO,aAAa,MAAM,6BAA6B,CAAC;AAGxD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,gBAAgB,CAC5C,OAAe,EACf,KAAiB,EACjB,EAAc,EACd,eAA6C,EAC7C,aAAyC;IAEzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,KAAK,GAAa,CAAC,OAAO,CAAC,CAAC;IAElC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAY,CAAC;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjB,MAAM,MAAM,GAAG,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAC9B,MAAM,IAAI,GAAG,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE/D,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,aAAa,CAAC;YAC5B,OAAO,EAAE,GAAG;YACZ,KAAK;YACL,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,MAAM;YACN,IAAI;SACL,CAAC,CAAC;QACH,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE,CAAC;YAClC,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,6DAA6D;AAC7D,SAAS,cAAc,CAAC,GAAW,EAAE,KAAiB;IACpD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO;IAC/B,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,KAAK,CAAC,OAAO,CAAC;QACZ,GAAG;QACH,IAAI;QACJ,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;KACxD,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @note impure — reads config file from disk, loads artifacts, rescans documents.
|
|
3
|
+
*/
|
|
4
|
+
import * as path from "node:path";
|
|
5
|
+
import { loadConfigFile, resolveConfig } from "../../protocol/index.js";
|
|
6
|
+
import { loadConfiguredArtifacts } from "../artifacts/index.js";
|
|
7
|
+
import ConfigNotFoundError from "../ConfigNotFoundError.js";
|
|
8
|
+
import reindexDocument from "../indexing/reindexDocument.js";
|
|
9
|
+
export default function ensureServerConfig(state, documentUri) {
|
|
10
|
+
if (!state.configPromise) {
|
|
11
|
+
state.configPromise = loadServerConfig(state, documentUri);
|
|
12
|
+
}
|
|
13
|
+
return state.configPromise;
|
|
14
|
+
}
|
|
15
|
+
async function loadServerConfig(state, documentUri) {
|
|
16
|
+
const searchStart = resolveSearchStart(state.rootDir, documentUri);
|
|
17
|
+
const { raw, configDir, searchedPaths } = await loadConfigFile(searchStart);
|
|
18
|
+
const effectiveRoot = configDir ?? state.rootDir;
|
|
19
|
+
state.config = resolveConfig(raw, effectiveRoot);
|
|
20
|
+
if (configDir) {
|
|
21
|
+
state.log(`Config loaded from ${configDir}/terrazzo-lsp.config.json`);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
const error = new ConfigNotFoundError(searchStart, searchedPaths);
|
|
25
|
+
for (const line of error.getLogLines()) {
|
|
26
|
+
state.log(line);
|
|
27
|
+
}
|
|
28
|
+
if (!state.allowDegraded) {
|
|
29
|
+
throw error;
|
|
30
|
+
}
|
|
31
|
+
state.log("Running in degraded mode (--allow-degraded): token-backed editor features stay disabled until a config is added.");
|
|
32
|
+
}
|
|
33
|
+
state.log(`Root: ${effectiveRoot}`);
|
|
34
|
+
state.log(`Artifacts: ${state.config.artifactPaths.length > 0 ? state.config.artifactPaths.join(", ") : "(none)"}`);
|
|
35
|
+
await loadConfiguredArtifacts(state);
|
|
36
|
+
logArtifactSummary(state);
|
|
37
|
+
if (state.config.globalStylesheets &&
|
|
38
|
+
state.config.globalStylesheets.length > 0) {
|
|
39
|
+
await reindexDocument({
|
|
40
|
+
cache: state.cache,
|
|
41
|
+
fs: state.fs,
|
|
42
|
+
globalStylesheets: state.config.globalStylesheets,
|
|
43
|
+
graph: state.graph,
|
|
44
|
+
openDocuments: state.openDocuments,
|
|
45
|
+
openTrees: state.openTrees,
|
|
46
|
+
});
|
|
47
|
+
const globalDeclarationCount = state.config.globalStylesheets.reduce((count, uri) => count + state.graph.getDeclarationsByFile(uri).length, 0);
|
|
48
|
+
state.log(`Global stylesheets: ${state.config.globalStylesheets.length} file${state.config.globalStylesheets.length !== 1 ? "s" : ""}, ${globalDeclarationCount} declarations`);
|
|
49
|
+
}
|
|
50
|
+
state.log("terrazzo-lsp ready");
|
|
51
|
+
}
|
|
52
|
+
function logArtifactSummary(state) {
|
|
53
|
+
const tokenCount = state.graph.tokenCount;
|
|
54
|
+
state.log(`Loaded ${tokenCount} token${tokenCount !== 1 ? "s" : ""} from ${state.config.artifactPaths.length} artifact${state.config.artifactPaths.length !== 1 ? "s" : ""}`);
|
|
55
|
+
}
|
|
56
|
+
function resolveSearchStart(rootDir, documentUri) {
|
|
57
|
+
if (!documentUri)
|
|
58
|
+
return rootDir;
|
|
59
|
+
const fsPath = documentUri.startsWith("file://")
|
|
60
|
+
? decodeURIComponent(documentUri.slice(7))
|
|
61
|
+
: documentUri;
|
|
62
|
+
return path.dirname(fsPath);
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=ensureServerConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureServerConfig.js","sourceRoot":"","sources":["../../../../src/runtime/config/ensureServerConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
const CONFIG_FILENAME = "terrazzo-lsp.config.json";
|
|
3
|
+
/** Build the config candidate path for a directory during config discovery. */
|
|
4
|
+
export default function createConfigCandidatePath(dir) {
|
|
5
|
+
return join(dir, CONFIG_FILENAME);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=createConfigCandidatePath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createConfigCandidatePath.js","sourceRoot":"","sources":["../../../src/runtime/createConfigCandidatePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD,+EAA+E;AAC/E,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,GAAW;IAC3D,OAAO,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AACpC,CAAC"}
|