@hydranium/client-browser 1.0.0-next.306 → 1.0.0-next.308
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/lib/monaco/monaco-lsp-client.d.ts +0 -66
- package/lib/monaco/monaco-lsp-client.d.ts.map +1 -1
- package/lib/monaco/monaco-lsp-client.js +0 -51
- package/lib/monaco/monaco-lsp-client.js.map +1 -1
- package/lib/worker-heads.d.ts +7 -1
- package/lib/worker-heads.d.ts.map +1 -1
- package/lib/worker-heads.js +6 -0
- package/lib/worker-heads.js.map +1 -1
- package/package.json +3 -3
- package/src/monaco/monaco-lsp-client.ts +1 -70
- package/src/worker-heads.ts +15 -1
package/README.md
CHANGED
|
@@ -73,6 +73,8 @@ with `isWorkerBootstrapMessage` from `@hydranium/protocol`, posts a
|
|
|
73
73
|
failure it catches; one under `WORKER_BOOTSTRAP_PHASE` ends the page's heads,
|
|
74
74
|
any other phase only reports. Until the worker has posted its ready message,
|
|
75
75
|
or anything on a head's port, the `Worker`'s `error` event ends the heads too.
|
|
76
|
+
`heads.ready` resolves with the ready message, which carries the workspace's
|
|
77
|
+
files when the worker's host passed `hostHeadsInWorker` a `rootUri`.
|
|
76
78
|
|
|
77
79
|
Register the handler for the server's diagnostics in `beforeInitialized`,
|
|
78
80
|
which runs once `initialize` has answered and before `initialized` goes out.
|
|
@@ -89,8 +91,7 @@ notification. Open a document on the text the worker holds, never on a copy
|
|
|
89
91
|
in your bundle, and create editors through the client, which keeps the
|
|
90
92
|
settings a server-driven language needs under your own. Save through the
|
|
91
93
|
client: the server already holds every edit, so `save` and `saveAll` ask the
|
|
92
|
-
worker's LSP head to persist them.
|
|
93
|
-
session instead, for a server whose LSP head does not advertise the request.
|
|
94
|
+
worker's LSP head to persist them.
|
|
94
95
|
|
|
95
96
|
<!-- snippet-preamble
|
|
96
97
|
import { connectWorkerHeads } from '@hydranium/client-browser';
|
|
@@ -6,29 +6,6 @@
|
|
|
6
6
|
*
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
|
-
/**
|
|
10
|
-
* The client half of the LSP head for a Monaco editor, over the connection the
|
|
11
|
-
* page already holds for the head.
|
|
12
|
-
*
|
|
13
|
-
* Hand-written rather than `monaco-languageclient`, which drags in the
|
|
14
|
-
* `@codingame/monaco-vscode-*` shim stack: at `platform: 'browser'` a bundler
|
|
15
|
-
* refuses a `node:*` builtin rather than shimming it, and that refusal is what
|
|
16
|
-
* keeps a page bundle a neutrality gate over the head composition it carries.
|
|
17
|
-
*
|
|
18
|
-
* A Theia or VS Code integration hands `vscode-languageclient` a document
|
|
19
|
-
* store, a marker service and a provider registry. Here Monaco is all three,
|
|
20
|
-
* and the three translations between it and LSP are the whole of the work:
|
|
21
|
-
*
|
|
22
|
-
* - **Identity.** A Monaco model URI must be string-identical to the LSP URI, or
|
|
23
|
-
* `publishDiagnostics` addresses a document Monaco does not have and the
|
|
24
|
-
* markers land nowhere, silently.
|
|
25
|
-
* - **Coordinates.** LSP lines and characters are 0-based; Monaco lines and
|
|
26
|
-
* columns are 1-based. Every range crossing this file is converted.
|
|
27
|
-
* - **Versions.** Monaco's `versionId` is monotonic per model, which is exactly
|
|
28
|
-
* what the server's text store wants for its stale-write gate, so it is used
|
|
29
|
-
* directly rather than counted here in parallel.
|
|
30
|
-
*/
|
|
31
|
-
import { type BaseVersion, type TextState } from '@hydranium/protocol';
|
|
32
9
|
import * as monaco from 'monaco-editor-core';
|
|
33
10
|
import { type MessageConnection } from 'vscode-jsonrpc/browser';
|
|
34
11
|
import { type AnnotatedTextEdit, type ApplyWorkspaceEditResult, type ClientCapabilities, type PublishDiagnosticsParams, type ServerCapabilities, SnippetTextEdit, type TextEdit, type WorkspaceEdit } from 'vscode-languageserver-protocol';
|
|
@@ -480,47 +457,4 @@ export declare class MonacoLspClient {
|
|
|
480
457
|
*/
|
|
481
458
|
protected registerDocumentHighlight(): void;
|
|
482
459
|
}
|
|
483
|
-
/** The two calls of a data session {@link saveDirtyDocuments} makes, which `DataSession` satisfies. */
|
|
484
|
-
export interface DocumentPersister {
|
|
485
|
-
/** Open `args.uri`, run `fn` with the opened document, whose `text` is the server's state of it, and close it after. */
|
|
486
|
-
withOpenDocument<T>(args: {
|
|
487
|
-
readonly uri: string;
|
|
488
|
-
}, fn: (document: {
|
|
489
|
-
readonly text?: TextState;
|
|
490
|
-
}) => Promise<T>): Promise<T>;
|
|
491
|
-
persistDocument(args: {
|
|
492
|
-
readonly uri: string;
|
|
493
|
-
readonly baseVersion: BaseVersion;
|
|
494
|
-
}): Promise<unknown>;
|
|
495
|
-
}
|
|
496
|
-
/**
|
|
497
|
-
* Persist the dirty documents of `client`, or those of them `uris` names, in
|
|
498
|
-
* the host's form or Monaco's, through `session`, one after another, and
|
|
499
|
-
* return what was saved.
|
|
500
|
-
*
|
|
501
|
-
* **A save persists; it does not author.** Every keystroke already reached the
|
|
502
|
-
* server as a `didChange`, and every server write reached the buffer as a
|
|
503
|
-
* `workspace/applyEdit`, so the server's text is the buffer and disk is the
|
|
504
|
-
* only thing behind. `persistDocument` at `'any'` writes that text without a
|
|
505
|
-
* model: a write of the buffer's text would be authored against no read, so
|
|
506
|
-
* no `ModelVersion` could gate it, and `'any'` on such a write could put an
|
|
507
|
-
* older buffer over a server write still in flight.
|
|
508
|
-
*
|
|
509
|
-
* **The open's text hash is the gate.** A `didChange` travels the LSP port and
|
|
510
|
-
* the persist the data port, and nothing orders one port's messages before
|
|
511
|
-
* the other's, so the open can answer with text a keystroke has not reached.
|
|
512
|
-
* The open answer's hash is `textHash` of the server's text; when it is not
|
|
513
|
-
* the buffer's, the save throws, naming the document, and the document stays
|
|
514
|
-
* dirty for the next save. A keystroke landing after the open persists as
|
|
515
|
-
* newer text, which leaves the buffer dirty the same way.
|
|
516
|
-
*
|
|
517
|
-
* Each document's text is read just before its own open, not once for the
|
|
518
|
-
* set: an earlier document's persist takes time, and a keystroke in a later
|
|
519
|
-
* one during it would otherwise fail that one's hash check for nothing. Each
|
|
520
|
-
* is marked saved at the version its text was read at, one at a time, so a
|
|
521
|
-
* failure part-way through leaves the documents it never reached dirty and a
|
|
522
|
-
* second call retries exactly those. Sequential, not concurrent: each persist
|
|
523
|
-
* runs over the server's shared store.
|
|
524
|
-
*/
|
|
525
|
-
export declare function saveDirtyDocuments(client: MonacoLspClient, session: DocumentPersister, uris?: readonly string[]): Promise<EditorDocument[]>;
|
|
526
460
|
//# sourceMappingURL=monaco-lsp-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-lsp-client.d.ts","sourceRoot":"","sources":["../../src/monaco/monaco-lsp-client.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;
|
|
1
|
+
{"version":3,"file":"monaco-lsp-client.d.ts","sourceRoot":"","sources":["../../src/monaco/monaco-lsp-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
42
42
|
})();
|
|
43
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
44
|
exports.MonacoLspClient = exports.MONACO_CLIENT_CAPABILITIES = exports.DEFAULT_MARKER_OWNER = void 0;
|
|
45
|
-
exports.saveDirtyDocuments = saveDirtyDocuments;
|
|
46
45
|
/**
|
|
47
46
|
* The client half of the LSP head for a Monaco editor, over the connection the
|
|
48
47
|
* page already holds for the head.
|
|
@@ -1284,54 +1283,4 @@ class MonacoLspClient {
|
|
|
1284
1283
|
}
|
|
1285
1284
|
}
|
|
1286
1285
|
exports.MonacoLspClient = MonacoLspClient;
|
|
1287
|
-
/**
|
|
1288
|
-
* Persist the dirty documents of `client`, or those of them `uris` names, in
|
|
1289
|
-
* the host's form or Monaco's, through `session`, one after another, and
|
|
1290
|
-
* return what was saved.
|
|
1291
|
-
*
|
|
1292
|
-
* **A save persists; it does not author.** Every keystroke already reached the
|
|
1293
|
-
* server as a `didChange`, and every server write reached the buffer as a
|
|
1294
|
-
* `workspace/applyEdit`, so the server's text is the buffer and disk is the
|
|
1295
|
-
* only thing behind. `persistDocument` at `'any'` writes that text without a
|
|
1296
|
-
* model: a write of the buffer's text would be authored against no read, so
|
|
1297
|
-
* no `ModelVersion` could gate it, and `'any'` on such a write could put an
|
|
1298
|
-
* older buffer over a server write still in flight.
|
|
1299
|
-
*
|
|
1300
|
-
* **The open's text hash is the gate.** A `didChange` travels the LSP port and
|
|
1301
|
-
* the persist the data port, and nothing orders one port's messages before
|
|
1302
|
-
* the other's, so the open can answer with text a keystroke has not reached.
|
|
1303
|
-
* The open answer's hash is `textHash` of the server's text; when it is not
|
|
1304
|
-
* the buffer's, the save throws, naming the document, and the document stays
|
|
1305
|
-
* dirty for the next save. A keystroke landing after the open persists as
|
|
1306
|
-
* newer text, which leaves the buffer dirty the same way.
|
|
1307
|
-
*
|
|
1308
|
-
* Each document's text is read just before its own open, not once for the
|
|
1309
|
-
* set: an earlier document's persist takes time, and a keystroke in a later
|
|
1310
|
-
* one during it would otherwise fail that one's hash check for nothing. Each
|
|
1311
|
-
* is marked saved at the version its text was read at, one at a time, so a
|
|
1312
|
-
* failure part-way through leaves the documents it never reached dirty and a
|
|
1313
|
-
* second call retries exactly those. Sequential, not concurrent: each persist
|
|
1314
|
-
* runs over the server's shared store.
|
|
1315
|
-
*/
|
|
1316
|
-
async function saveDirtyDocuments(client, session, uris) {
|
|
1317
|
-
const wanted = uris?.map(uri => monaco.Uri.parse(uri).toString());
|
|
1318
|
-
const dirty = client.dirtyDocuments().filter(document => wanted === undefined || wanted.includes(document.uri));
|
|
1319
|
-
const saved = [];
|
|
1320
|
-
for (const { uri } of dirty) {
|
|
1321
|
-
// Read again now: an undo during an earlier save may have cleaned it.
|
|
1322
|
-
const document = client.dirtyDocument(uri);
|
|
1323
|
-
if (document === undefined) {
|
|
1324
|
-
continue;
|
|
1325
|
-
}
|
|
1326
|
-
await session.withOpenDocument({ uri }, opened => {
|
|
1327
|
-
if (opened.text?.hash !== (0, protocol_1.textHash)(document.text)) {
|
|
1328
|
-
throw new Error(`The server's text for ${uri} differs from the buffer this save read; the document stays unsaved`);
|
|
1329
|
-
}
|
|
1330
|
-
return session.persistDocument({ uri, baseVersion: 'any' });
|
|
1331
|
-
});
|
|
1332
|
-
client.markSaved(document);
|
|
1333
|
-
saved.push(document);
|
|
1334
|
-
}
|
|
1335
|
-
return saved;
|
|
1336
|
-
}
|
|
1337
1286
|
//# sourceMappingURL=monaco-lsp-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monaco-lsp-client.js","sourceRoot":"","sources":["../../src/monaco/monaco-lsp-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"monaco-lsp-client.js","sourceRoot":"","sources":["../../src/monaco/monaco-lsp-client.ts"],"names":[],"mappings":"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"}
|
package/lib/worker-heads.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
|
-
import { type DataPort, type Logger, type TransferredMessagePort, type WorkerErrorMessage } from '@hydranium/protocol';
|
|
9
|
+
import { type DataPort, type Logger, type TransferredMessagePort, type WorkerErrorMessage, type WorkerReadyMessage } from '@hydranium/protocol';
|
|
10
10
|
import { type Disposable, type Event, type MessageConnection } from 'vscode-jsonrpc/browser';
|
|
11
11
|
/** The phase a report synthesised from the `Worker`'s `error` event carries. */
|
|
12
12
|
export declare const WORKER_ERROR_EVENT_PHASE = "worker";
|
|
@@ -40,6 +40,12 @@ export interface WorkerHeads {
|
|
|
40
40
|
* this connection's copy rejects them unless they go by method name.
|
|
41
41
|
*/
|
|
42
42
|
readonly glsp: MessageConnection;
|
|
43
|
+
/**
|
|
44
|
+
* The worker's ready message, once every head is up, with the files the
|
|
45
|
+
* worker holds when its host named a root for them. Rejects when the heads
|
|
46
|
+
* end first; stays pending for a worker that posts no ready message.
|
|
47
|
+
*/
|
|
48
|
+
readonly ready: Promise<WorkerReadyMessage>;
|
|
43
49
|
/**
|
|
44
50
|
* Every failure the worker reports on its global, and its `error` event
|
|
45
51
|
* under {@link WORKER_ERROR_EVENT_PHASE}, before and after the heads have
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-heads.d.ts","sourceRoot":"","sources":["../src/worker-heads.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,
|
|
1
|
+
{"version":3,"file":"worker-heads.d.ts","sourceRoot":"","sources":["../src/worker-heads.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAQJ,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,sBAAsB,EAE3B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAoC,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG/H,gFAAgF;AAChF,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IAChC,mHAAmH;IACnH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,QAAQ,GAAG,UAAU,CAAC;CACrG;AAED,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IACzB;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC;IAChC,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAClD;;;;;;;;;OASG;IACH,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,iHAAiH;IACjH,OAAO,IAAI,IAAI,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,WAAW,CAoFhG"}
|
package/lib/worker-heads.js
CHANGED
|
@@ -49,6 +49,9 @@ function connectWorkerHeads(worker, options = {}) {
|
|
|
49
49
|
const glspConnection = (0, browser_1.createMessageConnection)(glspTransport.reader, glspTransport.writer, options.logger?.with('GLSP head'));
|
|
50
50
|
const errorEmitter = new browser_1.Emitter();
|
|
51
51
|
const disposeEmitter = new browser_1.Emitter();
|
|
52
|
+
const ready = new protocol_1.Deferred();
|
|
53
|
+
// A page that never reads it must not see the rejection as unhandled.
|
|
54
|
+
ready.promise.catch(() => undefined);
|
|
52
55
|
// Whether the worker is past its bootstrap: it says so with its ready
|
|
53
56
|
// message, and a worker that posts none shows it by posting on a head's
|
|
54
57
|
// port, which only a running head does. An `error` event before that is a
|
|
@@ -67,6 +70,7 @@ function connectWorkerHeads(worker, options = {}) {
|
|
|
67
70
|
lspConnection.dispose();
|
|
68
71
|
dataPort.dispose();
|
|
69
72
|
glspConnection.dispose();
|
|
73
|
+
ready.reject(new Error('The worker heads ended before the worker was ready'));
|
|
70
74
|
disposeEmitter.fire();
|
|
71
75
|
disposeEmitter.dispose();
|
|
72
76
|
};
|
|
@@ -86,6 +90,7 @@ function connectWorkerHeads(worker, options = {}) {
|
|
|
86
90
|
worker.addEventListener('message', event => {
|
|
87
91
|
if ((0, protocol_1.isWorkerReadyMessage)(event.data)) {
|
|
88
92
|
workerUp = true;
|
|
93
|
+
ready.resolve(event.data);
|
|
89
94
|
return;
|
|
90
95
|
}
|
|
91
96
|
if (!(0, protocol_1.isWorkerErrorMessage)(event.data)) {
|
|
@@ -100,6 +105,7 @@ function connectWorkerHeads(worker, options = {}) {
|
|
|
100
105
|
lsp: lspConnection,
|
|
101
106
|
data: dataPort,
|
|
102
107
|
glsp: glspConnection,
|
|
108
|
+
ready: ready.promise,
|
|
103
109
|
onWorkerError: errorEmitter.event,
|
|
104
110
|
onDispose: disposeEmitter.event,
|
|
105
111
|
dispose
|
package/lib/worker-heads.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-heads.js","sourceRoot":"","sources":["../src/worker-heads.ts"],"names":[],"mappings":";AAAA;;;;;;;kFAOkF;;;;AAElF,
|
|
1
|
+
{"version":3,"file":"worker-heads.js","sourceRoot":"","sources":["../src/worker-heads.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hydranium/client-browser",
|
|
3
|
-
"version": "1.0.0-next.
|
|
3
|
+
"version": "1.0.0-next.308",
|
|
4
4
|
"description": "The page side of a hydranium host that runs its heads in a web worker: the worker bootstrap that hands each head its own MessagePort, the page's LSP handshake, a Monaco LSP client, the data head's port, and the rejection of what is pending when the worker dies.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"browser",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"watch": "tsc -b -w --preserveWatchOutput"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@hydranium/protocol": "1.0.0-next.
|
|
58
|
+
"@hydranium/protocol": "1.0.0-next.308",
|
|
59
59
|
"@types/node": "^22.0.0",
|
|
60
60
|
"monaco-editor-core": "0.56.0",
|
|
61
61
|
"rimraf": "^5.0.0",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"vscode-languageserver-protocol": "3.18.1"
|
|
65
65
|
},
|
|
66
66
|
"peerDependencies": {
|
|
67
|
-
"@hydranium/protocol": "1.0.0-next.
|
|
67
|
+
"@hydranium/protocol": "1.0.0-next.308",
|
|
68
68
|
"monaco-editor-core": ">=0.56.0 <1.0.0",
|
|
69
69
|
"vscode-jsonrpc": "^9.0.0",
|
|
70
70
|
"vscode-languageserver-protocol": "~3.18.1"
|
|
@@ -30,14 +30,7 @@
|
|
|
30
30
|
* directly rather than counted here in parallel.
|
|
31
31
|
*/
|
|
32
32
|
|
|
33
|
-
import {
|
|
34
|
-
type BaseVersion,
|
|
35
|
-
isResponseError,
|
|
36
|
-
SaveTextDocumentRequest,
|
|
37
|
-
sendByMethodName,
|
|
38
|
-
type TextState,
|
|
39
|
-
textHash
|
|
40
|
-
} from '@hydranium/protocol';
|
|
33
|
+
import { isResponseError, SaveTextDocumentRequest, sendByMethodName } from '@hydranium/protocol';
|
|
41
34
|
import * as monaco from 'monaco-editor-core';
|
|
42
35
|
import { ConnectionErrors, type MessageConnection } from 'vscode-jsonrpc/browser';
|
|
43
36
|
import {
|
|
@@ -1468,65 +1461,3 @@ export class MonacoLspClient {
|
|
|
1468
1461
|
}
|
|
1469
1462
|
}
|
|
1470
1463
|
}
|
|
1471
|
-
|
|
1472
|
-
/** The two calls of a data session {@link saveDirtyDocuments} makes, which `DataSession` satisfies. */
|
|
1473
|
-
export interface DocumentPersister {
|
|
1474
|
-
/** Open `args.uri`, run `fn` with the opened document, whose `text` is the server's state of it, and close it after. */
|
|
1475
|
-
withOpenDocument<T>(args: { readonly uri: string }, fn: (document: { readonly text?: TextState }) => Promise<T>): Promise<T>;
|
|
1476
|
-
persistDocument(args: { readonly uri: string; readonly baseVersion: BaseVersion }): Promise<unknown>;
|
|
1477
|
-
}
|
|
1478
|
-
|
|
1479
|
-
/**
|
|
1480
|
-
* Persist the dirty documents of `client`, or those of them `uris` names, in
|
|
1481
|
-
* the host's form or Monaco's, through `session`, one after another, and
|
|
1482
|
-
* return what was saved.
|
|
1483
|
-
*
|
|
1484
|
-
* **A save persists; it does not author.** Every keystroke already reached the
|
|
1485
|
-
* server as a `didChange`, and every server write reached the buffer as a
|
|
1486
|
-
* `workspace/applyEdit`, so the server's text is the buffer and disk is the
|
|
1487
|
-
* only thing behind. `persistDocument` at `'any'` writes that text without a
|
|
1488
|
-
* model: a write of the buffer's text would be authored against no read, so
|
|
1489
|
-
* no `ModelVersion` could gate it, and `'any'` on such a write could put an
|
|
1490
|
-
* older buffer over a server write still in flight.
|
|
1491
|
-
*
|
|
1492
|
-
* **The open's text hash is the gate.** A `didChange` travels the LSP port and
|
|
1493
|
-
* the persist the data port, and nothing orders one port's messages before
|
|
1494
|
-
* the other's, so the open can answer with text a keystroke has not reached.
|
|
1495
|
-
* The open answer's hash is `textHash` of the server's text; when it is not
|
|
1496
|
-
* the buffer's, the save throws, naming the document, and the document stays
|
|
1497
|
-
* dirty for the next save. A keystroke landing after the open persists as
|
|
1498
|
-
* newer text, which leaves the buffer dirty the same way.
|
|
1499
|
-
*
|
|
1500
|
-
* Each document's text is read just before its own open, not once for the
|
|
1501
|
-
* set: an earlier document's persist takes time, and a keystroke in a later
|
|
1502
|
-
* one during it would otherwise fail that one's hash check for nothing. Each
|
|
1503
|
-
* is marked saved at the version its text was read at, one at a time, so a
|
|
1504
|
-
* failure part-way through leaves the documents it never reached dirty and a
|
|
1505
|
-
* second call retries exactly those. Sequential, not concurrent: each persist
|
|
1506
|
-
* runs over the server's shared store.
|
|
1507
|
-
*/
|
|
1508
|
-
export async function saveDirtyDocuments(
|
|
1509
|
-
client: MonacoLspClient,
|
|
1510
|
-
session: DocumentPersister,
|
|
1511
|
-
uris?: readonly string[]
|
|
1512
|
-
): Promise<EditorDocument[]> {
|
|
1513
|
-
const wanted = uris?.map(uri => monaco.Uri.parse(uri).toString());
|
|
1514
|
-
const dirty = client.dirtyDocuments().filter(document => wanted === undefined || wanted.includes(document.uri));
|
|
1515
|
-
const saved: EditorDocument[] = [];
|
|
1516
|
-
for (const { uri } of dirty) {
|
|
1517
|
-
// Read again now: an undo during an earlier save may have cleaned it.
|
|
1518
|
-
const document = client.dirtyDocument(uri);
|
|
1519
|
-
if (document === undefined) {
|
|
1520
|
-
continue;
|
|
1521
|
-
}
|
|
1522
|
-
await session.withOpenDocument({ uri }, opened => {
|
|
1523
|
-
if (opened.text?.hash !== textHash(document.text)) {
|
|
1524
|
-
throw new Error(`The server's text for ${uri} differs from the buffer this save read; the document stays unsaved`);
|
|
1525
|
-
}
|
|
1526
|
-
return session.persistDocument({ uri, baseVersion: 'any' });
|
|
1527
|
-
});
|
|
1528
|
-
client.markSaved(document);
|
|
1529
|
-
saved.push(document);
|
|
1530
|
-
}
|
|
1531
|
-
return saved;
|
|
1532
|
-
}
|
package/src/worker-heads.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
import {
|
|
11
11
|
createMessagePortTransport,
|
|
12
|
+
Deferred,
|
|
12
13
|
isWorkerErrorMessage,
|
|
13
14
|
isWorkerReadyMessage,
|
|
14
15
|
WORKER_BOOTSTRAP_MESSAGE_TYPE,
|
|
@@ -18,7 +19,8 @@ import {
|
|
|
18
19
|
type Logger,
|
|
19
20
|
type TransferredMessagePort,
|
|
20
21
|
type WorkerBootstrapMessage,
|
|
21
|
-
type WorkerErrorMessage
|
|
22
|
+
type WorkerErrorMessage,
|
|
23
|
+
type WorkerReadyMessage
|
|
22
24
|
} from '@hydranium/protocol';
|
|
23
25
|
import { createMessageConnection, Emitter, type Disposable, type Event, type MessageConnection } from 'vscode-jsonrpc/browser';
|
|
24
26
|
import { WorkerDataPort } from './worker-data-port';
|
|
@@ -57,6 +59,12 @@ export interface WorkerHeads {
|
|
|
57
59
|
* this connection's copy rejects them unless they go by method name.
|
|
58
60
|
*/
|
|
59
61
|
readonly glsp: MessageConnection;
|
|
62
|
+
/**
|
|
63
|
+
* The worker's ready message, once every head is up, with the files the
|
|
64
|
+
* worker holds when its host named a root for them. Rejects when the heads
|
|
65
|
+
* end first; stays pending for a worker that posts no ready message.
|
|
66
|
+
*/
|
|
67
|
+
readonly ready: Promise<WorkerReadyMessage>;
|
|
60
68
|
/**
|
|
61
69
|
* Every failure the worker reports on its global, and its `error` event
|
|
62
70
|
* under {@link WORKER_ERROR_EVENT_PHASE}, before and after the heads have
|
|
@@ -113,6 +121,9 @@ export function connectWorkerHeads(worker: Worker, options: WorkerHeadsOptions =
|
|
|
113
121
|
const glspConnection = createMessageConnection(glspTransport.reader, glspTransport.writer, options.logger?.with('GLSP head'));
|
|
114
122
|
const errorEmitter = new Emitter<WorkerErrorMessage>();
|
|
115
123
|
const disposeEmitter = new Emitter<void>();
|
|
124
|
+
const ready = new Deferred<WorkerReadyMessage>();
|
|
125
|
+
// A page that never reads it must not see the rejection as unhandled.
|
|
126
|
+
ready.promise.catch(() => undefined);
|
|
116
127
|
|
|
117
128
|
// Whether the worker is past its bootstrap: it says so with its ready
|
|
118
129
|
// message, and a worker that posts none shows it by posting on a head's
|
|
@@ -133,6 +144,7 @@ export function connectWorkerHeads(worker: Worker, options: WorkerHeadsOptions =
|
|
|
133
144
|
lspConnection.dispose();
|
|
134
145
|
dataPort.dispose();
|
|
135
146
|
glspConnection.dispose();
|
|
147
|
+
ready.reject(new Error('The worker heads ended before the worker was ready'));
|
|
136
148
|
disposeEmitter.fire();
|
|
137
149
|
disposeEmitter.dispose();
|
|
138
150
|
};
|
|
@@ -153,6 +165,7 @@ export function connectWorkerHeads(worker: Worker, options: WorkerHeadsOptions =
|
|
|
153
165
|
worker.addEventListener('message', event => {
|
|
154
166
|
if (isWorkerReadyMessage(event.data)) {
|
|
155
167
|
workerUp = true;
|
|
168
|
+
ready.resolve(event.data);
|
|
156
169
|
return;
|
|
157
170
|
}
|
|
158
171
|
if (!isWorkerErrorMessage(event.data)) {
|
|
@@ -168,6 +181,7 @@ export function connectWorkerHeads(worker: Worker, options: WorkerHeadsOptions =
|
|
|
168
181
|
lsp: lspConnection,
|
|
169
182
|
data: dataPort,
|
|
170
183
|
glsp: glspConnection,
|
|
184
|
+
ready: ready.promise,
|
|
171
185
|
onWorkerError: errorEmitter.event,
|
|
172
186
|
onDispose: disposeEmitter.event,
|
|
173
187
|
dispose
|