@hydranium/core 1.0.0-next.4 → 1.0.0-next.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/lib/documents/ast-document-manager.d.ts +42 -5
  2. package/lib/documents/ast-document-manager.d.ts.map +1 -1
  3. package/lib/documents/ast-document-manager.js +9 -12
  4. package/lib/documents/ast-document-manager.js.map +1 -1
  5. package/lib/documents/hydranium-text-documents.d.ts.map +1 -1
  6. package/lib/documents/hydranium-text-documents.js +41 -9
  7. package/lib/documents/hydranium-text-documents.js.map +1 -1
  8. package/lib/documents/language-client-text-shadow.d.ts +24 -1
  9. package/lib/documents/language-client-text-shadow.d.ts.map +1 -1
  10. package/lib/documents/language-client-text-shadow.js +36 -2
  11. package/lib/documents/language-client-text-shadow.js.map +1 -1
  12. package/lib/documents/self-save-registry.d.ts +37 -6
  13. package/lib/documents/self-save-registry.d.ts.map +1 -1
  14. package/lib/documents/self-save-registry.js +28 -15
  15. package/lib/documents/self-save-registry.js.map +1 -1
  16. package/lib/index.d.ts +2 -0
  17. package/lib/index.d.ts.map +1 -1
  18. package/lib/index.js +5 -0
  19. package/lib/index.js.map +1 -1
  20. package/lib/langium/ast-extension/ast-node-builder.d.ts +32 -9
  21. package/lib/langium/ast-extension/ast-node-builder.d.ts.map +1 -1
  22. package/lib/langium/ast-extension/ast-node-builder.js +60 -22
  23. package/lib/langium/ast-extension/ast-node-builder.js.map +1 -1
  24. package/lib/langium/bootstrap.d.ts.map +1 -1
  25. package/lib/langium/bootstrap.js +16 -9
  26. package/lib/langium/bootstrap.js.map +1 -1
  27. package/lib/langium/document-builder/build-pipeline-integration.d.ts +13 -1
  28. package/lib/langium/document-builder/build-pipeline-integration.d.ts.map +1 -1
  29. package/lib/langium/document-builder/build-pipeline-integration.js +1 -1
  30. package/lib/langium/document-builder/build-pipeline-integration.js.map +1 -1
  31. package/lib/langium/document-builder/build-session.d.ts +93 -0
  32. package/lib/langium/document-builder/build-session.d.ts.map +1 -0
  33. package/lib/langium/document-builder/build-session.js +72 -0
  34. package/lib/langium/document-builder/build-session.js.map +1 -0
  35. package/lib/langium/document-builder/document-builder.d.ts +150 -7
  36. package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
  37. package/lib/langium/document-builder/document-builder.js +298 -11
  38. package/lib/langium/document-builder/document-builder.js.map +1 -1
  39. package/lib/langium/document-builder/index.d.ts +1 -0
  40. package/lib/langium/document-builder/index.d.ts.map +1 -1
  41. package/lib/langium/document-builder/index.js +1 -0
  42. package/lib/langium/document-builder/index.js.map +1 -1
  43. package/lib/langium/integration-services.d.ts +45 -1
  44. package/lib/langium/integration-services.d.ts.map +1 -1
  45. package/lib/langium/integration-services.js +10 -5
  46. package/lib/langium/integration-services.js.map +1 -1
  47. package/lib/langium/integrity/integrity-service.d.ts +5 -0
  48. package/lib/langium/integrity/integrity-service.d.ts.map +1 -1
  49. package/lib/langium/integrity/integrity-service.js +34 -1
  50. package/lib/langium/integrity/integrity-service.js.map +1 -1
  51. package/lib/langium/keys/containment.d.ts +64 -0
  52. package/lib/langium/keys/containment.d.ts.map +1 -0
  53. package/lib/langium/keys/containment.js +53 -0
  54. package/lib/langium/keys/containment.js.map +1 -0
  55. package/lib/langium/keys/index.d.ts +1 -0
  56. package/lib/langium/keys/index.d.ts.map +1 -1
  57. package/lib/langium/keys/index.js +1 -0
  58. package/lib/langium/keys/index.js.map +1 -1
  59. package/lib/langium/keys/name-based-key-provider.d.ts +4 -0
  60. package/lib/langium/keys/name-based-key-provider.d.ts.map +1 -1
  61. package/lib/langium/keys/name-based-key-provider.js +4 -0
  62. package/lib/langium/keys/name-based-key-provider.js.map +1 -1
  63. package/lib/langium/model-service/model-service.d.ts +103 -7
  64. package/lib/langium/model-service/model-service.d.ts.map +1 -1
  65. package/lib/langium/model-service/model-service.js +70 -89
  66. package/lib/langium/model-service/model-service.js.map +1 -1
  67. package/lib/langium/module.d.ts +82 -13
  68. package/lib/langium/module.d.ts.map +1 -1
  69. package/lib/langium/module.js +21 -12
  70. package/lib/langium/module.js.map +1 -1
  71. package/lib/langium/naming/name-provider.d.ts +10 -0
  72. package/lib/langium/naming/name-provider.d.ts.map +1 -1
  73. package/lib/langium/naming/name-provider.js.map +1 -1
  74. package/lib/langium/naming/name-separator-validation.d.ts +23 -0
  75. package/lib/langium/naming/name-separator-validation.d.ts.map +1 -1
  76. package/lib/langium/naming/name-separator-validation.js +30 -1
  77. package/lib/langium/naming/name-separator-validation.js.map +1 -1
  78. package/lib/langium/residency/cst-residency-service.d.ts +31 -9
  79. package/lib/langium/residency/cst-residency-service.d.ts.map +1 -1
  80. package/lib/langium/residency/cst-residency-service.js +13 -56
  81. package/lib/langium/residency/cst-residency-service.js.map +1 -1
  82. package/lib/langium/scope/hydranium-scope-provider.d.ts +32 -13
  83. package/lib/langium/scope/hydranium-scope-provider.d.ts.map +1 -1
  84. package/lib/langium/scope/hydranium-scope-provider.js +37 -20
  85. package/lib/langium/scope/hydranium-scope-provider.js.map +1 -1
  86. package/lib/langium/shared-services.d.ts +15 -2
  87. package/lib/langium/shared-services.d.ts.map +1 -1
  88. package/lib/langium/shared-services.js.map +1 -1
  89. package/lib/langium/transfer/transfer-encoder.d.ts +33 -2
  90. package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -1
  91. package/lib/langium/transfer/transfer-encoder.js +14 -3
  92. package/lib/langium/transfer/transfer-encoder.js.map +1 -1
  93. package/lib/langium/validation/document-validator.d.ts +145 -6
  94. package/lib/langium/validation/document-validator.d.ts.map +1 -1
  95. package/lib/langium/validation/document-validator.js +211 -4
  96. package/lib/langium/validation/document-validator.js.map +1 -1
  97. package/lib/langium/workspace/document-uri-policy.d.ts +3 -4
  98. package/lib/langium/workspace/document-uri-policy.d.ts.map +1 -1
  99. package/lib/langium/workspace/document-uri-policy.js +3 -4
  100. package/lib/langium/workspace/document-uri-policy.js.map +1 -1
  101. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts +25 -0
  102. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts.map +1 -1
  103. package/lib/langium/workspace/hydranium-langium-document-factory.js +25 -0
  104. package/lib/langium/workspace/hydranium-langium-document-factory.js.map +1 -1
  105. package/lib/langium/workspace/hydranium-workspace-manager.d.ts +21 -1
  106. package/lib/langium/workspace/hydranium-workspace-manager.d.ts.map +1 -1
  107. package/lib/langium/workspace/hydranium-workspace-manager.js +28 -0
  108. package/lib/langium/workspace/hydranium-workspace-manager.js.map +1 -1
  109. package/lib/langium/workspace/in-memory-file-system-provider.d.ts +8 -0
  110. package/lib/langium/workspace/in-memory-file-system-provider.d.ts.map +1 -1
  111. package/lib/langium/workspace/in-memory-file-system-provider.js +11 -2
  112. package/lib/langium/workspace/in-memory-file-system-provider.js.map +1 -1
  113. package/lib/langium/workspace/initialize-workspace.d.ts +22 -2
  114. package/lib/langium/workspace/initialize-workspace.d.ts.map +1 -1
  115. package/lib/langium/workspace/initialize-workspace.js +13 -5
  116. package/lib/langium/workspace/initialize-workspace.js.map +1 -1
  117. package/lib/langium/workspace/langium-documents.d.ts +79 -17
  118. package/lib/langium/workspace/langium-documents.d.ts.map +1 -1
  119. package/lib/langium/workspace/langium-documents.js +83 -28
  120. package/lib/langium/workspace/langium-documents.js.map +1 -1
  121. package/lib/locale/index.d.ts +10 -0
  122. package/lib/locale/index.d.ts.map +1 -0
  123. package/lib/locale/index.js +10 -0
  124. package/lib/locale/index.js.map +1 -0
  125. package/lib/locale/server-locale.d.ts +73 -0
  126. package/lib/locale/server-locale.d.ts.map +1 -0
  127. package/lib/locale/server-locale.js +61 -0
  128. package/lib/locale/server-locale.js.map +1 -0
  129. package/lib/lsp/hydranium-document-update-handler.js +1 -1
  130. package/lib/lsp/hydranium-document-update-handler.js.map +1 -1
  131. package/lib/messages/carriers.d.ts +54 -0
  132. package/lib/messages/carriers.d.ts.map +1 -0
  133. package/lib/messages/carriers.js +62 -0
  134. package/lib/messages/carriers.js.map +1 -0
  135. package/lib/messages/index.d.ts +25 -0
  136. package/lib/messages/index.d.ts.map +1 -0
  137. package/lib/messages/index.js +25 -0
  138. package/lib/messages/index.js.map +1 -0
  139. package/lib/messages/renderer.d.ts +136 -0
  140. package/lib/messages/renderer.d.ts.map +1 -0
  141. package/lib/messages/renderer.js +159 -0
  142. package/lib/messages/renderer.js.map +1 -0
  143. package/lib/node/node-file-system-provider.d.ts.map +1 -1
  144. package/lib/node/node-file-system-provider.js +1 -40
  145. package/lib/node/node-file-system-provider.js.map +1 -1
  146. package/lib/node/rename-over-open-readers.d.ts +52 -0
  147. package/lib/node/rename-over-open-readers.d.ts.map +1 -0
  148. package/lib/node/rename-over-open-readers.js +66 -0
  149. package/lib/node/rename-over-open-readers.js.map +1 -0
  150. package/lib/testing/fake-document.d.ts +14 -3
  151. package/lib/testing/fake-document.d.ts.map +1 -1
  152. package/lib/testing/fake-document.js +18 -3
  153. package/lib/testing/fake-document.js.map +1 -1
  154. package/lib/testing/make-noop-shared-services.d.ts +14 -0
  155. package/lib/testing/make-noop-shared-services.d.ts.map +1 -1
  156. package/lib/testing/make-noop-shared-services.js +28 -2
  157. package/lib/testing/make-noop-shared-services.js.map +1 -1
  158. package/lib/testing/make-test-services.d.ts +31 -4
  159. package/lib/testing/make-test-services.d.ts.map +1 -1
  160. package/lib/testing/make-test-services.js +19 -3
  161. package/lib/testing/make-test-services.js.map +1 -1
  162. package/lib/testing/playwright/server-log-capture.d.ts +14 -4
  163. package/lib/testing/playwright/server-log-capture.d.ts.map +1 -1
  164. package/lib/testing/playwright/server-log-capture.js +21 -4
  165. package/lib/testing/playwright/server-log-capture.js.map +1 -1
  166. package/lib/testing/playwright/server-log-rename-reporter.d.ts.map +1 -1
  167. package/lib/testing/playwright/server-log-rename-reporter.js +10 -1
  168. package/lib/testing/playwright/server-log-rename-reporter.js.map +1 -1
  169. package/lib/testing/stub-ast-document-manager.d.ts +3 -4
  170. package/lib/testing/stub-ast-document-manager.d.ts.map +1 -1
  171. package/lib/testing/stub-ast-document-manager.js +2 -5
  172. package/lib/testing/stub-ast-document-manager.js.map +1 -1
  173. package/lib/testing/stub-document-builder.d.ts +8 -0
  174. package/lib/testing/stub-document-builder.d.ts.map +1 -1
  175. package/lib/testing/stub-document-builder.js +22 -3
  176. package/lib/testing/stub-document-builder.js.map +1 -1
  177. package/lib/testing/stub-model-service.d.ts +1 -1
  178. package/lib/testing/stub-model-service.d.ts.map +1 -1
  179. package/lib/testing/stub-model-service.js +2 -2
  180. package/lib/testing/stub-model-service.js.map +1 -1
  181. package/package.json +17 -8
  182. package/src/documents/ast-document-manager.ts +55 -14
  183. package/src/documents/hydranium-text-documents.ts +41 -9
  184. package/src/documents/language-client-text-shadow.ts +38 -2
  185. package/src/documents/self-save-registry.ts +52 -13
  186. package/src/index.ts +5 -0
  187. package/src/langium/ast-extension/ast-node-builder.ts +66 -22
  188. package/src/langium/bootstrap.ts +16 -9
  189. package/src/langium/document-builder/build-pipeline-integration.ts +14 -1
  190. package/src/langium/document-builder/build-session.ts +87 -0
  191. package/src/langium/document-builder/document-builder.ts +339 -11
  192. package/src/langium/document-builder/index.ts +1 -0
  193. package/src/langium/integration-services.ts +67 -6
  194. package/src/langium/integrity/integrity-service.ts +35 -1
  195. package/src/langium/keys/containment.ts +87 -0
  196. package/src/langium/keys/index.ts +1 -0
  197. package/src/langium/keys/name-based-key-provider.ts +4 -0
  198. package/src/langium/model-service/model-service.ts +145 -22
  199. package/src/langium/module.ts +99 -19
  200. package/src/langium/naming/name-provider.ts +10 -0
  201. package/src/langium/naming/name-separator-validation.ts +34 -5
  202. package/src/langium/residency/cst-residency-service.ts +36 -12
  203. package/src/langium/scope/hydranium-scope-provider.ts +40 -22
  204. package/src/langium/shared-services.ts +19 -2
  205. package/src/langium/transfer/transfer-encoder.ts +45 -3
  206. package/src/langium/validation/document-validator.ts +255 -8
  207. package/src/langium/workspace/document-uri-policy.ts +3 -4
  208. package/src/langium/workspace/hydranium-langium-document-factory.ts +34 -0
  209. package/src/langium/workspace/hydranium-workspace-manager.ts +30 -1
  210. package/src/langium/workspace/in-memory-file-system-provider.ts +13 -3
  211. package/src/langium/workspace/initialize-workspace.ts +34 -5
  212. package/src/langium/workspace/langium-documents.ts +106 -33
  213. package/src/locale/index.ts +10 -0
  214. package/src/locale/server-locale.ts +86 -0
  215. package/src/lsp/hydranium-document-update-handler.ts +1 -1
  216. package/src/messages/carriers.ts +78 -0
  217. package/src/messages/index.ts +27 -0
  218. package/src/messages/renderer.ts +204 -0
  219. package/src/node/node-file-system-provider.ts +1 -41
  220. package/src/node/rename-over-open-readers.ts +78 -0
  221. package/src/testing/fake-document.ts +22 -4
  222. package/src/testing/make-noop-shared-services.ts +50 -2
  223. package/src/testing/make-test-services.ts +49 -7
  224. package/src/testing/playwright/server-log-capture.ts +24 -5
  225. package/src/testing/playwright/server-log-rename-reporter.ts +12 -1
  226. package/src/testing/stub-ast-document-manager.ts +5 -10
  227. package/src/testing/stub-document-builder.ts +32 -3
  228. package/src/testing/stub-model-service.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"server-log-capture.js","sourceRoot":"","sources":["../../../src/testing/playwright/server-log-capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-log-capture.js","sourceRoot":"","sources":["../../../src/testing/playwright/server-log-capture.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server-log-rename-reporter.d.ts","sourceRoot":"","sources":["../../../src/testing/playwright/server-log-rename-reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAoB,KAAK,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEhG;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAuB;IACzC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBAEnB,OAAO,EAAE,8BAA8B;IAInD,KAAK,IAAI,IAAI;CAGf"}
1
+ {"version":3,"file":"server-log-rename-reporter.d.ts","sourceRoot":"","sources":["../../../src/testing/playwright/server-log-rename-reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAoB,KAAK,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEhG;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAuB;IACzC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBAEnB,OAAO,EAAE,8BAA8B;IAInD,KAAK,IAAI,IAAI;CAcf"}
@@ -20,7 +20,16 @@ export default class ServerLogRenameReporter {
20
20
  this.dir = options.dir;
21
21
  }
22
22
  onEnd() {
23
- renameServerLogs(this.dir);
23
+ const unattributed = renameServerLogs(this.dir);
24
+ if (unattributed.length > 0) {
25
+ // Loud, because the alternative is a capture run that reads as
26
+ // complete: these logs exist and have content, but are named by an
27
+ // opaque workspace token and carry no test boundaries, so nothing
28
+ // about them says which spec they belong to.
29
+ console.warn(`[server-log] ${unattributed.length} captured log(s) belong to no test: ${unattributed.join(', ')}.\n` +
30
+ '[server-log] Those specs never marked a boundary — apply the `serverLog` fixture, ' +
31
+ 'or call `markServerLog`/`attachServerLog` from the suite, or their logs cannot be read per test.');
32
+ }
24
33
  }
25
34
  }
26
35
  //# sourceMappingURL=server-log-rename-reporter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-log-rename-reporter.js","sourceRoot":"","sources":["../../../src/testing/playwright/server-log-rename-reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,gBAAgB,EAAuC,MAAM,yBAAyB,CAAC;AAEhG;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAuB;IACtB,GAAG,CAAS;IAE/B,YAAY,OAAuC;QAChD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAC1B,CAAC;IAED,KAAK;QACF,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACH"}
1
+ {"version":3,"file":"server-log-rename-reporter.js","sourceRoot":"","sources":["../../../src/testing/playwright/server-log-rename-reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,gBAAgB,EAAuC,MAAM,yBAAyB,CAAC;AAEhG;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAuB;IACtB,GAAG,CAAS;IAE/B,YAAY,OAAuC;QAChD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAC1B,CAAC;IAED,KAAK;QACF,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,+DAA+D;YAC/D,mEAAmE;YACnE,kEAAkE;YAClE,6CAA6C;YAC7C,OAAO,CAAC,IAAI,CACT,gBAAgB,YAAY,CAAC,MAAM,uCAAuC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;gBACnG,oFAAoF;gBACpF,kGAAkG,CACvG,CAAC;QACL,CAAC;IACJ,CAAC;CACH"}
@@ -18,9 +18,8 @@ import type { StubLangiumDocuments } from './stub-langium-documents.js';
18
18
  * underlying stub text-document manager, `onUpdate` is driven explicitly
19
19
  * through {@link StubAstDocumentManager.emitUpdate} because the stub tree runs
20
20
  * no build phases to emit from, and the remaining read helpers
21
- * (`isDirectChange`, `getAuthor`, `readFile`) throw if invoked — tests that
22
- * need them should wire a richer stub or use the real
23
- * {@link AstDocumentManager}.
21
+ * (`isTriggeringEdit`, `getAuthor`) throw if invoked — tests that need them
22
+ * should wire a richer stub or use the real {@link AstDocumentManager}.
24
23
  *
25
24
  * Open state is tracked per URI as the set of holding client ids, so a
26
25
  * document stays open until its last client closes. The stub forwards
@@ -36,7 +35,7 @@ import type { StubLangiumDocuments } from './stub-langium-documents.js';
36
35
  * are still picked so signature drift on them produces a compile
37
36
  * error rather than silent divergence.
38
37
  */
39
- export interface StubAstDocumentManager<TAst extends AstNode, TDiagnostic = unknown> extends Pick<AstDocumentManager<TAst, TDiagnostic>, 'open' | 'close' | 'isOpen' | 'update' | 'save' | 'onUpdate' | 'onSave' | 'onClientClosed' | 'getAuthor' | 'getDocument' | 'isDirectChange' | 'readFile'> {
38
+ export interface StubAstDocumentManager<TAst extends AstNode, TDiagnostic = unknown> extends Pick<AstDocumentManager<TAst, TDiagnostic>, 'open' | 'close' | 'isOpen' | 'update' | 'save' | 'onUpdate' | 'onSave' | 'onClientClosed' | 'getAuthor' | 'getDocument' | 'isTriggeringEdit'> {
40
39
  readonly openClients: Map<string, Set<string>>;
41
40
  /**
42
41
  * Deliver an update event to every live {@link StubAstDocumentManager.onUpdate}
@@ -1 +1 @@
1
- {"version":3,"file":"stub-ast-document-manager.d.ts","sourceRoot":"","sources":["../../src/testing/stub-ast-document-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,OAAO,EAAkC,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAEJ,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EACjC,MAAM,sCAAsC,CAAC;AAE9C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,sBAAsB,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,GAAG,OAAO,CAAE,SAAQ,IAAI,CAC9F,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,EACnC,MAAM,GACN,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,UAAU,GACV,QAAQ,GACR,gBAAgB,GAChB,WAAW,GACX,aAAa,GACb,gBAAgB,GAChB,UAAU,CACd;IACE,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC;IAEnF;;;;;;OAMG;IACH,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C;AAED,wBAAgB,0BAA0B,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,GAAG,OAAO,EACnF,aAAa,EAAE,0BAA0B,EACzC,UAAU,EAAE,IAAI,CAAC,0BAA0B,EAAE,WAAW,CAAC,EACzD,SAAS,CAAC,EAAE,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,GACnD,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAiH3C"}
1
+ {"version":3,"file":"stub-ast-document-manager.d.ts","sourceRoot":"","sources":["../../src/testing/stub-ast-document-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,OAAO,EAAkC,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAEJ,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EACjC,MAAM,sCAAsC,CAAC;AAE9C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,sBAAsB,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,GAAG,OAAO,CAAE,SAAQ,IAAI,CAC9F,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,EACnC,MAAM,GACN,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,UAAU,GACV,QAAQ,GACR,gBAAgB,GAChB,WAAW,GACX,aAAa,GACb,kBAAkB,CACtB;IACE,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC;IAEnF;;;;;;OAMG;IACH,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C;AAED,wBAAgB,0BAA0B,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,GAAG,OAAO,EACnF,aAAa,EAAE,0BAA0B,EACzC,UAAU,EAAE,IAAI,CAAC,0BAA0B,EAAE,WAAW,CAAC,EACzD,SAAS,CAAC,EAAE,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,GACnD,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CA8G3C"}
@@ -114,11 +114,8 @@ export function makeStubAstDocumentManager(textDocuments, fileSystem, documents)
114
114
  getDocument(uri) {
115
115
  return documents?.getDocument(UriUtils.toUri(uri));
116
116
  },
117
- isDirectChange() {
118
- return notSupported('isDirectChange');
119
- },
120
- async readFile(uri) {
121
- return notSupported(`readFile(${uri})`);
117
+ isTriggeringEdit() {
118
+ return notSupported('isTriggeringEdit');
122
119
  }
123
120
  };
124
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stub-ast-document-manager.js","sourceRoot":"","sources":["../../src/testing/stub-ast-document-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stub-ast-document-manager.js","sourceRoot":"","sources":["../../src/testing/stub-ast-document-manager.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,14 @@ export interface StubDocumentBuilder extends Pick<DocumentBuilder, 'update' | 'o
80
80
  firePhase(state: DocumentState, document: LangiumDocument, cancelToken?: CancellationToken): void;
81
81
  /** Synchronously fire every registered `onUpdate` listener. */
82
82
  fireOnUpdate(changed: URI[], deleted: URI[]): void;
83
+ /**
84
+ * Synchronously fire the BUILD-phase listener(s) for `state` with the whole
85
+ * batch. The per-build counterpart of {@link firePhase}: a subject that
86
+ * reports once per build rather than once per document subscribes here, and
87
+ * a stub that only fired {@link firePhase} would leave it silent while
88
+ * looking wired.
89
+ */
90
+ fireBuildPhase(state: DocumentState, built: LangiumDocument[], cancelToken?: CancellationToken): void;
83
91
  /**
84
92
  * Hold the next {@link waitUntil} call. The returned handle releases it;
85
93
  * the call's return value resolves on the next tick after `resolve` runs.
@@ -1 +1 @@
1
- {"version":3,"file":"stub-document-builder.d.ts","sourceRoot":"","sources":["../../src/testing/stub-document-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,eAAe,EAEpB,KAAK,aAAa,EAElB,KAAK,eAAe,EACpB,KAAK,GAAG,EACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAc,MAAM,uBAAuB,CAAC;AAE3E,iEAAiE;AACjE,MAAM,WAAW,mBAAmB,CAAC,KAAK,SAAS,OAAO,EAAE;IACzD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAC/B;;;;;;;OAOG;IACH,OAAO,IAAI,IAAI,CAAC;IAChB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAC9C,eAAe,EACf,QAAQ,GAAG,iBAAiB,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,GAAG,cAAc,CACvF;IACE;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IACrE,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,aAAa,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9F;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClG,+DAA+D;IAC/D,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACnD;;;OAGG;IACH,iBAAiB,IAAI,iBAAiB,CAAC;IACvC,2EAA2E;IAC3E,KAAK,IAAI,IAAI,CAAC;CAChB;AAqBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,mBAAmB,CA8G7D"}
1
+ {"version":3,"file":"stub-document-builder.d.ts","sourceRoot":"","sources":["../../src/testing/stub-document-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,eAAe,EAGpB,KAAK,aAAa,EAElB,KAAK,eAAe,EACpB,KAAK,GAAG,EACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAc,MAAM,uBAAuB,CAAC;AAE3E,iEAAiE;AACjE,MAAM,WAAW,mBAAmB,CAAC,KAAK,SAAS,OAAO,EAAE;IACzD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAC/B;;;;;;;OAOG;IACH,OAAO,IAAI,IAAI,CAAC;IAChB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAC9C,eAAe,EACf,QAAQ,GAAG,iBAAiB,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,GAAG,cAAc,CACvF;IACE;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IACrE,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,aAAa,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9F;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClG,+DAA+D;IAC/D,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACnD;;;;;;OAMG;IACH,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtG;;;OAGG;IACH,iBAAiB,IAAI,iBAAiB,CAAC;IACvC,2EAA2E;IAC3E,KAAK,IAAI,IAAI,CAAC;CAChB;AAqBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,mBAAmB,CAkI7D"}
@@ -34,6 +34,7 @@ function reraise(result) {
34
34
  */
35
35
  export function makeStubDocumentBuilder() {
36
36
  const phaseListeners = new Map();
37
+ const buildPhaseListeners = new Map();
37
38
  const onUpdateListeners = [];
38
39
  const gates = [];
39
40
  const updateCalls = [];
@@ -95,6 +96,27 @@ export function makeStubDocumentBuilder() {
95
96
  reraise(listener(changed, deleted));
96
97
  }
97
98
  },
99
+ onBuildPhase(state, listener) {
100
+ const list = buildPhaseListeners.get(state) ?? [];
101
+ list.push(listener);
102
+ buildPhaseListeners.set(state, list);
103
+ return Disposable.create(() => {
104
+ const idx = list.indexOf(listener);
105
+ if (idx >= 0) {
106
+ list.splice(idx, 1);
107
+ }
108
+ });
109
+ },
110
+ fireBuildPhase(state, built, cancelToken) {
111
+ const token = cancelToken ??
112
+ {
113
+ isCancellationRequested: false,
114
+ onCancellationRequested: () => Disposable.create(() => undefined)
115
+ };
116
+ for (const listener of buildPhaseListeners.get(state) ?? []) {
117
+ reraise(listener(built, token));
118
+ }
119
+ },
98
120
  gateNextWaitUntil() {
99
121
  let release;
100
122
  const entry = {
@@ -123,9 +145,6 @@ export function makeStubDocumentBuilder() {
123
145
  build() {
124
146
  return notSupported('build');
125
147
  },
126
- onBuildPhase() {
127
- return notSupported('onBuildPhase');
128
- },
129
148
  resetToState() {
130
149
  return notSupported('resetToState');
131
150
  },
@@ -1 +1 @@
1
- {"version":3,"file":"stub-document-builder.js","sourceRoot":"","sources":["../../src/testing/stub-document-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAUlF,OAAO,EAA0B,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAwF3E;;;;;;;;;;GAUG;AACH,SAAS,OAAO,CAAC,MAAe;IAC7B,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACnD,cAAc,CAAC,GAAG,EAAE;YACjB,MAAM,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB;IACpC,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0C,CAAC;IACzE,MAAM,iBAAiB,GAA6B,EAAE,CAAC;IACvD,MAAM,KAAK,GAA+C,EAAE,CAAC;IAC7D,MAAM,WAAW,GAA0C,EAAE,CAAC;IAC9D,MAAM,cAAc,GAA4D,EAAE,CAAC;IAEnF,MAAM,YAAY,GAAG,CAAC,MAAc,EAAS,EAAE;QAC5C,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,yEAAyE,CAAC,CAAC;IAC3H,CAAC,CAAC;IACF,MAAM,IAAI,GAAwB;QAC/B,IAAI,WAAW;YACZ,OAAO,WAAW,CAAC;QACtB,CAAC;QACD,IAAI,cAAc;YACf,OAAO,cAAc,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,OAAc,EAAE,OAAc;YACxC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,KAAoB,EAAE,GAAS;YAC5C,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,IAAI,EAAE,CAAC;gBACR,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,GAAG,CAAC;QACd,CAAC;QACD,eAAe,CAAC,KAAoB,EAAE,QAA+B;YAClE,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpB,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAChC,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;oBACZ,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACvB,CAAC;YACJ,CAAC,CAAC,CAAC;QACN,CAAC;QACD,QAAQ,CAAC,QAAgC;YACtC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE;gBAC3B,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;oBACZ,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACpC,CAAC;YACJ,CAAC,CAAC,CAAC;QACN,CAAC;QACD,SAAS,CAAC,KAAoB,EAAE,QAAyB,EAAE,WAA+B;YACvF,MAAM,KAAK,GACR,WAAW;gBACV;oBACE,uBAAuB,EAAE,KAAK;oBAC9B,uBAAuB,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;iBAC7C,CAAC;YAC3B,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YACtC,CAAC;QACJ,CAAC;QACD,YAAY,CAAC,OAAc,EAAE,OAAc;YACxC,KAAK,MAAM,QAAQ,IAAI,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;gBAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACvC,CAAC;QACJ,CAAC;QACD,iBAAiB;YACd,IAAI,OAAiC,CAAC;YACtC,MAAM,KAAK,GAAG;gBACX,IAAI,CAAC,OAAmB;oBACrB,OAAO,GAAG,OAAO,CAAC;gBACrB,CAAC;aACH,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;gBACJ,IAAI,QAAQ;oBACT,OAAO,OAAO,KAAK,SAAS,CAAC;gBAChC,CAAC;gBACD,OAAO;oBACJ,IAAI,CAAC,OAAO,EAAE,CAAC;wBACZ,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBACpC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;4BACf,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;wBAC3B,CAAC;wBACD,MAAM,IAAI,KAAK,CACZ,6FAA6F;4BAC1F,wGAAwG,CAC7G,CAAC;oBACL,CAAC;oBACD,OAAO,EAAE,CAAC;gBACb,CAAC;aACH,CAAC;QACL,CAAC;QACD,KAAK;YACF,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QACD,YAAY;YACT,OAAO,YAAY,CAAC,cAAc,CAAC,CAAC;QACvC,CAAC;QACD,YAAY;YACT,OAAO,YAAY,CAAC,cAAc,CAAC,CAAC;QACvC,CAAC;QACD,KAAK;YACF,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACjB,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YACvB,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,CAAC;KACH,CAAC;IACF,OAAO,IAAI,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"stub-document-builder.js","sourceRoot":"","sources":["../../src/testing/stub-document-builder.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  ********************************************************************************/
9
9
  import type { TransferDiagnostic, TransferElement } from '@hydranium/protocol';
10
10
  import type { AstNode } from '@hydranium/langium';
11
- import { ModelService, type ModelServiceOptions } from '../langium/model-service/model-service.js';
11
+ import { type ModelService, type ModelServiceOptions } from '../langium/model-service/model-service.js';
12
12
  import type { ServerSharedServices } from '../langium/module.js';
13
13
  /** The type of the model-service test double produced by {@link makeStubModelService}. */
14
14
  export type StubModelService<TAst extends AstNode, TDiagnostic extends TransferDiagnostic = TransferDiagnostic, TTransfer extends TransferElement = TransferElement> = ModelService<TAst, TDiagnostic, TTransfer>;
@@ -1 +1 @@
1
- {"version":3,"file":"stub-model-service.d.ts","sourceRoot":"","sources":["../../src/testing/stub-model-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA2BjE,0FAA0F;AAC1F,MAAM,MAAM,gBAAgB,CACzB,IAAI,SAAS,OAAO,EACpB,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,SAAS,SAAS,eAAe,GAAG,eAAe,IAClD,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAE/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CACjC,IAAI,SAAS,OAAO,EACpB,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,SAAS,SAAS,eAAe,GAAG,eAAe,EAEnD,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,MAAM,EACnD,OAAO,CAAC,EAAE,mBAAmB,GAC7B,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAEhD"}
1
+ {"version":3,"file":"stub-model-service.d.ts","sourceRoot":"","sources":["../../src/testing/stub-model-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAuB,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAC7H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA2BjE,0FAA0F;AAC1F,MAAM,MAAM,gBAAgB,CACzB,IAAI,SAAS,OAAO,EACpB,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,SAAS,SAAS,eAAe,GAAG,eAAe,IAClD,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAE/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CACjC,IAAI,SAAS,OAAO,EACpB,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,SAAS,SAAS,eAAe,GAAG,eAAe,EAEnD,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,MAAM,EACnD,OAAO,CAAC,EAAE,mBAAmB,GAC7B,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAEhD"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import { ModelService } from '../langium/model-service/model-service.js';
9
+ import { DefaultModelService } from '../langium/model-service/model-service.js';
10
10
  /**
11
11
  * Implementation detail of {@link makeStubModelService}. A {@link ModelService}
12
12
  * subclass that takes `serialize` as a constructor callback — the test stub
@@ -14,7 +14,7 @@ import { ModelService } from '../langium/model-service/model-service.js';
14
14
  * path would fail. Construct it through the factory; the {@link StubModelService}
15
15
  * type alias is the public type name.
16
16
  */
17
- class StubModelServiceImpl extends ModelService {
17
+ class StubModelServiceImpl extends DefaultModelService {
18
18
  serializeFn;
19
19
  constructor(services, serializeFn, options) {
20
20
  super(services, options);
@@ -1 +1 @@
1
- {"version":3,"file":"stub-model-service.js","sourceRoot":"","sources":["../../src/testing/stub-model-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF,OAAO,EAAE,YAAY,EAA4B,MAAM,2CAA2C,CAAC;AAGnG;;;;;;GAMG;AACH,MAAM,oBAIJ,SAAQ,YAA0C;IAG3B;IAFtB,YACG,QAA8B,EACX,WAAqD,EACxE,OAA6B;QAE7B,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAHN,gBAAW,GAAX,WAAW,CAA0C;IAI3E,CAAC;IAEkB,SAAS,CAAC,GAAW,EAAE,IAAe;QACtD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;CACH;AASD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAKjC,QAA8B,EAC9B,SAAmD,EACnD,OAA6B;IAE7B,OAAO,IAAI,oBAAoB,CAA+B,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC/F,CAAC"}
1
+ {"version":3,"file":"stub-model-service.js","sourceRoot":"","sources":["../../src/testing/stub-model-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF,OAAO,EAAE,mBAAmB,EAA+C,MAAM,2CAA2C,CAAC;AAG7H;;;;;;GAMG;AACH,MAAM,oBAIJ,SAAQ,mBAAiD;IAGlC;IAFtB,YACG,QAA8B,EACX,WAAqD,EACxE,OAA6B;QAE7B,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAHN,gBAAW,GAAX,WAAW,CAA0C;IAI3E,CAAC;IAEkB,SAAS,CAAC,GAAW,EAAE,IAAe;QACtD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;CACH;AASD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAKjC,QAA8B,EAC9B,SAAmD,EACnD,OAA6B;IAE7B,OAAO,IAAI,oBAAoB,CAA+B,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC/F,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hydranium/core",
3
- "version": "1.0.0-next.4",
3
+ "version": "1.0.0-next.42",
4
4
  "description": "Foundational runtime of the hydranium framework: AST coordination layer (services, integrity, AST extension, serialization, multi-client documents) plus the LSP textual head at the /lsp subpath. Consumed by protocol-head packages (@hydranium/data-server, @hydranium/glsp-server).",
5
5
  "keywords": [
6
6
  "hydranium",
@@ -72,6 +72,14 @@
72
72
  "./lib/testing/playwright": {
73
73
  "types": "./lib/testing/playwright/index.d.ts",
74
74
  "default": "./lib/testing/playwright/index.js"
75
+ },
76
+ "./messages": {
77
+ "types": "./lib/messages/index.d.ts",
78
+ "default": "./lib/messages/index.js"
79
+ },
80
+ "./lib/messages": {
81
+ "types": "./lib/messages/index.d.ts",
82
+ "default": "./lib/messages/index.js"
75
83
  }
76
84
  },
77
85
  "main": "lib/index.js",
@@ -96,8 +104,8 @@
96
104
  "diff": "^5.2.0"
97
105
  },
98
106
  "devDependencies": {
99
- "@hydranium/langium": "1.0.0-next.4",
100
- "@hydranium/protocol": "1.0.0-next.4",
107
+ "@hydranium/langium": "1.0.0-next.42",
108
+ "@hydranium/protocol": "1.0.0-next.42",
101
109
  "@playwright/test": "^1.40.0",
102
110
  "@types/diff": "^5.2.0",
103
111
  "rimraf": "^5.0.0",
@@ -109,12 +117,12 @@
109
117
  "vscode-languageserver-types": "^3.17.5"
110
118
  },
111
119
  "peerDependencies": {
112
- "@hydranium/langium": "1.0.0-next.4",
113
- "@hydranium/protocol": "1.0.0-next.4",
120
+ "@hydranium/langium": "1.0.0-next.42",
121
+ "@hydranium/protocol": "1.0.0-next.42",
114
122
  "@playwright/test": "^1.40.0",
115
- "vscode-jsonrpc": "^8.0.0 || ^9.0.0",
116
- "vscode-languageserver": "^9.0.0 || ^10.0.0",
117
- "vscode-languageserver-protocol": "^3.17.5",
123
+ "vscode-jsonrpc": "9.0.1",
124
+ "vscode-languageserver": "~10.0.1",
125
+ "vscode-languageserver-protocol": "~3.18.1",
118
126
  "vscode-languageserver-textdocument": "^1.0.12",
119
127
  "vscode-languageserver-types": "^3.17.5"
120
128
  },
@@ -129,6 +137,7 @@
129
137
  "publishConfig": {
130
138
  "access": "public"
131
139
  },
140
+ "//peerDependencies": "`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste. This manifest declares the two links ABOVE the transport as well, and they carry `~` for the same reason: each admits exactly what `langium@4.3.1` itself admits, and a wider range reaches a `vscode-languageserver@9` / `vscode-languageserver-protocol@3.17.x` that depends on the 8.x transport, which is the same split one level up. `vscode-languageserver-types` and `vscode-languageserver-textdocument` are deliberately NOT narrowed: both declare zero dependencies and expose structural APIs, so a duplicate of either drags no transport in and no identity check reads it.",
132
141
  "//prepack": "The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.",
133
142
  "//sideEffects": "NOT `false`: two barrels do work at module load that their re-exports do not account for, and a bundler skips an unflagged re-export barrel outright. `node/index.js` calls `installNodeLogFileSink()` and `installNodeWriteLockScope()`, which is how a Node host gets the log file-tee and write-lock reentrancy detection merely by importing `@hydranium/core/node`. `util/index.js` carries a bare `import '@hydranium/langium'` so the `UriUtils` namespace augmentation stays loaded for anything importing from here. Both failures are runtime-only and silent — a missing log file, a `UriUtils.toUri` that is `undefined`."
134
143
  }
@@ -166,6 +166,51 @@ export type AstDocumentSavedEvent<TAst extends AstNode, TDiagnostic> = TransferS
166
166
  /** Construction options for {@link AstDocumentManager}. */
167
167
  export type AstDocumentManagerOptions = LogNameOptions;
168
168
 
169
+ /**
170
+ * The document slot the model server and the integrity service talk to:
171
+ * open/close/update/save plus the AST-typed event streams, with the LSP
172
+ * plumbing hidden.
173
+ *
174
+ * Generic over `<TAst extends AstNode, TDiagnostic>` so each consumer projects
175
+ * its own AST root type and diagnostic shape into the emitted
176
+ * {@link AstDocument} envelopes.
177
+ *
178
+ * **URI contract.** Every URI-accepting member takes a URI in *any* spelling
179
+ * (canonical, symlinked, `..`/case-divergent) and canonicalizes internally
180
+ * through the {@link DocumentUriPolicy}, so a caller never has to canonicalize
181
+ * first and an implementation may not require it.
182
+ */
183
+ export interface AstDocumentManager<TAst extends AstNode, TDiagnostic = unknown> {
184
+ open(args: OpenModelArgs): Promise<Disposable>;
185
+ close(args: CloseModelArgs): Promise<void>;
186
+ isOpen(uri: string): boolean;
187
+
188
+ /** Apply `text` as `clientId`'s edit. Resolves to the resulting text-document version. */
189
+ update(uri: string, text: string, clientId: string): Promise<number>;
190
+ save(uri: string, clientId: string): Promise<void>;
191
+
192
+ onUpdate(uri: string, listener: (event: AstDocumentUpdatedEvent<TAst, TDiagnostic>) => void): Disposable;
193
+ onSave(uri: string, listener: (event: AstDocumentSavedEvent<TAst, TDiagnostic>) => void | Promise<void>): Disposable;
194
+ onClientClosed(uri: string, clientId: string, listener: () => void): Disposable;
195
+
196
+ getDocument(uri: string): LangiumDocument | undefined;
197
+
198
+ /** Client id that authored the document's current version, or `undefined` for a framework-internal build. */
199
+ getAuthor(document: LangiumDocument): string | undefined;
200
+
201
+ /**
202
+ * Whether `uri` is one of the URIs the most recent build request named, as
203
+ * opposed to a document that build swept in as a dependent. Deletions are
204
+ * excluded: they never reach this layer, since a deleted document is
205
+ * removed before the build set is computed.
206
+ *
207
+ * The answer refers to the latest request, which may still be building, and
208
+ * it is retained between builds — so outside a build it describes whichever
209
+ * one ran last.
210
+ */
211
+ isTriggeringEdit(uri: string): boolean;
212
+ }
213
+
169
214
  /**
170
215
  * Higher-level facade over {@link HydraniumTextDocuments} that speaks the
171
216
  * model-server protocol (open/close/update/save with the transfer-model event
@@ -186,7 +231,7 @@ export type AstDocumentManagerOptions = LogNameOptions;
186
231
  * resolution (the egress `applyEditToLanguageClient`) stay on
187
232
  * {@link HydraniumTextDocuments}, their owner.
188
233
  */
189
- export class AstDocumentManager<TAst extends AstNode = AstNode, TDiagnostic = unknown> {
234
+ export class DefaultAstDocumentManager<TAst extends AstNode, TDiagnostic = unknown> implements AstDocumentManager<TAst, TDiagnostic> {
190
235
  protected lastUpdate?: UpdateInfo;
191
236
 
192
237
  protected readonly textDocuments: HydraniumTextDocuments<TextDocument>;
@@ -311,11 +356,12 @@ export class AstDocumentManager<TAst extends AstNode = AstNode, TDiagnostic = un
311
356
  const event: TransferUpdatedEvent<AstDocument<TAst, TDiagnostic>> = {
312
357
  document: this.toAstDocument(document),
313
358
  sourceClientId,
314
- reason: this.lastUpdate?.changed.find(changed => UriUtils.equals(changed, document.uri))
315
- ? 'changed'
316
- : this.lastUpdate?.deleted.find(deleted => UriUtils.equals(deleted, document.uri))
317
- ? 'deleted'
318
- : 'rebuilt'
359
+ // No `'deleted'` arm: `DocumentBuilder.update` drops a deleted
360
+ // document from `LangiumDocuments` before deriving the rebuild set
361
+ // from it, so a deleted URI is never built and never reaches this
362
+ // phase listener. A subscriber needing deletions has to be told on
363
+ // a channel that does not require a built document.
364
+ reason: this.lastUpdate?.changed.some(changed => UriUtils.equals(changed, document.uri)) ? 'changed' : 'rebuilt'
319
365
  };
320
366
  this.tracer.with(uri).trace(`emitUpdate start: source=${sourceClientId}, reason=${event.reason}`);
321
367
  listener(event);
@@ -334,7 +380,7 @@ export class AstDocumentManager<TAst extends AstNode = AstNode, TDiagnostic = un
334
380
  * concrete value (the `onUpdate` event's `sourceClientId`, the data-server's
335
381
  * `resolveSourceClientId`).
336
382
  */
337
- getAuthor(document: LangiumDocument<AstNode>): string | undefined {
383
+ getAuthor(document: LangiumDocument): string | undefined {
338
384
  return this.textDocuments.getAuthor(document.textDocument.uri, document.textDocument.version);
339
385
  }
340
386
 
@@ -414,8 +460,7 @@ export class AstDocumentManager<TAst extends AstNode = AstNode, TDiagnostic = un
414
460
  return !!this.textDocuments.get(uri);
415
461
  }
416
462
 
417
- /** True if the URI was in the directly-changed set of the most recent build (not just affected). */
418
- isDirectChange(uri: string): boolean {
463
+ isTriggeringEdit(uri: string): boolean {
419
464
  const canonical = this.uriPolicy.canonicalUri(uri);
420
465
  return this.lastUpdate?.changed.some(changed => this.uriPolicy.canonicalUri(changed) === canonical) ?? false;
421
466
  }
@@ -437,11 +482,7 @@ export class AstDocumentManager<TAst extends AstNode = AstNode, TDiagnostic = un
437
482
  version = 0,
438
483
  text?: string
439
484
  ): Promise<TextDocumentItem> {
440
- return { uri, languageId, version, text: text ?? (await this.readFile(uri)) };
441
- }
442
-
443
- async readFile(uri: string): Promise<string> {
444
- return this.fileSystemProvider.readFile(UriUtils.toUri(uri));
485
+ return { uri, languageId, version, text: text ?? (await this.fileSystemProvider.readFile(UriUtils.toUri(uri))) };
445
486
  }
446
487
 
447
488
  /**
@@ -644,18 +644,20 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
644
644
  if (this.isOpenInClient(uri, clientId)) {
645
645
  // Already open for this client under this canonical identity. If this is a
646
646
  // NEW client-facing URI for the same file (a second tab reached via a
647
- // divergent path, e.g. a symlink and its real path), record it and baseline
648
- // its shadow so outbound edits reach this tab too — but do NOT re-fire
649
- // open/rebuild; the document is already live.
647
+ // divergent path, e.g. a symlink and its real path), record it so outbound
648
+ // edits reach this tab too — but do NOT re-fire open/rebuild; the document
649
+ // is already live.
650
650
  if (clientId === LANGUAGE_CLIENT_ID) {
651
651
  const clientFacing = this.toLanguageClientUri(td.uri);
652
652
  const record = this.__documents.get(uri);
653
653
  if (record && !record.languageClientUris?.has(clientFacing)) {
654
654
  (record.languageClientUris ??= new Set<LanguageClientUri>()).add(clientFacing);
655
- const open = this.__syncedDocuments.get(uri);
656
- if (open) {
657
- this.__shadow.set(clientFacing, open.getText());
658
- }
655
+ // This tab's own buffer, NOT the synced text: a second tab is a second
656
+ // client model, read from disk, so a server-authored write already
657
+ // applied to the first tab leaves it BEHIND the synced document. Keying
658
+ // a diff to the synced text here addresses lines this tab does not have
659
+ // and drops content it does.
660
+ this.__shadow.setOpenedText(clientFacing, td.text);
659
661
  }
660
662
  }
661
663
  return;
@@ -694,7 +696,18 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
694
696
  // Baseline the shadow to what Monaco just opened so the next outbound
695
697
  // applyEditToLanguageClient diffs against the right starting point. Keyed by the
696
698
  // language-client URI (what Monaco holds), not the canonical document key.
697
- this.__shadow.set(this.toLanguageClientUri(td.uri), document.getText());
699
+ //
700
+ // The CLIENT's declared text, never the synced document: staged content
701
+ // consumed above leaves the two different, and a baseline asserting the
702
+ // client already holds the staged text suppresses the one sync that would
703
+ // deliver it. Skipped entirely when a push is already outstanding for this
704
+ // URI — an `applyEdit` to a closed file has the client open from disk and
705
+ // apply afterwards, so that shadow records what it is about to hold and
706
+ // disk text would key the next diff to a buffer nobody has.
707
+ const clientFacing = this.toLanguageClientUri(td.uri);
708
+ if (this.__shadow.get(clientFacing) === undefined) {
709
+ this.__shadow.set(clientFacing, td.text);
710
+ }
698
711
  }
699
712
  const toFire = Object.freeze({ document, clientId });
700
713
  this.__onDidOpen.fire(toFire);
@@ -706,6 +719,14 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
706
719
  `Attach client: ${clientId} joined existing document (version ${document.version}, ` +
707
720
  `now open in: ${[...existingClients, clientId].join(', ')})`
708
721
  );
722
+ if (clientId === LANGUAGE_CLIENT_ID) {
723
+ // Monaco's own buffer, which on this path is NOT the synced text — another
724
+ // client opened the document and may already have changed it. Recorded as
725
+ // an equality-only baseline (never a diff one, see `setOpenedText`) so the
726
+ // refresh below does not push a full replace of content Monaco already
727
+ // holds, which would dirty the file on open.
728
+ this.__shadow.setOpenedText(this.toLanguageClientUri(td.uri), td.text);
729
+ }
709
730
  this.refreshContent(uri, clientId);
710
731
  }
711
732
  }
@@ -985,9 +1006,20 @@ export class HydraniumTextDocuments<T extends TextDocument = TextDocument> exten
985
1006
  // it is exactly what the caller retries with after a rejection, so
986
1007
  // gating it there would refuse the recovery too.
987
1008
  const version = isFullReplace(edits) ? UNKNOWN_CLIENT_VERSION : this.languageClientVersion(uri);
1009
+ // A full `ApplyWorkspaceEditParams`, `edit` and all — NOT a bare
1010
+ // `WorkspaceEdit` with a `label` beside it. `applyEdit` takes
1011
+ // `ApplyWorkspaceEditParams | WorkspaceEdit` and discriminates on
1012
+ // `!!value.edit`, so `{ label, documentChanges }` is wrapped as
1013
+ // `{ edit: { label, documentChanges } }` — putting the label inside
1014
+ // the edit, where LSP defines no such field and no client reads it.
1015
+ // The union is also what hides it at compile time: excess-property
1016
+ // checking admits a property present in EITHER member, so an object
1017
+ // matching neither type-checks against the union.
988
1018
  const result = await connection.workspace.applyEdit({
989
1019
  label: options?.label,
990
- documentChanges: [TextDocumentEdit.create(OptionalVersionedTextDocumentIdentifier.create(targetUri, version), edits)]
1020
+ edit: {
1021
+ documentChanges: [TextDocumentEdit.create(OptionalVersionedTextDocumentIdentifier.create(targetUri, version), edits)]
1022
+ }
991
1023
  });
992
1024
  if (result && result.applied === false) {
993
1025
  this.__shadow.invalidate(targetUri);
@@ -57,12 +57,23 @@ export function isFullReplace(edits: readonly TextEdit[]): boolean {
57
57
  * - {@link computeEdits} after each outgoing server→client sync (updates the shadow optimistically).
58
58
  * - {@link set} when the server receives a `didChange` from the language client (the client now
59
59
  * holds that text; we shouldn't resend it).
60
+ * - {@link setOpenedText} when the client opens a document the server did not baseline for it —
61
+ * an equality-only baseline, since that text is a snapshot rather than a tracked one.
60
62
  * - {@link invalidate} when the client rejects an edit (`applied=false`) or a doc is closed —
61
63
  * the shadow is now stale and the next sync must fall back to a full replace.
62
64
  */
63
65
  export class LanguageClientTextShadow {
64
66
  protected shadow = new Map<string, string>();
65
67
 
68
+ /**
69
+ * Per URI, the text the client declared it opened the document with, held
70
+ * only until a real baseline exists. Consulted by {@link computeEdits} when
71
+ * there is no shadow, and dropped on {@link invalidate}: a snapshot that
72
+ * outlived what the client holds would let the equality check skip an edit
73
+ * the client still needs.
74
+ */
75
+ protected opened = new Map<string, string>();
76
+
66
77
  /**
67
78
  * @param onFallback invoked when {@link computeEdits} falls back to a full-range replace due to
68
79
  * apply-verify mismatch. Useful for logging regressions.
@@ -84,6 +95,20 @@ export class LanguageClientTextShadow {
84
95
  this.shadow.set(uri, text);
85
96
  }
86
97
 
98
+ /**
99
+ * Record the buffer the language client declared at `didOpen`, for a URI
100
+ * with no baseline yet.
101
+ *
102
+ * Deliberately NOT a {@link set}: this text is only ever compared for
103
+ * EQUALITY, never diffed against. A line-keyed diff is position-dependent,
104
+ * so keying one to a `didOpen` snapshot the client may have moved past
105
+ * splices its buffer — the failure {@link computeEdits}'s full-replace
106
+ * fallback exists to avoid.
107
+ */
108
+ setOpenedText(uri: string, text: string): void {
109
+ this.opened.set(uri, text);
110
+ }
111
+
87
112
  /**
88
113
  * The text the language client is believed to hold, or `undefined` when
89
114
  * there is no baseline (first sync, or after an {@link invalidate}).
@@ -102,6 +127,11 @@ export class LanguageClientTextShadow {
102
127
  /** Forget the shadow for a URI; next {@link computeEdits} falls back to a full-document replace. */
103
128
  invalidate(uri: string): void {
104
129
  this.shadow.delete(uri);
130
+ // Drops the opened snapshot too, and this is the only place that has to:
131
+ // `computeEdits` clears it whenever it consults it, so the sole way it can
132
+ // outlive what the client holds is surviving under a live shadow until that
133
+ // shadow is dropped here.
134
+ this.opened.delete(uri);
105
135
  }
106
136
 
107
137
  /**
@@ -109,7 +139,9 @@ export class LanguageClientTextShadow {
109
139
  * the tracked shadow to `newText`. Updates the shadow to `newText` so subsequent calls diff
110
140
  * against it.
111
141
  *
112
- * - Empty array when the shadow already equals `newText` (caller should skip the RPC).
142
+ * - Empty array when the shadow already equals `newText` (caller should skip the RPC),
143
+ * or when there is no shadow and the client opened the document with exactly `newText`
144
+ * (see {@link setOpenedText}) — pushing it anyway dirties the client's buffer on open.
113
145
  * - Full-range replace when there is no shadow (first sync or post-{@link invalidate}).
114
146
  * - Line-level diff otherwise. Before returning, we locally reconstruct `newText` by applying
115
147
  * the diff to `old`; if that doesn't match, we fall back to a full-range replace and notify
@@ -124,7 +156,11 @@ export class LanguageClientTextShadow {
124
156
  this.shadow.set(uri, newText);
125
157
  const fullReplace: TextEdit = { range: FULL_RANGE, newText };
126
158
  if (old === undefined) {
127
- return [fullReplace];
159
+ // The opened snapshot has served its purpose either way: the shadow above
160
+ // is now the baseline, so leaving it would only risk a later stale match.
161
+ const openedText = this.opened.get(uri);
162
+ this.opened.delete(uri);
163
+ return openedText === newText ? [] : [fullReplace];
128
164
  }
129
165
  const edits = diffToEdits(old, newText);
130
166
  const verifyDoc = this.documents.create(uri, 'plaintext', 0, old);