@usethesource/rascal-vscode-dsl-lsp-server 0.11.2 → 0.12.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.
Files changed (54) hide show
  1. package/assets/jars/rascal-lsp.jar +0 -0
  2. package/assets/jars/rascal.jar +0 -0
  3. package/lib/Identifiers.d.ts +1 -0
  4. package/lib/Identifiers.js +31 -0
  5. package/lib/Identifiers.js.map +1 -0
  6. package/lib/RascalExtension.d.ts +2 -0
  7. package/lib/RascalExtension.js +85 -9
  8. package/lib/RascalExtension.js.map +1 -1
  9. package/lib/RascalTerminalLinkProvider.d.ts +2 -2
  10. package/lib/RascalTerminalLinkProvider.js +25 -1
  11. package/lib/RascalTerminalLinkProvider.js.map +1 -1
  12. package/lib/auto-jvm/JavaLookup.js +32 -10
  13. package/lib/auto-jvm/JavaLookup.js.map +1 -1
  14. package/lib/auto-jvm/ReleaseInfo.js +4 -5
  15. package/lib/auto-jvm/ReleaseInfo.js.map +1 -1
  16. package/lib/auto-jvm/downloaders.js +92 -63
  17. package/lib/auto-jvm/downloaders.js.map +1 -1
  18. package/lib/dap/RascalDebugAdapterDescriptorFactory.js +1 -1
  19. package/lib/dap/RascalDebugAdapterDescriptorFactory.js.map +1 -1
  20. package/lib/dap/RascalDebugClient.js +16 -5
  21. package/lib/dap/RascalDebugClient.js.map +1 -1
  22. package/lib/dap/RascalDebugConfigurationProvider.d.ts +1 -1
  23. package/lib/dap/RascalDebugConfigurationProvider.js +4 -3
  24. package/lib/dap/RascalDebugConfigurationProvider.js.map +1 -1
  25. package/lib/extension.js +31 -7
  26. package/lib/extension.js.map +1 -1
  27. package/lib/fs/RascalFileSystemProviders.d.ts +3 -3
  28. package/lib/fs/RascalFileSystemProviders.js +28 -4
  29. package/lib/fs/RascalFileSystemProviders.js.map +1 -1
  30. package/lib/fs/VSCodeURIResolver.js +37 -7
  31. package/lib/fs/VSCodeURIResolver.js.map +1 -1
  32. package/lib/lsp/ParameterizedLanguageServer.d.ts +7 -2
  33. package/lib/lsp/ParameterizedLanguageServer.js +33 -4
  34. package/lib/lsp/ParameterizedLanguageServer.js.map +1 -1
  35. package/lib/lsp/RascalLSPConnection.js +28 -6
  36. package/lib/lsp/RascalLSPConnection.js.map +1 -1
  37. package/lib/lsp/RascalLanguageServer.d.ts +3 -3
  38. package/lib/lsp/RascalLanguageServer.js +5 -2
  39. package/lib/lsp/RascalLanguageServer.js.map +1 -1
  40. package/lib/lsp/library.d.ts +2 -1
  41. package/lib/lsp/library.js.map +1 -1
  42. package/lib/rewritePackageForNPMPublish.d.ts +1 -0
  43. package/lib/rewritePackageForNPMPublish.js +53 -0
  44. package/lib/rewritePackageForNPMPublish.js.map +1 -0
  45. package/lib/ux/LibraryNavigator.d.ts +2 -2
  46. package/lib/ux/LibraryNavigator.js +37 -5
  47. package/lib/ux/LibraryNavigator.js.map +1 -1
  48. package/lib/ux/RascalMFValidator.d.ts +1 -0
  49. package/lib/ux/RascalMFValidator.js +42 -19
  50. package/lib/ux/RascalMFValidator.js.map +1 -1
  51. package/lib/ux/RascalProjectValidator.d.ts +21 -0
  52. package/lib/ux/RascalProjectValidator.js +229 -0
  53. package/lib/ux/RascalProjectValidator.js.map +1 -0
  54. package/package.json +13 -15
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.RascalLibraryProvider = void 0;
4
27
  /*
@@ -27,14 +50,15 @@ exports.RascalLibraryProvider = void 0;
27
50
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
51
  * POSSIBILITY OF SUCH DAMAGE.
29
52
  */
30
- const vscode = require("vscode");
53
+ const vscode = __importStar(require("vscode"));
31
54
  const RascalMFValidator_1 = require("./RascalMFValidator");
32
55
  const path_1 = require("path"); // posix path join is always correct, also on windows
33
56
  class RascalLibraryProvider {
57
+ rascalClient;
58
+ changeEmitter = new vscode.EventEmitter();
59
+ onDidChangeTreeData = this.changeEmitter.event;
34
60
  constructor(rascalClient) {
35
61
  this.rascalClient = rascalClient;
36
- this.changeEmitter = new vscode.EventEmitter();
37
- this.onDidChangeTreeData = this.changeEmitter.event;
38
62
  vscode.workspace.onDidChangeWorkspaceFolders(_e => {
39
63
  this.changeEmitter.fire(undefined);
40
64
  });
@@ -54,6 +78,7 @@ class RascalLibraryProvider {
54
78
  }
55
79
  exports.RascalLibraryProvider = RascalLibraryProvider;
56
80
  class RascalLibNode extends vscode.TreeItem {
81
+ parent;
57
82
  constructor(resourceUriOrLabel, collapsibleState, parent) {
58
83
  /* overloaded constructors are strange in typescript */
59
84
  super(resourceUriOrLabel, collapsibleState);
@@ -66,6 +91,9 @@ var PathConfigMode;
66
91
  PathConfigMode[PathConfigMode["compiler"] = 1] = "compiler";
67
92
  })(PathConfigMode || (PathConfigMode = {}));
68
93
  class RascalProjectRoot extends RascalLibNode {
94
+ name;
95
+ loc;
96
+ rascalClient;
69
97
  constructor(name, loc, rascalClient) {
70
98
  super(name, vscode.TreeItemCollapsibleState.Collapsed, undefined);
71
99
  this.name = name;
@@ -80,6 +108,7 @@ class RascalProjectRoot extends RascalLibNode {
80
108
  }
81
109
  }
82
110
  class RascalPathNode extends RascalLibNode {
111
+ subPaths;
83
112
  constructor(pathConfigPart, subPaths, parent) {
84
113
  super(pathConfigPart, vscode.TreeItemCollapsibleState.Collapsed, parent);
85
114
  this.subPaths = subPaths;
@@ -92,8 +121,7 @@ class RascalPathNode extends RascalLibNode {
92
121
  return vscode.Uri.file(s);
93
122
  }
94
123
  return vscode.Uri.parse(s);
95
- })
96
- .map(u => new RascalLibraryRoot(u, this));
124
+ }).map(u => new RascalLibraryRoot(u, this));
97
125
  }
98
126
  }
99
127
  function calculateLabel(location) {
@@ -120,6 +148,7 @@ function calculateLabel(location) {
120
148
  return location.toString();
121
149
  }
122
150
  class RascalLibraryRoot extends RascalLibNode {
151
+ actualLocation;
123
152
  constructor(actualLocation, parent) {
124
153
  super(calculateLabel(actualLocation), vscode.TreeItemCollapsibleState.Collapsed, parent);
125
154
  this.actualLocation = actualLocation;
@@ -155,6 +184,7 @@ async function getChildren(loc, parent) {
155
184
  return result;
156
185
  }
157
186
  class RascalFSDirEntry extends RascalLibNode {
187
+ dirName;
158
188
  constructor(dirName, parentDir, parent) {
159
189
  super(vscode.Uri.joinPath(parentDir, dirName), vscode.TreeItemCollapsibleState.Collapsed, parent);
160
190
  this.dirName = dirName;
@@ -166,6 +196,8 @@ class RascalFSDirEntry extends RascalLibNode {
166
196
  }
167
197
  }
168
198
  class RascalFSFileEntry extends RascalLibNode {
199
+ fileName;
200
+ parentDir;
169
201
  constructor(fileName, parentDir, parent) {
170
202
  super(vscode.Uri.joinPath(parentDir, fileName), vscode.TreeItemCollapsibleState.None, parent);
171
203
  this.fileName = fileName;
@@ -1 +1 @@
1
- {"version":3,"file":"LibraryNavigator.js","sourceRoot":"","sources":["../../src/ux/LibraryNavigator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LibraryNavigator.js","sourceRoot":"","sources":["../../src/ux/LibraryNavigator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import * as vscode from 'vscode';
2
+ export declare const MF_FILE = "RASCAL.MF";
2
3
  /**
3
4
  * Check for common errors in RASCAL.MF files, and try and fix them if possible
4
5
  */
@@ -1,6 +1,30 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildMFChildPath = exports.RascalMFValidator = void 0;
26
+ exports.RascalMFValidator = exports.MF_FILE = void 0;
27
+ exports.buildMFChildPath = buildMFChildPath;
4
28
  /*
5
29
  * Copyright (c) 2018-2023, NWO-I CWI and Swat.engineering
6
30
  * All rights reserved.
@@ -27,16 +51,17 @@ exports.buildMFChildPath = exports.RascalMFValidator = void 0;
27
51
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
52
  * POSSIBILITY OF SUCH DAMAGE.
29
53
  */
30
- const vscode = require("vscode");
54
+ const vscode = __importStar(require("vscode"));
31
55
  const path_1 = require("path"); // posix path join is always correct, also on windows
32
- const MF_FILE = "RASCAL.MF";
56
+ exports.MF_FILE = "RASCAL.MF";
33
57
  const MF_DIR = "META-INF";
34
58
  /**
35
59
  * Check for common errors in RASCAL.MF files, and try and fix them if possible
36
60
  */
37
61
  class RascalMFValidator {
62
+ diagnostics;
63
+ toDispose = [];
38
64
  constructor() {
39
- this.toDispose = [];
40
65
  this.diagnostics = vscode.languages.createDiagnosticCollection("Rascal MF Diagnostics");
41
66
  // any new project should be checked
42
67
  vscode.workspace.onDidChangeWorkspaceFolders(async (ws) => {
@@ -63,11 +88,11 @@ class RascalMFValidator {
63
88
  // all changed files should be checked on save (for example a git pull)
64
89
  // we use the filesystem watcher since a user might not have the RASCAL.MF open, but we still want to warn them
65
90
  // note that warnings/errors are only cleared at a save
66
- const watcher = vscode.workspace.createFileSystemWatcher("**/" + MF_FILE, true, false, false);
91
+ const watcher = vscode.workspace.createFileSystemWatcher("**/" + exports.MF_FILE, true, false, false);
67
92
  watcher.onDidChange(this.verifyRascalMF, this, this.toDispose);
68
93
  watcher.onDidDelete(e => this.diagnostics.delete(e), this, this.toDispose); // clear errors for a file
69
94
  this.toDispose.push(watcher);
70
- this.toDispose.push(vscode.languages.registerCodeActionsProvider({ pattern: "**/" + MF_FILE }, new FixMFErrors()));
95
+ this.toDispose.push(vscode.languages.registerCodeActionsProvider({ pattern: "**/" + exports.MF_FILE }, new FixMFErrors()));
71
96
  }
72
97
  dispose() {
73
98
  try {
@@ -108,7 +133,7 @@ var FixKind;
108
133
  function checkMissingLastLine(mfBody, diagnostics) {
109
134
  const lastLine = mfBody.lineAt(mfBody.lineCount - 1);
110
135
  if (lastLine.text !== "") {
111
- const diag = new vscode.Diagnostic(lastLine.range, `Skipping the last line of ${MF_FILE} completely, unless the file ends with an empty line (no spaces, no comments).`, vscode.DiagnosticSeverity.Error);
136
+ const diag = new vscode.Diagnostic(lastLine.range, `Skipping the last line of ${exports.MF_FILE} completely, unless the file ends with an empty line (no spaces, no comments).`, vscode.DiagnosticSeverity.Error);
112
137
  diag.code = FixKind.addNewLine;
113
138
  diagnostics.push(diag);
114
139
  }
@@ -118,10 +143,10 @@ function checkIncorrectProjectName(mfBody, diagnostics) {
118
143
  let hasProjectName = false;
119
144
  for (let l = 0; l < mfBody.lineCount; l++) {
120
145
  const line = mfBody.lineAt(l);
121
- const kvPair = line.text.split(":");
122
- if (kvPair.length === 2 && kvPair[0].trim() === "Project-Name") {
146
+ const [key, value] = line.text.split(":");
147
+ if (key && value && key.trim() === "Project-Name") {
123
148
  hasProjectName = true;
124
- const prName = kvPair[1].split("#")[0].trim();
149
+ const prName = value.split("#")[0].trim();
125
150
  const offset = line.text.indexOf(prName);
126
151
  const targetRange = new vscode.Range(l, offset, l, offset + prName.length);
127
152
  const expectedName = calculateProjectName(mfBody.uri);
@@ -145,11 +170,10 @@ const commonTypos = new Set(['required-libraries', 'require-library', 'required-
145
170
  function checkCommonTypo(mfBody, diagnostics) {
146
171
  for (let l = 0; l < mfBody.lineCount; l++) {
147
172
  const line = mfBody.lineAt(l);
148
- const kvPair = line.text.split(":");
149
- if (kvPair.length >= 2) {
150
- const key = kvPair[0].trim();
151
- if (commonTypos.has(key.toLocaleLowerCase())) {
152
- const originalLabel = kvPair[0];
173
+ const [key, value] = line.text.split(":");
174
+ if (key && value) {
175
+ if (commonTypos.has(key.trim().toLocaleLowerCase())) {
176
+ const originalLabel = value;
153
177
  const diag = new vscode.Diagnostic(new vscode.Range(l, 0, l, originalLabel.length), `"${originalLabel} was not recognized. Did you mean Require-Libraries?`);
154
178
  diag.code = FixKind.requireLibrariesTypo;
155
179
  diagnostics.push(diag);
@@ -158,11 +182,10 @@ function checkCommonTypo(mfBody, diagnostics) {
158
182
  }
159
183
  }
160
184
  function buildMFChildPath(uri) {
161
- return vscode.Uri.joinPath(uri, MF_DIR, MF_FILE);
185
+ return vscode.Uri.joinPath(uri, MF_DIR, exports.MF_FILE);
162
186
  }
163
- exports.buildMFChildPath = buildMFChildPath;
164
187
  class FixMFErrors {
165
- provideCodeActions(document, range, context, _token) {
188
+ provideCodeActions(document, _range, context, _token) {
166
189
  const result = [];
167
190
  for (const diag of context.diagnostics) {
168
191
  switch (diag.code) {
@@ -210,7 +233,7 @@ class FixMFErrors {
210
233
  }
211
234
  function calculateProjectName(uri) {
212
235
  const path = path_1.posix.dirname(uri.path);
213
- if (path_1.posix.basename(uri.path) !== MF_FILE || path_1.posix.basename(path) !== MF_DIR) {
236
+ if (path_1.posix.basename(uri.path) !== exports.MF_FILE || path_1.posix.basename(path) !== MF_DIR) {
214
237
  throw new Error("Cannot calculate project name for <uri.path>");
215
238
  }
216
239
  return path_1.posix.basename(path_1.posix.dirname(path));
@@ -1 +1 @@
1
- {"version":3,"file":"RascalMFValidator.js","sourceRoot":"","sources":["../../src/ux/RascalMFValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RascalMFValidator.js","sourceRoot":"","sources":["../../src/ux/RascalMFValidator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import * as vscode from 'vscode';
2
+ import { Uri } from 'vscode';
3
+ export declare class RascalProjectValidator implements vscode.Disposable {
4
+ private readonly toDispose;
5
+ private readonly diagnostics;
6
+ private readonly cachedSourcePaths;
7
+ constructor();
8
+ validateAllOpenEditors(): Promise<void>;
9
+ rascalMFChanged(mfFile: Uri): Promise<void>;
10
+ validate(e: vscode.TextDocument): Promise<void>;
11
+ getManifest(mf: vscode.Uri): Promise<RascalManifest>;
12
+ closeFile(e: vscode.TextDocument): void;
13
+ dispose(): void;
14
+ }
15
+ declare class RascalManifest {
16
+ readonly sources: Uri[];
17
+ readonly libraries: string[];
18
+ private constructor();
19
+ static parse(mf: Uri): Promise<RascalManifest>;
20
+ }
21
+ export {};
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.RascalProjectValidator = void 0;
27
+ /*
28
+ * Copyright (c) 2018-2023, NWO-I CWI and Swat.engineering
29
+ * All rights reserved.
30
+ *
31
+ * Redistribution and use in source and binary forms, with or without
32
+ * modification, are permitted provided that the following conditions are met:
33
+ *
34
+ * 1. Redistributions of source code must retain the above copyright notice,
35
+ * this list of conditions and the following disclaimer.
36
+ *
37
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
38
+ * this list of conditions and the following disclaimer in the documentation
39
+ * and/or other materials provided with the distribution.
40
+ *
41
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
42
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
45
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
46
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
47
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
48
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
49
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
50
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
51
+ * POSSIBILITY OF SUCH DAMAGE.
52
+ */
53
+ const vscode = __importStar(require("vscode"));
54
+ const path_1 = require("path"); // posix path join is always correct, also on windows
55
+ const Identifiers_1 = require("../Identifiers");
56
+ const vscode_1 = require("vscode");
57
+ const RascalMFValidator_1 = require("./RascalMFValidator");
58
+ const FIRST_WORD = new vscode_1.Range(new vscode_1.Position(0, 0), new vscode_1.Position(0, 0));
59
+ const EXPLAIN_PROBLEM = "this reduces Rascal's capabilities for typechecking or executing this module.";
60
+ class RascalProjectValidator {
61
+ toDispose = [];
62
+ diagnostics;
63
+ cachedSourcePaths = new Map();
64
+ constructor() {
65
+ this.diagnostics = vscode.languages.createDiagnosticCollection("Rascal Project Diagnostics");
66
+ this.toDispose.push(this.diagnostics);
67
+ vscode.workspace.onDidOpenTextDocument(this.validate, this, this.toDispose);
68
+ vscode.workspace.onDidCloseTextDocument(this.closeFile, this, this.toDispose);
69
+ // clear the cached source paths on changes to the rascal.mf file
70
+ const watcher = vscode.workspace.createFileSystemWatcher(`**/{${RascalMFValidator_1.MF_FILE},pom.xml}`, false, false, false);
71
+ this.toDispose.push(watcher);
72
+ watcher.onDidCreate(this.rascalMFChanged, this, this.toDispose);
73
+ watcher.onDidChange(this.rascalMFChanged, this, this.toDispose);
74
+ watcher.onDidDelete(this.rascalMFChanged, this, this.toDispose);
75
+ this.validateAllOpenEditors();
76
+ }
77
+ async validateAllOpenEditors() {
78
+ for (const tab of vscode.window.tabGroups.all.flatMap(t => t.tabs)) {
79
+ if (tab.input instanceof vscode.TabInputText) {
80
+ try {
81
+ const document = await vscode.workspace.openTextDocument(tab.input.uri);
82
+ this.validate(document);
83
+ }
84
+ catch (e) {
85
+ console.log("Swallowing: ", e);
86
+ }
87
+ }
88
+ }
89
+ }
90
+ async rascalMFChanged(mfFile) {
91
+ if (mfFile.path.endsWith("pom.xml")) {
92
+ // it was a pom.xml change
93
+ // so calculate the rascal.mf file
94
+ mfFile = (0, RascalMFValidator_1.buildMFChildPath)(mfFile.with({ path: path_1.posix.dirname(mfFile.path) }));
95
+ }
96
+ if (this.cachedSourcePaths.delete(mfFile.toString())) {
97
+ // we had calculated the source paths before
98
+ // lets see re-validate all messages we've reported
99
+ this.validateAllOpenEditors();
100
+ }
101
+ }
102
+ async validate(e) {
103
+ if (e.languageId !== Identifiers_1.RASCAL_LANGUAGE_ID) {
104
+ return;
105
+ }
106
+ const folder = vscode.workspace.getWorkspaceFolder(e.uri);
107
+ const messages = [];
108
+ if (!folder) {
109
+ if (e.uri.scheme === 'file') {
110
+ // we do not want this report on non-file locations, as they are most likely virtual (coming from jars etc)
111
+ messages.push(new vscode_1.Diagnostic(FIRST_WORD, "This Rascal file is not part of a project opened in this VS Code window, " + EXPLAIN_PROBLEM, vscode.DiagnosticSeverity.Warning));
112
+ }
113
+ }
114
+ else {
115
+ const mf = (0, RascalMFValidator_1.buildMFChildPath)(folder.uri);
116
+ if (!(await reportIfMissingFile(mf, folder, messages))) {
117
+ try {
118
+ const rascalMf = await this.getManifest(mf);
119
+ if (rascalMf.libraries.length > 0) {
120
+ // only if there are dependencies in a Rascal.mf file, is a pom.xml required
121
+ await reportIfMissingFile(buildPOMChildPath(folder.uri), folder, messages);
122
+ }
123
+ if (rascalMf.sources.find(s => isChild(s, e.uri)) === undefined) {
124
+ messages.push(new vscode_1.Diagnostic(FIRST_WORD, `This file is not in the source path of the "${folder.name}" project, please review the RASCAL.MF file. Since ${EXPLAIN_PROBLEM}`, vscode_1.DiagnosticSeverity.Warning));
125
+ }
126
+ }
127
+ catch (ex) {
128
+ console.log("Swallowing: ", ex);
129
+ }
130
+ }
131
+ }
132
+ this.diagnostics.set(e.uri, messages);
133
+ }
134
+ getManifest(mf) {
135
+ const key = mf.toString();
136
+ let result = this.cachedSourcePaths.get(key);
137
+ if (result !== undefined) {
138
+ return result;
139
+ }
140
+ result = RascalManifest.parse(mf);
141
+ this.cachedSourcePaths.set(key, result);
142
+ return result;
143
+ }
144
+ closeFile(e) {
145
+ if (e.languageId !== Identifiers_1.RASCAL_LANGUAGE_ID) {
146
+ return;
147
+ }
148
+ // clear all warnings for close files, to not bother the user more than needed.
149
+ this.diagnostics.delete(e.uri);
150
+ }
151
+ dispose() {
152
+ vscode.Disposable.from(...this.toDispose).dispose();
153
+ }
154
+ }
155
+ exports.RascalProjectValidator = RascalProjectValidator;
156
+ async function fileExists(u) {
157
+ try {
158
+ const stat = await vscode.workspace.fs.stat(u);
159
+ return (stat.type & vscode.FileType.File) === vscode.FileType.File;
160
+ }
161
+ catch (_) {
162
+ return false;
163
+ }
164
+ }
165
+ function buildPOMChildPath(u) {
166
+ return vscode_1.Uri.joinPath(u, "pom.xml");
167
+ }
168
+ async function reportIfMissingFile(file, project, messages) {
169
+ if (await fileExists(file)) {
170
+ return false;
171
+ }
172
+ messages.push(new vscode_1.Diagnostic(FIRST_WORD, `${project.name} is missing the ${path_1.posix.relative(project.uri.path, file.path)} file, ${EXPLAIN_PROBLEM}`, vscode.DiagnosticSeverity.Warning));
173
+ return true;
174
+ }
175
+ function isChild(parent, child) {
176
+ if (parent.scheme !== child.scheme) {
177
+ return false;
178
+ }
179
+ parent = parent.path.endsWith('/') ? parent : parent.with({ path: parent.path + '/' });
180
+ if (parent.scheme === 'file') {
181
+ // to make sure we can deal with case-sensitivity issues, we have to normalize
182
+ // to the file system path
183
+ // note, this might also have to be done for virtual file systems, but VS Code has no public API for that (IExtUri would be nice!)
184
+ return child.fsPath.startsWith(parent.fsPath);
185
+ }
186
+ else {
187
+ return parent.authority === child.authority && child.path.startsWith(parent.path);
188
+ }
189
+ }
190
+ function removeComments(entry) {
191
+ return entry.replace(/#.*$/, "");
192
+ }
193
+ class RascalManifest {
194
+ sources;
195
+ libraries;
196
+ constructor(sources, libraries) {
197
+ this.sources = sources;
198
+ this.libraries = libraries;
199
+ }
200
+ // TODO: at a later point, merge this with code in the RascalMF validator
201
+ static async parse(mf) {
202
+ try {
203
+ const body = new TextDecoder("UTF8").decode(await vscode.workspace.fs.readFile(mf));
204
+ const lines = body.split('\n');
205
+ let uris = [];
206
+ let libraries = [];
207
+ for (let line of lines) {
208
+ line = removeComments(line);
209
+ const [key, value] = line.split(":");
210
+ if (key && value && key.trim() === "Source") {
211
+ const parent = mf.with({ path: path_1.posix.dirname(path_1.posix.dirname(mf.path)) });
212
+ uris = value.split(',')
213
+ .map(s => s.trim())
214
+ .map(s => vscode_1.Uri.joinPath(parent, s));
215
+ }
216
+ else if (key && value && key.trim() === "Require-Libraries") {
217
+ libraries = value.split(',').map(s => s.trim());
218
+ }
219
+ }
220
+ console.log(uris, libraries);
221
+ return new RascalManifest(uris, libraries);
222
+ }
223
+ catch (e) {
224
+ console.log("Could not parse rascal.mf", e);
225
+ return new RascalManifest([], []);
226
+ }
227
+ }
228
+ }
229
+ //# sourceMappingURL=RascalProjectValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RascalProjectValidator.js","sourceRoot":"","sources":["../../src/ux/RascalProjectValidator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -13,19 +13,20 @@
13
13
  "color": "#ffffff",
14
14
  "theme": "light"
15
15
  },
16
- "version": "0.11.2",
16
+ "version": "0.12.0",
17
17
  "engines": {
18
- "vscode": "^1.75.0"
18
+ "vscode": "^1.82.0",
19
+ "node": ">=18.15.0"
19
20
  },
21
+ "type": "commonjs",
20
22
  "license": "BSD-2-Clause",
21
23
  "repository": {
22
24
  "type": "git",
23
25
  "url": "https://github.com/usethesource/rascal-language-servers"
24
26
  },
25
27
  "dependencies": {
26
- "node-fetch": "2.x",
27
- "tar": "6.x",
28
- "vscode-languageclient": "8.x",
28
+ "tar": "7.x",
29
+ "vscode-languageclient": "9.x",
29
30
  "yauzl": "3.x"
30
31
  },
31
32
  "main": "lib/lsp/library.js",
@@ -34,29 +35,26 @@
34
35
  "prepare": "npm run compile"
35
36
  },
36
37
  "devDependencies": {
38
+ "@tsconfig/node18": "18.x",
39
+ "@tsconfig/strictest": "2.x",
37
40
  "@types/chai": "4.x",
38
41
  "@types/mocha": "10.x",
39
- "@types/node": "16.x",
40
- "@types/node-fetch": "2.x",
42
+ "@types/node": "18.x",
41
43
  "@types/tar": "6.x",
42
- "@types/temp": "0.x",
43
- "@types/vscode": "1.75.0",
44
+ "@types/vscode": "1.82.0",
44
45
  "@types/yauzl": "2.x",
45
46
  "@typescript-eslint/eslint-plugin": "7.x",
46
47
  "@typescript-eslint/parser": "7.x",
47
48
  "@vscode/test-electron": "2.x",
48
49
  "@vscode/vsce": "2.x",
49
50
  "chai": "4.x",
51
+ "esbuild": "0.24.x",
50
52
  "eslint": "8.x",
51
- "glob": "10.x",
53
+ "eslint-plugin-editorconfig": "4.x",
52
54
  "license-check-and-add": "4.x",
53
55
  "mocha": "10.x",
54
- "temp": "0.x",
55
- "ts-loader": "9.x",
56
56
  "typescript": "5.x",
57
- "vscode-extension-tester": "7.x",
58
- "webpack": "5.x",
59
- "webpack-cli": "5.x"
57
+ "vscode-extension-tester": "8.x"
60
58
  },
61
59
  "homepage": "https://github.com/usethesource/rascal-language-servers/",
62
60
  "types": "lib/lsp/library.d.ts",