@hydranium/core 1.0.0-next.10
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/LICENSE +21 -0
- package/README.md +100 -0
- package/lib/documents/ast-document-manager.d.ts +243 -0
- package/lib/documents/ast-document-manager.d.ts.map +1 -0
- package/lib/documents/ast-document-manager.js +302 -0
- package/lib/documents/ast-document-manager.js.map +1 -0
- package/lib/documents/client-ids.d.ts +30 -0
- package/lib/documents/client-ids.d.ts.map +1 -0
- package/lib/documents/client-ids.js +30 -0
- package/lib/documents/client-ids.js.map +1 -0
- package/lib/documents/hydranium-text-documents.d.ts +490 -0
- package/lib/documents/hydranium-text-documents.d.ts.map +1 -0
- package/lib/documents/hydranium-text-documents.js +893 -0
- package/lib/documents/hydranium-text-documents.js.map +1 -0
- package/lib/documents/index.d.ts +14 -0
- package/lib/documents/index.d.ts.map +1 -0
- package/lib/documents/index.js +14 -0
- package/lib/documents/index.js.map +1 -0
- package/lib/documents/language-client-text-shadow.d.ts +101 -0
- package/lib/documents/language-client-text-shadow.d.ts.map +1 -0
- package/lib/documents/language-client-text-shadow.js +156 -0
- package/lib/documents/language-client-text-shadow.js.map +1 -0
- package/lib/documents/self-save-registry.d.ts +55 -0
- package/lib/documents/self-save-registry.d.ts.map +1 -0
- package/lib/documents/self-save-registry.js +68 -0
- package/lib/documents/self-save-registry.js.map +1 -0
- package/lib/index.d.ts +38 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +39 -0
- package/lib/index.js.map +1 -0
- package/lib/langium/ast-extension/ast-extension-contribution.d.ts +33 -0
- package/lib/langium/ast-extension/ast-extension-contribution.d.ts.map +1 -0
- package/lib/langium/ast-extension/ast-extension-contribution.js +10 -0
- package/lib/langium/ast-extension/ast-extension-contribution.js.map +1 -0
- package/lib/langium/ast-extension/ast-extension-service.d.ts +212 -0
- package/lib/langium/ast-extension/ast-extension-service.d.ts.map +1 -0
- package/lib/langium/ast-extension/ast-extension-service.js +181 -0
- package/lib/langium/ast-extension/ast-extension-service.js.map +1 -0
- package/lib/langium/ast-extension/ast-node-builder.d.ts +90 -0
- package/lib/langium/ast-extension/ast-node-builder.d.ts.map +1 -0
- package/lib/langium/ast-extension/ast-node-builder.js +61 -0
- package/lib/langium/ast-extension/ast-node-builder.js.map +1 -0
- package/lib/langium/ast-extension/index.d.ts +12 -0
- package/lib/langium/ast-extension/index.d.ts.map +1 -0
- package/lib/langium/ast-extension/index.js +12 -0
- package/lib/langium/ast-extension/index.js.map +1 -0
- package/lib/langium/bootstrap.d.ts +224 -0
- package/lib/langium/bootstrap.d.ts.map +1 -0
- package/lib/langium/bootstrap.js +512 -0
- package/lib/langium/bootstrap.js.map +1 -0
- package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts +77 -0
- package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts.map +1 -0
- package/lib/langium/build-phase-pass/build-phase-pass-service.js +102 -0
- package/lib/langium/build-phase-pass/build-phase-pass-service.js.map +1 -0
- package/lib/langium/build-phase-pass/build-phase-pass.d.ts +106 -0
- package/lib/langium/build-phase-pass/build-phase-pass.d.ts.map +1 -0
- package/lib/langium/build-phase-pass/build-phase-pass.js +43 -0
- package/lib/langium/build-phase-pass/build-phase-pass.js.map +1 -0
- package/lib/langium/build-phase-pass/index.d.ts +11 -0
- package/lib/langium/build-phase-pass/index.d.ts.map +1 -0
- package/lib/langium/build-phase-pass/index.js +11 -0
- package/lib/langium/build-phase-pass/index.js.map +1 -0
- package/lib/langium/config/index.d.ts +10 -0
- package/lib/langium/config/index.d.ts.map +1 -0
- package/lib/langium/config/index.js +10 -0
- package/lib/langium/config/index.js.map +1 -0
- package/lib/langium/config/settings.d.ts +173 -0
- package/lib/langium/config/settings.d.ts.map +1 -0
- package/lib/langium/config/settings.js +196 -0
- package/lib/langium/config/settings.js.map +1 -0
- package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts +109 -0
- package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts.map +1 -0
- package/lib/langium/diagnostics/hydranium-langium-profiler.js +153 -0
- package/lib/langium/diagnostics/hydranium-langium-profiler.js.map +1 -0
- package/lib/langium/diagnostics/index.d.ts +14 -0
- package/lib/langium/diagnostics/index.d.ts.map +1 -0
- package/lib/langium/diagnostics/index.js +19 -0
- package/lib/langium/diagnostics/index.js.map +1 -0
- package/lib/langium/diagnostics/log-file-token.d.ts +16 -0
- package/lib/langium/diagnostics/log-file-token.d.ts.map +1 -0
- package/lib/langium/diagnostics/log-file-token.js +25 -0
- package/lib/langium/diagnostics/log-file-token.js.map +1 -0
- package/lib/langium/diagnostics/log-preamble.d.ts +42 -0
- package/lib/langium/diagnostics/log-preamble.d.ts.map +1 -0
- package/lib/langium/diagnostics/log-preamble.js +57 -0
- package/lib/langium/diagnostics/log-preamble.js.map +1 -0
- package/lib/langium/diagnostics/logger.d.ts +104 -0
- package/lib/langium/diagnostics/logger.d.ts.map +1 -0
- package/lib/langium/diagnostics/logger.js +178 -0
- package/lib/langium/diagnostics/logger.js.map +1 -0
- package/lib/langium/diagnostics/lsp-logger.d.ts +76 -0
- package/lib/langium/diagnostics/lsp-logger.d.ts.map +1 -0
- package/lib/langium/diagnostics/lsp-logger.js +223 -0
- package/lib/langium/diagnostics/lsp-logger.js.map +1 -0
- package/lib/langium/diagnostics/server-tracer.d.ts +27 -0
- package/lib/langium/diagnostics/server-tracer.d.ts.map +1 -0
- package/lib/langium/diagnostics/server-tracer.js +66 -0
- package/lib/langium/diagnostics/server-tracer.js.map +1 -0
- package/lib/langium/document-builder/build-pipeline-integration.d.ts +88 -0
- package/lib/langium/document-builder/build-pipeline-integration.d.ts.map +1 -0
- package/lib/langium/document-builder/build-pipeline-integration.js +151 -0
- package/lib/langium/document-builder/build-pipeline-integration.js.map +1 -0
- package/lib/langium/document-builder/document-builder.d.ts +405 -0
- package/lib/langium/document-builder/document-builder.d.ts.map +1 -0
- package/lib/langium/document-builder/document-builder.js +729 -0
- package/lib/langium/document-builder/document-builder.js.map +1 -0
- package/lib/langium/document-builder/index.d.ts +12 -0
- package/lib/langium/document-builder/index.d.ts.map +1 -0
- package/lib/langium/document-builder/index.js +12 -0
- package/lib/langium/document-builder/index.js.map +1 -0
- package/lib/langium/document-builder/labeled-phase-listener.d.ts +21 -0
- package/lib/langium/document-builder/labeled-phase-listener.d.ts.map +1 -0
- package/lib/langium/document-builder/labeled-phase-listener.js +15 -0
- package/lib/langium/document-builder/labeled-phase-listener.js.map +1 -0
- package/lib/langium/documentation/comment-provider.d.ts +31 -0
- package/lib/langium/documentation/comment-provider.d.ts.map +1 -0
- package/lib/langium/documentation/comment-provider.js +36 -0
- package/lib/langium/documentation/comment-provider.js.map +1 -0
- package/lib/langium/documentation/index.d.ts +10 -0
- package/lib/langium/documentation/index.d.ts.map +1 -0
- package/lib/langium/documentation/index.js +10 -0
- package/lib/langium/documentation/index.js.map +1 -0
- package/lib/langium/integration-services.d.ts +200 -0
- package/lib/langium/integration-services.d.ts.map +1 -0
- package/lib/langium/integration-services.js +65 -0
- package/lib/langium/integration-services.js.map +1 -0
- package/lib/langium/integrity/index.d.ts +12 -0
- package/lib/langium/integrity/index.d.ts.map +1 -0
- package/lib/langium/integrity/index.js +12 -0
- package/lib/langium/integrity/index.js.map +1 -0
- package/lib/langium/integrity/integrity-contribution.d.ts +42 -0
- package/lib/langium/integrity/integrity-contribution.d.ts.map +1 -0
- package/lib/langium/integrity/integrity-contribution.js +10 -0
- package/lib/langium/integrity/integrity-contribution.js.map +1 -0
- package/lib/langium/integrity/integrity-rule.d.ts +82 -0
- package/lib/langium/integrity/integrity-rule.d.ts.map +1 -0
- package/lib/langium/integrity/integrity-rule.js +52 -0
- package/lib/langium/integrity/integrity-rule.js.map +1 -0
- package/lib/langium/integrity/integrity-service.d.ts +221 -0
- package/lib/langium/integrity/integrity-service.d.ts.map +1 -0
- package/lib/langium/integrity/integrity-service.js +328 -0
- package/lib/langium/integrity/integrity-service.js.map +1 -0
- package/lib/langium/keys/default-element-key-provider.d.ts +19 -0
- package/lib/langium/keys/default-element-key-provider.d.ts.map +1 -0
- package/lib/langium/keys/default-element-key-provider.js +18 -0
- package/lib/langium/keys/default-element-key-provider.js.map +1 -0
- package/lib/langium/keys/element-key-provider.d.ts +106 -0
- package/lib/langium/keys/element-key-provider.d.ts.map +1 -0
- package/lib/langium/keys/element-key-provider.js +25 -0
- package/lib/langium/keys/element-key-provider.js.map +1 -0
- package/lib/langium/keys/index.d.ts +13 -0
- package/lib/langium/keys/index.d.ts.map +1 -0
- package/lib/langium/keys/index.js +13 -0
- package/lib/langium/keys/index.js.map +1 -0
- package/lib/langium/keys/name-based-key-provider.d.ts +99 -0
- package/lib/langium/keys/name-based-key-provider.d.ts.map +1 -0
- package/lib/langium/keys/name-based-key-provider.js +134 -0
- package/lib/langium/keys/name-based-key-provider.js.map +1 -0
- package/lib/langium/keys/positional-key-provider.d.ts +41 -0
- package/lib/langium/keys/positional-key-provider.d.ts.map +1 -0
- package/lib/langium/keys/positional-key-provider.js +48 -0
- package/lib/langium/keys/positional-key-provider.js.map +1 -0
- package/lib/langium/labeling/index.d.ts +10 -0
- package/lib/langium/labeling/index.d.ts.map +1 -0
- package/lib/langium/labeling/index.js +10 -0
- package/lib/langium/labeling/index.js.map +1 -0
- package/lib/langium/labeling/label-provider.d.ts +79 -0
- package/lib/langium/labeling/label-provider.d.ts.map +1 -0
- package/lib/langium/labeling/label-provider.js +44 -0
- package/lib/langium/labeling/label-provider.js.map +1 -0
- package/lib/langium/language-module.d.ts +281 -0
- package/lib/langium/language-module.d.ts.map +1 -0
- package/lib/langium/language-module.js +103 -0
- package/lib/langium/language-module.js.map +1 -0
- package/lib/langium/language-types.d.ts +85 -0
- package/lib/langium/language-types.d.ts.map +1 -0
- package/lib/langium/language-types.js +173 -0
- package/lib/langium/language-types.js.map +1 -0
- package/lib/langium/model-service/index.d.ts +10 -0
- package/lib/langium/model-service/index.d.ts.map +1 -0
- package/lib/langium/model-service/index.js +10 -0
- package/lib/langium/model-service/index.js.map +1 -0
- package/lib/langium/model-service/model-service.d.ts +598 -0
- package/lib/langium/model-service/model-service.d.ts.map +1 -0
- package/lib/langium/model-service/model-service.js +889 -0
- package/lib/langium/model-service/model-service.js.map +1 -0
- package/lib/langium/module.d.ts +308 -0
- package/lib/langium/module.d.ts.map +1 -0
- package/lib/langium/module.js +165 -0
- package/lib/langium/module.js.map +1 -0
- package/lib/langium/naming/index.d.ts +11 -0
- package/lib/langium/naming/index.d.ts.map +1 -0
- package/lib/langium/naming/index.js +11 -0
- package/lib/langium/naming/index.js.map +1 -0
- package/lib/langium/naming/name-provider.d.ts +360 -0
- package/lib/langium/naming/name-provider.d.ts.map +1 -0
- package/lib/langium/naming/name-provider.js +240 -0
- package/lib/langium/naming/name-provider.js.map +1 -0
- package/lib/langium/naming/name-separator-validation.d.ts +47 -0
- package/lib/langium/naming/name-separator-validation.d.ts.map +1 -0
- package/lib/langium/naming/name-separator-validation.js +61 -0
- package/lib/langium/naming/name-separator-validation.js.map +1 -0
- package/lib/langium/project/abstract-project-manager.d.ts +242 -0
- package/lib/langium/project/abstract-project-manager.d.ts.map +1 -0
- package/lib/langium/project/abstract-project-manager.js +545 -0
- package/lib/langium/project/abstract-project-manager.js.map +1 -0
- package/lib/langium/project/index.d.ts +13 -0
- package/lib/langium/project/index.d.ts.map +1 -0
- package/lib/langium/project/index.js +13 -0
- package/lib/langium/project/index.js.map +1 -0
- package/lib/langium/project/project-change-event.d.ts +64 -0
- package/lib/langium/project/project-change-event.d.ts.map +1 -0
- package/lib/langium/project/project-change-event.js +10 -0
- package/lib/langium/project/project-change-event.js.map +1 -0
- package/lib/langium/project/project-manager.d.ts +196 -0
- package/lib/langium/project/project-manager.d.ts.map +1 -0
- package/lib/langium/project/project-manager.js +10 -0
- package/lib/langium/project/project-manager.js.map +1 -0
- package/lib/langium/project/single-project-manager.d.ts +69 -0
- package/lib/langium/project/single-project-manager.d.ts.map +1 -0
- package/lib/langium/project/single-project-manager.js +104 -0
- package/lib/langium/project/single-project-manager.js.map +1 -0
- package/lib/langium/residency/cst-residency-service.d.ts +214 -0
- package/lib/langium/residency/cst-residency-service.d.ts.map +1 -0
- package/lib/langium/residency/cst-residency-service.js +349 -0
- package/lib/langium/residency/cst-residency-service.js.map +1 -0
- package/lib/langium/residency/index.d.ts +10 -0
- package/lib/langium/residency/index.d.ts.map +1 -0
- package/lib/langium/residency/index.js +10 -0
- package/lib/langium/residency/index.js.map +1 -0
- package/lib/langium/scope/ast-node-description-provider.d.ts +122 -0
- package/lib/langium/scope/ast-node-description-provider.d.ts.map +1 -0
- package/lib/langium/scope/ast-node-description-provider.js +115 -0
- package/lib/langium/scope/ast-node-description-provider.js.map +1 -0
- package/lib/langium/scope/hydranium-scope-computation.d.ts +163 -0
- package/lib/langium/scope/hydranium-scope-computation.d.ts.map +1 -0
- package/lib/langium/scope/hydranium-scope-computation.js +220 -0
- package/lib/langium/scope/hydranium-scope-computation.js.map +1 -0
- package/lib/langium/scope/hydranium-scope-provider.d.ts +411 -0
- package/lib/langium/scope/hydranium-scope-provider.d.ts.map +1 -0
- package/lib/langium/scope/hydranium-scope-provider.js +543 -0
- package/lib/langium/scope/hydranium-scope-provider.js.map +1 -0
- package/lib/langium/scope/index.d.ts +18 -0
- package/lib/langium/scope/index.d.ts.map +1 -0
- package/lib/langium/scope/index.js +18 -0
- package/lib/langium/scope/index.js.map +1 -0
- package/lib/langium/scope/reference-builder.d.ts +125 -0
- package/lib/langium/scope/reference-builder.d.ts.map +1 -0
- package/lib/langium/scope/reference-builder.js +115 -0
- package/lib/langium/scope/reference-builder.js.map +1 -0
- package/lib/langium/scope/reference-candidate-provider.d.ts +228 -0
- package/lib/langium/scope/reference-candidate-provider.d.ts.map +1 -0
- package/lib/langium/scope/reference-candidate-provider.js +185 -0
- package/lib/langium/scope/reference-candidate-provider.js.map +1 -0
- package/lib/langium/scope/scope-extension-contribution.d.ts +32 -0
- package/lib/langium/scope/scope-extension-contribution.d.ts.map +1 -0
- package/lib/langium/scope/scope-extension-contribution.js +10 -0
- package/lib/langium/scope/scope-extension-contribution.js.map +1 -0
- package/lib/langium/scope/scope-extension-service.d.ts +149 -0
- package/lib/langium/scope/scope-extension-service.d.ts.map +1 -0
- package/lib/langium/scope/scope-extension-service.js +94 -0
- package/lib/langium/scope/scope-extension-service.js.map +1 -0
- package/lib/langium/scope/scoped-ast-node-description.d.ts +160 -0
- package/lib/langium/scope/scoped-ast-node-description.d.ts.map +1 -0
- package/lib/langium/scope/scoped-ast-node-description.js +98 -0
- package/lib/langium/scope/scoped-ast-node-description.js.map +1 -0
- package/lib/langium/scope/tier-specificity.d.ts +47 -0
- package/lib/langium/scope/tier-specificity.d.ts.map +1 -0
- package/lib/langium/scope/tier-specificity.js +83 -0
- package/lib/langium/scope/tier-specificity.js.map +1 -0
- package/lib/langium/serialization/abstract-serializer.d.ts +316 -0
- package/lib/langium/serialization/abstract-serializer.d.ts.map +1 -0
- package/lib/langium/serialization/abstract-serializer.js +351 -0
- package/lib/langium/serialization/abstract-serializer.js.map +1 -0
- package/lib/langium/serialization/index.d.ts +14 -0
- package/lib/langium/serialization/index.d.ts.map +1 -0
- package/lib/langium/serialization/index.js +14 -0
- package/lib/langium/serialization/index.js.map +1 -0
- package/lib/langium/serialization/json-serializer.d.ts +106 -0
- package/lib/langium/serialization/json-serializer.d.ts.map +1 -0
- package/lib/langium/serialization/json-serializer.js +198 -0
- package/lib/langium/serialization/json-serializer.js.map +1 -0
- package/lib/langium/serialization/serialization-util.d.ts +29 -0
- package/lib/langium/serialization/serialization-util.d.ts.map +1 -0
- package/lib/langium/serialization/serialization-util.js +37 -0
- package/lib/langium/serialization/serialization-util.js.map +1 -0
- package/lib/langium/serialization/serializer.d.ts +66 -0
- package/lib/langium/serialization/serializer.d.ts.map +1 -0
- package/lib/langium/serialization/serializer.js +10 -0
- package/lib/langium/serialization/serializer.js.map +1 -0
- package/lib/langium/serialization/yaml-serializer.d.ts +166 -0
- package/lib/langium/serialization/yaml-serializer.d.ts.map +1 -0
- package/lib/langium/serialization/yaml-serializer.js +228 -0
- package/lib/langium/serialization/yaml-serializer.js.map +1 -0
- package/lib/langium/service-registry.d.ts +220 -0
- package/lib/langium/service-registry.d.ts.map +1 -0
- package/lib/langium/service-registry.js +258 -0
- package/lib/langium/service-registry.js.map +1 -0
- package/lib/langium/shared-services.d.ts +98 -0
- package/lib/langium/shared-services.d.ts.map +1 -0
- package/lib/langium/shared-services.js +30 -0
- package/lib/langium/shared-services.js.map +1 -0
- package/lib/langium/transfer/index.d.ts +10 -0
- package/lib/langium/transfer/index.d.ts.map +1 -0
- package/lib/langium/transfer/index.js +10 -0
- package/lib/langium/transfer/index.js.map +1 -0
- package/lib/langium/transfer/transfer-encoder.d.ts +294 -0
- package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -0
- package/lib/langium/transfer/transfer-encoder.js +328 -0
- package/lib/langium/transfer/transfer-encoder.js.map +1 -0
- package/lib/langium/update-rewrite/index.d.ts +14 -0
- package/lib/langium/update-rewrite/index.d.ts.map +1 -0
- package/lib/langium/update-rewrite/index.js +14 -0
- package/lib/langium/update-rewrite/index.js.map +1 -0
- package/lib/langium/update-rewrite/normalize-empty-strings.d.ts +52 -0
- package/lib/langium/update-rewrite/normalize-empty-strings.d.ts.map +1 -0
- package/lib/langium/update-rewrite/normalize-empty-strings.js +83 -0
- package/lib/langium/update-rewrite/normalize-empty-strings.js.map +1 -0
- package/lib/langium/update-rewrite/semantic-root-rewrite.d.ts +37 -0
- package/lib/langium/update-rewrite/semantic-root-rewrite.d.ts.map +1 -0
- package/lib/langium/update-rewrite/semantic-root-rewrite.js +51 -0
- package/lib/langium/update-rewrite/semantic-root-rewrite.js.map +1 -0
- package/lib/langium/update-rewrite/update-rewrite-contribution.d.ts +42 -0
- package/lib/langium/update-rewrite/update-rewrite-contribution.d.ts.map +1 -0
- package/lib/langium/update-rewrite/update-rewrite-contribution.js +10 -0
- package/lib/langium/update-rewrite/update-rewrite-contribution.js.map +1 -0
- package/lib/langium/update-rewrite/update-rewrite-service.d.ts +89 -0
- package/lib/langium/update-rewrite/update-rewrite-service.d.ts.map +1 -0
- package/lib/langium/update-rewrite/update-rewrite-service.js +75 -0
- package/lib/langium/update-rewrite/update-rewrite-service.js.map +1 -0
- package/lib/langium/update-rewrite/update-rewrite.d.ts +59 -0
- package/lib/langium/update-rewrite/update-rewrite.d.ts.map +1 -0
- package/lib/langium/update-rewrite/update-rewrite.js +10 -0
- package/lib/langium/update-rewrite/update-rewrite.js.map +1 -0
- package/lib/langium/validation/document-validator.d.ts +106 -0
- package/lib/langium/validation/document-validator.d.ts.map +1 -0
- package/lib/langium/validation/document-validator.js +118 -0
- package/lib/langium/validation/document-validator.js.map +1 -0
- package/lib/langium/validation/index.d.ts +12 -0
- package/lib/langium/validation/index.d.ts.map +1 -0
- package/lib/langium/validation/index.js +12 -0
- package/lib/langium/validation/index.js.map +1 -0
- package/lib/langium/validation/validation-contribution-collector.d.ts +34 -0
- package/lib/langium/validation/validation-contribution-collector.d.ts.map +1 -0
- package/lib/langium/validation/validation-contribution-collector.js +51 -0
- package/lib/langium/validation/validation-contribution-collector.js.map +1 -0
- package/lib/langium/validation/validation-contribution.d.ts +36 -0
- package/lib/langium/validation/validation-contribution.d.ts.map +1 -0
- package/lib/langium/validation/validation-contribution.js +10 -0
- package/lib/langium/validation/validation-contribution.js.map +1 -0
- package/lib/langium/workspace/additional-document-contribution.d.ts +68 -0
- package/lib/langium/workspace/additional-document-contribution.d.ts.map +1 -0
- package/lib/langium/workspace/additional-document-contribution.js +23 -0
- package/lib/langium/workspace/additional-document-contribution.js.map +1 -0
- package/lib/langium/workspace/document-uri-policy.d.ts +151 -0
- package/lib/langium/workspace/document-uri-policy.d.ts.map +1 -0
- package/lib/langium/workspace/document-uri-policy.js +121 -0
- package/lib/langium/workspace/document-uri-policy.js.map +1 -0
- package/lib/langium/workspace/file-system-provider.d.ts +30 -0
- package/lib/langium/workspace/file-system-provider.d.ts.map +1 -0
- package/lib/langium/workspace/file-system-provider.js +41 -0
- package/lib/langium/workspace/file-system-provider.js.map +1 -0
- package/lib/langium/workspace/hydranium-langium-document-factory.d.ts +45 -0
- package/lib/langium/workspace/hydranium-langium-document-factory.d.ts.map +1 -0
- package/lib/langium/workspace/hydranium-langium-document-factory.js +64 -0
- package/lib/langium/workspace/hydranium-langium-document-factory.js.map +1 -0
- package/lib/langium/workspace/hydranium-workspace-lock.d.ts +31 -0
- package/lib/langium/workspace/hydranium-workspace-lock.d.ts.map +1 -0
- package/lib/langium/workspace/hydranium-workspace-lock.js +33 -0
- package/lib/langium/workspace/hydranium-workspace-lock.js.map +1 -0
- package/lib/langium/workspace/hydranium-workspace-manager.d.ts +232 -0
- package/lib/langium/workspace/hydranium-workspace-manager.d.ts.map +1 -0
- package/lib/langium/workspace/hydranium-workspace-manager.js +368 -0
- package/lib/langium/workspace/hydranium-workspace-manager.js.map +1 -0
- package/lib/langium/workspace/in-memory-file-system-provider.d.ts +127 -0
- package/lib/langium/workspace/in-memory-file-system-provider.d.ts.map +1 -0
- package/lib/langium/workspace/in-memory-file-system-provider.js +195 -0
- package/lib/langium/workspace/in-memory-file-system-provider.js.map +1 -0
- package/lib/langium/workspace/index-manager.d.ts +142 -0
- package/lib/langium/workspace/index-manager.d.ts.map +1 -0
- package/lib/langium/workspace/index-manager.js +245 -0
- package/lib/langium/workspace/index-manager.js.map +1 -0
- package/lib/langium/workspace/index.d.ts +23 -0
- package/lib/langium/workspace/index.d.ts.map +1 -0
- package/lib/langium/workspace/index.js +23 -0
- package/lib/langium/workspace/index.js.map +1 -0
- package/lib/langium/workspace/initialize-workspace.d.ts +63 -0
- package/lib/langium/workspace/initialize-workspace.d.ts.map +1 -0
- package/lib/langium/workspace/initialize-workspace.js +88 -0
- package/lib/langium/workspace/initialize-workspace.js.map +1 -0
- package/lib/langium/workspace/langium-documents.d.ts +47 -0
- package/lib/langium/workspace/langium-documents.d.ts.map +1 -0
- package/lib/langium/workspace/langium-documents.js +85 -0
- package/lib/langium/workspace/langium-documents.js.map +1 -0
- package/lib/langium/workspace/persistent-file-system-provider.d.ts +207 -0
- package/lib/langium/workspace/persistent-file-system-provider.d.ts.map +1 -0
- package/lib/langium/workspace/persistent-file-system-provider.js +208 -0
- package/lib/langium/workspace/persistent-file-system-provider.js.map +1 -0
- package/lib/langium/workspace/synthetic.d.ts +38 -0
- package/lib/langium/workspace/synthetic.d.ts.map +1 -0
- package/lib/langium/workspace/synthetic.js +58 -0
- package/lib/langium/workspace/synthetic.js.map +1 -0
- package/lib/langium/workspace/virtual-document.d.ts +78 -0
- package/lib/langium/workspace/virtual-document.d.ts.map +1 -0
- package/lib/langium/workspace/virtual-document.js +89 -0
- package/lib/langium/workspace/virtual-document.js.map +1 -0
- package/lib/langium/workspace/write-lock-scope.d.ts +69 -0
- package/lib/langium/workspace/write-lock-scope.d.ts.map +1 -0
- package/lib/langium/workspace/write-lock-scope.js +54 -0
- package/lib/langium/workspace/write-lock-scope.js.map +1 -0
- package/lib/launcher/index.d.ts +10 -0
- package/lib/launcher/index.d.ts.map +1 -0
- package/lib/launcher/index.js +12 -0
- package/lib/launcher/index.js.map +1 -0
- package/lib/launcher/integrated-server.d.ts +28 -0
- package/lib/launcher/integrated-server.d.ts.map +1 -0
- package/lib/launcher/integrated-server.js +10 -0
- package/lib/launcher/integrated-server.js.map +1 -0
- package/lib/lsp/completion/hydranium-completion-provider.d.ts +89 -0
- package/lib/lsp/completion/hydranium-completion-provider.d.ts.map +1 -0
- package/lib/lsp/completion/hydranium-completion-provider.js +123 -0
- package/lib/lsp/completion/hydranium-completion-provider.js.map +1 -0
- package/lib/lsp/hydranium-document-update-handler.d.ts +204 -0
- package/lib/lsp/hydranium-document-update-handler.d.ts.map +1 -0
- package/lib/lsp/hydranium-document-update-handler.js +288 -0
- package/lib/lsp/hydranium-document-update-handler.js.map +1 -0
- package/lib/lsp/index.d.ts +23 -0
- package/lib/lsp/index.d.ts.map +1 -0
- package/lib/lsp/index.js +23 -0
- package/lib/lsp/index.js.map +1 -0
- package/lib/lsp/instrument-connection.d.ts +36 -0
- package/lib/lsp/instrument-connection.d.ts.map +1 -0
- package/lib/lsp/instrument-connection.js +62 -0
- package/lib/lsp/instrument-connection.js.map +1 -0
- package/lib/lsp/language-module.d.ts +53 -0
- package/lib/lsp/language-module.d.ts.map +1 -0
- package/lib/lsp/language-module.js +28 -0
- package/lib/lsp/language-module.js.map +1 -0
- package/lib/lsp/semantic-token-provider.d.ts +131 -0
- package/lib/lsp/semantic-token-provider.d.ts.map +1 -0
- package/lib/lsp/semantic-token-provider.js +148 -0
- package/lib/lsp/semantic-token-provider.js.map +1 -0
- package/lib/lsp/shared-module.d.ts +76 -0
- package/lib/lsp/shared-module.d.ts.map +1 -0
- package/lib/lsp/shared-module.js +33 -0
- package/lib/lsp/shared-module.js.map +1 -0
- package/lib/lsp/start-language-server.d.ts +43 -0
- package/lib/lsp/start-language-server.d.ts.map +1 -0
- package/lib/lsp/start-language-server.js +60 -0
- package/lib/lsp/start-language-server.js.map +1 -0
- package/lib/node/ast-ground-truth.d.ts +57 -0
- package/lib/node/ast-ground-truth.d.ts.map +1 -0
- package/lib/node/ast-ground-truth.js +46 -0
- package/lib/node/ast-ground-truth.js.map +1 -0
- package/lib/node/event-loop-monitor.d.ts +40 -0
- package/lib/node/event-loop-monitor.d.ts.map +1 -0
- package/lib/node/event-loop-monitor.js +62 -0
- package/lib/node/event-loop-monitor.js.map +1 -0
- package/lib/node/index.d.ts +29 -0
- package/lib/node/index.d.ts.map +1 -0
- package/lib/node/index.js +50 -0
- package/lib/node/index.js.map +1 -0
- package/lib/node/latency-from-env.d.ts +32 -0
- package/lib/node/latency-from-env.d.ts.map +1 -0
- package/lib/node/latency-from-env.js +36 -0
- package/lib/node/latency-from-env.js.map +1 -0
- package/lib/node/lint-grammar.d.ts +87 -0
- package/lib/node/lint-grammar.d.ts.map +1 -0
- package/lib/node/lint-grammar.js +124 -0
- package/lib/node/lint-grammar.js.map +1 -0
- package/lib/node/log-file-sink.d.ts +22 -0
- package/lib/node/log-file-sink.d.ts.map +1 -0
- package/lib/node/log-file-sink.js +43 -0
- package/lib/node/log-file-sink.js.map +1 -0
- package/lib/node/log-preamble-node.d.ts +28 -0
- package/lib/node/log-preamble-node.d.ts.map +1 -0
- package/lib/node/log-preamble-node.js +55 -0
- package/lib/node/log-preamble-node.js.map +1 -0
- package/lib/node/measure-memory.d.ts +86 -0
- package/lib/node/measure-memory.d.ts.map +1 -0
- package/lib/node/measure-memory.js +128 -0
- package/lib/node/measure-memory.js.map +1 -0
- package/lib/node/memory-monitor.d.ts +42 -0
- package/lib/node/memory-monitor.d.ts.map +1 -0
- package/lib/node/memory-monitor.js +83 -0
- package/lib/node/memory-monitor.js.map +1 -0
- package/lib/node/node-file-system-provider.d.ts +112 -0
- package/lib/node/node-file-system-provider.d.ts.map +1 -0
- package/lib/node/node-file-system-provider.js +230 -0
- package/lib/node/node-file-system-provider.js.map +1 -0
- package/lib/node/process-memory.d.ts +66 -0
- package/lib/node/process-memory.d.ts.map +1 -0
- package/lib/node/process-memory.js +252 -0
- package/lib/node/process-memory.js.map +1 -0
- package/lib/node/profile-capture.d.ts +118 -0
- package/lib/node/profile-capture.d.ts.map +1 -0
- package/lib/node/profile-capture.js +315 -0
- package/lib/node/profile-capture.js.map +1 -0
- package/lib/node/profile-digest.d.ts +49 -0
- package/lib/node/profile-digest.d.ts.map +1 -0
- package/lib/node/profile-digest.js +74 -0
- package/lib/node/profile-digest.js.map +1 -0
- package/lib/node/profiling-run.d.ts +80 -0
- package/lib/node/profiling-run.d.ts.map +1 -0
- package/lib/node/profiling-run.js +183 -0
- package/lib/node/profiling-run.js.map +1 -0
- package/lib/node/reflect-grammar.d.ts +109 -0
- package/lib/node/reflect-grammar.d.ts.map +1 -0
- package/lib/node/reflect-grammar.js +96 -0
- package/lib/node/reflect-grammar.js.map +1 -0
- package/lib/node/server-diagnostics.d.ts +43 -0
- package/lib/node/server-diagnostics.d.ts.map +1 -0
- package/lib/node/server-diagnostics.js +46 -0
- package/lib/node/server-diagnostics.js.map +1 -0
- package/lib/node/server-state-snapshot.d.ts +48 -0
- package/lib/node/server-state-snapshot.d.ts.map +1 -0
- package/lib/node/server-state-snapshot.js +139 -0
- package/lib/node/server-state-snapshot.js.map +1 -0
- package/lib/node/socket-launcher.d.ts +106 -0
- package/lib/node/socket-launcher.d.ts.map +1 -0
- package/lib/node/socket-launcher.js +138 -0
- package/lib/node/socket-launcher.js.map +1 -0
- package/lib/node/stdio-launcher.d.ts +88 -0
- package/lib/node/stdio-launcher.d.ts.map +1 -0
- package/lib/node/stdio-launcher.js +83 -0
- package/lib/node/stdio-launcher.js.map +1 -0
- package/lib/node/validate-workspace.d.ts +80 -0
- package/lib/node/validate-workspace.d.ts.map +1 -0
- package/lib/node/validate-workspace.js +72 -0
- package/lib/node/validate-workspace.js.map +1 -0
- package/lib/node/write-lock-scope-node.d.ts +27 -0
- package/lib/node/write-lock-scope-node.d.ts.map +1 -0
- package/lib/node/write-lock-scope-node.js +38 -0
- package/lib/node/write-lock-scope-node.js.map +1 -0
- package/lib/testing/ast-snapshot.d.ts +38 -0
- package/lib/testing/ast-snapshot.d.ts.map +1 -0
- package/lib/testing/ast-snapshot.js +78 -0
- package/lib/testing/ast-snapshot.js.map +1 -0
- package/lib/testing/document-uri-policy-conformance.d.ts +65 -0
- package/lib/testing/document-uri-policy-conformance.d.ts.map +1 -0
- package/lib/testing/document-uri-policy-conformance.js +69 -0
- package/lib/testing/document-uri-policy-conformance.js.map +1 -0
- package/lib/testing/fake-description.d.ts +35 -0
- package/lib/testing/fake-description.d.ts.map +1 -0
- package/lib/testing/fake-description.js +38 -0
- package/lib/testing/fake-description.js.map +1 -0
- package/lib/testing/fake-document.d.ts +71 -0
- package/lib/testing/fake-document.d.ts.map +1 -0
- package/lib/testing/fake-document.js +85 -0
- package/lib/testing/fake-document.js.map +1 -0
- package/lib/testing/fake-reflection.d.ts +29 -0
- package/lib/testing/fake-reflection.d.ts.map +1 -0
- package/lib/testing/fake-reflection.js +30 -0
- package/lib/testing/fake-reflection.js.map +1 -0
- package/lib/testing/index.d.ts +44 -0
- package/lib/testing/index.d.ts.map +1 -0
- package/lib/testing/index.js +44 -0
- package/lib/testing/index.js.map +1 -0
- package/lib/testing/langium-test-helpers.d.ts +26 -0
- package/lib/testing/langium-test-helpers.d.ts.map +1 -0
- package/lib/testing/langium-test-helpers.js +26 -0
- package/lib/testing/langium-test-helpers.js.map +1 -0
- package/lib/testing/make-noop-language-services.d.ts +39 -0
- package/lib/testing/make-noop-language-services.d.ts.map +1 -0
- package/lib/testing/make-noop-language-services.js +30 -0
- package/lib/testing/make-noop-language-services.js.map +1 -0
- package/lib/testing/make-noop-shared-services.d.ts +61 -0
- package/lib/testing/make-noop-shared-services.d.ts.map +1 -0
- package/lib/testing/make-noop-shared-services.js +49 -0
- package/lib/testing/make-noop-shared-services.js.map +1 -0
- package/lib/testing/make-test-services.d.ts +217 -0
- package/lib/testing/make-test-services.d.ts.map +1 -0
- package/lib/testing/make-test-services.js +128 -0
- package/lib/testing/make-test-services.js.map +1 -0
- package/lib/testing/make-test-tracer.d.ts +67 -0
- package/lib/testing/make-test-tracer.d.ts.map +1 -0
- package/lib/testing/make-test-tracer.js +68 -0
- package/lib/testing/make-test-tracer.js.map +1 -0
- package/lib/testing/node/generated-workspace.d.ts +95 -0
- package/lib/testing/node/generated-workspace.d.ts.map +1 -0
- package/lib/testing/node/generated-workspace.js +134 -0
- package/lib/testing/node/generated-workspace.js.map +1 -0
- package/lib/testing/node/golden-corpus.d.ts +50 -0
- package/lib/testing/node/golden-corpus.d.ts.map +1 -0
- package/lib/testing/node/golden-corpus.js +80 -0
- package/lib/testing/node/golden-corpus.js.map +1 -0
- package/lib/testing/node/index.d.ts +28 -0
- package/lib/testing/node/index.d.ts.map +1 -0
- package/lib/testing/node/index.js +28 -0
- package/lib/testing/node/index.js.map +1 -0
- package/lib/testing/node/lsp-harness.d.ts +139 -0
- package/lib/testing/node/lsp-harness.d.ts.map +1 -0
- package/lib/testing/node/lsp-harness.js +119 -0
- package/lib/testing/node/lsp-harness.js.map +1 -0
- package/lib/testing/node/lsp-server-connection.d.ts +232 -0
- package/lib/testing/node/lsp-server-connection.d.ts.map +1 -0
- package/lib/testing/node/lsp-server-connection.js +304 -0
- package/lib/testing/node/lsp-server-connection.js.map +1 -0
- package/lib/testing/node/scratch-workspace.d.ts +60 -0
- package/lib/testing/node/scratch-workspace.d.ts.map +1 -0
- package/lib/testing/node/scratch-workspace.js +87 -0
- package/lib/testing/node/scratch-workspace.js.map +1 -0
- package/lib/testing/node/spawned-server.d.ts +170 -0
- package/lib/testing/node/spawned-server.d.ts.map +1 -0
- package/lib/testing/node/spawned-server.js +265 -0
- package/lib/testing/node/spawned-server.js.map +1 -0
- package/lib/testing/parse-semantic-root.d.ts +83 -0
- package/lib/testing/parse-semantic-root.d.ts.map +1 -0
- package/lib/testing/parse-semantic-root.js +119 -0
- package/lib/testing/parse-semantic-root.js.map +1 -0
- package/lib/testing/playwright/browser-capture-bridge.d.ts +80 -0
- package/lib/testing/playwright/browser-capture-bridge.d.ts.map +1 -0
- package/lib/testing/playwright/browser-capture-bridge.js +161 -0
- package/lib/testing/playwright/browser-capture-bridge.js.map +1 -0
- package/lib/testing/playwright/e2e-profiling.d.ts +132 -0
- package/lib/testing/playwright/e2e-profiling.d.ts.map +1 -0
- package/lib/testing/playwright/e2e-profiling.js +270 -0
- package/lib/testing/playwright/e2e-profiling.js.map +1 -0
- package/lib/testing/playwright/index.d.ts +13 -0
- package/lib/testing/playwright/index.d.ts.map +1 -0
- package/lib/testing/playwright/index.js +16 -0
- package/lib/testing/playwright/index.js.map +1 -0
- package/lib/testing/playwright/server-log-capture.d.ts +230 -0
- package/lib/testing/playwright/server-log-capture.d.ts.map +1 -0
- package/lib/testing/playwright/server-log-capture.js +336 -0
- package/lib/testing/playwright/server-log-capture.js.map +1 -0
- package/lib/testing/playwright/server-log-fixture.d.ts +36 -0
- package/lib/testing/playwright/server-log-fixture.d.ts.map +1 -0
- package/lib/testing/playwright/server-log-fixture.js +38 -0
- package/lib/testing/playwright/server-log-fixture.js.map +1 -0
- package/lib/testing/playwright/server-log-rename-reporter.d.ts +22 -0
- package/lib/testing/playwright/server-log-rename-reporter.d.ts.map +1 -0
- package/lib/testing/playwright/server-log-rename-reporter.js +26 -0
- package/lib/testing/playwright/server-log-rename-reporter.js.map +1 -0
- package/lib/testing/run-update-pipeline.d.ts +99 -0
- package/lib/testing/run-update-pipeline.d.ts.map +1 -0
- package/lib/testing/run-update-pipeline.js +24 -0
- package/lib/testing/run-update-pipeline.js.map +1 -0
- package/lib/testing/stub-ast-document-manager.d.ts +82 -0
- package/lib/testing/stub-ast-document-manager.d.ts.map +1 -0
- package/lib/testing/stub-ast-document-manager.js +125 -0
- package/lib/testing/stub-ast-document-manager.js.map +1 -0
- package/lib/testing/stub-document-builder.d.ts +99 -0
- package/lib/testing/stub-document-builder.d.ts.map +1 -0
- package/lib/testing/stub-document-builder.js +142 -0
- package/lib/testing/stub-document-builder.js.map +1 -0
- package/lib/testing/stub-hydranium-text-documents.d.ts +125 -0
- package/lib/testing/stub-hydranium-text-documents.d.ts.map +1 -0
- package/lib/testing/stub-hydranium-text-documents.js +164 -0
- package/lib/testing/stub-hydranium-text-documents.js.map +1 -0
- package/lib/testing/stub-index-manager.d.ts +40 -0
- package/lib/testing/stub-index-manager.d.ts.map +1 -0
- package/lib/testing/stub-index-manager.js +38 -0
- package/lib/testing/stub-index-manager.js.map +1 -0
- package/lib/testing/stub-langium-documents.d.ts +53 -0
- package/lib/testing/stub-langium-documents.d.ts.map +1 -0
- package/lib/testing/stub-langium-documents.js +62 -0
- package/lib/testing/stub-langium-documents.js.map +1 -0
- package/lib/testing/stub-model-service.d.ts +31 -0
- package/lib/testing/stub-model-service.d.ts.map +1 -0
- package/lib/testing/stub-model-service.js +45 -0
- package/lib/testing/stub-model-service.js.map +1 -0
- package/lib/testing/stub-project-manager.d.ts +43 -0
- package/lib/testing/stub-project-manager.d.ts.map +1 -0
- package/lib/testing/stub-project-manager.js +125 -0
- package/lib/testing/stub-project-manager.js.map +1 -0
- package/lib/testing/stub-self-save-registry.d.ts +31 -0
- package/lib/testing/stub-self-save-registry.d.ts.map +1 -0
- package/lib/testing/stub-self-save-registry.js +23 -0
- package/lib/testing/stub-self-save-registry.js.map +1 -0
- package/lib/testing/stub-service-registry.d.ts +95 -0
- package/lib/testing/stub-service-registry.d.ts.map +1 -0
- package/lib/testing/stub-service-registry.js +108 -0
- package/lib/testing/stub-service-registry.js.map +1 -0
- package/lib/testing/stub-writable-file-system.d.ts +42 -0
- package/lib/testing/stub-writable-file-system.d.ts.map +1 -0
- package/lib/testing/stub-writable-file-system.js +26 -0
- package/lib/testing/stub-writable-file-system.js.map +1 -0
- package/lib/util/connection-liveness.d.ts +25 -0
- package/lib/util/connection-liveness.d.ts.map +1 -0
- package/lib/util/connection-liveness.js +46 -0
- package/lib/util/connection-liveness.js.map +1 -0
- package/lib/util/environment.d.ts +53 -0
- package/lib/util/environment.d.ts.map +1 -0
- package/lib/util/environment.js +78 -0
- package/lib/util/environment.js.map +1 -0
- package/lib/util/index.d.ts +13 -0
- package/lib/util/index.d.ts.map +1 -0
- package/lib/util/index.js +18 -0
- package/lib/util/index.js.map +1 -0
- package/lib/util/registry.d.ts +88 -0
- package/lib/util/registry.d.ts.map +1 -0
- package/lib/util/registry.js +105 -0
- package/lib/util/registry.js.map +1 -0
- package/package.json +134 -0
- package/src/documents/ast-document-manager.ts +455 -0
- package/src/documents/client-ids.ts +33 -0
- package/src/documents/hydranium-text-documents.ts +1142 -0
- package/src/documents/index.ts +14 -0
- package/src/documents/language-client-text-shadow.ts +175 -0
- package/src/documents/self-save-registry.ts +81 -0
- package/src/index.ts +39 -0
- package/src/langium/ast-extension/ast-extension-contribution.ts +35 -0
- package/src/langium/ast-extension/ast-extension-service.ts +311 -0
- package/src/langium/ast-extension/ast-node-builder.ts +125 -0
- package/src/langium/ast-extension/index.ts +12 -0
- package/src/langium/bootstrap.ts +600 -0
- package/src/langium/build-phase-pass/build-phase-pass-service.ts +141 -0
- package/src/langium/build-phase-pass/build-phase-pass.ts +123 -0
- package/src/langium/build-phase-pass/index.ts +11 -0
- package/src/langium/config/index.ts +10 -0
- package/src/langium/config/settings.ts +353 -0
- package/src/langium/diagnostics/hydranium-langium-profiler.ts +187 -0
- package/src/langium/diagnostics/index.ts +19 -0
- package/src/langium/diagnostics/log-file-token.ts +26 -0
- package/src/langium/diagnostics/log-preamble.ts +87 -0
- package/src/langium/diagnostics/logger.ts +246 -0
- package/src/langium/diagnostics/lsp-logger.ts +277 -0
- package/src/langium/diagnostics/server-tracer.ts +73 -0
- package/src/langium/document-builder/build-pipeline-integration.ts +193 -0
- package/src/langium/document-builder/document-builder.ts +839 -0
- package/src/langium/document-builder/index.ts +12 -0
- package/src/langium/document-builder/labeled-phase-listener.ts +26 -0
- package/src/langium/documentation/comment-provider.ts +37 -0
- package/src/langium/documentation/index.ts +10 -0
- package/src/langium/integration-services.ts +281 -0
- package/src/langium/integrity/index.ts +12 -0
- package/src/langium/integrity/integrity-contribution.ts +44 -0
- package/src/langium/integrity/integrity-rule.ts +100 -0
- package/src/langium/integrity/integrity-service.ts +423 -0
- package/src/langium/keys/default-element-key-provider.ts +20 -0
- package/src/langium/keys/element-key-provider.ts +114 -0
- package/src/langium/keys/index.ts +13 -0
- package/src/langium/keys/name-based-key-provider.ts +146 -0
- package/src/langium/keys/positional-key-provider.ts +57 -0
- package/src/langium/labeling/index.ts +10 -0
- package/src/langium/labeling/label-provider.ts +110 -0
- package/src/langium/language-module.ts +367 -0
- package/src/langium/language-types.ts +214 -0
- package/src/langium/model-service/index.ts +10 -0
- package/src/langium/model-service/model-service.ts +1051 -0
- package/src/langium/module.ts +446 -0
- package/src/langium/naming/index.ts +11 -0
- package/src/langium/naming/name-provider.ts +533 -0
- package/src/langium/naming/name-separator-validation.ts +73 -0
- package/src/langium/project/abstract-project-manager.ts +630 -0
- package/src/langium/project/index.ts +13 -0
- package/src/langium/project/project-change-event.ts +66 -0
- package/src/langium/project/project-manager.ts +221 -0
- package/src/langium/project/single-project-manager.ts +126 -0
- package/src/langium/residency/cst-residency-service.ts +412 -0
- package/src/langium/residency/index.ts +10 -0
- package/src/langium/scope/ast-node-description-provider.ts +141 -0
- package/src/langium/scope/hydranium-scope-computation.ts +246 -0
- package/src/langium/scope/hydranium-scope-provider.ts +659 -0
- package/src/langium/scope/index.ts +18 -0
- package/src/langium/scope/reference-builder.ts +194 -0
- package/src/langium/scope/reference-candidate-provider.ts +314 -0
- package/src/langium/scope/scope-extension-contribution.ts +34 -0
- package/src/langium/scope/scope-extension-service.ts +207 -0
- package/src/langium/scope/scoped-ast-node-description.ts +174 -0
- package/src/langium/scope/tier-specificity.ts +89 -0
- package/src/langium/serialization/abstract-serializer.ts +474 -0
- package/src/langium/serialization/index.ts +14 -0
- package/src/langium/serialization/json-serializer.ts +264 -0
- package/src/langium/serialization/serialization-util.ts +40 -0
- package/src/langium/serialization/serializer.ts +68 -0
- package/src/langium/serialization/yaml-serializer.ts +348 -0
- package/src/langium/service-registry.ts +323 -0
- package/src/langium/shared-services.ts +107 -0
- package/src/langium/transfer/index.ts +10 -0
- package/src/langium/transfer/transfer-encoder.ts +434 -0
- package/src/langium/update-rewrite/index.ts +14 -0
- package/src/langium/update-rewrite/normalize-empty-strings.ts +86 -0
- package/src/langium/update-rewrite/semantic-root-rewrite.ts +57 -0
- package/src/langium/update-rewrite/update-rewrite-contribution.ts +44 -0
- package/src/langium/update-rewrite/update-rewrite-service.ts +129 -0
- package/src/langium/update-rewrite/update-rewrite.ts +60 -0
- package/src/langium/validation/document-validator.ts +188 -0
- package/src/langium/validation/index.ts +12 -0
- package/src/langium/validation/validation-contribution-collector.ts +61 -0
- package/src/langium/validation/validation-contribution.ts +38 -0
- package/src/langium/workspace/additional-document-contribution.ts +80 -0
- package/src/langium/workspace/document-uri-policy.ts +187 -0
- package/src/langium/workspace/file-system-provider.ts +52 -0
- package/src/langium/workspace/hydranium-langium-document-factory.ts +78 -0
- package/src/langium/workspace/hydranium-workspace-lock.ts +35 -0
- package/src/langium/workspace/hydranium-workspace-manager.ts +412 -0
- package/src/langium/workspace/in-memory-file-system-provider.ts +241 -0
- package/src/langium/workspace/index-manager.ts +266 -0
- package/src/langium/workspace/index.ts +23 -0
- package/src/langium/workspace/initialize-workspace.ts +102 -0
- package/src/langium/workspace/langium-documents.ts +94 -0
- package/src/langium/workspace/persistent-file-system-provider.ts +287 -0
- package/src/langium/workspace/synthetic.ts +63 -0
- package/src/langium/workspace/virtual-document.ts +94 -0
- package/src/langium/workspace/write-lock-scope.ts +88 -0
- package/src/launcher/index.ts +12 -0
- package/src/launcher/integrated-server.ts +28 -0
- package/src/lsp/completion/hydranium-completion-provider.ts +132 -0
- package/src/lsp/hydranium-document-update-handler.ts +345 -0
- package/src/lsp/index.ts +24 -0
- package/src/lsp/instrument-connection.ts +66 -0
- package/src/lsp/language-module.ts +64 -0
- package/src/lsp/semantic-token-provider.ts +215 -0
- package/src/lsp/shared-module.ts +88 -0
- package/src/lsp/start-language-server.ts +68 -0
- package/src/node/ast-ground-truth.ts +76 -0
- package/src/node/event-loop-monitor.ts +89 -0
- package/src/node/index.ts +53 -0
- package/src/node/latency-from-env.ts +39 -0
- package/src/node/lint-grammar.ts +189 -0
- package/src/node/log-file-sink.ts +43 -0
- package/src/node/log-preamble-node.ts +63 -0
- package/src/node/measure-memory.ts +196 -0
- package/src/node/memory-monitor.ts +103 -0
- package/src/node/node-file-system-provider.ts +252 -0
- package/src/node/process-memory.ts +299 -0
- package/src/node/profile-capture.ts +377 -0
- package/src/node/profile-digest.ts +112 -0
- package/src/node/profiling-run.ts +236 -0
- package/src/node/reflect-grammar.ts +182 -0
- package/src/node/server-diagnostics.ts +63 -0
- package/src/node/server-state-snapshot.ts +192 -0
- package/src/node/socket-launcher.ts +210 -0
- package/src/node/stdio-launcher.ts +150 -0
- package/src/node/validate-workspace.ts +133 -0
- package/src/node/write-lock-scope-node.ts +41 -0
- package/src/testing/ast-snapshot.ts +88 -0
- package/src/testing/document-uri-policy-conformance.ts +104 -0
- package/src/testing/fake-description.ts +52 -0
- package/src/testing/fake-document.ts +120 -0
- package/src/testing/fake-reflection.ts +39 -0
- package/src/testing/index.ts +45 -0
- package/src/testing/langium-test-helpers.ts +26 -0
- package/src/testing/make-noop-language-services.ts +47 -0
- package/src/testing/make-noop-shared-services.ts +78 -0
- package/src/testing/make-test-services.ts +356 -0
- package/src/testing/make-test-tracer.ts +92 -0
- package/src/testing/node/generated-workspace.ts +222 -0
- package/src/testing/node/golden-corpus.ts +114 -0
- package/src/testing/node/index.ts +29 -0
- package/src/testing/node/lsp-harness.ts +230 -0
- package/src/testing/node/lsp-server-connection.ts +575 -0
- package/src/testing/node/scratch-workspace.ts +137 -0
- package/src/testing/node/spawned-server.ts +447 -0
- package/src/testing/parse-semantic-root.ts +150 -0
- package/src/testing/playwright/browser-capture-bridge.ts +258 -0
- package/src/testing/playwright/e2e-profiling.ts +362 -0
- package/src/testing/playwright/index.ts +16 -0
- package/src/testing/playwright/server-log-capture.ts +433 -0
- package/src/testing/playwright/server-log-fixture.ts +57 -0
- package/src/testing/playwright/server-log-rename-reporter.ts +29 -0
- package/src/testing/run-update-pipeline.ts +113 -0
- package/src/testing/stub-ast-document-manager.ts +224 -0
- package/src/testing/stub-document-builder.ts +242 -0
- package/src/testing/stub-hydranium-text-documents.ts +270 -0
- package/src/testing/stub-index-manager.ts +79 -0
- package/src/testing/stub-langium-documents.ts +104 -0
- package/src/testing/stub-model-service.ts +72 -0
- package/src/testing/stub-project-manager.ts +161 -0
- package/src/testing/stub-self-save-registry.ts +43 -0
- package/src/testing/stub-service-registry.ts +192 -0
- package/src/testing/stub-writable-file-system.ts +58 -0
- package/src/util/connection-liveness.ts +47 -0
- package/src/util/environment.ts +88 -0
- package/src/util/index.ts +18 -0
- package/src/util/registry.ts +129 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 CrossBreeze, EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the MIT License which is available in the project root.
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
********************************************************************************/
|
|
9
|
+
import { type Tracer } from '@hydranium/protocol';
|
|
10
|
+
import { type AstNode, type Reference } from '@hydranium/langium';
|
|
11
|
+
import { type LogNameOptions } from '../diagnostics/logger.js';
|
|
12
|
+
import { type HydraniumLanguageServices } from '../language-module.js';
|
|
13
|
+
import { type NameProvider } from '../naming/name-provider.js';
|
|
14
|
+
/**
|
|
15
|
+
* Reference-construction service — turns a (target, source) pair into the
|
|
16
|
+
* `$refText` an author would type, or a full Langium {@link Reference}.
|
|
17
|
+
*
|
|
18
|
+
* Split off {@link NameProvider} because reference *construction* is more than
|
|
19
|
+
* naming: it composes a name *tier* (own / document- / project-qualified) with
|
|
20
|
+
* **project visibility policy** (`ProjectManager.isVisible` / `getProjectForNode`)
|
|
21
|
+
* and adopter-specific `$refText` encoding. The visibility coupling is a
|
|
22
|
+
* different dependency axis from "what is this node's name", so it lives here
|
|
23
|
+
* — the construction dual of the resolution-side candidate / scope providers.
|
|
24
|
+
*
|
|
25
|
+
* Reads names from {@link NameProvider}; resolves project ownership +
|
|
26
|
+
* visibility from the shared `ProjectManager`. Adopters override
|
|
27
|
+
* `encodeRefText` for grammar-specific `$refText` escaping.
|
|
28
|
+
*/
|
|
29
|
+
export interface ReferenceBuilder {
|
|
30
|
+
/**
|
|
31
|
+
* The **reference name** targeting `target` from `source`'s context. Picks
|
|
32
|
+
* document-qualified or project-qualified form based on whether source
|
|
33
|
+
* and target share a project (via `ProjectManager`), gates cross-project
|
|
34
|
+
* references through `ProjectManager.isVisible`, and passes the result
|
|
35
|
+
* through {@link DefaultReferenceBuilder.encodeRefText} for adopter-specific
|
|
36
|
+
* character escaping.
|
|
37
|
+
*
|
|
38
|
+
* Returns `undefined` when no reference can be formed: target is
|
|
39
|
+
* undefined, target has no nameable form, or cross-project visibility
|
|
40
|
+
* forbids the reference.
|
|
41
|
+
*
|
|
42
|
+
* Source-aware sibling of {@link NameProvider.getProjectQualifiedName} /
|
|
43
|
+
* {@link NameProvider.getDocumentQualifiedName}: callers pass the containing
|
|
44
|
+
* node and get back the form that the source-text writer would type.
|
|
45
|
+
*
|
|
46
|
+
* A reference name is **not a fourth qualification level** — it is a policy
|
|
47
|
+
* *over* the levels (document-qualified within a project, project-qualified
|
|
48
|
+
* across one) plus escaping.
|
|
49
|
+
*/
|
|
50
|
+
getReferenceName(target?: AstNode, source?: AstNode): string | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Reference shape constructor for an own-scope (bare) reference.
|
|
53
|
+
* Returns `undefined` when {@link NameProvider.getOwnName} returns
|
|
54
|
+
* `undefined` — surfaces real "node has no name" failures synchronously
|
|
55
|
+
* instead of producing an invalid `$refText: ''` that fails at link time
|
|
56
|
+
* with lost context.
|
|
57
|
+
*/
|
|
58
|
+
toOwnReference<T extends AstNode>(target: T | undefined): Reference<T> | undefined;
|
|
59
|
+
/** Document-qualified sibling of {@link toOwnReference}. */
|
|
60
|
+
toDocumentReference<T extends AstNode>(target: T | undefined): Reference<T> | undefined;
|
|
61
|
+
/** Project-qualified sibling of {@link toOwnReference}. */
|
|
62
|
+
toProjectReference<T extends AstNode>(target: T | undefined): Reference<T> | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Visibility-aware reference constructor — uses {@link getReferenceName}
|
|
65
|
+
* to pick document- vs project-qualified form based on the source /
|
|
66
|
+
* target relationship and to gate forbidden cross-project references.
|
|
67
|
+
* Returns `undefined` when no reference can be formed.
|
|
68
|
+
*/
|
|
69
|
+
toReference<T extends AstNode>(target: T | undefined, source?: AstNode): Reference<T> | undefined;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Default {@link ReferenceBuilder}. Reads names from the bound
|
|
73
|
+
* {@link NameProvider} and project ownership / visibility from the shared
|
|
74
|
+
* `ProjectManager`. Each `to*Reference` constructor is virtual and routes its
|
|
75
|
+
* `$refText` through {@link encodeRefText}, so an adopter that needs
|
|
76
|
+
* grammar-specific escaping overrides that one hook and every constructor
|
|
77
|
+
* (plus {@link getReferenceName}) picks it up.
|
|
78
|
+
*/
|
|
79
|
+
export declare class DefaultReferenceBuilder implements ReferenceBuilder {
|
|
80
|
+
protected readonly services: HydraniumLanguageServices;
|
|
81
|
+
protected readonly nameProvider: NameProvider;
|
|
82
|
+
protected readonly tracer: Tracer;
|
|
83
|
+
constructor(services: HydraniumLanguageServices, options?: LogNameOptions);
|
|
84
|
+
/**
|
|
85
|
+
* Override hook for adopter-specific `$refText` encoding (escape rules,
|
|
86
|
+
* delimiter handling, etc.). Default: identity — the qualified name
|
|
87
|
+
* goes into `$refText` unchanged.
|
|
88
|
+
*
|
|
89
|
+
* Deliberately the SOURCE language's concern, unlike name derivation
|
|
90
|
+
* below: escaping makes the text safe to write into the source document's
|
|
91
|
+
* syntax, so it follows the grammar doing the writing.
|
|
92
|
+
*/
|
|
93
|
+
protected encodeRefText(name: string): string;
|
|
94
|
+
/**
|
|
95
|
+
* The `NameProvider` of the language that owns `target`'s document.
|
|
96
|
+
*
|
|
97
|
+
* **Name derivation follows the TARGET, not the source.** A name is a fact
|
|
98
|
+
* about the element being named — which properties carry it, how segments
|
|
99
|
+
* are joined — and both are per-language (`nameProperties`,
|
|
100
|
+
* `nameSeparator`). Deriving a cross-grammar target's name with the source
|
|
101
|
+
* language's provider yields `undefined` or an unmatchable `$refText`
|
|
102
|
+
* whenever the two differ, and the result is a permanently dangling
|
|
103
|
+
* reference with no diagnostic: the text is written, it just never
|
|
104
|
+
* resolves.
|
|
105
|
+
*
|
|
106
|
+
* Falls back to the source's provider when the target's document is
|
|
107
|
+
* unroutable — a synthetic node with no document, a URI matching no
|
|
108
|
+
* registered language, or a services tree with no registry at all (the
|
|
109
|
+
* minimal trees unit tests build). That is the best available guess, not a
|
|
110
|
+
* decision.
|
|
111
|
+
*
|
|
112
|
+
* Mirrored by `DefaultReferenceCandidateProvider.nameProviderFor` for the
|
|
113
|
+
* candidate side; both go through `ServiceRegistry.getServicesFor`, which
|
|
114
|
+
* owns the node-to-document step and the abstain-instead-of-throw.
|
|
115
|
+
*/
|
|
116
|
+
protected nameProviderFor(target: AstNode): NameProvider;
|
|
117
|
+
/** Resolve the project id owning `node`, or `undefined` if outside any project. */
|
|
118
|
+
protected getProjectIdFor(node?: AstNode): string | undefined;
|
|
119
|
+
getReferenceName(target?: AstNode, source?: AstNode): string | undefined;
|
|
120
|
+
toOwnReference<T extends AstNode>(target: T | undefined): Reference<T> | undefined;
|
|
121
|
+
toDocumentReference<T extends AstNode>(target: T | undefined): Reference<T> | undefined;
|
|
122
|
+
toProjectReference<T extends AstNode>(target: T | undefined): Reference<T> | undefined;
|
|
123
|
+
toReference<T extends AstNode>(target: T | undefined, source?: AstNode): Reference<T> | undefined;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=reference-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference-builder.d.ts","sourceRoot":"","sources":["../../../src/langium/scope/reference-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,gBAAgB;IAC9B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAEzE;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAEnF,4DAA4D;IAC5D,mBAAmB,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAExF,2DAA2D;IAC3D,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAEvF;;;;;OAKG;IACH,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CACpG;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAK1D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,yBAAyB;IAJzD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAC9C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAGZ,QAAQ,EAAE,yBAAyB,EACtD,OAAO,GAAE,cAAmB;IAM/B;;;;;;;;OAQG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI7C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY;IAIxD,mFAAmF;IACnF,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAI7D,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAqBxE,cAAc,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;IAQlF,mBAAmB,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;IAQvF,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;IAQtF,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;CAOnG"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 CrossBreeze, EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the MIT License which is available in the project root.
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
********************************************************************************/
|
|
9
|
+
/**
|
|
10
|
+
* Default {@link ReferenceBuilder}. Reads names from the bound
|
|
11
|
+
* {@link NameProvider} and project ownership / visibility from the shared
|
|
12
|
+
* `ProjectManager`. Each `to*Reference` constructor is virtual and routes its
|
|
13
|
+
* `$refText` through {@link encodeRefText}, so an adopter that needs
|
|
14
|
+
* grammar-specific escaping overrides that one hook and every constructor
|
|
15
|
+
* (plus {@link getReferenceName}) picks it up.
|
|
16
|
+
*/
|
|
17
|
+
export class DefaultReferenceBuilder {
|
|
18
|
+
services;
|
|
19
|
+
nameProvider;
|
|
20
|
+
tracer;
|
|
21
|
+
constructor(services, options = {}) {
|
|
22
|
+
this.services = services;
|
|
23
|
+
this.nameProvider = services.references.NameProvider;
|
|
24
|
+
this.tracer = services.shared.Tracer.for(options.logName ?? 'ReferenceBuilder').trace('instantiated');
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Override hook for adopter-specific `$refText` encoding (escape rules,
|
|
28
|
+
* delimiter handling, etc.). Default: identity — the qualified name
|
|
29
|
+
* goes into `$refText` unchanged.
|
|
30
|
+
*
|
|
31
|
+
* Deliberately the SOURCE language's concern, unlike name derivation
|
|
32
|
+
* below: escaping makes the text safe to write into the source document's
|
|
33
|
+
* syntax, so it follows the grammar doing the writing.
|
|
34
|
+
*/
|
|
35
|
+
encodeRefText(name) {
|
|
36
|
+
return name;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The `NameProvider` of the language that owns `target`'s document.
|
|
40
|
+
*
|
|
41
|
+
* **Name derivation follows the TARGET, not the source.** A name is a fact
|
|
42
|
+
* about the element being named — which properties carry it, how segments
|
|
43
|
+
* are joined — and both are per-language (`nameProperties`,
|
|
44
|
+
* `nameSeparator`). Deriving a cross-grammar target's name with the source
|
|
45
|
+
* language's provider yields `undefined` or an unmatchable `$refText`
|
|
46
|
+
* whenever the two differ, and the result is a permanently dangling
|
|
47
|
+
* reference with no diagnostic: the text is written, it just never
|
|
48
|
+
* resolves.
|
|
49
|
+
*
|
|
50
|
+
* Falls back to the source's provider when the target's document is
|
|
51
|
+
* unroutable — a synthetic node with no document, a URI matching no
|
|
52
|
+
* registered language, or a services tree with no registry at all (the
|
|
53
|
+
* minimal trees unit tests build). That is the best available guess, not a
|
|
54
|
+
* decision.
|
|
55
|
+
*
|
|
56
|
+
* Mirrored by `DefaultReferenceCandidateProvider.nameProviderFor` for the
|
|
57
|
+
* candidate side; both go through `ServiceRegistry.getServicesFor`, which
|
|
58
|
+
* owns the node-to-document step and the abstain-instead-of-throw.
|
|
59
|
+
*/
|
|
60
|
+
nameProviderFor(target) {
|
|
61
|
+
return this.services.shared.ServiceRegistry?.getServicesFor(target)?.references.NameProvider ?? this.nameProvider;
|
|
62
|
+
}
|
|
63
|
+
/** Resolve the project id owning `node`, or `undefined` if outside any project. */
|
|
64
|
+
getProjectIdFor(node) {
|
|
65
|
+
return node ? this.services.shared.workspace.ProjectManager.getProjectForNode(node)?.id : undefined;
|
|
66
|
+
}
|
|
67
|
+
getReferenceName(target, source) {
|
|
68
|
+
if (!target) {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
const sourceProjectId = this.getProjectIdFor(source);
|
|
72
|
+
const targetProjectId = this.getProjectIdFor(target);
|
|
73
|
+
if (sourceProjectId && targetProjectId) {
|
|
74
|
+
const projectManager = this.services.shared.workspace.ProjectManager;
|
|
75
|
+
// selfVisible: a project references its own elements.
|
|
76
|
+
if (!projectManager.isVisible(sourceProjectId, targetProjectId, true)) {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const nameProvider = this.nameProviderFor(target);
|
|
81
|
+
const name = sourceProjectId && sourceProjectId === targetProjectId
|
|
82
|
+
? nameProvider.getDocumentQualifiedName(target)
|
|
83
|
+
: nameProvider.getProjectQualifiedName(target);
|
|
84
|
+
return name ? this.encodeRefText(name) : undefined;
|
|
85
|
+
}
|
|
86
|
+
toOwnReference(target) {
|
|
87
|
+
if (!target) {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
const name = this.nameProviderFor(target).getOwnName(target);
|
|
91
|
+
return name ? { ref: target, $refText: this.encodeRefText(name) } : undefined;
|
|
92
|
+
}
|
|
93
|
+
toDocumentReference(target) {
|
|
94
|
+
if (!target) {
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
const name = this.nameProviderFor(target).getDocumentQualifiedName(target);
|
|
98
|
+
return name ? { ref: target, $refText: this.encodeRefText(name) } : undefined;
|
|
99
|
+
}
|
|
100
|
+
toProjectReference(target) {
|
|
101
|
+
if (!target) {
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
const name = this.nameProviderFor(target).getProjectQualifiedName(target);
|
|
105
|
+
return name ? { ref: target, $refText: this.encodeRefText(name) } : undefined;
|
|
106
|
+
}
|
|
107
|
+
toReference(target, source) {
|
|
108
|
+
if (!target) {
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
const refText = this.getReferenceName(target, source);
|
|
112
|
+
return refText ? { ref: target, $refText: refText } : undefined;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=reference-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference-builder.js","sourceRoot":"","sources":["../../../src/langium/scope/reference-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 CrossBreeze, EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the MIT License which is available in the project root.
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
********************************************************************************/
|
|
9
|
+
import { type Tracer, type ReferenceCandidate, type ReferenceContext, type ReferenceRequest } from '@hydranium/protocol';
|
|
10
|
+
import { type AstNode, type AstNodeDescription, type LangiumDocument, type ReferenceInfo, type Scope, type Stream } from '@hydranium/langium';
|
|
11
|
+
import { type LogNameOptions } from '../diagnostics/logger.js';
|
|
12
|
+
import { type ServerLanguageServices } from '../language-module.js';
|
|
13
|
+
import { type LabelProvider } from '../labeling/label-provider.js';
|
|
14
|
+
import { type NameProvider } from '../naming/name-provider.js';
|
|
15
|
+
import { type HydraniumScopeProvider } from './hydranium-scope-provider.js';
|
|
16
|
+
/**
|
|
17
|
+
* Reference info enriched with the source document and the source's
|
|
18
|
+
* project id (when the framework's `ProjectManager` resolves one
|
|
19
|
+
* for the document's URI). Returned by
|
|
20
|
+
* {@link DefaultReferenceCandidateProvider.scopedReferenceInfo};
|
|
21
|
+
* consumed by {@link DefaultReferenceCandidateProvider.filterCandidate}
|
|
22
|
+
* so grammar-specific filters know which project is asking.
|
|
23
|
+
* Adopters that carry richer source context (e.g. a data-model id)
|
|
24
|
+
* extend this with additional fields.
|
|
25
|
+
*/
|
|
26
|
+
export interface ScopedReferenceInfo extends ReferenceInfo {
|
|
27
|
+
/** The document declaring the source container. */
|
|
28
|
+
document: LangiumDocument;
|
|
29
|
+
/**
|
|
30
|
+
* The project id of {@link document}'s owning project, or `undefined`
|
|
31
|
+
* when no `ProjectManager` resolves a project for the document's URI
|
|
32
|
+
* (e.g. a standalone file, or framework binding without a project
|
|
33
|
+
* manager).
|
|
34
|
+
*/
|
|
35
|
+
projectId: string | undefined;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Result of {@link ReferenceCandidateProvider.getCandidateScope}:
|
|
39
|
+
* the filtered + sorted scope plus the enriched source reference info
|
|
40
|
+
* that produced it. Consumers read `elementScope.getAllElements()` for
|
|
41
|
+
* ranked items and `source` for context-aware downstream filtering.
|
|
42
|
+
*
|
|
43
|
+
* Generic over the `source` shape so adopters that extend
|
|
44
|
+
* {@link ScopedReferenceInfo} with richer context can return a
|
|
45
|
+
* `CandidateScope<TheirShape>` from their `scopedReferenceInfo`
|
|
46
|
+
* override without re-declaring the result interface.
|
|
47
|
+
*/
|
|
48
|
+
export interface CandidateScope<TSource extends ScopedReferenceInfo = ScopedReferenceInfo> {
|
|
49
|
+
/** Ranked + deduped descriptions, filtered through {@link DefaultReferenceCandidateProvider.filterCandidate}. */
|
|
50
|
+
elementScope: Scope;
|
|
51
|
+
/** Source reference info used to compute the scope. */
|
|
52
|
+
source: TSource;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Resolution result handed back by
|
|
56
|
+
* {@link ReferenceCandidateProvider.resolveCandidate}: the built
|
|
57
|
+
* {@link ReferenceCandidate} for the matched target plus the resolved AST
|
|
58
|
+
* node. In-process only (the `node` never crosses the wire) — the
|
|
59
|
+
* data-server layer encodes the node into the wire `ReferenceTarget`.
|
|
60
|
+
*/
|
|
61
|
+
export interface ResolvedCandidate {
|
|
62
|
+
/** Candidate descriptor (uri / type / label / value) for the resolved target. */
|
|
63
|
+
candidate: ReferenceCandidate;
|
|
64
|
+
/** The resolved AST node, for the data-server layer to encode as a transfer subtree. */
|
|
65
|
+
node: AstNode;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Reference candidate provider — owns the UI-facing completion pipeline
|
|
69
|
+
* that turns a Langium scope into {@link ReferenceCandidate} DTOs for
|
|
70
|
+
* command-palettes, drop-target action providers, completion popups, and
|
|
71
|
+
* over-the-wire RPC consumers.
|
|
72
|
+
*
|
|
73
|
+
* Splits the four-stage pipeline (enrich source info → filter → dedupe
|
|
74
|
+
* + sort → build DTO) cleanly off the scope provider, leaving
|
|
75
|
+
* {@link HydraniumScopeProvider} focused on scope construction and
|
|
76
|
+
* reference resolution. Dependency direction: candidate provider →
|
|
77
|
+
* scope provider (uses `getScope`, `referenceContextToInfo`,
|
|
78
|
+
* `sortText`, `resolveReference`); scope provider never depends on the
|
|
79
|
+
* candidate provider, so the two services stay cycle-free.
|
|
80
|
+
*
|
|
81
|
+
* Adopters subclass one or the other based on which axis they want to
|
|
82
|
+
* customise: source resolution / scope composition lives on
|
|
83
|
+
* `HydraniumScopeProvider`; filter / display-name shaping lives on
|
|
84
|
+
* {@link DefaultReferenceCandidateProvider}.
|
|
85
|
+
*/
|
|
86
|
+
export interface ReferenceCandidateProvider {
|
|
87
|
+
/**
|
|
88
|
+
* UI-facing entry point: returns the candidate scope's elements as
|
|
89
|
+
* {@link ReferenceCandidate}s.
|
|
90
|
+
*/
|
|
91
|
+
find(ctx: ReferenceContext): ReferenceCandidate[];
|
|
92
|
+
/**
|
|
93
|
+
* Build a ranked + deduped scope for candidate selection at the
|
|
94
|
+
* given reference context. Accepts either a Langium
|
|
95
|
+
* {@link ReferenceInfo} (for in-process callers that already have
|
|
96
|
+
* one) or a protocol-layer {@link ReferenceContext} (for callers
|
|
97
|
+
* wiring up from over-the-wire / synthetic contexts).
|
|
98
|
+
*/
|
|
99
|
+
getCandidateScope(ctx: ReferenceContext | ReferenceInfo): CandidateScope;
|
|
100
|
+
/**
|
|
101
|
+
* Resolve a concrete {@link ReferenceRequest} to its target, returning
|
|
102
|
+
* the built candidate plus the resolved node, or `undefined` when the
|
|
103
|
+
* reference does not resolve. Uses the scope provider's resolution
|
|
104
|
+
* scope (tier-siblings preserved, so a value resolves whether written
|
|
105
|
+
* short or qualified), distinct from the collapsed candidate scope
|
|
106
|
+
* {@link getCandidateScope} builds for listing.
|
|
107
|
+
*/
|
|
108
|
+
resolveCandidate(ref: ReferenceRequest): ResolvedCandidate | undefined;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Default implementation of {@link ReferenceCandidateProvider}.
|
|
112
|
+
* Reads scope from a {@link HydraniumScopeProvider} and applies the
|
|
113
|
+
* standard filter / dedupe / sort / build pipeline.
|
|
114
|
+
*
|
|
115
|
+
* Pipeline (in {@link getCandidateScope}):
|
|
116
|
+
* 1. Enrich reference info via {@link scopedReferenceInfo} (adds
|
|
117
|
+
* `document` + `projectId`).
|
|
118
|
+
* 2. Collect descriptions from the outer scope via
|
|
119
|
+
* `scopeProvider.getScope(referenceInfo)`.
|
|
120
|
+
* 3. Filter via {@link filterCandidate} (framework default is a no-op;
|
|
121
|
+
* adopters add grammar-specific predicates).
|
|
122
|
+
* 4. Collapse tier-siblings to the canonical tier via
|
|
123
|
+
* {@link applyCanonicalFilter}.
|
|
124
|
+
* 5. Dedupe by `description.name` and sort by
|
|
125
|
+
* `scopeProvider.sortText`.
|
|
126
|
+
* 6. Wrap in a {@link StreamScope}.
|
|
127
|
+
*
|
|
128
|
+
* The {@link find} method then maps each description through
|
|
129
|
+
* {@link buildCandidate} to produce the wire DTO.
|
|
130
|
+
*
|
|
131
|
+
* Adopter override points:
|
|
132
|
+
* - {@link scopedReferenceInfo} — extend `ScopedReferenceInfo` with
|
|
133
|
+
* richer source context.
|
|
134
|
+
* - {@link filterCandidate} — grammar-specific candidate filters.
|
|
135
|
+
* - {@link buildCandidate} — label / value separation for adopters
|
|
136
|
+
* whose UI surface needs a different display string from the
|
|
137
|
+
* persisted reference id. Default reads
|
|
138
|
+
* {@link LabelProvider.getLabel}, falling back to the
|
|
139
|
+
* description's bare name.
|
|
140
|
+
*/
|
|
141
|
+
export declare class DefaultReferenceCandidateProvider implements ReferenceCandidateProvider {
|
|
142
|
+
protected readonly services: ServerLanguageServices;
|
|
143
|
+
protected readonly scopeProvider: HydraniumScopeProvider;
|
|
144
|
+
protected readonly labelProvider: LabelProvider;
|
|
145
|
+
/**
|
|
146
|
+
* This language's own `NameProvider`, held for subclasses naming something
|
|
147
|
+
* in the SOURCE document (the reference's own container, its owner). The
|
|
148
|
+
* default candidate build uses {@link labelProvider} for labels, not this.
|
|
149
|
+
*
|
|
150
|
+
* For a CANDIDATE's node use {@link nameProviderFor} instead — a candidate
|
|
151
|
+
* scope legitimately spans documents in other languages.
|
|
152
|
+
*/
|
|
153
|
+
protected readonly nameProvider: NameProvider;
|
|
154
|
+
protected readonly tracer: Tracer;
|
|
155
|
+
constructor(services: ServerLanguageServices, options?: LogNameOptions);
|
|
156
|
+
/**
|
|
157
|
+
* The `NameProvider` of the language that owns `target`'s document,
|
|
158
|
+
* falling back to this language's when `target` routes nowhere.
|
|
159
|
+
*
|
|
160
|
+
* **A candidate's name is a fact about the candidate.** Which properties
|
|
161
|
+
* carry it and how segments join are per-language (`nameProperties`,
|
|
162
|
+
* `nameSeparator`), and a candidate scope spans every document a reference
|
|
163
|
+
* could resolve to — including other grammars', since cross-language
|
|
164
|
+
* references resolve through the global index. A subclass filter that
|
|
165
|
+
* compares `description.name` against a name derived with THIS language's
|
|
166
|
+
* provider therefore compares two different spellings of the same element
|
|
167
|
+
* and never matches: a self-reference filter silently stops excluding, and
|
|
168
|
+
* the element offers itself as its own target.
|
|
169
|
+
*
|
|
170
|
+
* The mirror of `ReferenceBuilder.nameProviderFor`, and the same fallback
|
|
171
|
+
* reasoning: an unroutable target has no better answer than the source's.
|
|
172
|
+
*/
|
|
173
|
+
protected nameProviderFor(target: AstNode): NameProvider;
|
|
174
|
+
find(ctx: ReferenceContext): ReferenceCandidate[];
|
|
175
|
+
getCandidateScope(ctx: ReferenceContext | ReferenceInfo): CandidateScope;
|
|
176
|
+
resolveCandidate(ref: ReferenceRequest): ResolvedCandidate | undefined;
|
|
177
|
+
/**
|
|
178
|
+
* Canonical filter — collapse the multiple descriptions a single node
|
|
179
|
+
* emits across visibility tiers (multi-tier emission) down to the
|
|
180
|
+
* most-specific tier-sibling per node, so a user sees one candidate
|
|
181
|
+
* per node. Applied unconditionally in the candidate pipeline; adopters
|
|
182
|
+
* needing the raw multi-tier set (debugging UIs, model-introspection
|
|
183
|
+
* tooling) override to return the input unchanged.
|
|
184
|
+
*/
|
|
185
|
+
protected applyCanonicalFilter<T extends AstNodeDescription>(candidates: Stream<T>): Stream<T>;
|
|
186
|
+
/**
|
|
187
|
+
* Enrich a Langium {@link ReferenceInfo} with the source document
|
|
188
|
+
* and the source's project id. Project id resolution uses the
|
|
189
|
+
* framework's `ProjectManager` bound at
|
|
190
|
+
* `services.shared.workspace.ProjectManager`. Adopters with a
|
|
191
|
+
* different project-ownership model (e.g. a custom project manager)
|
|
192
|
+
* override to read their own manager.
|
|
193
|
+
*/
|
|
194
|
+
protected scopedReferenceInfo(referenceInfo: ReferenceInfo): ScopedReferenceInfo;
|
|
195
|
+
/**
|
|
196
|
+
* Per-description filter applied during {@link getCandidateScope}.
|
|
197
|
+
* The framework default is a no-op pass-through that suppresses
|
|
198
|
+
* nothing — tier-sibling collapsing is owned by
|
|
199
|
+
* {@link applyCanonicalFilter} downstream. Adopters override with
|
|
200
|
+
* grammar-specific predicates.
|
|
201
|
+
*/
|
|
202
|
+
protected filterCandidate(_description: AstNodeDescription, _reference: ScopedReferenceInfo): boolean;
|
|
203
|
+
/**
|
|
204
|
+
* Build a {@link ReferenceCandidate} from an AST description
|
|
205
|
+
* in the context of the surrounding candidate scope. Override hook
|
|
206
|
+
* for adopters whose UI surface needs a different label / value
|
|
207
|
+
* separation — a human-readable display string shown to the user
|
|
208
|
+
* while the bare id is what gets persisted.
|
|
209
|
+
*
|
|
210
|
+
* Default behaviour: reads {@link LabelProvider.getLabel} from the
|
|
211
|
+
* description's node and uses it as `label`, falling back to
|
|
212
|
+
* `description.name` when there is no own label. Adopters with a
|
|
213
|
+
* meaningful `labelProperties` get the display label in candidates
|
|
214
|
+
* "for free" without overriding this method.
|
|
215
|
+
*/
|
|
216
|
+
protected buildCandidate(description: AstNodeDescription, _scope: CandidateScope): ReferenceCandidate;
|
|
217
|
+
/**
|
|
218
|
+
* Build a {@link ReferenceCandidate} for a resolved target node and the
|
|
219
|
+
* value that resolved it. The node-based counterpart to
|
|
220
|
+
* {@link buildCandidate} (which starts from a description in a list): the
|
|
221
|
+
* resolve path holds the written `value` and the matched node, so `value`
|
|
222
|
+
* is the request's value and `label` is the node's display name when it
|
|
223
|
+
* differs. Adopters override alongside {@link buildCandidate} when they
|
|
224
|
+
* shape labels specially.
|
|
225
|
+
*/
|
|
226
|
+
protected buildResolvedCandidate(node: AstNode, value: string): ReferenceCandidate;
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=reference-candidate-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference-candidate-provider.d.ts","sourceRoot":"","sources":["../../../src/langium/scope/reference-candidate-provider.ts"],"names":[],"mappings":"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"}
|