@hydranium/core 1.0.0-next.269 → 1.0.0-next.270
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/lib/documents/dirty-state-tracker.d.ts +7 -0
- package/lib/documents/dirty-state-tracker.d.ts.map +1 -1
- package/lib/documents/dirty-state-tracker.js +3 -0
- package/lib/documents/dirty-state-tracker.js.map +1 -1
- package/lib/documents/document-release-handler.d.ts +43 -18
- package/lib/documents/document-release-handler.d.ts.map +1 -1
- package/lib/documents/document-release-handler.js +74 -35
- package/lib/documents/document-release-handler.js.map +1 -1
- package/lib/documents/hydranium-text-documents.d.ts +3 -1
- package/lib/documents/hydranium-text-documents.d.ts.map +1 -1
- package/lib/documents/hydranium-text-documents.js +22 -8
- package/lib/documents/hydranium-text-documents.js.map +1 -1
- package/lib/langium/workspace/file-system-provider.d.ts +16 -4
- package/lib/langium/workspace/file-system-provider.d.ts.map +1 -1
- package/lib/langium/workspace/file-system-provider.js +8 -4
- package/lib/langium/workspace/file-system-provider.js.map +1 -1
- package/lib/node/node-file-system-provider.d.ts +9 -2
- package/lib/node/node-file-system-provider.d.ts.map +1 -1
- package/lib/node/node-file-system-provider.js +29 -3
- package/lib/node/node-file-system-provider.js.map +1 -1
- package/lib/node/rename-over-open-readers.d.ts +7 -0
- package/lib/node/rename-over-open-readers.d.ts.map +1 -1
- package/lib/node/rename-over-open-readers.js +12 -2
- package/lib/node/rename-over-open-readers.js.map +1 -1
- package/package.json +5 -5
- package/src/documents/dirty-state-tracker.ts +10 -0
- package/src/documents/document-release-handler.ts +81 -36
- package/src/documents/hydranium-text-documents.ts +21 -9
- package/src/langium/workspace/file-system-provider.ts +20 -4
- package/src/node/node-file-system-provider.ts +30 -3
- package/src/node/rename-over-open-readers.ts +13 -2
|
@@ -52,6 +52,12 @@ export interface DirtyStateTracker {
|
|
|
52
52
|
refreshDirty(key: CanonicalUri, document: TextDocument): void;
|
|
53
53
|
/** The file behind `key` holds `text`, `undefined` for none. A no-op for a document not tracked. */
|
|
54
54
|
setDiskBaseline(key: CanonicalUri, document: TextDocument, text: string | undefined): void;
|
|
55
|
+
/**
|
|
56
|
+
* Whether `key` has a baseline: `false` for none, which a document created
|
|
57
|
+
* from a session's text starts with and a reload that finds no file sets,
|
|
58
|
+
* and for a document not tracked. A first open takes the opener's text.
|
|
59
|
+
*/
|
|
60
|
+
hasDiskBaseline(key: CanonicalUri): boolean;
|
|
55
61
|
/**
|
|
56
62
|
* The store released `key`. Answers the clean announcement a document
|
|
57
63
|
* released dirty now owes; `undefined` for one released clean.
|
|
@@ -74,6 +80,7 @@ export declare class DefaultDirtyStateTracker implements DirtyStateTracker {
|
|
|
74
80
|
track(key: CanonicalUri, document: TextDocument, diskText: string | undefined): void;
|
|
75
81
|
refreshDirty(key: CanonicalUri, document: TextDocument): void;
|
|
76
82
|
setDiskBaseline(key: CanonicalUri, document: TextDocument, text: string | undefined): void;
|
|
83
|
+
hasDiskBaseline(key: CanonicalUri): boolean;
|
|
77
84
|
release(key: CanonicalUri): CleanAnnouncement | undefined;
|
|
78
85
|
}
|
|
79
86
|
//# sourceMappingURL=dirty-state-tracker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dirty-state-tracker.d.ts","sourceRoot":"","sources":["../../src/documents/dirty-state-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,8GAA8G;AAC9G,MAAM,WAAW,yBAAyB;IACvC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC/B,6DAA6D;IAC7D,MAAM,IAAI,OAAO,CAAC;IAClB,iEAAiE;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5D,0CAA0C;IAC1C,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC;IACpC;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACrF,iFAAiF;IACjF,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9D,oGAAoG;IACpG,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAC3F;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,iBAAiB,GAAG,SAAS,CAAC;CAC5D;AAED,qBAAa,wBAAyB,YAAW,iBAAiB;IAOnD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IANrD,SAAS,CAAC,QAAQ,CAAC,MAAM;kBAAqC,MAAM,GAAG,SAAS;eAAS,OAAO;OAAM;IACtG,0EAA0E;IAC1E,SAAS,CAAC,QAAQ,CAAC,SAAS,4BAAmC;IAC/D,SAAS,CAAC,QAAQ,CAAC,mBAAmB,qCAA4C;IAElF,+DAA+D;IAC/D,YAA+B,UAAU,EAAE,UAAU,EAAI;IAEzD,IAAI,gBAAgB,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAEvD;IAED,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAElC;IAED,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAGnF;IAED,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAY5D;IAED,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAOzF;IAED,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,iBAAiB,GAAG,SAAS,CAkBxD;CACH"}
|
|
1
|
+
{"version":3,"file":"dirty-state-tracker.d.ts","sourceRoot":"","sources":["../../src/documents/dirty-state-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,8GAA8G;AAC9G,MAAM,WAAW,yBAAyB;IACvC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC/B,6DAA6D;IAC7D,MAAM,IAAI,OAAO,CAAC;IAClB,iEAAiE;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5D,0CAA0C;IAC1C,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC;IACpC;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACrF,iFAAiF;IACjF,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9D,oGAAoG;IACpG,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAC3F;;;;OAIG;IACH,eAAe,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC;IAC5C;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,iBAAiB,GAAG,SAAS,CAAC;CAC5D;AAED,qBAAa,wBAAyB,YAAW,iBAAiB;IAOnD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IANrD,SAAS,CAAC,QAAQ,CAAC,MAAM;kBAAqC,MAAM,GAAG,SAAS;eAAS,OAAO;OAAM;IACtG,0EAA0E;IAC1E,SAAS,CAAC,QAAQ,CAAC,SAAS,4BAAmC;IAC/D,SAAS,CAAC,QAAQ,CAAC,mBAAmB,qCAA4C;IAElF,+DAA+D;IAC/D,YAA+B,UAAU,EAAE,UAAU,EAAI;IAEzD,IAAI,gBAAgB,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAEvD;IAED,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAElC;IAED,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAGnF;IAED,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAY5D;IAED,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAOzF;IAED,eAAe,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAE1C;IAED,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,iBAAiB,GAAG,SAAS,CAkBxD;CACH"}
|
|
@@ -46,6 +46,9 @@ export class DefaultDirtyStateTracker {
|
|
|
46
46
|
state.baseline = text;
|
|
47
47
|
this.refreshDirty(key, document);
|
|
48
48
|
}
|
|
49
|
+
hasDiskBaseline(key) {
|
|
50
|
+
return this.states.get(key)?.baseline !== undefined;
|
|
51
|
+
}
|
|
49
52
|
release(key) {
|
|
50
53
|
const dirty = this.states.get(key)?.dirty;
|
|
51
54
|
this.states.delete(key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dirty-state-tracker.js","sourceRoot":"","sources":["../../src/documents/dirty-state-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EAAE,OAAO,EAAc,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"dirty-state-tracker.js","sourceRoot":"","sources":["../../src/documents/dirty-state-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,13 @@ import { type ServerSharedServices } from '../langium/module.js';
|
|
|
17
17
|
*/
|
|
18
18
|
export interface ReleasedDocument {
|
|
19
19
|
readonly uri: CanonicalUri;
|
|
20
|
+
/**
|
|
21
|
+
* Whether the store last knew a file behind the document: `false` for one
|
|
22
|
+
* created from a session's text and never saved, or whose file a reload
|
|
23
|
+
* found gone; any other open counts as on disk. Unlike the queries, a
|
|
24
|
+
* snapshot taken at the release, since the store forgets it there.
|
|
25
|
+
*/
|
|
26
|
+
readonly wasOnDisk: boolean;
|
|
20
27
|
/** Whether `uri` names this document, under the store's own keying. */
|
|
21
28
|
isFor(uri: string): boolean;
|
|
22
29
|
/**
|
|
@@ -106,20 +113,22 @@ export type DocumentReleaseOutcome =
|
|
|
106
113
|
/**
|
|
107
114
|
* Rebuilds a released document from the file system provider, so the build
|
|
108
115
|
* stops carrying the unsaved text of its last client. Override
|
|
109
|
-
* `decideRelease` or `applyReleaseDecision` to change the
|
|
110
|
-
* locking and the wait for the build.
|
|
116
|
+
* `decideRelease`, `redecideRelease` or `applyReleaseDecision` to change the
|
|
117
|
+
* policy and keep the locking and the wait for the build.
|
|
111
118
|
*
|
|
112
|
-
* The provider decides, for every scheme, by `exists
|
|
113
|
-
* serve is rebuilt from its text, and
|
|
114
|
-
* buffer, a file never saved, or one
|
|
115
|
-
* from the workspace. A `virtual:` document
|
|
116
|
-
* provider for that scheme serves it from the
|
|
117
|
-
* host passes as `context.fileSystemProvider`;
|
|
118
|
-
* its last client's text, and keeping it
|
|
119
|
+
* The provider decides, for every scheme, by `exists`, with a miss confirmed
|
|
120
|
+
* by `existsSettled`: a document it can serve is rebuilt from its text, and
|
|
121
|
+
* any other — an editor's `untitled:` buffer, a file never saved, or one
|
|
122
|
+
* deleted meanwhile — is removed from the workspace. A `virtual:` document
|
|
123
|
+
* survives, since the framework's provider for that scheme serves it from the
|
|
124
|
+
* index, whatever provider the host passes as `context.fileSystemProvider`;
|
|
125
|
+
* an edited one therefore keeps its last client's text, and keeping it
|
|
126
|
+
* read-only is the client's job.
|
|
119
127
|
*
|
|
120
128
|
* The answer is read in the document's disk queue, so the rebuild follows
|
|
121
129
|
* any save still queued rather than reverting past it; a file that goes
|
|
122
|
-
* after that read is removed when its rebuild finds none
|
|
130
|
+
* after that read is removed when its rebuild finds none and the provider
|
|
131
|
+
* confirms it gone.
|
|
123
132
|
*
|
|
124
133
|
* Whether the document is still released is checked again inside the write
|
|
125
134
|
* lock, as its holder: checked only before waiting for the lock, a client that
|
|
@@ -140,9 +149,13 @@ export declare class DefaultDocumentReleaseHandler implements DocumentReleaseHan
|
|
|
140
149
|
didReleaseDocument(released: ReleasedDocument): Promise<void>;
|
|
141
150
|
/**
|
|
142
151
|
* Decide, then carry the decision out under the write lock unless a client
|
|
143
|
-
* holds the document again.
|
|
144
|
-
*
|
|
145
|
-
* the build
|
|
152
|
+
* holds the document again. A rebuild that finds no file is redecided by
|
|
153
|
+
* {@link redecideRelease} within the same lock section: the build has
|
|
154
|
+
* already reset the document, so a build let in meanwhile would read the
|
|
155
|
+
* missing file and fail. Its answer is carried out unless a client
|
|
156
|
+
* reclaimed the document meanwhile. Answers how that went; a parse of the
|
|
157
|
+
* document seen meanwhile counts even when the build was cancelled after
|
|
158
|
+
* it, since the build it yields to does not parse again.
|
|
146
159
|
*/
|
|
147
160
|
protected runRelease(released: ReleasedDocument, target: URI): Promise<DocumentReleaseOutcome>;
|
|
148
161
|
/**
|
|
@@ -153,14 +166,26 @@ export declare class DefaultDocumentReleaseHandler implements DocumentReleaseHan
|
|
|
153
166
|
/**
|
|
154
167
|
* The policy: rebuild a document the file system provider can serve, and
|
|
155
168
|
* remove any other. Read in the document's disk queue, so it follows any
|
|
156
|
-
* save still queued rather than deciding past it.
|
|
169
|
+
* save still queued rather than deciding past it. A miss is settled outside
|
|
170
|
+
* the queue, so waiting it out holds up no write to the file, and only for
|
|
171
|
+
* a document the store knew on disk: one with no file has none to replace.
|
|
157
172
|
*/
|
|
158
173
|
protected decideRelease(released: ReleasedDocument, target: URI): Promise<DocumentReleaseDecision>;
|
|
159
174
|
/**
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
*
|
|
175
|
+
* The policy for a rebuild that found no file, the `misses`-th of this
|
|
176
|
+
* release: what to carry out instead. Runs inside the release's write, so
|
|
177
|
+
* every build waits on it. The default settles the first miss through the
|
|
178
|
+
* provider's `existsSettled`, rebuilding again when the file is back, and
|
|
179
|
+
* removes the document on any later one. An override answering `rebuild`
|
|
180
|
+
* on every miss rebuilds for as long as the file stays missing.
|
|
181
|
+
*/
|
|
182
|
+
protected redecideRelease(_released: ReleasedDocument, target: URI, misses: number): Promise<DocumentReleaseDecision>;
|
|
183
|
+
/**
|
|
184
|
+
* Carry `decision` out under the write lock. A rebuild that finds no file
|
|
185
|
+
* rejects with that error, and {@link redecideRelease} answers what to
|
|
186
|
+
* carry out instead. An override must rebuild or remove the document: release settlement
|
|
187
|
+
* waits for its parse or removal, and one that does neither is followed by a
|
|
188
|
+
* recovery build that rebuilds it.
|
|
164
189
|
*/
|
|
165
190
|
protected applyReleaseDecision(target: URI, decision: DocumentReleaseDecision, token: CancellationToken): Promise<void>;
|
|
166
191
|
/** The build in place of a release that stopped short; rejects with its error when it was given up. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-release-handler.d.ts","sourceRoot":"","sources":["../../src/documents/document-release-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,GAAG,EAAY,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,MAAM,EAAyC,MAAM,qBAAqB,CAAC;AAC5G,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIjE;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC9B,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;IAC3B,uEAAuE;IACvE,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;IACnD,YAAY,KAAK,EAAE,OAAO,EAKzB;CACH;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,2BAA2B,CAElG;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,sBAAsB;IACpC,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AAED,4FAA4F;AAC5F,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE3D,iEAAiE;AACjE,MAAM,MAAM,sBAAsB;AAC/B,8EAA8E;AAC5E;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE;AAChC;;;;GAIG;GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAA;CAAE;AAC5E,uFAAuF;GACrF;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE;AACtG,oCAAoC;GAClC;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE;AACtG,8EAA8E;GAC5E;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE;AACxI,2HAA2H;GACzH;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAErF
|
|
1
|
+
{"version":3,"file":"document-release-handler.d.ts","sourceRoot":"","sources":["../../src/documents/document-release-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,20 +34,22 @@ export function isDocumentReleaseSkippedError(error) {
|
|
|
34
34
|
/**
|
|
35
35
|
* Rebuilds a released document from the file system provider, so the build
|
|
36
36
|
* stops carrying the unsaved text of its last client. Override
|
|
37
|
-
* `decideRelease` or `applyReleaseDecision` to change the
|
|
38
|
-
* locking and the wait for the build.
|
|
37
|
+
* `decideRelease`, `redecideRelease` or `applyReleaseDecision` to change the
|
|
38
|
+
* policy and keep the locking and the wait for the build.
|
|
39
39
|
*
|
|
40
|
-
* The provider decides, for every scheme, by `exists
|
|
41
|
-
* serve is rebuilt from its text, and
|
|
42
|
-
* buffer, a file never saved, or one
|
|
43
|
-
* from the workspace. A `virtual:` document
|
|
44
|
-
* provider for that scheme serves it from the
|
|
45
|
-
* host passes as `context.fileSystemProvider`;
|
|
46
|
-
* its last client's text, and keeping it
|
|
40
|
+
* The provider decides, for every scheme, by `exists`, with a miss confirmed
|
|
41
|
+
* by `existsSettled`: a document it can serve is rebuilt from its text, and
|
|
42
|
+
* any other — an editor's `untitled:` buffer, a file never saved, or one
|
|
43
|
+
* deleted meanwhile — is removed from the workspace. A `virtual:` document
|
|
44
|
+
* survives, since the framework's provider for that scheme serves it from the
|
|
45
|
+
* index, whatever provider the host passes as `context.fileSystemProvider`;
|
|
46
|
+
* an edited one therefore keeps its last client's text, and keeping it
|
|
47
|
+
* read-only is the client's job.
|
|
47
48
|
*
|
|
48
49
|
* The answer is read in the document's disk queue, so the rebuild follows
|
|
49
50
|
* any save still queued rather than reverting past it; a file that goes
|
|
50
|
-
* after that read is removed when its rebuild finds none
|
|
51
|
+
* after that read is removed when its rebuild finds none and the provider
|
|
52
|
+
* confirms it gone.
|
|
51
53
|
*
|
|
52
54
|
* Whether the document is still released is checked again inside the write
|
|
53
55
|
* lock, as its holder: checked only before waiting for the lock, a client that
|
|
@@ -109,9 +111,13 @@ export class DefaultDocumentReleaseHandler {
|
|
|
109
111
|
}
|
|
110
112
|
/**
|
|
111
113
|
* Decide, then carry the decision out under the write lock unless a client
|
|
112
|
-
* holds the document again.
|
|
113
|
-
*
|
|
114
|
-
* the build
|
|
114
|
+
* holds the document again. A rebuild that finds no file is redecided by
|
|
115
|
+
* {@link redecideRelease} within the same lock section: the build has
|
|
116
|
+
* already reset the document, so a build let in meanwhile would read the
|
|
117
|
+
* missing file and fail. Its answer is carried out unless a client
|
|
118
|
+
* reclaimed the document meanwhile. Answers how that went; a parse of the
|
|
119
|
+
* document seen meanwhile counts even when the build was cancelled after
|
|
120
|
+
* it, since the build it yields to does not parse again.
|
|
115
121
|
*/
|
|
116
122
|
async runRelease(released, target) {
|
|
117
123
|
const workspace = this.services.workspace;
|
|
@@ -139,7 +145,27 @@ export class DefaultDocumentReleaseHandler {
|
|
|
139
145
|
parsed ||= released.isFor(document.uri.toString());
|
|
140
146
|
});
|
|
141
147
|
progress = 'building';
|
|
142
|
-
|
|
148
|
+
let applied = decided;
|
|
149
|
+
for (let misses = 1;; misses++) {
|
|
150
|
+
try {
|
|
151
|
+
await this.applyReleaseDecision(target, applied, token);
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
catch (err) {
|
|
155
|
+
if (applied !== 'rebuild' || !isFileNotFound(err, target)) {
|
|
156
|
+
throw err;
|
|
157
|
+
}
|
|
158
|
+
applied = await this.redecideRelease(released, target, misses);
|
|
159
|
+
if (released.isReclaimed()) {
|
|
160
|
+
progress = 'reclaimed';
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
decision = applied;
|
|
164
|
+
this.tracer
|
|
165
|
+
.with(released.uri)
|
|
166
|
+
.debug(`Revert found no file; ${applied === 'rebuild' ? 'rebuilding again' : 'removing the document instead'}`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
143
169
|
progress = 'built';
|
|
144
170
|
});
|
|
145
171
|
// A cancelled build throws inside the write, and the lock resolves.
|
|
@@ -147,12 +173,12 @@ export class DefaultDocumentReleaseHandler {
|
|
|
147
173
|
return { kind: 'reclaimed' };
|
|
148
174
|
}
|
|
149
175
|
if (progress === 'queued') {
|
|
150
|
-
return { kind: 'discarded', decision
|
|
176
|
+
return { kind: 'discarded', decision };
|
|
151
177
|
}
|
|
152
178
|
if (progress === 'building') {
|
|
153
|
-
return { kind: 'cancelled', decision
|
|
179
|
+
return { kind: 'cancelled', decision, parsed };
|
|
154
180
|
}
|
|
155
|
-
return { kind: 'completed', decision
|
|
181
|
+
return { kind: 'completed', decision, parsed };
|
|
156
182
|
}
|
|
157
183
|
catch (error) {
|
|
158
184
|
// A revert that finishes after the LSP peer went away fails its
|
|
@@ -182,32 +208,45 @@ export class DefaultDocumentReleaseHandler {
|
|
|
182
208
|
/**
|
|
183
209
|
* The policy: rebuild a document the file system provider can serve, and
|
|
184
210
|
* remove any other. Read in the document's disk queue, so it follows any
|
|
185
|
-
* save still queued rather than deciding past it.
|
|
211
|
+
* save still queued rather than deciding past it. A miss is settled outside
|
|
212
|
+
* the queue, so waiting it out holds up no write to the file, and only for
|
|
213
|
+
* a document the store knew on disk: one with no file has none to replace.
|
|
186
214
|
*/
|
|
187
|
-
decideRelease(released, target) {
|
|
215
|
+
async decideRelease(released, target) {
|
|
188
216
|
const workspace = this.services.workspace;
|
|
189
|
-
|
|
217
|
+
const fileSystem = workspace.FileSystemProvider;
|
|
218
|
+
const served = await workspace.FileSystemTaskQueue.enqueue(released.uri, () => fileSystem.exists(target));
|
|
219
|
+
if (served || !released.wasOnDisk) {
|
|
220
|
+
return served ? 'rebuild' : 'remove';
|
|
221
|
+
}
|
|
222
|
+
return ((await fileSystem.existsSettled?.(target)) ?? false) ? 'rebuild' : 'remove';
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* The policy for a rebuild that found no file, the `misses`-th of this
|
|
226
|
+
* release: what to carry out instead. Runs inside the release's write, so
|
|
227
|
+
* every build waits on it. The default settles the first miss through the
|
|
228
|
+
* provider's `existsSettled`, rebuilding again when the file is back, and
|
|
229
|
+
* removes the document on any later one. An override answering `rebuild`
|
|
230
|
+
* on every miss rebuilds for as long as the file stays missing.
|
|
231
|
+
*/
|
|
232
|
+
async redecideRelease(_released, target, misses) {
|
|
233
|
+
if (misses > 1) {
|
|
234
|
+
return 'remove';
|
|
235
|
+
}
|
|
236
|
+
const fileSystem = this.services.workspace.FileSystemProvider;
|
|
237
|
+
return (await (fileSystem.existsSettled?.(target) ?? fileSystem.exists(target))) ? 'rebuild' : 'remove';
|
|
190
238
|
}
|
|
191
239
|
/**
|
|
192
|
-
* Carry `decision` out under the write lock
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
*
|
|
240
|
+
* Carry `decision` out under the write lock. A rebuild that finds no file
|
|
241
|
+
* rejects with that error, and {@link redecideRelease} answers what to
|
|
242
|
+
* carry out instead. An override must rebuild or remove the document: release settlement
|
|
243
|
+
* waits for its parse or removal, and one that does neither is followed by a
|
|
244
|
+
* recovery build that rebuilds it.
|
|
196
245
|
*/
|
|
197
246
|
async applyReleaseDecision(target, decision, token) {
|
|
198
247
|
const builder = this.services.workspace.DocumentBuilder;
|
|
199
248
|
builder.markNextReason(HYDRANIUM_BUILD_REASONS.didRelease);
|
|
200
|
-
|
|
201
|
-
await (decision === 'rebuild' ? builder.update([target], [], token) : builder.update([], [target], token));
|
|
202
|
-
}
|
|
203
|
-
catch (err) {
|
|
204
|
-
if (decision !== 'rebuild' || !isFileNotFound(err, target)) {
|
|
205
|
-
throw err;
|
|
206
|
-
}
|
|
207
|
-
this.tracer.with(target.toString()).debug('Revert found no file; removing the document instead');
|
|
208
|
-
builder.markNextReason(HYDRANIUM_BUILD_REASONS.didRelease);
|
|
209
|
-
await builder.update([], [target], token);
|
|
210
|
-
}
|
|
249
|
+
await (decision === 'rebuild' ? builder.update([target], [], token) : builder.update([], [target], token));
|
|
211
250
|
}
|
|
212
251
|
/** The build in place of a release that stopped short; rejects with its error when it was given up. */
|
|
213
252
|
requestRecoveryBuild(released, target, deleted) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-release-handler.js","sourceRoot":"","sources":["../../src/documents/document-release-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAY,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAkC,aAAa,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG5G,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAE1F,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"document-release-handler.js","sourceRoot":"","sources":["../../src/documents/document-release-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -460,7 +460,9 @@ export declare class HydraniumTextDocuments<T extends TextDocument = TextDocumen
|
|
|
460
460
|
/**
|
|
461
461
|
* Read the file behind `uri` through its disk queue and take it as the
|
|
462
462
|
* baseline. A file that cannot be read counts as none, the side that
|
|
463
|
-
* leaves the document dirty
|
|
463
|
+
* leaves the document dirty, once `existsSettled` confirms it gone: a file
|
|
464
|
+
* it finds is read again. That wait runs outside the queue, so it holds up
|
|
465
|
+
* no write to the file.
|
|
464
466
|
*/
|
|
465
467
|
reloadDiskBaseline(uri: DocumentUri): Promise<void>;
|
|
466
468
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydranium-text-documents.d.ts","sourceRoot":"","sources":["../../src/documents/hydranium-text-documents.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hydranium-text-documents.d.ts","sourceRoot":"","sources":["../../src/documents/hydranium-text-documents.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAalF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,KAAK,GAAG,EAAY,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EACJ,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,UAAU,EACf,OAAO,EACP,KAAK,KAAK,EACV,KAAK,aAAa,EAElB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAG5B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,QAAQ,EACb,KAAK,0BAA0B,EACjC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,WAAW,EAAE,YAAY,EAAE,KAAK,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AACzH,OAAO,EACJ,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAGtB,KAAK,SAAS,EACd,KAAK,WAAW,EAEhB,KAAK,MAAM,EAIb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGvE,OAAO,EAAE,KAAK,wBAAwB,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1H,OAAO,EAAiE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACvI,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAiC,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACrG,OAAO,EAAmC,KAAK,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AACjH,OAAO,EACJ,KAAK,iBAAiB,EAEtB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAChC,MAAM,0BAA0B,CAAC;AAWlC,MAAM,WAAW,6BAA6B,CAAC,CAAC,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IACjF,QAAQ,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,6BAA6B,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,CAAE,SAAQ,cAAc;IACzG;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC;IACvD;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CACnC;AASD,6EAA6E;AAC7E,MAAM,WAAW,wBAAwB;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACvB;AAED,wEAAwE;AACxE,MAAM,WAAW,qBAAqB;IACnC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,YAAY,IAC1C;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAWrC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,sBAAsB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAyBvG,SAAS,CAAC,QAAQ,EAAE,oBAAoB;IACxC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC,CAAC;IAzB/D,oGAAoG;IACpG,SAAS,CAAC,QAAQ,CAAC,gBAAgB,4BAAmC;IAEtE;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,wBAA+B;IAE5D,+EAA+E;IAC/E,SAAS,CAAC,QAAQ,CAAC,gBAAgB,4BAAwC;IAE3E,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC;IAChE,SAAS,CAAC,YAAY,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/C,SAAS,CAAC,sBAAsB,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACnE,SAAS,CAAC,mBAAmB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC7D,SAAS,CAAC,0BAA0B,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC3E,SAAS,CAAC,QAAQ,CAAC,uBAAuB,iCAAwC;IAClF,SAAS,CAAC,QAAQ,CAAC,0BAA0B,oCAA2C;IAExF,YACa,QAAQ,EAAE,oBAAoB,EACrB,OAAO,GAAE,6BAA6B,CAAC,CAAC,CAAM,EAMnE;IAKD,SAAS,KAAK,UAAU,IAAI,UAAU,CAErC;IAED,SAAS,KAAK,oBAAoB,IAAI,oBAAoB,CAEzD;IAED,SAAS,KAAK,iBAAiB,IAAI,iBAAiB,CAEnD;IAED,SAAS,KAAK,wBAAwB,IAAI,wBAAwB,CAEjE;IAED,SAAS,CAAC,gBAAgB,IAAI,UAAU,CAEvC;IAED,SAAS,CAAC,0BAA0B,IAAI,oBAAoB,CAE3D;IAED,SAAS,CAAC,uBAAuB,IAAI,iBAAiB,CAErD;IAED,SAAS,CAAC,8BAA8B,IAAI,wBAAwB,CAEnE;IAED,gFAAgF;IAChF,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAIzE;IAED;;;;;;OAMG;IACH,SAAS,CAAC,YAAY,CACnB,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,8BAA8B,EAAE,EACzC,MAAM,EAAE,MAAM,GACd;QAAE,QAAQ,EAAE,CAAC,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAanC;IAOM,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAElF;IAEM,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAExF;IAED,SAAS,KAAK,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAEhD;IAED,SAAS,KAAK,oBAAoB,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAE9E;IAED,IAAa,kBAAkB,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAEzE;IAED,SAAS,KAAK,WAAW,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAErE;IAED,IAAa,SAAS,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAEhE;IAED,SAAS,KAAK,YAAY,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAEtE;IAED,IAAa,UAAU,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAEjE;IAED,SAAS,KAAK,WAAW,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAErE;IAED,IAAa,SAAS,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAEhE;IAED,SAAS,KAAK,YAAY,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAElE;IAED,SAAS,KAAK,mBAAmB,IAAI,cAAc,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,GAAG,SAAS,CAE9G;IAEe,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CA6CzD;IAEM,2BAA2B,CAAC,KAAK,EAAE,2BAA2B,EAAE,QAAQ,SAAqB,GAAG,IAAI,CA6E1G;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAgBhF;IAED;;;;OAIG;IACI,0BAA0B,CAC9B,KAAK,EAAE,0BAA0B,EACjC,QAAQ,SAAqB,EAC7B,KAAK,GAAE,eAA0B,GACjC,IAAI,CAiCN;IAED;;;;;;OAMG;IACH,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAS9C;IAED,kHAAkH;IAClH,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI1E;IAED;;;;;;OAMG;IACH,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAqBjD;IAED;;;;;;OAMG;IACH,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAoC5G;IAED,8DAA8D;IAC9D,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,gBAAgB,CAOhE;IAEM,0BAA0B,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI,CAKzE;IAEM,mCAAmC,CACvC,KAAK,EAAE,0BAA0B,EACjC,KAAK,EAAE,iBAAiB,GACxB,aAAa,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAOjC;IAED;;;;OAIG;IACH,UAAgB,wBAAwB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCxF;IAED;;;;;OAKG;IACI,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,EAAE,QAAQ,SAAqB,GAAG,IAAI,CAQtG;IAED,gFAAgF;IAChF,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAG1D;IAEM,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,EAAE,QAAQ,SAAqB,GAAG,IAAI,CAmDtG;IAED;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAmBxD;IAED,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAMvH;IAED,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAWvD;IAED;;;;;;;;;;OAUG;IACH,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAE/C;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAE5D;IAED,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEjE;IAED;;;;;;;;;;;;;;;OAeG;IACM,GAAG,CAAC,GAAG,EAAE,WAAW,GAAG,CAAC,GAAG,SAAS,CAE5C;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CAErC;IAED;;;OAGG;IACH,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS,CAEvD;IAED;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAOjD;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,uBAAuB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAY1F;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,wBAAwB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAY3E;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAmBpF;IAED,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAShE;IAED,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAEhC;IAED;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAE3C;IAED,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAExD;IAED,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAKhD;IAED,qEAAqE;IACrE,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,EAAE,CAEpC;IAED,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAG5D;IAED;;;;;;;;;OASG;IACH,aAAa,IAAI,YAAY,EAAE,CAE9B;IAED,0FAA0F;IAC1F,IAAI,iBAAiB,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAEvD;IAED;;;;;OAKG;IACH,IAAI,oBAAoB,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAEvD;IAED;;;;OAIG;IACH,IAAI,yBAAyB,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAE/D;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAE3C;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAEjC;IAED;;;;;;OAMG;IACH,IAAI,gBAAgB,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAEvD;IAED;;;;OAIG;IACH,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAMhE;IAED;;;;;;OAMG;IACG,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBxD;IAED;;;OAGG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAItC;IAED;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,eAA0B,GAAG,IAAI,CAatE;IAED;;;;;;;;;;OAUG;IACG,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAOlD;IAED;;;;;;OAMG;IACH,UAAgB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpD;IAED;;;;;;;;OAQG;IACH,qBAAqB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAO5C;IAED;;;;;;;;OAQG;IACM,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAa3C;IAED;;;;;;OAMG;IACH,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGjD;IAED;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAExD;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACG,yBAAyB,CAC5B,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5B,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CA8C/C;IAED;;;;;;;;OAQG;IACH,qBAAqB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAE1D;IAED;;;;OAIG;IACH,4BAA4B,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAEnD;IAED,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAKpE;IAED,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAErD;IAED,mFAAmF;IACnF,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,OAAgB,GAAG,IAAI,CAE1F;IAED,wDAAwD;IACxD,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG;QAAE,OAAO,IAAI,IAAI,CAAA;KAAE,CAEjF;CACH"}
|
|
@@ -406,6 +406,8 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
|
|
|
406
406
|
// reopening client's declared id.
|
|
407
407
|
this.textLedger.record(uri, syncedDocument);
|
|
408
408
|
this.textLedger.clearAuthors(uri);
|
|
409
|
+
// Before the tracker's release, which forgets whether a file was behind it.
|
|
410
|
+
const released = this.toReleasedDocument(uri);
|
|
409
411
|
const cleanAnnouncement = this.dirtyStateTracker.release(uri);
|
|
410
412
|
this.__syncedDocuments.delete(uri);
|
|
411
413
|
this.__openedVersions.delete(uri);
|
|
@@ -414,7 +416,7 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
|
|
|
414
416
|
this.__pendingContent.delete(uri);
|
|
415
417
|
this.documentReleaseScheduler.clearLosses(uri);
|
|
416
418
|
this.documentReleasedEmitter.fire(Object.freeze({ uri }));
|
|
417
|
-
this.handOverRelease(
|
|
419
|
+
this.handOverRelease(released, cleanAnnouncement);
|
|
418
420
|
}
|
|
419
421
|
/**
|
|
420
422
|
* Call the `DocumentReleaseHandler` slot, and announce a document released
|
|
@@ -463,6 +465,7 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
|
|
|
463
465
|
toReleasedDocument(uri) {
|
|
464
466
|
return {
|
|
465
467
|
uri,
|
|
468
|
+
wasOnDisk: this.dirtyStateTracker.hasDiskBaseline(uri),
|
|
466
469
|
isFor: other => this.documentKey(other) === uri,
|
|
467
470
|
isReclaimed: () => this.isOpenInAnyClient(uri) || this.__syncedDocuments.has(uri)
|
|
468
471
|
};
|
|
@@ -952,19 +955,30 @@ export class HydraniumTextDocuments extends NormalizedTextDocuments {
|
|
|
952
955
|
/**
|
|
953
956
|
* Read the file behind `uri` through its disk queue and take it as the
|
|
954
957
|
* baseline. A file that cannot be read counts as none, the side that
|
|
955
|
-
* leaves the document dirty
|
|
958
|
+
* leaves the document dirty, once `existsSettled` confirms it gone: a file
|
|
959
|
+
* it finds is read again. That wait runs outside the queue, so it holds up
|
|
960
|
+
* no write to the file.
|
|
956
961
|
*/
|
|
957
962
|
async reloadDiskBaseline(uri) {
|
|
958
963
|
const key = this.documentKey(uri);
|
|
959
964
|
if (!this.__syncedDocuments.has(key)) {
|
|
960
965
|
return;
|
|
961
966
|
}
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
967
|
+
const workspace = this.services.workspace;
|
|
968
|
+
const fileSystem = workspace.FileSystemProvider;
|
|
969
|
+
const target = UriUtils.toUri(key);
|
|
970
|
+
const read = async () => {
|
|
971
|
+
try {
|
|
972
|
+
return await workspace.FileSystemTaskQueue.enqueue(key, () => fileSystem.readFile(target));
|
|
973
|
+
}
|
|
974
|
+
catch (err) {
|
|
975
|
+
this.tracer.with(key).debug(`Disk baseline: the file cannot be read. ${describeError(err)}`);
|
|
976
|
+
return undefined;
|
|
977
|
+
}
|
|
978
|
+
};
|
|
979
|
+
let onDisk = await read();
|
|
980
|
+
if (onDisk === undefined && (await (fileSystem.existsSettled?.(target) ?? fileSystem.exists(target)))) {
|
|
981
|
+
onDisk = await read();
|
|
968
982
|
}
|
|
969
983
|
this.setDiskBaseline(key, onDisk);
|
|
970
984
|
}
|