@hydranium/core 1.0.0-next.31 → 1.0.0-next.313
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 +78 -82
- package/lib/browser/host-heads-in-worker.d.ts +77 -0
- package/lib/browser/host-heads-in-worker.d.ts.map +1 -0
- package/lib/browser/host-heads-in-worker.js +169 -0
- package/lib/browser/host-heads-in-worker.js.map +1 -0
- package/lib/browser/index.d.ts +12 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +17 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/indexeddb-file-system-store.d.ts +82 -0
- package/lib/browser/indexeddb-file-system-store.d.ts.map +1 -0
- package/lib/browser/indexeddb-file-system-store.js +181 -0
- package/lib/browser/indexeddb-file-system-store.js.map +1 -0
- package/lib/browser/start-language-server-in-worker.d.ts +32 -0
- package/lib/browser/start-language-server-in-worker.d.ts.map +1 -0
- package/lib/browser/start-language-server-in-worker.js +40 -0
- package/lib/browser/start-language-server-in-worker.js.map +1 -0
- package/lib/documents/ast-document-manager.d.ts +256 -124
- package/lib/documents/ast-document-manager.d.ts.map +1 -1
- package/lib/documents/ast-document-manager.js +293 -132
- package/lib/documents/ast-document-manager.js.map +1 -1
- package/lib/documents/client-ids.d.ts +5 -19
- package/lib/documents/client-ids.d.ts.map +1 -1
- package/lib/documents/client-ids.js +5 -19
- package/lib/documents/client-ids.js.map +1 -1
- package/lib/documents/client-session-errors.d.ts +15 -0
- package/lib/documents/client-session-errors.d.ts.map +1 -0
- package/lib/documents/client-session-errors.js +15 -0
- package/lib/documents/client-session-errors.js.map +1 -0
- package/lib/documents/client-session-registry.d.ts +146 -0
- package/lib/documents/client-session-registry.d.ts.map +1 -0
- package/lib/documents/client-session-registry.js +207 -0
- package/lib/documents/client-session-registry.js.map +1 -0
- package/lib/documents/dirty-state-tracker.d.ts +101 -0
- package/lib/documents/dirty-state-tracker.d.ts.map +1 -0
- package/lib/documents/dirty-state-tracker.js +85 -0
- package/lib/documents/dirty-state-tracker.js.map +1 -0
- package/lib/documents/document-release-handler.d.ts +204 -0
- package/lib/documents/document-release-handler.d.ts.map +1 -0
- package/lib/documents/document-release-handler.js +317 -0
- package/lib/documents/document-release-handler.js.map +1 -0
- package/lib/documents/document-release-scheduler.d.ts +67 -0
- package/lib/documents/document-release-scheduler.d.ts.map +1 -0
- package/lib/documents/document-release-scheduler.js +80 -0
- package/lib/documents/document-release-scheduler.js.map +1 -0
- package/lib/documents/file-system-task-queue.d.ts +52 -0
- package/lib/documents/file-system-task-queue.d.ts.map +1 -0
- package/lib/documents/file-system-task-queue.js +37 -0
- package/lib/documents/file-system-task-queue.js.map +1 -0
- package/lib/documents/hydranium-text-documents.d.ts +436 -282
- package/lib/documents/hydranium-text-documents.d.ts.map +1 -1
- package/lib/documents/hydranium-text-documents.js +897 -483
- package/lib/documents/hydranium-text-documents.js.map +1 -1
- package/lib/documents/index.d.ts +10 -2
- package/lib/documents/index.d.ts.map +1 -1
- package/lib/documents/index.js +10 -2
- package/lib/documents/index.js.map +1 -1
- package/lib/documents/language-client-shadow.d.ts +234 -0
- package/lib/documents/language-client-shadow.d.ts.map +1 -0
- package/lib/documents/language-client-shadow.js +306 -0
- package/lib/documents/language-client-shadow.js.map +1 -0
- package/lib/documents/model-ledger.d.ts +47 -0
- package/lib/documents/model-ledger.d.ts.map +1 -0
- package/lib/documents/model-ledger.js +30 -0
- package/lib/documents/model-ledger.js.map +1 -0
- package/lib/documents/text-ledger.d.ts +64 -0
- package/lib/documents/text-ledger.d.ts.map +1 -0
- package/lib/documents/text-ledger.js +63 -0
- package/lib/documents/text-ledger.js.map +1 -0
- package/lib/documents/version-sync-service.d.ts +138 -0
- package/lib/documents/version-sync-service.d.ts.map +1 -0
- package/lib/documents/version-sync-service.js +173 -0
- package/lib/documents/version-sync-service.js.map +1 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -0
- package/lib/index.js.map +1 -1
- package/lib/langium/ast-extension/ast-extension-service.d.ts +42 -31
- package/lib/langium/ast-extension/ast-extension-service.d.ts.map +1 -1
- package/lib/langium/ast-extension/ast-extension-service.js +45 -19
- package/lib/langium/ast-extension/ast-extension-service.js.map +1 -1
- package/lib/langium/bootstrap.d.ts +49 -36
- package/lib/langium/bootstrap.d.ts.map +1 -1
- package/lib/langium/bootstrap.js +91 -45
- package/lib/langium/bootstrap.js.map +1 -1
- package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts +9 -9
- package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts.map +1 -1
- package/lib/langium/build-phase-pass/build-phase-pass-service.js +25 -16
- package/lib/langium/build-phase-pass/build-phase-pass-service.js.map +1 -1
- package/lib/langium/build-phase-pass/build-phase-pass.d.ts +20 -8
- package/lib/langium/build-phase-pass/build-phase-pass.d.ts.map +1 -1
- package/lib/langium/build-phase-pass/build-phase-pass.js +20 -0
- package/lib/langium/build-phase-pass/build-phase-pass.js.map +1 -1
- package/lib/langium/composite-ast-reflection.d.ts +46 -0
- package/lib/langium/composite-ast-reflection.d.ts.map +1 -0
- package/lib/langium/composite-ast-reflection.js +97 -0
- package/lib/langium/composite-ast-reflection.js.map +1 -0
- package/lib/langium/config/configuration-provider.d.ts +81 -0
- package/lib/langium/config/configuration-provider.d.ts.map +1 -0
- package/lib/langium/config/configuration-provider.js +112 -0
- package/lib/langium/config/configuration-provider.js.map +1 -0
- package/lib/langium/config/index.d.ts +1 -0
- package/lib/langium/config/index.d.ts.map +1 -1
- package/lib/langium/config/index.js +1 -0
- package/lib/langium/config/index.js.map +1 -1
- package/lib/langium/config/settings.js.map +1 -1
- package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts +9 -20
- package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts.map +1 -1
- package/lib/langium/diagnostics/hydranium-langium-profiler.js +15 -24
- package/lib/langium/diagnostics/hydranium-langium-profiler.js.map +1 -1
- package/lib/langium/diagnostics/log-preamble.js +1 -1
- package/lib/langium/diagnostics/log-preamble.js.map +1 -1
- package/lib/langium/diagnostics/logger.d.ts +19 -4
- package/lib/langium/diagnostics/logger.d.ts.map +1 -1
- package/lib/langium/diagnostics/logger.js +36 -11
- package/lib/langium/diagnostics/logger.js.map +1 -1
- package/lib/langium/diagnostics/lsp-logger.d.ts +17 -0
- package/lib/langium/diagnostics/lsp-logger.d.ts.map +1 -1
- package/lib/langium/diagnostics/lsp-logger.js +58 -17
- package/lib/langium/diagnostics/lsp-logger.js.map +1 -1
- package/lib/langium/diagnostics/server-tracer.d.ts.map +1 -1
- package/lib/langium/diagnostics/server-tracer.js.map +1 -1
- package/lib/langium/document-builder/build-pipeline-integration.d.ts +21 -1
- package/lib/langium/document-builder/build-pipeline-integration.d.ts.map +1 -1
- package/lib/langium/document-builder/build-pipeline-integration.js +28 -30
- package/lib/langium/document-builder/build-pipeline-integration.js.map +1 -1
- package/lib/langium/document-builder/build-session.d.ts +6 -5
- package/lib/langium/document-builder/build-session.d.ts.map +1 -1
- package/lib/langium/document-builder/build-session.js +5 -5
- package/lib/langium/document-builder/build-session.js.map +1 -1
- package/lib/langium/document-builder/document-builder.d.ts +309 -35
- package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
- package/lib/langium/document-builder/document-builder.js +511 -75
- package/lib/langium/document-builder/document-builder.js.map +1 -1
- package/lib/langium/documentation/comment-provider.d.ts.map +1 -1
- package/lib/langium/documentation/comment-provider.js.map +1 -1
- package/lib/langium/integration-services.d.ts +40 -24
- package/lib/langium/integration-services.d.ts.map +1 -1
- package/lib/langium/integration-services.js +7 -4
- package/lib/langium/integration-services.js.map +1 -1
- package/lib/langium/integrity/integrity-rule.d.ts +16 -8
- package/lib/langium/integrity/integrity-rule.d.ts.map +1 -1
- package/lib/langium/integrity/integrity-rule.js.map +1 -1
- package/lib/langium/integrity/integrity-service.d.ts +83 -27
- package/lib/langium/integrity/integrity-service.d.ts.map +1 -1
- package/lib/langium/integrity/integrity-service.js +273 -63
- package/lib/langium/integrity/integrity-service.js.map +1 -1
- package/lib/langium/keys/containment.d.ts +64 -0
- package/lib/langium/keys/containment.d.ts.map +1 -0
- package/lib/langium/keys/containment.js +53 -0
- package/lib/langium/keys/containment.js.map +1 -0
- package/lib/langium/keys/index.d.ts +1 -0
- package/lib/langium/keys/index.d.ts.map +1 -1
- package/lib/langium/keys/index.js +1 -0
- package/lib/langium/keys/index.js.map +1 -1
- package/lib/langium/keys/name-based-key-provider.d.ts +4 -0
- package/lib/langium/keys/name-based-key-provider.d.ts.map +1 -1
- package/lib/langium/keys/name-based-key-provider.js +4 -0
- package/lib/langium/keys/name-based-key-provider.js.map +1 -1
- package/lib/langium/keys/positional-key-provider.d.ts.map +1 -1
- package/lib/langium/keys/positional-key-provider.js.map +1 -1
- package/lib/langium/labeling/label-provider.d.ts.map +1 -1
- package/lib/langium/labeling/label-provider.js.map +1 -1
- package/lib/langium/language-module.d.ts +30 -5
- package/lib/langium/language-module.d.ts.map +1 -1
- package/lib/langium/language-module.js +18 -4
- package/lib/langium/language-module.js.map +1 -1
- package/lib/langium/model-service/client-session.d.ts +383 -0
- package/lib/langium/model-service/client-session.d.ts.map +1 -0
- package/lib/langium/model-service/client-session.js +455 -0
- package/lib/langium/model-service/client-session.js.map +1 -0
- package/lib/langium/model-service/index.d.ts +2 -0
- package/lib/langium/model-service/index.d.ts.map +1 -1
- package/lib/langium/model-service/index.js +2 -0
- package/lib/langium/model-service/index.js.map +1 -1
- package/lib/langium/model-service/model-events.d.ts +66 -0
- package/lib/langium/model-service/model-events.d.ts.map +1 -0
- package/lib/langium/model-service/model-events.js +10 -0
- package/lib/langium/model-service/model-events.js.map +1 -0
- package/lib/langium/model-service/model-service.d.ts +480 -289
- package/lib/langium/model-service/model-service.d.ts.map +1 -1
- package/lib/langium/model-service/model-service.js +597 -456
- package/lib/langium/model-service/model-service.js.map +1 -1
- package/lib/langium/module.d.ts +158 -37
- package/lib/langium/module.d.ts.map +1 -1
- package/lib/langium/module.js +52 -36
- package/lib/langium/module.js.map +1 -1
- package/lib/langium/naming/name-provider.d.ts +42 -7
- package/lib/langium/naming/name-provider.d.ts.map +1 -1
- package/lib/langium/naming/name-provider.js +10 -4
- package/lib/langium/naming/name-provider.js.map +1 -1
- package/lib/langium/naming/name-separator-validation.d.ts +23 -1
- package/lib/langium/naming/name-separator-validation.d.ts.map +1 -1
- package/lib/langium/naming/name-separator-validation.js +22 -0
- package/lib/langium/naming/name-separator-validation.js.map +1 -1
- package/lib/langium/project/abstract-project-manager.d.ts.map +1 -1
- package/lib/langium/project/abstract-project-manager.js +13 -6
- package/lib/langium/project/abstract-project-manager.js.map +1 -1
- package/lib/langium/project/project-change-event.d.ts +2 -2
- package/lib/langium/project/single-project-manager.d.ts.map +1 -1
- package/lib/langium/project/single-project-manager.js.map +1 -1
- package/lib/langium/residency/cst-residency-service.d.ts +38 -14
- package/lib/langium/residency/cst-residency-service.d.ts.map +1 -1
- package/lib/langium/residency/cst-residency-service.js +24 -58
- package/lib/langium/residency/cst-residency-service.js.map +1 -1
- package/lib/langium/scope/ast-node-description-provider.d.ts.map +1 -1
- package/lib/langium/scope/ast-node-description-provider.js.map +1 -1
- package/lib/langium/scope/fallback-scope.d.ts +27 -0
- package/lib/langium/scope/fallback-scope.d.ts.map +1 -0
- package/lib/langium/scope/fallback-scope.js +35 -0
- package/lib/langium/scope/fallback-scope.js.map +1 -0
- package/lib/langium/scope/hydranium-scope-computation.d.ts +21 -18
- package/lib/langium/scope/hydranium-scope-computation.d.ts.map +1 -1
- package/lib/langium/scope/hydranium-scope-computation.js +38 -39
- package/lib/langium/scope/hydranium-scope-computation.js.map +1 -1
- package/lib/langium/scope/hydranium-scope-provider.d.ts +29 -11
- package/lib/langium/scope/hydranium-scope-provider.d.ts.map +1 -1
- package/lib/langium/scope/hydranium-scope-provider.js +37 -15
- package/lib/langium/scope/hydranium-scope-provider.js.map +1 -1
- package/lib/langium/scope/index.d.ts +1 -0
- package/lib/langium/scope/index.d.ts.map +1 -1
- package/lib/langium/scope/index.js +1 -0
- package/lib/langium/scope/index.js.map +1 -1
- package/lib/langium/scope/reference-builder.d.ts.map +1 -1
- package/lib/langium/scope/reference-builder.js.map +1 -1
- package/lib/langium/scope/reference-candidate-provider.d.ts +6 -5
- package/lib/langium/scope/reference-candidate-provider.d.ts.map +1 -1
- package/lib/langium/scope/reference-candidate-provider.js +3 -2
- package/lib/langium/scope/reference-candidate-provider.js.map +1 -1
- package/lib/langium/scope/scope-extension-service.d.ts +41 -37
- package/lib/langium/scope/scope-extension-service.d.ts.map +1 -1
- package/lib/langium/scope/scope-extension-service.js +57 -29
- package/lib/langium/scope/scope-extension-service.js.map +1 -1
- package/lib/langium/scope/scoped-ast-node-description.d.ts +1 -3
- package/lib/langium/scope/scoped-ast-node-description.d.ts.map +1 -1
- package/lib/langium/scope/scoped-ast-node-description.js +1 -3
- package/lib/langium/scope/scoped-ast-node-description.js.map +1 -1
- package/lib/langium/serialization/abstract-serializer.d.ts +38 -27
- package/lib/langium/serialization/abstract-serializer.d.ts.map +1 -1
- package/lib/langium/serialization/abstract-serializer.js +54 -30
- package/lib/langium/serialization/abstract-serializer.js.map +1 -1
- package/lib/langium/serialization/json-serializer.d.ts +8 -1
- package/lib/langium/serialization/json-serializer.d.ts.map +1 -1
- package/lib/langium/serialization/json-serializer.js +13 -3
- package/lib/langium/serialization/json-serializer.js.map +1 -1
- package/lib/langium/serialization/serializer.d.ts +1 -1
- package/lib/langium/serialization/yaml-serializer.d.ts +4 -0
- package/lib/langium/serialization/yaml-serializer.d.ts.map +1 -1
- package/lib/langium/serialization/yaml-serializer.js +4 -0
- package/lib/langium/serialization/yaml-serializer.js.map +1 -1
- package/lib/langium/service-registry.d.ts +29 -1
- package/lib/langium/service-registry.d.ts.map +1 -1
- package/lib/langium/service-registry.js +37 -0
- package/lib/langium/service-registry.js.map +1 -1
- package/lib/langium/shared-services.d.ts +23 -6
- package/lib/langium/shared-services.d.ts.map +1 -1
- package/lib/langium/shared-services.js.map +1 -1
- package/lib/langium/single-langium-copy.d.ts +22 -0
- package/lib/langium/single-langium-copy.d.ts.map +1 -0
- package/lib/langium/single-langium-copy.js +36 -0
- package/lib/langium/single-langium-copy.js.map +1 -0
- package/lib/langium/transfer/transfer-encoder.d.ts +84 -35
- package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -1
- package/lib/langium/transfer/transfer-encoder.js +34 -23
- package/lib/langium/transfer/transfer-encoder.js.map +1 -1
- package/lib/langium/trivia/comment-preserver.d.ts +423 -0
- package/lib/langium/trivia/comment-preserver.d.ts.map +1 -0
- package/lib/langium/trivia/comment-preserver.js +906 -0
- package/lib/langium/trivia/comment-preserver.js.map +1 -0
- package/lib/langium/trivia/document-ending-preserver.d.ts +51 -0
- package/lib/langium/trivia/document-ending-preserver.d.ts.map +1 -0
- package/lib/langium/trivia/document-ending-preserver.js +62 -0
- package/lib/langium/trivia/document-ending-preserver.js.map +1 -0
- package/lib/langium/trivia/index.d.ts +14 -0
- package/lib/langium/trivia/index.d.ts.map +1 -0
- package/lib/langium/trivia/index.js +14 -0
- package/lib/langium/trivia/index.js.map +1 -0
- package/lib/langium/trivia/trivia-contribution.d.ts +37 -0
- package/lib/langium/trivia/trivia-contribution.d.ts.map +1 -0
- package/lib/langium/trivia/trivia-contribution.js +10 -0
- package/lib/langium/trivia/trivia-contribution.js.map +1 -0
- package/lib/langium/trivia/trivia-preserver.d.ts +52 -0
- package/lib/langium/trivia/trivia-preserver.d.ts.map +1 -0
- package/lib/langium/trivia/trivia-preserver.js +10 -0
- package/lib/langium/trivia/trivia-preserver.js.map +1 -0
- package/lib/langium/trivia/trivia-service.d.ts +70 -0
- package/lib/langium/trivia/trivia-service.d.ts.map +1 -0
- package/lib/langium/trivia/trivia-service.js +56 -0
- package/lib/langium/trivia/trivia-service.js.map +1 -0
- package/lib/langium/update-rewrite/normalize-empty-strings.d.ts.map +1 -1
- package/lib/langium/update-rewrite/update-rewrite-service.d.ts +1 -1
- package/lib/langium/update-rewrite/update-rewrite-service.d.ts.map +1 -1
- package/lib/langium/update-rewrite/update-rewrite-service.js.map +1 -1
- package/lib/langium/update-rewrite/update-rewrite.d.ts +1 -1
- package/lib/langium/validation/document-validator.d.ts +280 -9
- package/lib/langium/validation/document-validator.d.ts.map +1 -1
- package/lib/langium/validation/document-validator.js +453 -8
- package/lib/langium/validation/document-validator.js.map +1 -1
- package/lib/langium/validation/validation-contribution-collector.d.ts +9 -1
- package/lib/langium/validation/validation-contribution-collector.d.ts.map +1 -1
- package/lib/langium/validation/validation-contribution-collector.js +1 -1
- package/lib/langium/validation/validation-contribution-collector.js.map +1 -1
- package/lib/langium/workspace/document-uri-policy.d.ts +24 -15
- package/lib/langium/workspace/document-uri-policy.d.ts.map +1 -1
- package/lib/langium/workspace/document-uri-policy.js +22 -13
- package/lib/langium/workspace/document-uri-policy.js.map +1 -1
- package/lib/langium/workspace/file-not-found.d.ts +23 -0
- package/lib/langium/workspace/file-not-found.d.ts.map +1 -0
- package/lib/langium/workspace/file-not-found.js +31 -0
- package/lib/langium/workspace/file-not-found.js.map +1 -0
- package/lib/langium/workspace/file-system-provider.d.ts +167 -8
- package/lib/langium/workspace/file-system-provider.d.ts.map +1 -1
- package/lib/langium/workspace/file-system-provider.js +115 -13
- package/lib/langium/workspace/file-system-provider.js.map +1 -1
- package/lib/langium/workspace/hydranium-langium-document-factory.d.ts +31 -1
- package/lib/langium/workspace/hydranium-langium-document-factory.d.ts.map +1 -1
- package/lib/langium/workspace/hydranium-langium-document-factory.js +54 -0
- package/lib/langium/workspace/hydranium-langium-document-factory.js.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-lock.d.ts +43 -1
- package/lib/langium/workspace/hydranium-workspace-lock.d.ts.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-lock.js +58 -1
- package/lib/langium/workspace/hydranium-workspace-lock.js.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-manager.d.ts +124 -22
- package/lib/langium/workspace/hydranium-workspace-manager.d.ts.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-manager.js +212 -31
- package/lib/langium/workspace/hydranium-workspace-manager.js.map +1 -1
- package/lib/langium/workspace/in-memory-file-system-provider.d.ts +26 -9
- package/lib/langium/workspace/in-memory-file-system-provider.d.ts.map +1 -1
- package/lib/langium/workspace/in-memory-file-system-provider.js +45 -22
- package/lib/langium/workspace/in-memory-file-system-provider.js.map +1 -1
- package/lib/langium/workspace/index-manager.d.ts.map +1 -1
- package/lib/langium/workspace/index-manager.js.map +1 -1
- package/lib/langium/workspace/index.d.ts +1 -0
- package/lib/langium/workspace/index.d.ts.map +1 -1
- package/lib/langium/workspace/index.js +1 -0
- package/lib/langium/workspace/index.js.map +1 -1
- package/lib/langium/workspace/initialize-workspace.d.ts +61 -4
- package/lib/langium/workspace/initialize-workspace.d.ts.map +1 -1
- package/lib/langium/workspace/initialize-workspace.js +80 -7
- package/lib/langium/workspace/initialize-workspace.js.map +1 -1
- package/lib/langium/workspace/langium-documents.d.ts +7 -0
- package/lib/langium/workspace/langium-documents.d.ts.map +1 -1
- package/lib/langium/workspace/langium-documents.js +18 -1
- package/lib/langium/workspace/langium-documents.js.map +1 -1
- package/lib/langium/workspace/persistent-file-system-provider.d.ts +16 -10
- package/lib/langium/workspace/persistent-file-system-provider.d.ts.map +1 -1
- package/lib/langium/workspace/persistent-file-system-provider.js +25 -13
- package/lib/langium/workspace/persistent-file-system-provider.js.map +1 -1
- package/lib/langium/workspace/self-save-registry.d.ts +84 -0
- package/lib/langium/workspace/self-save-registry.d.ts.map +1 -0
- package/lib/{documents → langium/workspace}/self-save-registry.js +33 -22
- package/lib/langium/workspace/self-save-registry.js.map +1 -0
- package/lib/langium/workspace/virtual-document.d.ts +55 -21
- package/lib/langium/workspace/virtual-document.d.ts.map +1 -1
- package/lib/langium/workspace/virtual-document.js +87 -24
- package/lib/langium/workspace/virtual-document.js.map +1 -1
- package/lib/langium/workspace/write-lock-scope.d.ts +22 -10
- package/lib/langium/workspace/write-lock-scope.d.ts.map +1 -1
- package/lib/langium/workspace/write-lock-scope.js +15 -5
- package/lib/langium/workspace/write-lock-scope.js.map +1 -1
- package/lib/launcher/integrated-server.d.ts +3 -1
- package/lib/launcher/integrated-server.d.ts.map +1 -1
- package/lib/locale/index.d.ts +10 -0
- package/lib/locale/index.d.ts.map +1 -0
- package/lib/locale/index.js +10 -0
- package/lib/locale/index.js.map +1 -0
- package/lib/locale/server-locale.d.ts +73 -0
- package/lib/locale/server-locale.d.ts.map +1 -0
- package/lib/locale/server-locale.js +61 -0
- package/lib/locale/server-locale.js.map +1 -0
- package/lib/lsp/completion/hydranium-completion-provider.d.ts +44 -2
- package/lib/lsp/completion/hydranium-completion-provider.d.ts.map +1 -1
- package/lib/lsp/completion/hydranium-completion-provider.js +68 -0
- package/lib/lsp/completion/hydranium-completion-provider.js.map +1 -1
- package/lib/lsp/connection-features.d.ts +23 -0
- package/lib/lsp/connection-features.d.ts.map +1 -0
- package/lib/lsp/connection-features.js +60 -0
- package/lib/lsp/connection-features.js.map +1 -0
- package/lib/lsp/diagnostics-connection.d.ts +27 -0
- package/lib/lsp/diagnostics-connection.d.ts.map +1 -0
- package/lib/lsp/diagnostics-connection.js +53 -0
- package/lib/lsp/diagnostics-connection.js.map +1 -0
- package/lib/lsp/hydranium-document-update-handler.d.ts +126 -82
- package/lib/lsp/hydranium-document-update-handler.d.ts.map +1 -1
- package/lib/lsp/hydranium-document-update-handler.js +235 -102
- package/lib/lsp/hydranium-document-update-handler.js.map +1 -1
- package/lib/lsp/index.d.ts +4 -1
- package/lib/lsp/index.d.ts.map +1 -1
- package/lib/lsp/index.js +4 -1
- package/lib/lsp/index.js.map +1 -1
- package/lib/lsp/lsp-latency.d.ts +39 -0
- package/lib/lsp/lsp-latency.d.ts.map +1 -0
- package/lib/lsp/lsp-latency.js +58 -0
- package/lib/lsp/lsp-latency.js.map +1 -0
- package/lib/lsp/save-text-document.d.ts +31 -0
- package/lib/lsp/save-text-document.d.ts.map +1 -0
- package/lib/lsp/save-text-document.js +52 -0
- package/lib/lsp/save-text-document.js.map +1 -0
- package/lib/lsp/semantic-token-provider.d.ts +34 -1
- package/lib/lsp/semantic-token-provider.d.ts.map +1 -1
- package/lib/lsp/semantic-token-provider.js +55 -8
- package/lib/lsp/semantic-token-provider.js.map +1 -1
- package/lib/lsp/shared-module.d.ts +4 -8
- package/lib/lsp/shared-module.d.ts.map +1 -1
- package/lib/lsp/shared-module.js.map +1 -1
- package/lib/lsp/start-language-server.d.ts +8 -7
- package/lib/lsp/start-language-server.d.ts.map +1 -1
- package/lib/lsp/start-language-server.js +13 -7
- package/lib/lsp/start-language-server.js.map +1 -1
- package/lib/messages/carriers.d.ts +18 -12
- package/lib/messages/carriers.d.ts.map +1 -1
- package/lib/messages/carriers.js +22 -13
- package/lib/messages/carriers.js.map +1 -1
- package/lib/messages/index.d.ts +4 -1
- package/lib/messages/index.d.ts.map +1 -1
- package/lib/messages/index.js +4 -1
- package/lib/messages/index.js.map +1 -1
- package/lib/messages/renderer.d.ts +142 -0
- package/lib/messages/renderer.d.ts.map +1 -0
- package/lib/messages/renderer.js +165 -0
- package/lib/messages/renderer.js.map +1 -0
- package/lib/node/event-loop-monitor.d.ts.map +1 -1
- package/lib/node/event-loop-monitor.js +2 -1
- package/lib/node/event-loop-monitor.js.map +1 -1
- package/lib/node/heap-ceiling.d.ts +61 -0
- package/lib/node/heap-ceiling.d.ts.map +1 -0
- package/lib/node/heap-ceiling.js +72 -0
- package/lib/node/heap-ceiling.js.map +1 -0
- package/lib/node/index.d.ts +1 -1
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +5 -1
- package/lib/node/index.js.map +1 -1
- package/lib/node/latency-from-env.d.ts +1 -1
- package/lib/node/latency-from-env.js +1 -1
- package/lib/node/lint-grammar.js.map +1 -1
- package/lib/node/log-preamble-node.d.ts +5 -3
- package/lib/node/log-preamble-node.d.ts.map +1 -1
- package/lib/node/log-preamble-node.js +13 -10
- package/lib/node/log-preamble-node.js.map +1 -1
- package/lib/node/measure-memory.d.ts.map +1 -1
- package/lib/node/measure-memory.js +5 -4
- package/lib/node/measure-memory.js.map +1 -1
- package/lib/node/memory-monitor.d.ts +2 -2
- package/lib/node/memory-monitor.d.ts.map +1 -1
- package/lib/node/memory-monitor.js +9 -10
- package/lib/node/memory-monitor.js.map +1 -1
- package/lib/node/node-file-system-provider.d.ts +67 -9
- package/lib/node/node-file-system-provider.d.ts.map +1 -1
- package/lib/node/node-file-system-provider.js +198 -53
- package/lib/node/node-file-system-provider.js.map +1 -1
- package/lib/node/profile-capture.d.ts +12 -4
- package/lib/node/profile-capture.d.ts.map +1 -1
- package/lib/node/profile-capture.js +8 -6
- package/lib/node/profile-capture.js.map +1 -1
- package/lib/node/profile-digest.js.map +1 -1
- package/lib/node/profiling-run.d.ts +13 -3
- package/lib/node/profiling-run.d.ts.map +1 -1
- package/lib/node/profiling-run.js +17 -8
- package/lib/node/profiling-run.js.map +1 -1
- package/lib/node/rename-over-open-readers.d.ts +61 -0
- package/lib/node/rename-over-open-readers.d.ts.map +1 -0
- package/lib/node/rename-over-open-readers.js +80 -0
- package/lib/node/rename-over-open-readers.js.map +1 -0
- package/lib/node/server-diagnostics.js +1 -1
- package/lib/node/server-diagnostics.js.map +1 -1
- package/lib/node/server-state-snapshot.js +4 -4
- package/lib/node/server-state-snapshot.js.map +1 -1
- package/lib/node/socket-launcher.d.ts +43 -7
- package/lib/node/socket-launcher.d.ts.map +1 -1
- package/lib/node/socket-launcher.js +42 -7
- package/lib/node/socket-launcher.js.map +1 -1
- package/lib/node/startup-cpu-profile.d.ts +29 -0
- package/lib/node/startup-cpu-profile.d.ts.map +1 -0
- package/lib/node/startup-cpu-profile.js +91 -0
- package/lib/node/startup-cpu-profile.js.map +1 -0
- package/lib/node/stdio-launcher.d.ts +13 -13
- package/lib/node/stdio-launcher.d.ts.map +1 -1
- package/lib/node/stdio-launcher.js +21 -11
- package/lib/node/stdio-launcher.js.map +1 -1
- package/lib/testing/document-uri-policy-conformance.js +1 -1
- package/lib/testing/document-uri-policy-conformance.js.map +1 -1
- package/lib/testing/fake-description.js.map +1 -1
- package/lib/testing/fake-document.d.ts +2 -1
- package/lib/testing/fake-document.d.ts.map +1 -1
- package/lib/testing/fake-document.js.map +1 -1
- package/lib/testing/index.d.ts +1 -1
- package/lib/testing/index.d.ts.map +1 -1
- package/lib/testing/index.js +2 -1
- package/lib/testing/index.js.map +1 -1
- package/lib/testing/langium-test-helpers.d.ts.map +1 -1
- package/lib/testing/langium-test-helpers.js +1 -0
- package/lib/testing/langium-test-helpers.js.map +1 -1
- package/lib/testing/make-noop-language-services.js.map +1 -1
- package/lib/testing/make-noop-shared-services.d.ts +14 -0
- package/lib/testing/make-noop-shared-services.d.ts.map +1 -1
- package/lib/testing/make-noop-shared-services.js +28 -2
- package/lib/testing/make-noop-shared-services.js.map +1 -1
- package/lib/testing/make-test-services.d.ts +72 -14
- package/lib/testing/make-test-services.d.ts.map +1 -1
- package/lib/testing/make-test-services.js +42 -10
- package/lib/testing/make-test-services.js.map +1 -1
- package/lib/testing/make-test-tracer.d.ts +12 -0
- package/lib/testing/make-test-tracer.d.ts.map +1 -1
- package/lib/testing/make-test-tracer.js +13 -0
- package/lib/testing/make-test-tracer.js.map +1 -1
- package/lib/testing/node/applied-edit-capture.d.ts +29 -0
- package/lib/testing/node/applied-edit-capture.d.ts.map +1 -0
- package/lib/testing/node/applied-edit-capture.js +117 -0
- package/lib/testing/node/applied-edit-capture.js.map +1 -0
- package/lib/testing/node/golden-corpus.js.map +1 -1
- package/lib/testing/node/index.d.ts +1 -0
- package/lib/testing/node/index.d.ts.map +1 -1
- package/lib/testing/node/index.js +1 -0
- package/lib/testing/node/index.js.map +1 -1
- package/lib/testing/node/lsp-harness.d.ts.map +1 -1
- package/lib/testing/node/lsp-harness.js +2 -0
- package/lib/testing/node/lsp-harness.js.map +1 -1
- package/lib/testing/node/lsp-server-connection.d.ts +21 -6
- package/lib/testing/node/lsp-server-connection.d.ts.map +1 -1
- package/lib/testing/node/lsp-server-connection.js +49 -106
- package/lib/testing/node/lsp-server-connection.js.map +1 -1
- package/lib/testing/node/scratch-workspace.d.ts.map +1 -1
- package/lib/testing/node/scratch-workspace.js +10 -5
- package/lib/testing/node/scratch-workspace.js.map +1 -1
- package/lib/testing/node/spawned-server.d.ts +30 -1
- package/lib/testing/node/spawned-server.d.ts.map +1 -1
- package/lib/testing/node/spawned-server.js +39 -2
- package/lib/testing/node/spawned-server.js.map +1 -1
- package/lib/testing/node/unhandled-rejections.d.ts +20 -0
- package/lib/testing/node/unhandled-rejections.d.ts.map +1 -0
- package/lib/testing/node/unhandled-rejections.js +32 -0
- package/lib/testing/node/unhandled-rejections.js.map +1 -0
- package/lib/testing/playwright/browser-capture-bridge.js.map +1 -1
- package/lib/testing/playwright/e2e-profiling.js.map +1 -1
- package/lib/testing/playwright/flaky-network-proxy.d.ts +76 -0
- package/lib/testing/playwright/flaky-network-proxy.d.ts.map +1 -0
- package/lib/testing/playwright/flaky-network-proxy.js +164 -0
- package/lib/testing/playwright/flaky-network-proxy.js.map +1 -0
- package/lib/testing/playwright/index.d.ts +1 -0
- package/lib/testing/playwright/index.d.ts.map +1 -1
- package/lib/testing/playwright/index.js +1 -0
- package/lib/testing/playwright/index.js.map +1 -1
- package/lib/testing/playwright/server-log-capture.d.ts +46 -16
- package/lib/testing/playwright/server-log-capture.d.ts.map +1 -1
- package/lib/testing/playwright/server-log-capture.js +111 -40
- package/lib/testing/playwright/server-log-capture.js.map +1 -1
- package/lib/testing/playwright/server-log-fixture.d.ts +16 -0
- package/lib/testing/playwright/server-log-fixture.d.ts.map +1 -1
- package/lib/testing/playwright/server-log-fixture.js +25 -6
- package/lib/testing/playwright/server-log-fixture.js.map +1 -1
- package/lib/testing/playwright/server-log-region.d.ts +15 -0
- package/lib/testing/playwright/server-log-region.d.ts.map +1 -0
- package/lib/testing/playwright/server-log-region.js +30 -0
- package/lib/testing/playwright/server-log-region.js.map +1 -0
- package/lib/testing/playwright/server-log-rename-reporter.d.ts.map +1 -1
- package/lib/testing/playwright/server-log-rename-reporter.js +4 -3
- package/lib/testing/playwright/server-log-rename-reporter.js.map +1 -1
- package/lib/testing/run-update-pipeline.d.ts +8 -5
- package/lib/testing/run-update-pipeline.d.ts.map +1 -1
- package/lib/testing/run-update-pipeline.js.map +1 -1
- package/lib/testing/stub-ast-document-manager.d.ts +11 -52
- package/lib/testing/stub-ast-document-manager.d.ts.map +1 -1
- package/lib/testing/stub-ast-document-manager.js +31 -62
- package/lib/testing/stub-ast-document-manager.js.map +1 -1
- package/lib/testing/stub-document-builder.d.ts +33 -11
- package/lib/testing/stub-document-builder.d.ts.map +1 -1
- package/lib/testing/stub-document-builder.js +103 -5
- package/lib/testing/stub-document-builder.js.map +1 -1
- package/lib/testing/stub-hydranium-text-documents.d.ts +33 -10
- package/lib/testing/stub-hydranium-text-documents.d.ts.map +1 -1
- package/lib/testing/stub-hydranium-text-documents.js +132 -16
- package/lib/testing/stub-hydranium-text-documents.js.map +1 -1
- package/lib/testing/stub-index-manager.js.map +1 -1
- package/lib/testing/stub-langium-documents.d.ts +3 -2
- package/lib/testing/stub-langium-documents.d.ts.map +1 -1
- package/lib/testing/stub-langium-documents.js.map +1 -1
- package/lib/testing/stub-model-service.d.ts +9 -8
- package/lib/testing/stub-model-service.d.ts.map +1 -1
- package/lib/testing/stub-model-service.js +6 -6
- package/lib/testing/stub-model-service.js.map +1 -1
- package/lib/testing/stub-project-manager.js.map +1 -1
- package/lib/testing/stub-self-save-registry.d.ts +1 -1
- package/lib/testing/stub-self-save-registry.d.ts.map +1 -1
- package/lib/testing/stub-service-registry.d.ts +1 -1
- package/lib/testing/stub-service-registry.js.map +1 -1
- package/lib/testing/stub-writable-file-system.d.ts +1 -1
- package/lib/testing/stub-writable-file-system.d.ts.map +1 -1
- package/lib/testing/stub-writable-file-system.js +2 -1
- package/lib/testing/stub-writable-file-system.js.map +1 -1
- package/lib/util/connection-liveness.d.ts +19 -6
- package/lib/util/connection-liveness.d.ts.map +1 -1
- package/lib/util/connection-liveness.js +61 -15
- package/lib/util/connection-liveness.js.map +1 -1
- package/lib/util/environment.d.ts.map +1 -1
- package/lib/util/environment.js.map +1 -1
- package/lib/util/registry.d.ts.map +1 -1
- package/package.json +38 -57
- package/src/browser/host-heads-in-worker.ts +218 -0
- package/src/browser/index.ts +17 -0
- package/src/browser/indexeddb-file-system-store.ts +192 -0
- package/src/browser/start-language-server-in-worker.ts +56 -0
- package/src/documents/ast-document-manager.ts +467 -233
- package/src/documents/client-ids.ts +5 -22
- package/src/documents/client-session-errors.ts +24 -0
- package/src/documents/client-session-registry.ts +262 -0
- package/src/documents/dirty-state-tracker.ts +167 -0
- package/src/documents/document-release-handler.ts +404 -0
- package/src/documents/document-release-scheduler.ts +121 -0
- package/src/documents/file-system-task-queue.ts +74 -0
- package/src/documents/hydranium-text-documents.ts +1022 -595
- package/src/documents/index.ts +10 -2
- package/src/documents/language-client-shadow.ts +501 -0
- package/src/documents/model-ledger.ts +66 -0
- package/src/documents/text-ledger.ts +112 -0
- package/src/documents/version-sync-service.ts +275 -0
- package/src/index.ts +8 -0
- package/src/langium/ast-extension/ast-extension-service.ts +77 -41
- package/src/langium/bootstrap.ts +95 -52
- package/src/langium/build-phase-pass/build-phase-pass-service.ts +29 -19
- package/src/langium/build-phase-pass/build-phase-pass.ts +37 -8
- package/src/langium/composite-ast-reflection.ts +112 -0
- package/src/langium/config/configuration-provider.ts +119 -0
- package/src/langium/config/index.ts +1 -0
- package/src/langium/diagnostics/hydranium-langium-profiler.ts +15 -39
- package/src/langium/diagnostics/log-preamble.ts +1 -1
- package/src/langium/diagnostics/logger.ts +38 -11
- package/src/langium/diagnostics/lsp-logger.ts +61 -16
- package/src/langium/document-builder/build-pipeline-integration.ts +46 -32
- package/src/langium/document-builder/build-session.ts +4 -3
- package/src/langium/document-builder/document-builder.ts +616 -73
- package/src/langium/integration-services.ts +59 -28
- package/src/langium/integrity/integrity-rule.ts +16 -8
- package/src/langium/integrity/integrity-service.ts +296 -69
- package/src/langium/keys/containment.ts +87 -0
- package/src/langium/keys/index.ts +1 -0
- package/src/langium/keys/name-based-key-provider.ts +4 -0
- package/src/langium/language-module.ts +49 -8
- package/src/langium/model-service/client-session.ts +718 -0
- package/src/langium/model-service/index.ts +2 -0
- package/src/langium/model-service/model-events.ts +80 -0
- package/src/langium/model-service/model-service.ts +908 -485
- package/src/langium/module.ts +212 -67
- package/src/langium/naming/name-provider.ts +44 -8
- package/src/langium/naming/name-separator-validation.ts +25 -3
- package/src/langium/project/abstract-project-manager.ts +13 -5
- package/src/langium/project/project-change-event.ts +2 -2
- package/src/langium/residency/cst-residency-service.ts +54 -19
- package/src/langium/scope/fallback-scope.ts +38 -0
- package/src/langium/scope/hydranium-scope-computation.ts +45 -44
- package/src/langium/scope/hydranium-scope-provider.ts +49 -16
- package/src/langium/scope/index.ts +1 -0
- package/src/langium/scope/reference-candidate-provider.ts +6 -5
- package/src/langium/scope/scope-extension-service.ts +74 -59
- package/src/langium/scope/scoped-ast-node-description.ts +1 -3
- package/src/langium/serialization/abstract-serializer.ts +57 -41
- package/src/langium/serialization/json-serializer.ts +14 -3
- package/src/langium/serialization/serializer.ts +1 -1
- package/src/langium/serialization/yaml-serializer.ts +4 -0
- package/src/langium/service-registry.ts +41 -2
- package/src/langium/shared-services.ts +26 -6
- package/src/langium/single-langium-copy.ts +42 -0
- package/src/langium/transfer/transfer-encoder.ts +102 -45
- package/src/langium/trivia/comment-preserver.ts +1100 -0
- package/src/langium/trivia/document-ending-preserver.ts +71 -0
- package/src/langium/trivia/index.ts +14 -0
- package/src/langium/trivia/trivia-contribution.ts +39 -0
- package/src/langium/trivia/trivia-preserver.ts +56 -0
- package/src/langium/trivia/trivia-service.ts +99 -0
- package/src/langium/update-rewrite/update-rewrite-service.ts +1 -1
- package/src/langium/update-rewrite/update-rewrite.ts +1 -1
- package/src/langium/validation/document-validator.ts +528 -13
- package/src/langium/validation/validation-contribution-collector.ts +10 -1
- package/src/langium/workspace/document-uri-policy.ts +32 -18
- package/src/langium/workspace/file-not-found.ts +35 -0
- package/src/langium/workspace/file-system-provider.ts +258 -16
- package/src/langium/workspace/hydranium-langium-document-factory.ts +83 -0
- package/src/langium/workspace/hydranium-workspace-lock.ts +86 -2
- package/src/langium/workspace/hydranium-workspace-manager.ts +241 -35
- package/src/langium/workspace/in-memory-file-system-provider.ts +54 -23
- package/src/langium/workspace/index.ts +1 -0
- package/src/langium/workspace/initialize-workspace.ts +129 -8
- package/src/langium/workspace/langium-documents.ts +19 -1
- package/src/langium/workspace/persistent-file-system-provider.ts +27 -15
- package/src/langium/workspace/self-save-registry.ts +118 -0
- package/src/langium/workspace/virtual-document.ts +106 -25
- package/src/langium/workspace/write-lock-scope.ts +27 -12
- package/src/launcher/integrated-server.ts +3 -1
- package/src/locale/index.ts +10 -0
- package/src/locale/server-locale.ts +86 -0
- package/src/lsp/completion/hydranium-completion-provider.ts +82 -2
- package/src/lsp/connection-features.ts +67 -0
- package/src/lsp/diagnostics-connection.ts +56 -0
- package/src/lsp/hydranium-document-update-handler.ts +285 -111
- package/src/lsp/index.ts +4 -1
- package/src/lsp/lsp-latency.ts +62 -0
- package/src/lsp/save-text-document.ts +63 -0
- package/src/lsp/semantic-token-provider.ts +74 -7
- package/src/lsp/shared-module.ts +4 -8
- package/src/lsp/start-language-server.ts +13 -7
- package/src/messages/carriers.ts +23 -15
- package/src/messages/index.ts +13 -1
- package/src/messages/renderer.ts +212 -0
- package/src/node/event-loop-monitor.ts +2 -1
- package/src/node/heap-ceiling.ts +108 -0
- package/src/node/index.ts +5 -1
- package/src/node/latency-from-env.ts +1 -1
- package/src/node/log-preamble-node.ts +20 -10
- package/src/node/measure-memory.ts +5 -4
- package/src/node/memory-monitor.ts +10 -10
- package/src/node/node-file-system-provider.ts +214 -57
- package/src/node/profile-capture.ts +16 -15
- package/src/node/profiling-run.ts +30 -8
- package/src/node/rename-over-open-readers.ts +94 -0
- package/src/node/server-diagnostics.ts +1 -1
- package/src/node/server-state-snapshot.ts +5 -5
- package/src/node/socket-launcher.ts +78 -14
- package/src/node/startup-cpu-profile.ts +94 -0
- package/src/node/stdio-launcher.ts +29 -19
- package/src/testing/document-uri-policy-conformance.ts +1 -1
- package/src/testing/fake-document.ts +2 -1
- package/src/testing/index.ts +2 -1
- package/src/testing/langium-test-helpers.ts +1 -0
- package/src/testing/make-noop-shared-services.ts +50 -2
- package/src/testing/make-test-services.ts +125 -31
- package/src/testing/make-test-tracer.ts +26 -0
- package/src/testing/node/applied-edit-capture.ts +141 -0
- package/src/testing/node/index.ts +1 -0
- package/src/testing/node/lsp-harness.ts +2 -0
- package/src/testing/node/lsp-server-connection.ts +83 -119
- package/src/testing/node/scratch-workspace.ts +10 -5
- package/src/testing/node/spawned-server.ts +57 -3
- package/src/testing/node/unhandled-rejections.ts +31 -0
- package/src/testing/parse-semantic-root.ts +1 -1
- package/src/testing/playwright/flaky-network-proxy.ts +240 -0
- package/src/testing/playwright/index.ts +1 -0
- package/src/testing/playwright/server-log-capture.ts +137 -47
- package/src/testing/playwright/server-log-fixture.ts +46 -6
- package/src/testing/playwright/server-log-region.ts +32 -0
- package/src/testing/playwright/server-log-rename-reporter.ts +4 -3
- package/src/testing/run-update-pipeline.ts +8 -5
- package/src/testing/stub-ast-document-manager.ts +47 -128
- package/src/testing/stub-document-builder.ts +133 -18
- package/src/testing/stub-hydranium-text-documents.ts +184 -27
- package/src/testing/stub-langium-documents.ts +3 -2
- package/src/testing/stub-model-service.ts +11 -10
- package/src/testing/stub-self-save-registry.ts +1 -1
- package/src/testing/stub-service-registry.ts +1 -1
- package/src/testing/stub-writable-file-system.ts +3 -2
- package/src/util/connection-liveness.ts +67 -15
- package/src/util/environment.ts +9 -1
- package/lib/documents/language-client-text-shadow.d.ts +0 -101
- package/lib/documents/language-client-text-shadow.d.ts.map +0 -1
- package/lib/documents/language-client-text-shadow.js +0 -156
- package/lib/documents/language-client-text-shadow.js.map +0 -1
- package/lib/documents/self-save-registry.d.ts +0 -55
- package/lib/documents/self-save-registry.d.ts.map +0 -1
- package/lib/documents/self-save-registry.js.map +0 -1
- package/lib/lsp/instrument-connection.d.ts +0 -36
- package/lib/lsp/instrument-connection.d.ts.map +0 -1
- package/lib/lsp/instrument-connection.js +0 -62
- package/lib/lsp/instrument-connection.js.map +0 -1
- package/lib/node/process-memory.d.ts +0 -66
- package/lib/node/process-memory.d.ts.map +0 -1
- package/lib/node/process-memory.js +0 -252
- package/lib/node/process-memory.js.map +0 -1
- package/src/documents/language-client-text-shadow.ts +0 -175
- package/src/documents/self-save-registry.ts +0 -81
- package/src/lsp/instrument-connection.ts +0 -66
- package/src/node/process-memory.ts +0 -299
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/langium/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/langium/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,11 +25,11 @@ import { type BuildPhasePass, type BuildPhasePassRegistry } from './build-phase-
|
|
|
25
25
|
* per-language work (integrity) fans out by language *inside* its pass. This
|
|
26
26
|
* also keeps one priority space per phase across framework and adopter passes,
|
|
27
27
|
* which is the point — `runPasses` orders the framework's integrity and
|
|
28
|
-
*
|
|
28
|
+
* CST-residency passes against adopter passes deterministically.
|
|
29
29
|
*/
|
|
30
30
|
export interface BuildPhasePassService extends BuildPhasePassRegistry {
|
|
31
31
|
/**
|
|
32
|
-
* Run every pass declaring `phase
|
|
32
|
+
* Run every pass declaring `phase`, in priority order,
|
|
33
33
|
* sequentially — each pass is awaited before the next begins. The cancel
|
|
34
34
|
* token is checked before each pass so a preempted build stops cleanly.
|
|
35
35
|
* No-ops when no pass targets the phase. Called by
|
|
@@ -48,8 +48,8 @@ export type BuildPhasePassServiceOptions = LogNameOptions;
|
|
|
48
48
|
* `BuildPipelineIntegration`,
|
|
49
49
|
* which calls {@link runPasses} from its `onBuildPhase` listeners.
|
|
50
50
|
*
|
|
51
|
-
* **Performance:** {@link runPasses} shares the bucket-by-
|
|
52
|
-
* with the AST-extension service — the per-
|
|
51
|
+
* **Performance:** {@link runPasses} shares the bucket-by-phase cache pattern
|
|
52
|
+
* with the AST-extension service — the per-phase pass list is rebuilt lazily
|
|
53
53
|
* only after a register / unregister, so steady-state dispatch allocates
|
|
54
54
|
* nothing and early-outs when no pass targets the phase.
|
|
55
55
|
*
|
|
@@ -60,18 +60,18 @@ export type BuildPhasePassServiceOptions = LogNameOptions;
|
|
|
60
60
|
*/
|
|
61
61
|
export declare class DefaultBuildPhasePassService implements BuildPhasePassService {
|
|
62
62
|
protected readonly passes: Registry<BuildPhasePass>;
|
|
63
|
-
/** Per-
|
|
64
|
-
protected
|
|
65
|
-
protected
|
|
63
|
+
/** Per-phase bucket of passes targeting each phase, rebuilt lazily on the first run after a registry mutation. */
|
|
64
|
+
protected phaseBuckets: Map<DocumentState, readonly BuildPhasePass[]>;
|
|
65
|
+
protected phaseBucketsFor: readonly BuildPhasePass[] | undefined;
|
|
66
66
|
protected readonly tracer: Tracer;
|
|
67
67
|
constructor(services: ServerSharedServices, options?: BuildPhasePassServiceOptions);
|
|
68
68
|
register(pass: BuildPhasePass): Disposable;
|
|
69
69
|
runPasses(documents: readonly LangiumDocument[], phase: DocumentState, cancelToken: CancellationToken): Promise<void>;
|
|
70
70
|
/**
|
|
71
|
-
* Bucket-by-
|
|
71
|
+
* Bucket-by-phase view of {@link passes}, rebuilt lazily when the registry's
|
|
72
72
|
* cached `all()` reference changes. Each bucket preserves the registry's
|
|
73
73
|
* priority order (`Registry.all()` is already priority-sorted).
|
|
74
74
|
*/
|
|
75
|
-
protected
|
|
75
|
+
protected getPhaseBucket(phase: DocumentState): readonly BuildPhasePass[];
|
|
76
76
|
}
|
|
77
77
|
//# sourceMappingURL=build-phase-pass-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-phase-pass-service.d.ts","sourceRoot":"","sources":["../../../src/langium/build-phase-pass/build-phase-pass-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,sBAAsB,
|
|
1
|
+
{"version":3,"file":"build-phase-pass-service.d.ts","sourceRoot":"","sources":["../../../src/langium/build-phase-pass/build-phase-pass-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,sBAAsB,EAAkB,MAAM,uBAAuB,CAAC;AAEzG;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IAClE;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxH;AAED,qEAAqE;AACrE,MAAM,MAAM,4BAA4B,GAAG,cAAc,CAAC;AAE1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,4BAA6B,YAAW,qBAAqB;IACvE,SAAS,CAAC,QAAQ,CAAC,MAAM,2BAAkC;IAC3D,kHAAkH;IAClH,SAAS,CAAC,YAAY,gDAAuD;IAC7E,SAAS,CAAC,eAAe,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,CAAC;IAEjE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,YAAY,QAAQ,EAAE,oBAAoB,EAAE,OAAO,GAAE,4BAAiC,EAWrF;IAED,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,UAAU,CAYzC;IAEK,SAAS,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB1H;IAED;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,cAAc,EAAE,CAgBxE;CACH"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
import { Logger } from '@hydranium/protocol';
|
|
10
10
|
import { DocumentState } from '@hydranium/langium';
|
|
11
11
|
import { Registry } from '../../util/registry.js';
|
|
12
|
+
import { BuildPassPhase } from './build-phase-pass.js';
|
|
12
13
|
/**
|
|
13
14
|
* Default {@link BuildPhasePassService}. Generic registry for batch-level
|
|
14
15
|
* build-phase work, the `onBuildPhase` sibling of
|
|
@@ -18,8 +19,8 @@ import { Registry } from '../../util/registry.js';
|
|
|
18
19
|
* `BuildPipelineIntegration`,
|
|
19
20
|
* which calls {@link runPasses} from its `onBuildPhase` listeners.
|
|
20
21
|
*
|
|
21
|
-
* **Performance:** {@link runPasses} shares the bucket-by-
|
|
22
|
-
* with the AST-extension service — the per-
|
|
22
|
+
* **Performance:** {@link runPasses} shares the bucket-by-phase cache pattern
|
|
23
|
+
* with the AST-extension service — the per-phase pass list is rebuilt lazily
|
|
23
24
|
* only after a register / unregister, so steady-state dispatch allocates
|
|
24
25
|
* nothing and early-outs when no pass targets the phase.
|
|
25
26
|
*
|
|
@@ -30,9 +31,9 @@ import { Registry } from '../../util/registry.js';
|
|
|
30
31
|
*/
|
|
31
32
|
export class DefaultBuildPhasePassService {
|
|
32
33
|
passes = new Registry();
|
|
33
|
-
/** Per-
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
/** Per-phase bucket of passes targeting each phase, rebuilt lazily on the first run after a registry mutation. */
|
|
35
|
+
phaseBuckets = new Map();
|
|
36
|
+
phaseBucketsFor;
|
|
36
37
|
tracer;
|
|
37
38
|
constructor(services, options = {}) {
|
|
38
39
|
this.tracer = services.Tracer.for(options.logName ?? 'BuildPhasePass').trace('instantiated');
|
|
@@ -46,10 +47,18 @@ export class DefaultBuildPhasePassService {
|
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
register(pass) {
|
|
50
|
+
// A phase outside the wired set type-checks only past a cast, and a pass
|
|
51
|
+
// there is accepted and never fires.
|
|
52
|
+
if (!BuildPassPhase.all().includes(pass.phase)) {
|
|
53
|
+
throw new Error(`Build-phase pass '${pass.id}' registered at phase ${DocumentState[pass.phase]} would never fire. ` +
|
|
54
|
+
`Allowed phases are ${BuildPassPhase.all()
|
|
55
|
+
.map(phase => DocumentState[phase])
|
|
56
|
+
.join(', ')}.`);
|
|
57
|
+
}
|
|
49
58
|
return this.passes.register(pass);
|
|
50
59
|
}
|
|
51
60
|
async runPasses(documents, phase, cancelToken) {
|
|
52
|
-
const bucket = this.
|
|
61
|
+
const bucket = this.getPhaseBucket(phase);
|
|
53
62
|
if (bucket.length === 0) {
|
|
54
63
|
return;
|
|
55
64
|
}
|
|
@@ -75,28 +84,28 @@ export class DefaultBuildPhasePassService {
|
|
|
75
84
|
session?.report('debug');
|
|
76
85
|
}
|
|
77
86
|
/**
|
|
78
|
-
* Bucket-by-
|
|
87
|
+
* Bucket-by-phase view of {@link passes}, rebuilt lazily when the registry's
|
|
79
88
|
* cached `all()` reference changes. Each bucket preserves the registry's
|
|
80
89
|
* priority order (`Registry.all()` is already priority-sorted).
|
|
81
90
|
*/
|
|
82
|
-
|
|
91
|
+
getPhaseBucket(phase) {
|
|
83
92
|
const current = this.passes.all();
|
|
84
|
-
if (this.
|
|
93
|
+
if (this.phaseBucketsFor !== current) {
|
|
85
94
|
const next = new Map();
|
|
86
95
|
for (const pass of current) {
|
|
87
|
-
let bucket = next.get(pass.
|
|
96
|
+
let bucket = next.get(pass.phase);
|
|
88
97
|
if (!bucket) {
|
|
89
98
|
bucket = [];
|
|
90
|
-
next.set(pass.
|
|
99
|
+
next.set(pass.phase, bucket);
|
|
91
100
|
}
|
|
92
101
|
bucket.push(pass);
|
|
93
102
|
}
|
|
94
|
-
this.
|
|
95
|
-
this.
|
|
103
|
+
this.phaseBuckets = next;
|
|
104
|
+
this.phaseBucketsFor = current;
|
|
96
105
|
}
|
|
97
|
-
return this.
|
|
106
|
+
return this.phaseBuckets.get(phase) ?? EMPTY_PHASE_BUCKET;
|
|
98
107
|
}
|
|
99
108
|
}
|
|
100
|
-
/** Shared empty result so `
|
|
101
|
-
const
|
|
109
|
+
/** Shared empty result so `getPhaseBucket` doesn't allocate per call on the cold path. */
|
|
110
|
+
const EMPTY_PHASE_BUCKET = Object.freeze([]);
|
|
102
111
|
//# sourceMappingURL=build-phase-pass-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-phase-pass-service.js","sourceRoot":"","sources":["../../../src/langium/build-phase-pass/build-phase-pass-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AAIzE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"build-phase-pass-service.js","sourceRoot":"","sources":["../../../src/langium/build-phase-pass/build-phase-pass-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,25 @@
|
|
|
6
6
|
*
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
|
-
import {
|
|
9
|
+
import { DocumentState, type LangiumCoreServices, type LangiumDocument, type URI } from '@hydranium/langium';
|
|
10
10
|
import { type CancellationToken, type Disposable } from 'vscode-languageserver';
|
|
11
11
|
import { type RegistryItem } from '../../util/registry.js';
|
|
12
|
+
/**
|
|
13
|
+
* The build phases a {@link BuildPhasePass} may fire at: every phase after
|
|
14
|
+
* `Changed`, which has no AST yet. `IndexedContent` is one, unlike for an
|
|
15
|
+
* `AstExtension`: per document it carries nothing `Parsed` does, but per
|
|
16
|
+
* batch it is the only phase meaning the global index is whole again, which
|
|
17
|
+
* batch work keyed on a complete index has nowhere else to run.
|
|
18
|
+
*/
|
|
19
|
+
export type BuildPassPhase = DocumentState.Parsed | DocumentState.IndexedContent | DocumentState.ComputedScopes | DocumentState.Linked | DocumentState.IndexedReferences | DocumentState.Validated;
|
|
20
|
+
export declare namespace BuildPassPhase {
|
|
21
|
+
/**
|
|
22
|
+
* Every {@link BuildPassPhase}, in build order. `BuildPipelineIntegration`
|
|
23
|
+
* wires one `onBuildPhase` listener per entry and `register` refuses a phase
|
|
24
|
+
* outside it, so the two cannot drift apart. A fresh array each call.
|
|
25
|
+
*/
|
|
26
|
+
function all(): readonly BuildPassPhase[];
|
|
27
|
+
}
|
|
12
28
|
/**
|
|
13
29
|
* A unit of whole-batch work run once per build when the batch reaches a
|
|
14
30
|
* declared build phase, ordered by {@link RegistryItem.priority}.
|
|
@@ -44,12 +60,8 @@ import { type RegistryItem } from '../../util/registry.js';
|
|
|
44
60
|
* rather than running the remaining passes against a doomed build.
|
|
45
61
|
*/
|
|
46
62
|
export interface BuildPhasePass extends RegistryItem {
|
|
47
|
-
/**
|
|
48
|
-
|
|
49
|
-
* wires a listener for the same phase set as AST extension; a pass declaring
|
|
50
|
-
* any other state type-checks but never fires.
|
|
51
|
-
*/
|
|
52
|
-
state: DocumentState;
|
|
63
|
+
/** The single build phase whose `onBuildPhase` fires this pass. */
|
|
64
|
+
phase: BuildPassPhase;
|
|
53
65
|
/**
|
|
54
66
|
* Run this pass against the whole built batch. May mutate and reparse
|
|
55
67
|
* documents — the framework's integrity pass does — or derive cross-document
|
|
@@ -85,7 +97,7 @@ export declare function groupDocumentsByLanguage<TLanguage extends LangiumCoreSe
|
|
|
85
97
|
* Registry handed to a {@link BuildPhasePassContribution}. Implemented by the
|
|
86
98
|
* `BuildPhasePassService`; doubles
|
|
87
99
|
* as the low-level imperative API the framework uses to self-register its own
|
|
88
|
-
* passes (integrity,
|
|
100
|
+
* passes (integrity, CST residency).
|
|
89
101
|
*/
|
|
90
102
|
export interface BuildPhasePassRegistry {
|
|
91
103
|
register(pass: BuildPhasePass): Disposable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-phase-pass.d.ts","sourceRoot":"","sources":["../../../src/langium/build-phase-pass/build-phase-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"build-phase-pass.d.ts","sourceRoot":"","sources":["../../../src/langium/build-phase-pass/build-phase-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAC7G,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GACrB,aAAa,CAAC,MAAM,GACpB,aAAa,CAAC,cAAc,GAC5B,aAAa,CAAC,cAAc,GAC5B,aAAa,CAAC,MAAM,GACpB,aAAa,CAAC,iBAAiB,GAC/B,aAAa,CAAC,SAAS,CAAC;AAE7B,yBAAiB,cAAc,CAAC;IAC7B;;;;OAIG;IACH,SAAgB,GAAG,IAAI,SAAS,cAAc,EAAE,CAS/C;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,cAAe,SAAQ,YAAY;IACjD,mEAAmE;IACnE,KAAK,EAAE,cAAc,CAAC;IACtB;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,SAAS,mBAAmB,EAC3E,QAAQ,EAAE;IAAE,eAAe,EAAE;QAAE,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;QAAC,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,CAAA;KAAE,CAAA;CAAE,EACnG,SAAS,EAAE,SAAS,eAAe,EAAE,GACrC,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAenC;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACpC,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,UAAU,CAAC;CAC7C;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,0BAA0B;IACxC,wBAAwB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;CACnE"}
|
|
@@ -6,6 +6,26 @@
|
|
|
6
6
|
*
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
|
+
import { DocumentState } from '@hydranium/langium';
|
|
10
|
+
export var BuildPassPhase;
|
|
11
|
+
(function (BuildPassPhase) {
|
|
12
|
+
/**
|
|
13
|
+
* Every {@link BuildPassPhase}, in build order. `BuildPipelineIntegration`
|
|
14
|
+
* wires one `onBuildPhase` listener per entry and `register` refuses a phase
|
|
15
|
+
* outside it, so the two cannot drift apart. A fresh array each call.
|
|
16
|
+
*/
|
|
17
|
+
function all() {
|
|
18
|
+
return [
|
|
19
|
+
DocumentState.Parsed,
|
|
20
|
+
DocumentState.IndexedContent,
|
|
21
|
+
DocumentState.ComputedScopes,
|
|
22
|
+
DocumentState.Linked,
|
|
23
|
+
DocumentState.IndexedReferences,
|
|
24
|
+
DocumentState.Validated
|
|
25
|
+
];
|
|
26
|
+
}
|
|
27
|
+
BuildPassPhase.all = all;
|
|
28
|
+
})(BuildPassPhase || (BuildPassPhase = {}));
|
|
9
29
|
/**
|
|
10
30
|
* Group a build batch by the language that owns each document, preserving the
|
|
11
31
|
* batch's order within each group.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-phase-pass.js","sourceRoot":"","sources":["../../../src/langium/build-phase-pass/build-phase-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;
|
|
1
|
+
{"version":3,"file":"build-phase-pass.js","sourceRoot":"","sources":["../../../src/langium/build-phase-pass/build-phase-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,aAAa,EAA4D,MAAM,oBAAoB,CAAC;AAmB7G,MAAM,KAAW,cAAc,CAgB9B;AAhBD,WAAiB,cAAc;IAC5B;;;;OAIG;IACH,SAAgB,GAAG;QAChB,OAAO;YACJ,aAAa,CAAC,MAAM;YACpB,aAAa,CAAC,cAAc;YAC5B,aAAa,CAAC,cAAc;YAC5B,aAAa,CAAC,MAAM;YACpB,aAAa,CAAC,iBAAiB;YAC/B,aAAa,CAAC,SAAS;SACzB,CAAC;IACL,CAAC;IATe,eAAA,GAAG,MASlB,CAAA;AACJ,CAAC,EAhBgB,cAAc,KAAd,cAAc,QAgB9B;AAgDD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,wBAAwB,CACrC,QAAmG,EACnG,SAAqC;IAErC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;IACxD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,SAAS;QACZ,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,KAAK,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACL,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrC,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 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 { AbstractAstReflection, type AstMetaData, type AstReflection, type PropertyMetaData, type TypeMetaData } from '@hydranium/langium';
|
|
10
|
+
/**
|
|
11
|
+
* One `AstReflection` over the reflections of separately generated language
|
|
12
|
+
* packages. The shared `AstReflection` slot holds a single reflection, so
|
|
13
|
+
* binding each package's generated shared module keeps only the last one's
|
|
14
|
+
* types; bind this over all of them instead.
|
|
15
|
+
*
|
|
16
|
+
* A name several reflections share is taken to be one type, reached through a
|
|
17
|
+
* shared imported grammar, and keeps every super type any of them gives it:
|
|
18
|
+
* each grammar may declare its own union over the type. Only properties that
|
|
19
|
+
* differ in name, reference type or default value throw; two unrelated unions,
|
|
20
|
+
* or same-shaped interfaces, that share a name merge silently, so keep other
|
|
21
|
+
* type names distinct across packages.
|
|
22
|
+
*
|
|
23
|
+
* Only each reflection's `types` is read, so behaviour a reflection overrides
|
|
24
|
+
* is lost. Each package's generated `isX` guards keep using that package's own
|
|
25
|
+
* reflection and answer false for subtypes only another package declares.
|
|
26
|
+
*
|
|
27
|
+
* Each reflection is checked with {@link assertSingleLangiumCopy}, because the
|
|
28
|
+
* composite itself extends the framework copy's base whichever copy they use.
|
|
29
|
+
*
|
|
30
|
+
* The protected merge methods run from the constructor, so an override cannot
|
|
31
|
+
* read its own class's fields.
|
|
32
|
+
*/
|
|
33
|
+
export declare class CompositeAstReflection extends AbstractAstReflection {
|
|
34
|
+
readonly types: AstMetaData;
|
|
35
|
+
constructor(reflections: readonly AstReflection[]);
|
|
36
|
+
protected mergeTypeMetaData(known: TypeMetaData, added: TypeMetaData, knownFrom: string, addedFrom: string): TypeMetaData;
|
|
37
|
+
protected sameProperty(left: PropertyMetaData, right: PropertyMetaData): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Names `reflections[index]` for the composite's errors: its position and
|
|
40
|
+
* class name. The position is needed because minified bundles and scaffolds
|
|
41
|
+
* sharing a project name leave class names that do not tell reflections
|
|
42
|
+
* apart. An override can name the package each reflection came from.
|
|
43
|
+
*/
|
|
44
|
+
protected formatReflection(reflections: readonly AstReflection[], index: number): string;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=composite-ast-reflection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composite-ast-reflection.d.ts","sourceRoot":"","sources":["../../src/langium/composite-ast-reflection.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,qBAAqB,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG3I;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,sBAAuB,SAAQ,qBAAqB;IAC9D,SAAkB,KAAK,EAAE,WAAW,CAAM;IAE1C,YAAY,WAAW,EAAE,SAAS,aAAa,EAAE,EAoBhD;IAED,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CAuBxH;IAED,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAE/E;IAED;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,SAAS,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvF;CACH"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 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 { AbstractAstReflection } from '@hydranium/langium';
|
|
10
|
+
import { assertSingleLangiumCopy } from './single-langium-copy.js';
|
|
11
|
+
/**
|
|
12
|
+
* One `AstReflection` over the reflections of separately generated language
|
|
13
|
+
* packages. The shared `AstReflection` slot holds a single reflection, so
|
|
14
|
+
* binding each package's generated shared module keeps only the last one's
|
|
15
|
+
* types; bind this over all of them instead.
|
|
16
|
+
*
|
|
17
|
+
* A name several reflections share is taken to be one type, reached through a
|
|
18
|
+
* shared imported grammar, and keeps every super type any of them gives it:
|
|
19
|
+
* each grammar may declare its own union over the type. Only properties that
|
|
20
|
+
* differ in name, reference type or default value throw; two unrelated unions,
|
|
21
|
+
* or same-shaped interfaces, that share a name merge silently, so keep other
|
|
22
|
+
* type names distinct across packages.
|
|
23
|
+
*
|
|
24
|
+
* Only each reflection's `types` is read, so behaviour a reflection overrides
|
|
25
|
+
* is lost. Each package's generated `isX` guards keep using that package's own
|
|
26
|
+
* reflection and answer false for subtypes only another package declares.
|
|
27
|
+
*
|
|
28
|
+
* Each reflection is checked with {@link assertSingleLangiumCopy}, because the
|
|
29
|
+
* composite itself extends the framework copy's base whichever copy they use.
|
|
30
|
+
*
|
|
31
|
+
* The protected merge methods run from the constructor, so an override cannot
|
|
32
|
+
* read its own class's fields.
|
|
33
|
+
*/
|
|
34
|
+
export class CompositeAstReflection extends AbstractAstReflection {
|
|
35
|
+
types = {};
|
|
36
|
+
constructor(reflections) {
|
|
37
|
+
super();
|
|
38
|
+
const firstDefinedAt = new Map();
|
|
39
|
+
reflections.forEach((reflection, index) => {
|
|
40
|
+
assertSingleLangiumCopy(reflection, () => this.formatReflection(reflections, index));
|
|
41
|
+
for (const [type, metaData] of Object.entries(reflection.types)) {
|
|
42
|
+
const ownerIndex = firstDefinedAt.get(type);
|
|
43
|
+
if (ownerIndex === undefined) {
|
|
44
|
+
this.types[type] = metaData;
|
|
45
|
+
firstDefinedAt.set(type, index);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
this.types[type] = this.mergeTypeMetaData(this.types[type], metaData, this.formatReflection(reflections, ownerIndex), this.formatReflection(reflections, index));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
mergeTypeMetaData(known, added, knownFrom, addedFrom) {
|
|
54
|
+
const properties = {};
|
|
55
|
+
const propertyNames = new Set([...Object.keys(known.properties), ...Object.keys(added.properties)]);
|
|
56
|
+
for (const property of propertyNames) {
|
|
57
|
+
const knownProperty = known.properties[property];
|
|
58
|
+
const addedProperty = added.properties[property];
|
|
59
|
+
if (!knownProperty || !addedProperty || !this.sameProperty(knownProperty, addedProperty)) {
|
|
60
|
+
throw new Error(`[hydranium] ${knownFrom} and ${addedFrom} define the type ` +
|
|
61
|
+
`'${known.name}' differently (property '${property}'). A name the composed reflections share must ` +
|
|
62
|
+
'denote one type, so rename one of them, or have every grammar take the type unchanged from one ' +
|
|
63
|
+
'shared imported grammar.');
|
|
64
|
+
}
|
|
65
|
+
properties[property] = addedProperty.optional && !knownProperty.optional ? addedProperty : knownProperty;
|
|
66
|
+
}
|
|
67
|
+
// `Required` so a field Langium adds fails compilation until this merge decides on it.
|
|
68
|
+
const merged = {
|
|
69
|
+
name: known.name,
|
|
70
|
+
properties,
|
|
71
|
+
superTypes: [...new Set([...known.superTypes, ...added.superTypes])]
|
|
72
|
+
};
|
|
73
|
+
return merged;
|
|
74
|
+
}
|
|
75
|
+
sameProperty(left, right) {
|
|
76
|
+
return COMPARED_PROPERTY_FIELDS.every(field => JSON.stringify(left[field]) === JSON.stringify(right[field]));
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Names `reflections[index]` for the composite's errors: its position and
|
|
80
|
+
* class name. The position is needed because minified bundles and scaffolds
|
|
81
|
+
* sharing a project name leave class names that do not tell reflections
|
|
82
|
+
* apart. An override can name the package each reflection came from.
|
|
83
|
+
*/
|
|
84
|
+
formatReflection(reflections, index) {
|
|
85
|
+
return `reflections[${index}] (${reflections[index].constructor?.name ?? 'no constructor'})`;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/** How the merge treats each property field; a field Langium adds fails compilation here until decided. */
|
|
89
|
+
const PROPERTY_FIELDS = {
|
|
90
|
+
name: 'compared',
|
|
91
|
+
referenceType: 'compared',
|
|
92
|
+
defaultValue: 'compared',
|
|
93
|
+
// Older generators emit no `optional`, so its absence proves nothing.
|
|
94
|
+
optional: 'merged'
|
|
95
|
+
};
|
|
96
|
+
const COMPARED_PROPERTY_FIELDS = Object.keys(PROPERTY_FIELDS).filter(field => PROPERTY_FIELDS[field] === 'compared');
|
|
97
|
+
//# sourceMappingURL=composite-ast-reflection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composite-ast-reflection.js","sourceRoot":"","sources":["../../src/langium/composite-ast-reflection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 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 ConfigurationInitializedParams, DefaultConfigurationProvider } from '@hydranium/langium';
|
|
10
|
+
import type { ConfigurationItem, DidChangeConfigurationRegistrationOptions } from 'vscode-languageserver';
|
|
11
|
+
/**
|
|
12
|
+
* Configuration provider that asks the client about a section the first time
|
|
13
|
+
* something reads it.
|
|
14
|
+
*
|
|
15
|
+
* Langium's base requests one section per registered language, named after the
|
|
16
|
+
* language id, and never asks again. A read of any other section — including
|
|
17
|
+
* whatever `lsp.configurationRoot` is bound to — then resolves `undefined` with
|
|
18
|
+
* no request on the wire, which is indistinguishable from a setting the user has
|
|
19
|
+
* not set.
|
|
20
|
+
*
|
|
21
|
+
* Asking on first read rather than from a list collected up front: a reader
|
|
22
|
+
* names its section during DI, after `initialized` has taken its one-shot pass,
|
|
23
|
+
* so a list would have to be complete before the server initialized.
|
|
24
|
+
*/
|
|
25
|
+
export declare class HydraniumConfigurationProvider extends DefaultConfigurationProvider {
|
|
26
|
+
/**
|
|
27
|
+
* The client-facing hooks, captured because they arrive once as arguments to
|
|
28
|
+
* {@link initialized} and are needed on every later read. Absent in a
|
|
29
|
+
* headless composition, which has no connection to ask.
|
|
30
|
+
*/
|
|
31
|
+
protected registerForSection?: (params: DidChangeConfigurationRegistrationOptions) => void;
|
|
32
|
+
protected fetchSections?: (items: ConfigurationItem[]) => Promise<unknown>;
|
|
33
|
+
/**
|
|
34
|
+
* Sections already dealt with, holding the in-flight work so concurrent
|
|
35
|
+
* readers share one round trip. Entries stay after they settle: they record
|
|
36
|
+
* that the section was HANDLED, and without that an unset section is
|
|
37
|
+
* re-requested on every read, "unset" and "not fetched" being the same
|
|
38
|
+
* absence in the store.
|
|
39
|
+
*
|
|
40
|
+
* A section the client's capabilities ruled out counts as handled, having
|
|
41
|
+
* been settled by asking nothing.
|
|
42
|
+
*/
|
|
43
|
+
protected readonly requestedSections: Map<string, Promise<void>>;
|
|
44
|
+
initialized(params: ConfigurationInitializedParams): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* The `ready` await precedes the emptiness check: the base resolves it at the
|
|
47
|
+
* end of its own initial fetch, so testing the store first calls every
|
|
48
|
+
* language section missing and re-requests what is already on its way.
|
|
49
|
+
*/
|
|
50
|
+
getConfiguration(language: string, configuration: string): Promise<unknown>;
|
|
51
|
+
/** Ask about `section` once, sharing the request with any concurrent reader. */
|
|
52
|
+
protected requestSection(section: string): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* The hooks are gated on the client having declared `workspace.configuration`.
|
|
55
|
+
* A connection binds them whatever the client said, so their presence is not
|
|
56
|
+
* consent: calling them sends a `client/registerCapability` and a
|
|
57
|
+
* `workspace/configuration` to a client that advertised support for neither,
|
|
58
|
+
* which is entitled to answer either with a method-not-found and may drop the
|
|
59
|
+
* connection.
|
|
60
|
+
*
|
|
61
|
+
* That flag is exact for the fetch and KNOWINGLY coarse for the registration,
|
|
62
|
+
* which the spec governs by
|
|
63
|
+
* `workspace.didChangeConfiguration.dynamicRegistration`. The base registers
|
|
64
|
+
* under `workspace.configuration` alone before any of this runs, so gating
|
|
65
|
+
* the registration on the narrower flag here would withhold a request whose
|
|
66
|
+
* twin has already gone out, sparing the client nothing. A client declaring
|
|
67
|
+
* `workspace.configuration` without dynamic registration is still registered
|
|
68
|
+
* for, by the base and by this; closing that means changing the base's pass,
|
|
69
|
+
* not this gate.
|
|
70
|
+
*
|
|
71
|
+
* Registering before fetching, so an edit landing between the two arrives as
|
|
72
|
+
* a notification instead of being lost; the reverse order drops it.
|
|
73
|
+
*
|
|
74
|
+
* A `null` result is left out of the store rather than written, so the
|
|
75
|
+
* section reads as unset, and no `onConfigurationSectionUpdate` fires — the
|
|
76
|
+
* value goes to the caller that asked for it, and an event would announce a
|
|
77
|
+
* change that is only this provider catching up.
|
|
78
|
+
*/
|
|
79
|
+
protected doRequestSection(section: string): Promise<void>;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=configuration-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration-provider.d.ts","sourceRoot":"","sources":["../../../src/langium/config/configuration-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,8BAA8B,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AACvG,OAAO,KAAK,EAAE,iBAAiB,EAAE,yCAAyC,EAAE,MAAM,uBAAuB,CAAC;AAE1G;;;;;;;;;;;;;GAaG;AACH,qBAAa,8BAA+B,SAAQ,4BAA4B;IAC7E;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,yCAAyC,KAAK,IAAI,CAAC;IAC3F,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3E;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,6BAAoC;IAEzD,WAAW,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhF;IAED;;;;OAIG;IACY,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOzF;IAED,gFAAgF;IAChF,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQvD;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,UAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa/D;CACH"}
|