@usethesource/rascal-vscode-dsl-lsp-server 0.8.3 → 0.9.1

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.
Binary file
Binary file
@@ -3,11 +3,12 @@ import { LanguageParameter } from './lsp/ParameterizedLanguageServer';
3
3
  export declare class RascalExtension implements vscode.Disposable {
4
4
  private readonly context;
5
5
  private readonly jarRootPath;
6
+ private readonly icon;
6
7
  private readonly isDeploy;
7
8
  private readonly vfsServer;
8
9
  private readonly dsls;
9
10
  private readonly rascal;
10
- constructor(context: vscode.ExtensionContext, jarRootPath: string, isDeploy?: boolean);
11
+ constructor(context: vscode.ExtensionContext, jarRootPath: string, icon: vscode.Uri, isDeploy?: boolean);
11
12
  dispose(): void;
12
13
  externalLanguageRegistry(): {
13
14
  registerLanguage: (lang: LanguageParameter) => Promise<void>;
@@ -36,9 +36,10 @@ const ParameterizedLanguageServer_1 = require("./lsp/ParameterizedLanguageServer
36
36
  const RascalTerminalLinkProvider_1 = require("./RascalTerminalLinkProvider");
37
37
  const VSCodeURIResolver_1 = require("./fs/VSCodeURIResolver");
38
38
  class RascalExtension {
39
- constructor(context, jarRootPath, isDeploy = true) {
39
+ constructor(context, jarRootPath, icon, isDeploy = true) {
40
40
  this.context = context;
41
41
  this.jarRootPath = jarRootPath;
42
+ this.icon = icon;
42
43
  this.isDeploy = isDeploy;
43
44
  this.vfsServer = new VSCodeURIResolver_1.VSCodeUriResolverServer(!isDeploy);
44
45
  this.dsls = new ParameterizedLanguageServer_1.ParameterizedLanguageServer(context, this.vfsServer, jarRootPath, isDeploy);
@@ -100,7 +101,7 @@ class RascalExtension {
100
101
  const compilationPath = await rascal.sendRequest("rascal/supplyProjectCompilationClasspath", { uri: uri?.toString() });
101
102
  progress.report({ increment: 25, message: "Creating terminal" });
102
103
  const terminal = vscode.window.createTerminal({
103
- cwd: path.dirname(uri?.fsPath || ""),
104
+ iconPath: this.icon,
104
105
  shellPath: await (0, JavaLookup_1.getJavaExecutable)(),
105
106
  shellArgs: this.buildShellArgs(compilationPath, serverConfig, ...extraArgs),
106
107
  name: 'Rascal Terminal',
@@ -111,10 +112,13 @@ class RascalExtension {
111
112
  }
112
113
  buildShellArgs(classPath, ide, ...extraArgs) {
113
114
  const shellArgs = [
114
- calculateRascalREPLMemory(),
115
- '-cp',
116
- this.buildTerminalJVMPath() + (classPath.length > 0 ? (path.delimiter + classPath.join(path.delimiter)) : ''),
115
+ calculateRascalREPLMemory()
117
116
  ];
117
+ const replStackSize = calculateRascalREPLStackSize();
118
+ if (replStackSize.length !== 0) {
119
+ shellArgs.push(replStackSize);
120
+ }
121
+ shellArgs.push('-cp', this.buildTerminalJVMPath() + (classPath.length > 0 ? (path.delimiter + classPath.join(path.delimiter)) : ''));
118
122
  if (!this.isDeploy) {
119
123
  // for development mode we always start the terminal with debuging ready to go
120
124
  shellArgs.push('-Xdebug', '-Xrunjdwp:transport=dt_socket,address=9001,server=y,suspend=n');
@@ -133,6 +137,13 @@ function gb(amount) {
133
137
  return amount * (1024 * 1024 * 1024);
134
138
  }
135
139
  function calculateRascalREPLMemory() {
140
+ const config = vscode.workspace.getConfiguration();
141
+ if (config.has('rascal.interpreter.maxHeapSize')) {
142
+ const maxHeapSize = config.get('rascal.interpreter.maxHeapSize');
143
+ if (maxHeapSize !== null) {
144
+ return `-Xmx${maxHeapSize}M`;
145
+ }
146
+ }
136
147
  if (os.totalmem() >= gb(32)) {
137
148
  return "-Xmx9000M";
138
149
  }
@@ -144,4 +155,14 @@ function calculateRascalREPLMemory() {
144
155
  }
145
156
  return "-Xmx800M";
146
157
  }
158
+ function calculateRascalREPLStackSize() {
159
+ const config = vscode.workspace.getConfiguration();
160
+ if (config.has('rascal.interpreter.stackSize')) {
161
+ const stackSize = config.get('rascal.interpreter.stackSize');
162
+ if (stackSize !== null) {
163
+ return `-Xss${stackSize}M`;
164
+ }
165
+ }
166
+ return "";
167
+ }
147
168
  //# sourceMappingURL=RascalExtension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RascalExtension.js","sourceRoot":"","sources":["../src/RascalExtension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RascalExtension.js","sourceRoot":"","sources":["../src/RascalExtension.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { DebugAdapterDescriptor, DebugAdapterDescriptorFactory, DebugAdapterExecutable, DebugSession, ProviderResult } from "vscode";
2
+ /**
3
+ * Class creating a DebugAdapterServer connection when starting a debug session
4
+ */
5
+ export declare class RascalDebugAdapterDescriptorFactory implements DebugAdapterDescriptorFactory {
6
+ createDebugAdapterDescriptor(session: DebugSession, _executable: DebugAdapterExecutable | undefined): ProviderResult<DebugAdapterDescriptor>;
7
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RascalDebugAdapterDescriptorFactory = void 0;
4
+ /*
5
+ * Copyright (c) 2018-2023, NWO-I CWI and Swat.engineering
6
+ * All rights reserved.
7
+ *
8
+ * Redistribution and use in source and binary forms, with or without
9
+ * modification, are permitted provided that the following conditions are met:
10
+ *
11
+ * 1. Redistributions of source code must retain the above copyright notice,
12
+ * this list of conditions and the following disclaimer.
13
+ *
14
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
15
+ * this list of conditions and the following disclaimer in the documentation
16
+ * and/or other materials provided with the distribution.
17
+ *
18
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
+ * POSSIBILITY OF SUCH DAMAGE.
29
+ */
30
+ const vscode_1 = require("vscode");
31
+ /**
32
+ * Class creating a DebugAdapterServer connection when starting a debug session
33
+ */
34
+ class RascalDebugAdapterDescriptorFactory {
35
+ createDebugAdapterDescriptor(session, _executable) {
36
+ return new vscode_1.DebugAdapterServer(session.configuration.serverPort, "127.0.0.1");
37
+ }
38
+ }
39
+ exports.RascalDebugAdapterDescriptorFactory = RascalDebugAdapterDescriptorFactory;
40
+ //# sourceMappingURL=RascalDebugAdapterDescriptorFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RascalDebugAdapterDescriptorFactory.js","sourceRoot":"","sources":["../../src/dap/RascalDebugAdapterDescriptorFactory.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,mCAAwJ;AAExJ;;GAEG;AACH,MAAa,mCAAmC;IAE5C,4BAA4B,CAAC,OAAqB,EAAE,WAA+C;QAC/F,OAAO,IAAI,2BAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACjF,CAAC;CAEJ;AAND,kFAMC"}
@@ -0,0 +1,14 @@
1
+ import { RascalDebugAdapterDescriptorFactory } from "./RascalDebugAdapterDescriptorFactory";
2
+ /**
3
+ * Debug Client that stores running debug sessions and available REPL ports for debug sessions.
4
+ */
5
+ export declare class RascalDebugClient {
6
+ rascalDescriptorFactory: RascalDebugAdapterDescriptorFactory;
7
+ debugSocketServersPorts: Map<number, number>;
8
+ runningDebugSessionsPorts: Set<number>;
9
+ constructor();
10
+ startDebuggingSession(serverPort: number): Promise<void>;
11
+ registerDebugServerPort(processID: number, serverPort: number): void;
12
+ getServerPort(processID: number | undefined): number | undefined;
13
+ isConnectedToDebugServer(serverPort: number): boolean;
14
+ }
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RascalDebugClient = void 0;
4
+ /*
5
+ * Copyright (c) 2018-2023, NWO-I CWI and Swat.engineering
6
+ * All rights reserved.
7
+ *
8
+ * Redistribution and use in source and binary forms, with or without
9
+ * modification, are permitted provided that the following conditions are met:
10
+ *
11
+ * 1. Redistributions of source code must retain the above copyright notice,
12
+ * this list of conditions and the following disclaimer.
13
+ *
14
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
15
+ * this list of conditions and the following disclaimer in the documentation
16
+ * and/or other materials provided with the distribution.
17
+ *
18
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
+ * POSSIBILITY OF SUCH DAMAGE.
29
+ */
30
+ const vscode_1 = require("vscode");
31
+ const RascalDebugAdapterDescriptorFactory_1 = require("./RascalDebugAdapterDescriptorFactory");
32
+ const RascalDebugConfigurationProvider_1 = require("./RascalDebugConfigurationProvider");
33
+ /**
34
+ * Debug Client that stores running debug sessions and available REPL ports for debug sessions.
35
+ */
36
+ class RascalDebugClient {
37
+ constructor() {
38
+ this.rascalDescriptorFactory = new RascalDebugAdapterDescriptorFactory_1.RascalDebugAdapterDescriptorFactory();
39
+ this.debugSocketServersPorts = new Map();
40
+ this.runningDebugSessionsPorts = new Set();
41
+ vscode_1.debug.registerDebugConfigurationProvider("rascalmpl", new RascalDebugConfigurationProvider_1.RascalDebugConfigurationProvider(this));
42
+ vscode_1.debug.registerDebugAdapterDescriptorFactory("rascalmpl", this.rascalDescriptorFactory);
43
+ vscode_1.window.onDidCloseTerminal(async (terminal) => {
44
+ const processId = await terminal.processId;
45
+ if (processId !== undefined && this.debugSocketServersPorts.has(processId)) {
46
+ this.debugSocketServersPorts.delete(processId);
47
+ }
48
+ });
49
+ vscode_1.debug.onDidStartDebugSession(async (debugsession) => {
50
+ if (debugsession.configuration.serverPort !== undefined && typeof debugsession.configuration.serverPort === "number") {
51
+ this.runningDebugSessionsPorts.add(debugsession.configuration.serverPort);
52
+ }
53
+ });
54
+ vscode_1.debug.onDidTerminateDebugSession(async (debugsession) => {
55
+ if (debugsession.configuration.serverPort !== undefined && typeof debugsession.configuration.serverPort === "number"
56
+ && this.runningDebugSessionsPorts.has(debugsession.configuration.serverPort)) {
57
+ this.runningDebugSessionsPorts.delete(debugsession.configuration.serverPort);
58
+ }
59
+ });
60
+ }
61
+ async startDebuggingSession(serverPort) {
62
+ const conf = { type: "rascalmpl", name: "Rascal debugger", request: "attach", serverPort: serverPort };
63
+ vscode_1.debug.startDebugging(undefined, conf);
64
+ }
65
+ registerDebugServerPort(processID, serverPort) {
66
+ this.debugSocketServersPorts.set(processID, serverPort);
67
+ }
68
+ getServerPort(processID) {
69
+ if (processID !== undefined && this.debugSocketServersPorts.has(processID)) {
70
+ return this.debugSocketServersPorts.get(processID);
71
+ }
72
+ return undefined;
73
+ }
74
+ isConnectedToDebugServer(serverPort) {
75
+ return this.runningDebugSessionsPorts.has(serverPort);
76
+ }
77
+ }
78
+ exports.RascalDebugClient = RascalDebugClient;
79
+ //# sourceMappingURL=RascalDebugClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RascalDebugClient.js","sourceRoot":"","sources":["../../src/dap/RascalDebugClient.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,mCAAmF;AACnF,+FAA4F;AAC5F,yFAAsF;AAGtF;;GAEG;AACH,MAAa,iBAAiB;IAK1B;QACI,IAAI,CAAC,uBAAuB,GAAG,IAAI,yEAAmC,EAAE,CAAC;QACzE,IAAI,CAAC,uBAAuB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzD,IAAI,CAAC,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;QAEnD,cAAK,CAAC,kCAAkC,CAAC,WAAW,EAAE,IAAI,mEAAgC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClG,cAAK,CAAC,qCAAqC,CAAC,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAEvF,eAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAkB,EAAE,EAAE;YACnD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC;YAC3C,IAAG,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC;gBACtE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aAClD;QACL,CAAC,CAAC,CAAC;QAEH,cAAK,CAAC,sBAAsB,CAAC,KAAK,EAAE,YAA0B,EAAE,EAAE;YAC9D,IAAG,YAAY,CAAC,aAAa,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,YAAY,CAAC,aAAa,CAAC,UAAU,KAAK,QAAQ,EAAC;gBAChH,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;aAC7E;QACL,CAAC,CAAC,CAAC;QAEH,cAAK,CAAC,0BAA0B,CAAC,KAAK,EAAE,YAA0B,EAAE,EAAE;YAClE,IAAG,YAAY,CAAC,aAAa,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,YAAY,CAAC,aAAa,CAAC,UAAU,KAAK,QAAQ;mBAChH,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,EAAC;gBACzE,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;aAChF;QACL,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,UAAkB;QAC1C,MAAM,IAAI,GAAuB,EAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;QACzH,cAAK,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,uBAAuB,CAAC,SAAiB,EAAE,UAAkB;QACzD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED,aAAa,CAAC,SAA6B;QACvC,IAAG,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC;YACtE,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SACtD;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,wBAAwB,CAAC,UAAkB;QACvC,OAAO,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC;CAEJ;AAvDD,8CAuDC"}
@@ -0,0 +1,11 @@
1
+ import { CancellationToken, DebugConfiguration, DebugConfigurationProvider, ProviderResult, WorkspaceFolder } from "vscode";
2
+ import { RascalDebugClient } from "./RascalDebugClient";
3
+ /**
4
+ * Class used by Vscode when starting debug sessions to add configuration information before it launchs
5
+ */
6
+ export declare class RascalDebugConfigurationProvider implements DebugConfigurationProvider {
7
+ debugClient: RascalDebugClient;
8
+ constructor(debugClient: RascalDebugClient);
9
+ provideDebugConfigurations(_folder: WorkspaceFolder | undefined, _token?: CancellationToken | undefined): ProviderResult<DebugConfiguration[]>;
10
+ resolveDebugConfiguration(folder: WorkspaceFolder | undefined, debugConfiguration: DebugConfiguration, token?: CancellationToken | undefined): Promise<DebugConfiguration>;
11
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RascalDebugConfigurationProvider = void 0;
4
+ /*
5
+ * Copyright (c) 2018-2023, NWO-I CWI and Swat.engineering
6
+ * All rights reserved.
7
+ *
8
+ * Redistribution and use in source and binary forms, with or without
9
+ * modification, are permitted provided that the following conditions are met:
10
+ *
11
+ * 1. Redistributions of source code must retain the above copyright notice,
12
+ * this list of conditions and the following disclaimer.
13
+ *
14
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
15
+ * this list of conditions and the following disclaimer in the documentation
16
+ * and/or other materials provided with the distribution.
17
+ *
18
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
+ * POSSIBILITY OF SUCH DAMAGE.
29
+ */
30
+ const vscode_1 = require("vscode");
31
+ /**
32
+ * Class used by Vscode when starting debug sessions to add configuration information before it launchs
33
+ */
34
+ class RascalDebugConfigurationProvider {
35
+ constructor(debugClient) {
36
+ this.debugClient = debugClient;
37
+ }
38
+ provideDebugConfigurations(_folder, _token) {
39
+ const conf = { type: "rascalmpl", name: "Rascal debugger", request: "attach" };
40
+ return [conf];
41
+ }
42
+ async resolveDebugConfiguration(folder, debugConfiguration, token) {
43
+ if (token !== undefined) {
44
+ token.onCancellationRequested((e) => {
45
+ throw Error(e);
46
+ });
47
+ }
48
+ if (debugConfiguration.type === undefined) {
49
+ debugConfiguration.type = "rascalmpl";
50
+ debugConfiguration.name = "Rascal debugger";
51
+ debugConfiguration.request = "attach";
52
+ }
53
+ if (!debugConfiguration.serverPort) {
54
+ const terminalProcessID = await vscode_1.window.activeTerminal?.processId;
55
+ const port = this.debugClient.getServerPort(terminalProcessID);
56
+ if (port === undefined) {
57
+ throw Error("Active terminal has not a debug server port registered !");
58
+ }
59
+ else {
60
+ if (this.debugClient.isConnectedToDebugServer(port)) {
61
+ throw Error("This REPL has already a running debug session !");
62
+ }
63
+ else {
64
+ debugConfiguration.serverPort = port;
65
+ }
66
+ }
67
+ }
68
+ return debugConfiguration;
69
+ }
70
+ }
71
+ exports.RascalDebugConfigurationProvider = RascalDebugConfigurationProvider;
72
+ //# sourceMappingURL=RascalDebugConfigurationProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RascalDebugConfigurationProvider.js","sourceRoot":"","sources":["../../src/dap/RascalDebugConfigurationProvider.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,mCAAkI;AAGlI;;GAEG;AACH,MAAa,gCAAgC;IAIzC,YAAY,WAA8B;QACtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,0BAA0B,CAAC,OAAoC,EAAE,MAAsC;QACnG,MAAM,IAAI,GAAuB,EAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAC,CAAC;QACjG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,MAAmC,EAAE,kBAAsC,EAAE,KAAqC;QAE9I,IAAG,KAAK,KAAK,SAAS,EAAC;YACnB,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,EAAE;gBAChC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;SACN;QAED,IAAI,kBAAkB,CAAC,IAAI,KAAK,SAAS,EAAE;YACvC,kBAAkB,CAAC,IAAI,GAAG,WAAW,CAAC;YACtC,kBAAkB,CAAC,IAAI,GAAG,iBAAiB,CAAC;YAC5C,kBAAkB,CAAC,OAAO,GAAG,QAAQ,CAAC;SACzC;QAED,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAC;YAC/B,MAAM,iBAAiB,GAAG,MAAM,eAAM,CAAC,cAAc,EAAE,SAAS,CAAC;YACjE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;YAC/D,IAAG,IAAI,KAAK,SAAS,EAAE;gBACnB,MAAM,KAAK,CAAC,0DAA0D,CAAC,CAAC;aAC3E;iBAAM;gBACH,IAAG,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAC;oBAC/C,MAAM,KAAK,CAAC,iDAAiD,CAAC,CAAC;iBAClE;qBAAM;oBACH,kBAAkB,CAAC,UAAU,GAAG,IAAI,CAAC;iBACxC;aACJ;SACJ;QAED,OAAO,kBAAkB,CAAC;IAC9B,CAAC;CAEJ;AA5CD,4EA4CC"}
package/lib/extension.js CHANGED
@@ -28,13 +28,15 @@ exports.deactivate = exports.activate = void 0;
28
28
  * POSSIBILITY OF SUCH DAMAGE.
29
29
  */
30
30
  const path = require("path");
31
+ const vscode = require("vscode");
31
32
  const RascalExtension_1 = require("./RascalExtension");
32
33
  const RascalMFValidator_1 = require("./ux/RascalMFValidator");
33
34
  const testDeployMode = (process.env.RASCAL_LSP_DEV_DEPLOY || "false") === "true";
34
35
  const deployMode = (process.env.RASCAL_LSP_DEV || "false") !== "true";
35
36
  function activate(context) {
36
37
  const jars = context.asAbsolutePath(path.join('.', 'assets', 'jars'));
37
- const extension = new RascalExtension_1.RascalExtension(context, jars, (deployMode || testDeployMode));
38
+ const icon = vscode.Uri.joinPath(context.extensionUri, "assets", "images", "rascal-logo.svg");
39
+ const extension = new RascalExtension_1.RascalExtension(context, jars, icon, (deployMode || testDeployMode));
38
40
  context.subscriptions.push(extension);
39
41
  context.subscriptions.push(new RascalMFValidator_1.RascalMFValidator());
40
42
  return extension.externalLanguageRegistry();
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,6BAA6B;AAG7B,uDAAoD;AACpD,8DAA2D;AAE3D,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,KAAK,MAAM,CAAC;AACjF,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,KAAK,MAAM,CAAC;AAGtE,SAAgB,QAAQ,CAAC,OAAgC;IACrD,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,IAAI,iCAAe,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,UAAU,IAAI,cAAc,CAAC,CAAC,CAAC;IACrF,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,qCAAiB,EAAE,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC,wBAAwB,EAAE,CAAC;AAChD,CAAC;AAND,4BAMC;AAGD,SAAgB,UAAU;IACtB,sEAAsE;IACtE,iHAAiH;AACrH,CAAC;AAHD,gCAGC"}
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,6BAA6B;AAC7B,iCAAiC;AAEjC,uDAAoD;AACpD,8DAA2D;AAE3D,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,KAAK,MAAM,CAAC;AACjF,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,KAAK,MAAM,CAAC;AAGtE,SAAgB,QAAQ,CAAC,OAAgC;IACrD,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC9F,MAAM,SAAS,GAAG,IAAI,iCAAe,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,IAAI,cAAc,CAAC,CAAC,CAAC;IAC3F,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,qCAAiB,EAAE,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC,wBAAwB,EAAE,CAAC;AAChD,CAAC;AAPD,4BAOC;AAGD,SAAgB,UAAU;IACtB,sEAAsE;IACtE,iHAAiH;AACrH,CAAC;AAHD,gCAGC"}
@@ -48,7 +48,7 @@ async function activateLanguageClient({ language, title, jarPath, vfsServer, isP
48
48
  port: vfsServer.port
49
49
  });
50
50
  client.onNotification("rascal/showContent", (bp) => {
51
- showContentPanel(bp.uri);
51
+ showContentPanel(bp.uri, bp.title, bp.viewColumn);
52
52
  });
53
53
  const schemesReply = client.sendRequest("rascal/filesystem/schemes");
54
54
  schemesReply.then(schemes => {
@@ -58,13 +58,13 @@ async function activateLanguageClient({ language, title, jarPath, vfsServer, isP
58
58
  return client;
59
59
  }
60
60
  exports.activateLanguageClient = activateLanguageClient;
61
- async function showContentPanel(url) {
61
+ async function showContentPanel(url, title, viewColumn) {
62
62
  // dispose of old panel in case it existed
63
63
  const externalURL = (await vscode.env.asExternalUri(vscode.Uri.parse(url))).toString();
64
64
  const allOpenTabs = vscode.window.tabGroups.all.flatMap(tg => tg.tabs);
65
65
  const tabsForThisPanel = allOpenTabs.filter(t => t.input instanceof vscode.TabInputWebview && t.label === externalURL);
66
66
  await vscode.window.tabGroups.close(tabsForThisPanel);
67
- const panel = vscode.window.createWebviewPanel("text/html", externalURL, vscode.ViewColumn.One, {
67
+ const panel = vscode.window.createWebviewPanel("text/html", title, viewColumn, {
68
68
  enableScripts: true,
69
69
  });
70
70
  loadURLintoPanel(panel, externalURL);
@@ -1 +1 @@
1
- {"version":3,"file":"RascalLSPConnection.js","sourceRoot":"","sources":["../../src/lsp/RascalLSPConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RascalLSPConnection.js","sourceRoot":"","sources":["../../src/lsp/RascalLSPConnection.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,10 @@ import * as vscode from 'vscode';
2
2
  import { LanguageClient } from 'vscode-languageclient/node';
3
3
  import { VSCodeUriResolverServer } from '../fs/VSCodeURIResolver';
4
4
  import { ParameterizedLanguageServer } from './ParameterizedLanguageServer';
5
+ import { RascalDebugClient } from '../dap/RascalDebugClient';
5
6
  export declare class RascalLanguageServer implements vscode.Disposable {
6
7
  readonly rascalClient: Promise<LanguageClient>;
8
+ readonly rascalDebugClient: RascalDebugClient;
7
9
  constructor(context: vscode.ExtensionContext, vfsServer: VSCodeUriResolverServer, absoluteJarPath: string, dslLSP: ParameterizedLanguageServer, deployMode?: boolean);
8
10
  dispose(): void;
9
11
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RascalLanguageServer = void 0;
4
4
  const RascalLSPConnection_1 = require("./RascalLSPConnection");
5
+ const RascalDebugClient_1 = require("../dap/RascalDebugClient");
5
6
  class RascalLanguageServer {
6
7
  constructor(context, vfsServer, absoluteJarPath, dslLSP, deployMode = true) {
7
8
  this.rascalClient = (0, RascalLSPConnection_1.activateLanguageClient)({
@@ -15,6 +16,7 @@ class RascalLanguageServer {
15
16
  dedicated: false,
16
17
  lspArg: undefined
17
18
  });
19
+ this.rascalDebugClient = new RascalDebugClient_1.RascalDebugClient();
18
20
  this.rascalClient.then(client => {
19
21
  client.onNotification("rascal/receiveRegisterLanguage", (lang) => {
20
22
  dslLSP.registerLanguage(lang);
@@ -22,6 +24,12 @@ class RascalLanguageServer {
22
24
  client.onNotification("rascal/receiveUnregisterLanguage", (lang) => {
23
25
  dslLSP.unregisterLanguage(lang);
24
26
  });
27
+ client.onNotification("rascal/startDebuggingSession", (serverPort) => {
28
+ this.rascalDebugClient.startDebuggingSession(serverPort);
29
+ });
30
+ client.onNotification("rascal/registerDebugServerPort", (processID, serverPort) => {
31
+ this.rascalDebugClient.registerDebugServerPort(processID, serverPort);
32
+ });
25
33
  });
26
34
  }
27
35
  dispose() {
@@ -1 +1 @@
1
- {"version":3,"file":"RascalLanguageServer.js","sourceRoot":"","sources":["../../src/lsp/RascalLanguageServer.ts"],"names":[],"mappings":";;;AA8BA,+DAA+D;AAI/D,MAAa,oBAAoB;IAG7B,YACI,OAAgC,EAChC,SAAkC,EAClC,eAAuB,EACvB,MAAmC,EACnC,UAAU,GAAG,IAAI;QACjB,IAAI,CAAC,YAAY,GAAG,IAAA,4CAAsB,EAAC;YACvC,UAAU,EAAE,UAAU;YACtB,OAAO,EAAE,IAAI;YACb,kBAAkB,EAAE,KAAK;YACzB,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,4BAA4B;YACnC,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,SAAS;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC5B,MAAM,CAAC,cAAc,CAAC,gCAAgC,EAAE,CAAC,IAAsB,EAAE,EAAE;gBAC/E,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,cAAc,CAAC,kCAAkC,EAAE,CAAC,IAAsB,EAAE,EAAE;gBACjF,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IACD,OAAO;QACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CAEJ;AAlCD,oDAkCC"}
1
+ {"version":3,"file":"RascalLanguageServer.js","sourceRoot":"","sources":["../../src/lsp/RascalLanguageServer.ts"],"names":[],"mappings":";;;AA8BA,+DAA+D;AAE/D,gEAA6D;AAG7D,MAAa,oBAAoB;IAI7B,YACI,OAAgC,EAChC,SAAkC,EAClC,eAAuB,EACvB,MAAmC,EACnC,UAAU,GAAG,IAAI;QACjB,IAAI,CAAC,YAAY,GAAG,IAAA,4CAAsB,EAAC;YACvC,UAAU,EAAE,UAAU;YACtB,OAAO,EAAE,IAAI;YACb,kBAAkB,EAAE,KAAK;YACzB,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,4BAA4B;YACnC,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,SAAS;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,IAAI,qCAAiB,EAAE,CAAC;QAEjD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC5B,MAAM,CAAC,cAAc,CAAC,gCAAgC,EAAE,CAAC,IAAsB,EAAE,EAAE;gBAC/E,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,cAAc,CAAC,kCAAkC,EAAE,CAAC,IAAsB,EAAE,EAAE;gBACjF,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,cAAc,CAAC,8BAA8B,EAAE,CAAC,UAAiB,EAAE,EAAE;gBACxE,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,cAAc,CAAC,gCAAgC,EAAE,CAAC,SAAgB,EAAE,UAAiB,EAAE,EAAE;gBAC5F,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IACD,OAAO;QACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CAEJ;AA3CD,oDA2CC"}
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "parsing",
10
10
  "source code analysis"
11
11
  ],
12
- "version": "0.8.3",
12
+ "version": "0.9.1",
13
13
  "engines": {
14
14
  "vscode": "^1.67.0"
15
15
  },