monaco-languageclient-examples 6.4.5-next.0
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/CHANGELOG.md +7 -0
- package/License.txt +11 -0
- package/README.md +17 -0
- package/browser.html +16 -0
- package/client.html +16 -0
- package/dist/browser/main.d.ts +2 -0
- package/dist/browser/main.d.ts.map +1 -0
- package/dist/browser/main.js +111 -0
- package/dist/browser/main.js.map +1 -0
- package/dist/common.d.ts +22 -0
- package/dist/common.d.ts.map +1 -0
- package/dist/common.js +109 -0
- package/dist/common.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/json/client/main.d.ts +2 -0
- package/dist/json/client/main.d.ts.map +1 -0
- package/dist/json/client/main.js +19 -0
- package/dist/json/client/main.js.map +1 -0
- package/dist/json/server/json-server.d.ts +36 -0
- package/dist/json/server/json-server.d.ts.map +1 -0
- package/dist/json/server/json-server.js +216 -0
- package/dist/json/server/json-server.js.map +1 -0
- package/dist/json/server/main.d.ts +2 -0
- package/dist/json/server/main.d.ts.map +1 -0
- package/dist/json/server/main.js +64 -0
- package/dist/json/server/main.js.map +1 -0
- package/dist/langium/langiumClient.d.ts +2 -0
- package/dist/langium/langiumClient.d.ts.map +1 -0
- package/dist/langium/langiumClient.js +130 -0
- package/dist/langium/langiumClient.js.map +1 -0
- package/dist/langium/langiumServerWorker.d.ts +2 -0
- package/dist/langium/langiumServerWorker.d.ts.map +1 -0
- package/dist/langium/langiumServerWorker.js +18 -0
- package/dist/langium/langiumServerWorker.js.map +1 -0
- package/dist/langium/statemachineClient.d.ts +2 -0
- package/dist/langium/statemachineClient.d.ts.map +1 -0
- package/dist/langium/statemachineClient.js +140 -0
- package/dist/langium/statemachineClient.js.map +1 -0
- package/dist/node.d.ts +5 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +9 -0
- package/dist/node.js.map +1 -0
- package/dist/python/client.d.ts +3 -0
- package/dist/python/client.d.ts.map +1 -0
- package/dist/python/client.js +157 -0
- package/dist/python/client.js.map +1 -0
- package/dist/python/server.d.ts +2 -0
- package/dist/python/server.d.ts.map +1 -0
- package/dist/python/server.js +105 -0
- package/dist/python/server.js.map +1 -0
- package/dist/react/app.d.ts +10 -0
- package/dist/react/app.d.ts.map +1 -0
- package/dist/react/app.js +45 -0
- package/dist/react/app.js.map +1 -0
- package/dist/react/main.d.ts +2 -0
- package/dist/react/main.d.ts.map +1 -0
- package/dist/react/main.js +14 -0
- package/dist/react/main.js.map +1 -0
- package/dist/utils/fs-utils.d.ts +5 -0
- package/dist/utils/fs-utils.d.ts.map +1 -0
- package/dist/utils/fs-utils.js +14 -0
- package/dist/utils/fs-utils.js.map +1 -0
- package/dist/worker/langiumServerWorker.js +210 -0
- package/dist/worker/statemachineServerWorker.js +534 -0
- package/langium_client.html +17 -0
- package/package.json +96 -0
- package/python.html +16 -0
- package/react.html +16 -0
- package/src/browser/main.ts +131 -0
- package/src/common.ts +130 -0
- package/src/index.ts +13 -0
- package/src/json/client/main.ts +22 -0
- package/src/json/server/json-server.ts +265 -0
- package/src/json/server/main.ts +68 -0
- package/src/langium/example.langium +215 -0
- package/src/langium/example.statemachine +26 -0
- package/src/langium/langium.configuration.json +164 -0
- package/src/langium/langium.tmLanguage.json +290 -0
- package/src/langium/langiumClient.ts +146 -0
- package/src/langium/langiumServerWorker.ts +21 -0
- package/src/langium/statemachineClient.ts +151 -0
- package/src/node.ts +9 -0
- package/src/python/client.ts +170 -0
- package/src/python/server.ts +114 -0
- package/src/react/app.tsx +73 -0
- package/src/react/main.tsx +19 -0
- package/src/utils/fs-utils.ts +14 -0
- package/statemachine_client.html +16 -0
- package/vite.statemachine-worker.ts +17 -0
package/dist/node.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAKA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
|
package/dist/node.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/* --------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) 2018-2022 TypeFox GmbH (http://www.typefox.io). All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
* ------------------------------------------------------------------------------------------ */
|
|
5
|
+
export * from './json/server/json-server.js';
|
|
6
|
+
export * from './json/server/main.js';
|
|
7
|
+
export * from './python/server.js';
|
|
8
|
+
export * from './utils/fs-utils.js';
|
|
9
|
+
//# sourceMappingURL=node.js.map
|
package/dist/node.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/python/client.ts"],"names":[],"mappings":"AAOA,OAAO,0CAA0C,CAAC;AAClD,OAAO,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/* --------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) 2018-2022 TypeFox GmbH (http://www.typefox.io). All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
* ------------------------------------------------------------------------------------------ */
|
|
5
|
+
import * as monaco from 'monaco-editor';
|
|
6
|
+
import * as vscode from 'vscode';
|
|
7
|
+
import 'vscode/default-extensions/theme-defaults';
|
|
8
|
+
import 'vscode/default-extensions/python';
|
|
9
|
+
import { updateUserConfiguration } from 'vscode/service-override/configuration';
|
|
10
|
+
import { LogLevel } from 'vscode/services';
|
|
11
|
+
import { createConfiguredEditor, createModelReference } from 'vscode/monaco';
|
|
12
|
+
import { registerExtension } from 'vscode/extensions';
|
|
13
|
+
import { initServices, MonacoLanguageClient } from 'monaco-languageclient';
|
|
14
|
+
import { CloseAction, ErrorAction } from 'vscode-languageclient';
|
|
15
|
+
import { WebSocketMessageReader, WebSocketMessageWriter, toSocket } from 'vscode-ws-jsonrpc';
|
|
16
|
+
import { RegisteredFileSystemProvider, registerFileSystemOverlay, RegisteredMemoryFile } from 'vscode/service-override/files';
|
|
17
|
+
import { buildWorkerDefinition } from 'monaco-editor-workers';
|
|
18
|
+
import { createUrl } from '../common.js';
|
|
19
|
+
buildWorkerDefinition('../../../node_modules/monaco-editor-workers/dist/workers/', new URL('', window.location.href).href, false);
|
|
20
|
+
const languageId = 'python';
|
|
21
|
+
let languageClient;
|
|
22
|
+
const createWebSocket = (url) => {
|
|
23
|
+
const webSocket = new WebSocket(url);
|
|
24
|
+
webSocket.onopen = async () => {
|
|
25
|
+
const socket = toSocket(webSocket);
|
|
26
|
+
const reader = new WebSocketMessageReader(socket);
|
|
27
|
+
const writer = new WebSocketMessageWriter(socket);
|
|
28
|
+
languageClient = createLanguageClient({
|
|
29
|
+
reader,
|
|
30
|
+
writer
|
|
31
|
+
});
|
|
32
|
+
await languageClient.start();
|
|
33
|
+
reader.onClose(() => languageClient.stop());
|
|
34
|
+
};
|
|
35
|
+
return webSocket;
|
|
36
|
+
};
|
|
37
|
+
const createLanguageClient = (transports) => {
|
|
38
|
+
return new MonacoLanguageClient({
|
|
39
|
+
name: 'Pyright Language Client',
|
|
40
|
+
clientOptions: {
|
|
41
|
+
// use a language id as a document selector
|
|
42
|
+
documentSelector: [languageId],
|
|
43
|
+
// disable the default error handler
|
|
44
|
+
errorHandler: {
|
|
45
|
+
error: () => ({ action: ErrorAction.Continue }),
|
|
46
|
+
closed: () => ({ action: CloseAction.DoNotRestart })
|
|
47
|
+
},
|
|
48
|
+
// pyright requires a workspace folder to be present, otherwise it will not work
|
|
49
|
+
workspaceFolder: {
|
|
50
|
+
index: 0,
|
|
51
|
+
name: 'workspace',
|
|
52
|
+
uri: monaco.Uri.parse('/tmp')
|
|
53
|
+
},
|
|
54
|
+
synchronize: {
|
|
55
|
+
fileEvents: [vscode.workspace.createFileSystemWatcher('**')]
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
// create a language client connection from the JSON RPC connection on demand
|
|
59
|
+
connectionProvider: {
|
|
60
|
+
get: () => {
|
|
61
|
+
return Promise.resolve(transports);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
const run = async () => {
|
|
67
|
+
// init vscode-api
|
|
68
|
+
await initServices({
|
|
69
|
+
enableModelService: true,
|
|
70
|
+
enableThemeService: true,
|
|
71
|
+
enableTextmateService: true,
|
|
72
|
+
configureConfigurationService: {
|
|
73
|
+
defaultWorkspaceUri: '/tmp'
|
|
74
|
+
},
|
|
75
|
+
enableLanguagesService: true,
|
|
76
|
+
enableKeybindingsService: true,
|
|
77
|
+
debugLogging: true,
|
|
78
|
+
logLevel: LogLevel.Debug
|
|
79
|
+
});
|
|
80
|
+
// extension configuration derived from:
|
|
81
|
+
// https://github.com/microsoft/pyright/blob/main/packages/vscode-pyright/package.json
|
|
82
|
+
// only a minimum is required to get pyright working
|
|
83
|
+
const extension = {
|
|
84
|
+
name: 'python-client',
|
|
85
|
+
publisher: 'monaco-languageclient-project',
|
|
86
|
+
version: '1.0.0',
|
|
87
|
+
engines: {
|
|
88
|
+
vscode: '^1.78.0'
|
|
89
|
+
},
|
|
90
|
+
contributes: {
|
|
91
|
+
languages: [{
|
|
92
|
+
id: languageId,
|
|
93
|
+
aliases: [
|
|
94
|
+
'Python'
|
|
95
|
+
],
|
|
96
|
+
extensions: [
|
|
97
|
+
'.py',
|
|
98
|
+
'.pyi'
|
|
99
|
+
]
|
|
100
|
+
}],
|
|
101
|
+
commands: [{
|
|
102
|
+
command: 'pyright.restartserver',
|
|
103
|
+
title: 'Pyright: Restart Server',
|
|
104
|
+
category: 'Pyright'
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
command: 'pyright.organizeimports',
|
|
108
|
+
title: 'Pyright: Organize Imports',
|
|
109
|
+
category: 'Pyright'
|
|
110
|
+
}],
|
|
111
|
+
keybindings: [{
|
|
112
|
+
key: 'ctrl+k',
|
|
113
|
+
command: 'pyright.restartserver',
|
|
114
|
+
when: 'editorTextFocus'
|
|
115
|
+
}]
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
registerExtension(extension, 1 /* ExtensionHostKind.LocalProcess */);
|
|
119
|
+
updateUserConfiguration(`{
|
|
120
|
+
"editor.fontSize": 14,
|
|
121
|
+
"workbench.colorTheme": "Default Dark Modern"
|
|
122
|
+
}`);
|
|
123
|
+
const fileSystemProvider = new RegisteredFileSystemProvider(false);
|
|
124
|
+
fileSystemProvider.registerFile(new RegisteredMemoryFile(vscode.Uri.file('/tmp/hello.py'), 'print("Hello, World!")'));
|
|
125
|
+
registerFileSystemOverlay(1, fileSystemProvider);
|
|
126
|
+
// create the web socket and configure to start the language client on open, can add extra parameters to the url if needed.
|
|
127
|
+
createWebSocket(createUrl('localhost', 30000, '/pyright', {
|
|
128
|
+
// Used to parse an auth token or additional parameters such as import IDs to the language server
|
|
129
|
+
authorization: 'UserAuth'
|
|
130
|
+
// By commenting above line out and commenting below line in, connection to language server will be denied.
|
|
131
|
+
// authorization: 'FailedUserAuth'
|
|
132
|
+
}, false));
|
|
133
|
+
const registerCommand = async (cmdName, handler) => {
|
|
134
|
+
// commands sould not be there, but it demonstrates how to retrieve list of all external commands
|
|
135
|
+
const commands = await vscode.commands.getCommands(true);
|
|
136
|
+
if (!commands.includes(cmdName)) {
|
|
137
|
+
vscode.commands.registerCommand(cmdName, handler);
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
// always exectute the command with current language client
|
|
141
|
+
await registerCommand('pyright.restartserver', (...args) => {
|
|
142
|
+
languageClient.sendRequest('workspace/executeCommand', { command: 'pyright.restartserver', arguments: args });
|
|
143
|
+
});
|
|
144
|
+
await registerCommand('pyright.organizeimports', (...args) => {
|
|
145
|
+
languageClient.sendRequest('workspace/executeCommand', { command: 'pyright.organizeimports', arguments: args });
|
|
146
|
+
});
|
|
147
|
+
// use the file create before
|
|
148
|
+
const modelRef = await createModelReference(monaco.Uri.file('/tmp/hello.py'));
|
|
149
|
+
modelRef.object.setLanguageId(languageId);
|
|
150
|
+
// create monaco editor
|
|
151
|
+
createConfiguredEditor(document.getElementById('container'), {
|
|
152
|
+
model: modelRef.object.textEditorModel,
|
|
153
|
+
automaticLayout: true
|
|
154
|
+
});
|
|
155
|
+
};
|
|
156
|
+
run();
|
|
157
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/python/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/python/server.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/* --------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) 2018-2022 TypeFox GmbH (http://www.typefox.io). All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
* ------------------------------------------------------------------------------------------ */
|
|
5
|
+
import { WebSocketServer } from 'ws';
|
|
6
|
+
import { URL } from 'url';
|
|
7
|
+
import express from 'express';
|
|
8
|
+
import { resolve } from 'path';
|
|
9
|
+
import { WebSocketMessageReader, WebSocketMessageWriter } from 'vscode-ws-jsonrpc';
|
|
10
|
+
import { createConnection, createServerProcess, forward } from 'vscode-ws-jsonrpc/server';
|
|
11
|
+
import { Message, InitializeRequest } from 'vscode-languageserver';
|
|
12
|
+
import { getLocalDirectory } from '../utils/fs-utils.js';
|
|
13
|
+
const serverName = 'PYRIGHT';
|
|
14
|
+
const launchLanguageServer = (socket, baseDir, relativeDir) => {
|
|
15
|
+
// start the language server as an external process
|
|
16
|
+
const ls = resolve(baseDir, relativeDir);
|
|
17
|
+
const serverConnection = createServerProcess(serverName, 'node', [ls, '--stdio']);
|
|
18
|
+
const reader = new WebSocketMessageReader(socket);
|
|
19
|
+
const writer = new WebSocketMessageWriter(socket);
|
|
20
|
+
const socketConnection = createConnection(reader, writer, () => socket.dispose());
|
|
21
|
+
if (serverConnection) {
|
|
22
|
+
forward(socketConnection, serverConnection, message => {
|
|
23
|
+
if (Message.isRequest(message)) {
|
|
24
|
+
console.log(`${serverName} Server received:`);
|
|
25
|
+
console.log(message);
|
|
26
|
+
if (message.method === InitializeRequest.type.method) {
|
|
27
|
+
const initializeParams = message.params;
|
|
28
|
+
initializeParams.processId = process.pid;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (Message.isResponse(message)) {
|
|
32
|
+
console.log(`${serverName} Server sent:`);
|
|
33
|
+
console.log(message);
|
|
34
|
+
}
|
|
35
|
+
return message;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const run = () => {
|
|
40
|
+
process.on('uncaughtException', function (err) {
|
|
41
|
+
console.error('Uncaught Exception: ', err.toString());
|
|
42
|
+
if (err.stack) {
|
|
43
|
+
console.error(err.stack);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
// create the express application
|
|
47
|
+
const app = express();
|
|
48
|
+
// server the static content, i.e. index.html
|
|
49
|
+
const dir = getLocalDirectory(import.meta.url);
|
|
50
|
+
app.use(express.static(dir));
|
|
51
|
+
// start the server
|
|
52
|
+
const server = app.listen(30000);
|
|
53
|
+
// create the web socket
|
|
54
|
+
const wss = new WebSocketServer({
|
|
55
|
+
noServer: true,
|
|
56
|
+
perMessageDeflate: false,
|
|
57
|
+
clientTracking: true,
|
|
58
|
+
verifyClient: (clientInfo, callback) => {
|
|
59
|
+
const parsedURL = new URL(`${clientInfo.origin}${clientInfo.req?.url ?? ''}`);
|
|
60
|
+
const authToken = parsedURL.searchParams.get('authorization');
|
|
61
|
+
if (authToken === 'UserAuth') {
|
|
62
|
+
// eslint-disable-next-line n/no-callback-literal
|
|
63
|
+
callback(true);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
// eslint-disable-next-line n/no-callback-literal
|
|
67
|
+
callback(false);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
server.on('upgrade', (request, socket, head) => {
|
|
72
|
+
const baseURL = `http://${request.headers.host}/`;
|
|
73
|
+
const pathname = request.url ? new URL(request.url, baseURL).pathname : undefined;
|
|
74
|
+
if (pathname === '/pyright') {
|
|
75
|
+
wss.handleUpgrade(request, socket, head, webSocket => {
|
|
76
|
+
const socket = {
|
|
77
|
+
send: content => webSocket.send(content, error => {
|
|
78
|
+
if (error) {
|
|
79
|
+
throw error;
|
|
80
|
+
}
|
|
81
|
+
}),
|
|
82
|
+
onMessage: cb => webSocket.on('message', (data) => {
|
|
83
|
+
cb(data);
|
|
84
|
+
}),
|
|
85
|
+
onError: cb => webSocket.on('error', cb),
|
|
86
|
+
onClose: cb => webSocket.on('close', cb),
|
|
87
|
+
dispose: () => webSocket.close()
|
|
88
|
+
};
|
|
89
|
+
// launch the server when the web socket is opened
|
|
90
|
+
const baseDir = resolve(getLocalDirectory(import.meta.url));
|
|
91
|
+
const relativeDir = '../../../../../node_modules/pyright/dist/pyright-langserver.js';
|
|
92
|
+
if (webSocket.readyState === webSocket.OPEN) {
|
|
93
|
+
launchLanguageServer(socket, baseDir, relativeDir);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
webSocket.on('open', () => {
|
|
97
|
+
launchLanguageServer(socket, baseDir, relativeDir);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
run();
|
|
105
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/python/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/react/app.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAgD,MAAM,OAAO,CAAC;AAOrE,MAAM,MAAM,WAAW,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAmDnD,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/* --------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) 2018-2022 TypeFox GmbH (http://www.typefox.io). All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
* ------------------------------------------------------------------------------------------ */
|
|
5
|
+
import { createJsonEditor, createUrl, createWebSocketAndStartClient, performInit } from '../common.js';
|
|
6
|
+
import React, { createRef, useEffect, useMemo, useRef } from 'react';
|
|
7
|
+
import { buildWorkerDefinition } from 'monaco-editor-workers';
|
|
8
|
+
buildWorkerDefinition('../../../node_modules/monaco-editor-workers/dist/workers/', new URL('', window.location.href).href, false);
|
|
9
|
+
let init = true;
|
|
10
|
+
export const ReactMonacoEditor = ({ defaultCode, hostname, path, port, className }) => {
|
|
11
|
+
const editorRef = useRef();
|
|
12
|
+
const ref = createRef();
|
|
13
|
+
const url = useMemo(() => createUrl(hostname, port, path), [hostname, port, path]);
|
|
14
|
+
let lspWebSocket;
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
const currentEditor = editorRef.current;
|
|
17
|
+
if (ref.current != null) {
|
|
18
|
+
const start = async () => {
|
|
19
|
+
await performInit(true);
|
|
20
|
+
await createJsonEditor({
|
|
21
|
+
htmlElement: ref.current,
|
|
22
|
+
content: defaultCode
|
|
23
|
+
});
|
|
24
|
+
if (init) {
|
|
25
|
+
init = false;
|
|
26
|
+
}
|
|
27
|
+
lspWebSocket = createWebSocketAndStartClient(url);
|
|
28
|
+
};
|
|
29
|
+
start();
|
|
30
|
+
return () => {
|
|
31
|
+
currentEditor?.dispose();
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
window.onbeforeunload = () => {
|
|
35
|
+
// On page reload/exit, close web socket connection
|
|
36
|
+
lspWebSocket?.close();
|
|
37
|
+
};
|
|
38
|
+
return () => {
|
|
39
|
+
// On component unmount, close web socket connection
|
|
40
|
+
lspWebSocket?.close();
|
|
41
|
+
};
|
|
42
|
+
}, []);
|
|
43
|
+
return (React.createElement("div", { ref: ref, style: { height: '50vh' }, className: className }));
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/react/app.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,6BAA6B,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEvG,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,qBAAqB,CAAC,2DAA2D,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAElI,IAAI,IAAI,GAAG,IAAI,CAAC;AAUhB,MAAM,CAAC,MAAM,iBAAiB,GAA0B,CAAC,EACrD,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,SAAS,EACZ,EAAE,EAAE;IACD,MAAM,SAAS,GAAG,MAAM,EAAgC,CAAC;IACzD,MAAM,GAAG,GAAG,SAAS,EAAkB,CAAC;IACxC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACnF,IAAI,YAAuB,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC;QAExC,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI,EAAE;YACrB,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;gBACrB,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM,gBAAgB,CAAC;oBACnB,WAAW,EAAE,GAAG,CAAC,OAAQ;oBACzB,OAAO,EAAE,WAAW;iBACvB,CAAC,CAAC;gBACH,IAAI,IAAI,EAAE;oBACN,IAAI,GAAG,KAAK,CAAC;iBAChB;gBACD,YAAY,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC;YACtD,CAAC,CAAC;YACF,KAAK,EAAE,CAAC;YAER,OAAO,GAAG,EAAE;gBACR,aAAa,EAAE,OAAO,EAAE,CAAC;YAC7B,CAAC,CAAC;SACL;QAED,MAAM,CAAC,cAAc,GAAG,GAAG,EAAE;YACzB,mDAAmD;YACnD,YAAY,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC,CAAC;QACF,OAAO,GAAG,EAAE;YACR,oDAAoD;YACpD,YAAY,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,6BACI,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EACzB,SAAS,EAAE,SAAS,GACtB,CACL,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/react/main.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* --------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) 2018-2022 TypeFox GmbH (http://www.typefox.io). All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
* ------------------------------------------------------------------------------------------ */
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import ReactDOM from 'react-dom/client';
|
|
7
|
+
import { ReactMonacoEditor } from './app.js';
|
|
8
|
+
const defaultCode = `{
|
|
9
|
+
"$schema": "http://json.schemastore.org/coffeelint",
|
|
10
|
+
"line_endings": "unix"
|
|
11
|
+
}`;
|
|
12
|
+
const root = ReactDOM.createRoot(document.getElementById('root'));
|
|
13
|
+
root.render(React.createElement(ReactMonacoEditor, { defaultCode: defaultCode, hostname: 'localhost', path: '/sampleServer', port: 3000 }));
|
|
14
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/react/main.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,GAAG;;;EAGlB,CAAC;AAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC,CAAC;AACnE,IAAI,CAAC,MAAM,CAAC,oBAAC,iBAAiB,IAC1B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,IAAI,GAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../../src/utils/fs-utils.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,eAAO,MAAM,iBAAiB,iBAAkB,MAAM,GAAG,GAAG,WAG3D,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* --------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) 2018-2022 TypeFox GmbH (http://www.typefox.io). All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
* ------------------------------------------------------------------------------------------ */
|
|
5
|
+
import { dirname } from 'path';
|
|
6
|
+
import { fileURLToPath } from 'url';
|
|
7
|
+
/**
|
|
8
|
+
* Solves: __dirname is not defined in ES module scope
|
|
9
|
+
*/
|
|
10
|
+
export const getLocalDirectory = (referenceUrl) => {
|
|
11
|
+
const __filename = fileURLToPath(referenceUrl);
|
|
12
|
+
return dirname(__filename);
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=fs-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-utils.js","sourceRoot":"","sources":["../../src/utils/fs-utils.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,YAA0B,EAAE,EAAE;IAC5D,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC/C,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/B,CAAC,CAAC"}
|